/* 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 (); } }