/* PR target/93376 */ /* { dg-do compile { target int128 } } */ /* { dg-options "-Og -finline-functions-called-once" } */ unsigned a, b, c; int bar (int x) { short s = __builtin_sub_overflow (~x, 0, &b); a = __builtin_ffsll (~x); return __builtin_add_overflow_p (-(unsigned __int128) a, s, (unsigned __int128) 0); } void foo (void) { c = bar (0); }