https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118077
--- Comment #1 from Ted Rodgers <ted.d.rodgers at gmail dot com> --- This could be a dupe of https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117892 reduced code: int a; struct b { virtual int c() { return 0; } int d() { return a && 0 == c(); } }; void _setjmp(); struct e final : b { void f(); }; void e::f() { if (d()) _setjmp(); } fails with: g++ -march=sapphirerapids -mrtm -mshstk -O3 -flto=56 -pipe -std=c++17 -fno-math-errno but not with g++ -march=sapphirerapids -mrtm -mshstk -O2 -flto=56 -pipe -std=c++17 -fno-math-errno