/* PR debug/103808 */ | |
/* { dg-do compile { target int128 } } */ | |
/* { dg-options "-fcompare-debug -O2 -ftrapv" } */ | |
void | |
foo (__int128 x, int y) | |
{ | |
for (;;) | |
{ | |
__int128 a, b; | |
x |= !!y; | |
a = x + 1; | |
b = y ? ++y : ++x; | |
y = a < b; | |
asm ("" : "+r" (y)); | |
if (x >> 2) | |
y *= 2; | |
if (y == b) | |
__builtin_unreachable (); | |
} | |
} |