https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119707
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever confirmed|0 |1
Last reconfirmed| |2025-04-10
--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
-O2 -fno-inline is miscompiled too, or
unsigned _BitInt(256) g;
__attribute__((noipa)) unsigned long
foo (_BitInt(129) k)
{
unsigned _BitInt(255) a = -1;
unsigned _BitInt(256) m = g - (k & a);
unsigned __int128 e = m >> 128;
unsigned long long r = e >> 64;
return r;
}
int
main ()
{
unsigned long long x = foo (-1);
if (x != 0x8000000000000000ULL)
__builtin_abort ();
}
at any opt level other than -O0.