https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65170
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P3 |P1 Status|UNCONFIRMED |NEW Last reconfirmed| |2015-02-23 Component|inline-asm |tree-optimization Ever confirmed|0 |1 --- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- I believe this boils down to __attribute__((noinline, noclone)) void foo (__uint128_t b, __uint128_t c) { __uint128_t a; b &= -1ULL; c &= -1ULL; a = b * c; if (a != 1) __builtin_abort (); } int main () { foo (1, 1); return 0; } which at -O2 regressed with r210113 aka the wide-int merge. Will look at it.