------- Comment #2 from dominiq at lps dot ens dot fr 2008-11-19 21:38 ------- It seems that the problem is a missed vectorization. For
INTEGER FUNCTION F1(a) integer :: a(:,:), m, n m=SIZE(a,1) n=SIZE(a,2) F1=0 DO k=1,n DO j=1,m F1=F1+a(j,k) ENDDO ENDDO END FUNCTION F1 I get with gfortran pr38181_2.f90:6: note: not vectorized: too many BBs in loop. pr38181_2.f90:7: note: not vectorized: data ref analysis failed D.1605_54 = (*a.0_10)[D.1604_53]; pr38181_2.f90:1: note: vectorized 0 loops in function. while ifort reports: pr38181_2.f90(9): (col. 3) remark: LOOP WAS VECTORIZED. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38181