https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71416
ktkachov at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed|2016-06-06 00:00:00 |2016-6-8 CC| |ktkachov at gcc dot gnu.org --- Comment #2 from ktkachov at gcc dot gnu.org --- Confirmed on aarch64 as well with: int a, b, d, e, f, g; int *c; void fn2 (int *); void fn1() { fn2(&e); } void fn2(int *p1) { for (;;) { for (; a; a++) if (*p1 = g || --f, b) if (*c) d = *p1; if (*p1) break; } } at -O3 -floop-interchange