https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114937
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Known to fail| |10.5.0, 11.4.1 Known to work| |12.1.0, 9.5.0 Priority|P3 |P2 --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- int __attribute__((noipa)) f(int x) { const int y = x; if (x != __INT_MAX__) ++x; return (x > y) ? x : 0; } int z = __INT_MAX__; int main() { if (f(z) != 0) __builtin_abort (); return 0; } Did you run into this for real-world code?