https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113372
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2024-01-13 Status|UNCONFIRMED |NEW Ever confirmed|0 |1 --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Confirmed. A slightly different testcase which made it easier to test with clang (clang does not have the _p variants): ``` _BitInt(8) a, b, c; _BitInt(8) foo(_BitInt(6384) y) { _BitInt(4745) x = -(b % y) * b; int t; _BitInt(8) tt; int i = __builtin_sub_overflow(-y, 0, &t); c |= __builtin_add_overflow(i, 0, &tt); return x; } int main(void) { _BitInt(8) x = foo(4); if (x != 0) __builtin_abort(); return 0; } ```