http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49006
--- Comment #5 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2011-05-22 12:22:48 UTC --- > (In reply to comment #4) > > The problem is you don't see: > > induct_v4.f90:1766: note: LOOP VECTORIZED. > > induct_v4.f90:2177: note: LOOP VECTORIZED. > anymore, right? > > With -Ofast there are no such loops, 1766 and 2177, they are probably being > unrolled. > > I see these loops with -O2 -ftree-vectorize, and they are indeed not > vectorized, but they are not vectorized by previous version as well, AFAIU. > > Ira I have posted at pr34265 a reduced test allowing for twelve variants of the inner loops in induct.f90. The vectorization is indeed depending of what the pass_complete_unrolli is doing. In a perfect world I would expect all these variants be equally vectorized. I have no idea if this is doable, but I think the minimal quality of implementation would require that the variants that are not vectorized (with a very significant impact on the run time) do not depend on the revision and be predictable along a line "do this, don't do that".