https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89434
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2019-02-21 CC| |jakub at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Testcase for gcc.c-torture/execute/: /* PR rtl-optimization/89434 */ #if __SIZEOF_INT__ == 4 && __SIZEOF_LONG_LONG__ == 8 && __CHAR_BIT__ == 8 long g = 0; static inline unsigned long long foo (unsigned long long u) { unsigned x; __builtin_mul_overflow (-1, g, &x); u |= (unsigned) u < (unsigned short) x; return x - u; } int main () { unsigned long long x = foo (0x222222222ULL); if (x != 0xfffffffddddddddeULL) __builtin_abort (); return 0; } #else int main () { return 0; } #endif