gfortran -O2 -ftree-vectorize -ftree-vectorizer-verbose=2 -c -v s414a.f The source and destination sections of aa(:,:) do not overlap, unless there is a subscript over-run. Even that case could be taken care of by loop reversal.
This is a simplification of a case from: http://www.netlib.org/benchmark/vectors -- Summary: not vectorized: can't determine dependence (array sections) Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: tprince at computer dot org GCC build triplet: x86_64-unknown-linux-gnu GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32375