This happens in testcase gfortran.dg/vect/pr32377.f90: On the alias branch can't prove that number of iteratios is non zero:
Analyzing # of iterations of loop 1 exit condition [2, + , 1](no_overflow) < D.1554_60 bounds on difference of bases: -2147483650 ... 2147483645 result: zero if D.1554_60 <= 1 # of iterations (character(kind=4)) D.1554_60 + 0x0fffffffe, bounded by 2147483645 (set_nb_iterations_in_loop = scev_not_known)) (get_loop_exit_condition if (D.1554_60 <= S.10_78) ) pr32377.f90:9: note: not vectorized: number of iterations cannot be computed. pr32377.f90:9: note: bad loop form. pr32377.f90:4: note: vectorized 0 loops in function. Using mainline we have: Analyzing # of iterations of loop 1 exit condition [2, + , 1](no_overflow) < D.1416_112 bounds on difference of bases: 0 ... 2147483645 result: # of iterations (character(kind=4)) D.1416_112 + 0x0fffffffe, bounded by 2147483645 (set_nb_iterations_in_loop = (character(kind=4)) D.1416_112 + 0x0fffffffe)) pr32377.f90:9: note: ==> get_loop_niters:(character(kind=4)) D.1416_112 + 0x0ffffffff(get_loop_exit_condition if (S.10_78 >= D.1416_112) ) pr32377.f90:9: note: Symbolic number of iterations is (character(kind=4)) D.1416_112 + 0x0ffffffff -- Summary: [alias-improvements-branch] can't prove non-zero number of iterations Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dorit at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37693