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.

Reply via email to