This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libfortran/21468] vectorizing libfortran
- From: "jb at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 11 Nov 2005 21:55:10 -0000
- Subject: [Bug libfortran/21468] vectorizing libfortran
- References: <bug-21468-10391@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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