I'm trying to vectorize the loops in a Fortran program with gfortran and the Intel Xeon CPU.
Previously, the vectorization was implemented by constating
!VOCL LOOP,NOVREC
!DIR$ IVDEP
which could have worked on a Fujitsu before the loop. But these don't work anymore.
Does anyone have ideas how to vectorize the loop.
Since I'm a newbie for this, it would be perfect if you can show an example to test the result
Here's the code I use to test if it works
PROGRAM VECT_TEST
IMPLICIT NONE
INTEGER :: L(10)
INTEGER :: I
DO I = 1, 10
L(I) = I
END DO
!VOCL LOOP,NOVREC
!DIR$ IVDEP
DO I = 1, 10
L(I)=L(I) + 1
END DO
END PROGRAM
With a test command
gfortran vect_test.f -fopt-info-all -O3
I got the error output like this
vect_test.f:18:0: note: ===vect_slp_analyze_bb=== vect_test.f:18:0: note: === vect_analyze_data_refs === vect_test.f:18:0: note: not vectorized: not enough data-refs in basic block.