http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47899
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-02-28 09:39:52 UTC --- Somewhat simplified testcase (still for -O -funroll-loops): extern unsigned int a, b, c; extern int d; static int foo (void) { lab: if (b) for (d = 0; d >= 0; d--) if (a || c) for (; c; c++) ; else goto lab; } int main () { foo (); return 0; }