https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92324
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- Related, the following is miscompiled at -O3. unsigned b[1024]; int __attribute__((noipa)) foo (int n) { int res = 0; for (int i = 0; i < n; ++i) { res = res > b[i] ? res : b[i]; } return res; } int main () { b[3] = (unsigned)__INT_MAX__ + 1; if (foo (4) != -__INT_MAX__ - 1) __builtin_abort (); return 0; }