This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libfortran/21468] vectorizing libfortran



------- Comment #4 from jb at gcc dot gnu dot org  2005-11-11 21:55 -------
Seems like libgfortran vectorizes much better now. Compiling with
"-ftree-vectorize -ftree-vectorizer-verbose=5 -msse2" added to CFLAGS (I didn't
try with FCFLAGS) and grepping the output for LOOP VECTORIZED shows

../../../trunk/libgfortran/generated/maxloc0_4_i4.c:232: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/maxloc0_8_i4.c:232: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/maxloc0_4_i8.c:232: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/maxloc0_8_i8.c:232: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/maxloc0_4_r4.c:232: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/maxloc0_8_r4.c:232: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/maxloc0_4_r8.c:232: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/maxloc0_8_r8.c:232: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/maxloc0_4_r10.c:232: note: LOOP
VECTORIZED.
../../../trunk/libgfortran/generated/maxloc0_8_r10.c:232: note: LOOP
VECTORIZED.
../../../trunk/libgfortran/generated/maxloc1_4_i4.c:279: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/maxloc1_8_i4.c:279: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/maxloc1_4_i8.c:279: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/maxloc1_8_i8.c:279: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/maxloc1_4_r4.c:279: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/maxloc1_8_r4.c:279: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/maxloc1_4_r8.c:279: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/maxloc1_8_r8.c:279: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/maxloc1_4_r10.c:279: note: LOOP
VECTORIZED.
../../../trunk/libgfortran/generated/maxloc1_8_r10.c:279: note: LOOP
VECTORIZED.
../../../trunk/libgfortran/generated/maxval_i4.c:273: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/maxval_i8.c:273: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/maxval_r4.c:273: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/maxval_r8.c:273: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/maxval_r10.c:273: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/minloc0_4_i4.c:232: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/minloc0_8_i4.c:232: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/minloc0_4_i8.c:232: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/minloc0_8_i8.c:232: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/minloc0_4_r4.c:232: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/minloc0_8_r4.c:232: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/minloc0_4_r8.c:232: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/minloc0_8_r8.c:232: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/minloc0_4_r10.c:232: note: LOOP
VECTORIZED.
../../../trunk/libgfortran/generated/minloc0_8_r10.c:232: note: LOOP
VECTORIZED.
../../../trunk/libgfortran/generated/minloc1_4_i4.c:279: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/minloc1_8_i4.c:279: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/minloc1_4_i8.c:279: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/minloc1_8_i8.c:279: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/minloc1_4_r4.c:279: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/minloc1_8_r4.c:279: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/minloc1_4_r8.c:279: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/minloc1_8_r8.c:279: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/minloc1_4_r10.c:279: note: LOOP
VECTORIZED.
../../../trunk/libgfortran/generated/minloc1_8_r10.c:279: note: LOOP
VECTORIZED.
../../../trunk/libgfortran/generated/minval_i4.c:273: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/minval_i8.c:273: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/minval_r4.c:273: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/minval_r8.c:273: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/minval_r10.c:273: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/product_i4.c:271: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/product_i8.c:271: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/product_r4.c:271: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/product_r8.c:271: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/product_r10.c:271: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/product_c4.c:271: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/product_c8.c:271: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/product_c10.c:271: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/sum_i4.c:271: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/sum_i8.c:271: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/sum_r4.c:271: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/sum_r8.c:271: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/sum_r10.c:271: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/sum_c4.c:271: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/sum_c8.c:271: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/sum_c10.c:271: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/matmul_i4.c:188: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/matmul_i8.c:188: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/matmul_r4.c:188: note: LOOP VECTORIZED.
../../../trunk/libgfortran/generated/matmul_r8.c:188: note: LOOP VECTORIZED.
../../../trunk/libgfortran/io/write.c:763: note: LOOP VECTORIZED.
../../../trunk/libgfortran/intrinsics/date_and_time.c:235: note: LOOP
VECTORIZED.
../../../trunk/libgfortran/intrinsics/pack_generic.c:121: note: LOOP
VECTORIZED.
../../../trunk/libgfortran/intrinsics/unpack_generic.c:120: note: LOOP
VECTORIZED.

Unfortunalety the vectorized loop for matmul is not the main loop, rather a
small auxiliary one.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21468


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]