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.