https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82274
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Testcase that fails also on x86_64 -m64 (again, without optimizations only, with optimizations we fold it at compile time): int main () { #ifdef __SIZEOF_INT128__ __int128 m = -(((__int128) 1) << (__CHAR_BIT__ * __SIZEOF_INT128__ / 2)); __int128 r; #else long long m = -(1LL << (__CHAR_BIT__ * __SIZEOF_LONG_LONG__ / 2)); long long r; #endif if (!__builtin_mul_overflow (m, m, &r)) __builtin_abort (); return 0; }