http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53957
--- Comment #7 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-07-18 14:47:49 UTC --- It helps to make us even consider the loop. We now run into 696: worklist: examine stmt: D.2574_254 = (real(kind=4)) i_5; 696: vect_is_simple_use: operand i_5 696: def_stmt: i_5 = PHI <1(77), i_324(80)> 696: Unsupported pattern. 696: not vectorized: unsupported use in stmt. 696: unexpected pattern. that is, the following induction is not handled: phit = phib + phie(k) + (REAL(i)-0.50D0) & & *dphit so it would be still worthwhile to pursue your patch if it does not have negative effects elsewhere. We should be able to fix the induction code to handle this case. If you can help isolating the innermost two loops into a smaller testcase that would be great, too.