https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119690
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Already -O1 fails: int a, b = -__INT_MAX__, c; int main () { d: c = a + b + __INT_MAX__; if (-c >= 0) goto e; goto f; e: a = c + 1; goto d; f: if (a != 1) __builtin_abort (); }