[Bug libfortran/21468] vectorizing libfortran

2007-04-18 Thread fxcoudert at gcc dot gnu dot org


--- Comment #11 from fxcoudert at gcc dot gnu dot org  2007-04-18 23:01 
---
Closing this. We should really open new PRs for different intrinsics, when we
have code and perf measurements.


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug libfortran/21468] vectorizing libfortran

2006-01-29 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|4.1.0   |---


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



[Bug libfortran/21468] vectorizing libfortran

2006-01-29 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|REOPENED|NEW


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



[Bug libfortran/21468] vectorizing libfortran

2006-01-08 Thread dorit at il dot ibm dot com


--- Comment #10 from dorit at il dot ibm dot com  2006-01-08 13:49 ---
 Reopening since many of the intrinsics could still vectorize better.

Could help if you list specific functions that you expect to get vectorized. As
far as dotprod is concerned - if it's operating on floats, you need to use
-ffast-math or -funsafe-math-optimizations to enable vectorization. If it's
dotprod of integers - probably the recent patches I sent to support reduction
patterns (http://gcc.gnu.org/ml/gcc-patches/2005-12/msg01896.html) would be
required (this functionality is present in auotvect; you can try to see if it's
vectorized any better with autovect-branch).


-- 

dorit at il dot ibm dot com changed:

   What|Removed |Added

 CC||dorit at il dot ibm dot com


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




[Bug libfortran/21468] vectorizing libfortran

2006-01-06 Thread jb at gcc dot gnu dot org


--- Comment #9 from jb at gcc dot gnu dot org  2006-01-06 14:47 ---
Reopening since many of the intrinsics could still vectorize better.


-- 

jb at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |


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




[Bug libfortran/21468] vectorizing libfortran

2006-01-05 Thread pinskia at gcc dot gnu dot org


--- Comment #8 from pinskia at gcc dot gnu dot org  2006-01-06 04:31 ---
Fixed for 4.1.0.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.1.0


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




[Bug libfortran/21468] vectorizing libfortran

2005-11-14 Thread jb at gcc dot gnu dot org


--- Comment #7 from jb at gcc dot gnu dot org  2005-11-14 19:48 ---
Subject: Bug 21468

Author: jb
Date: Mon Nov 14 19:48:31 2005
New Revision: 106898

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=106898
Log:
2005-11-14  Janne Blomqvist  [EMAIL PROTECTED]

PR fortran/21468
* Makefile.am: Add -ftree-vectorize for compiling matmul.
* m4/matmul.m4: Add const and restrict to type declarations as
appropriate.
* m4/matmull.m4: Likewise.
* Makefile.in: Regenerated.
* generated/matmul_*.c: Likewise.


Modified:
trunk/libgfortran/ChangeLog
trunk/libgfortran/Makefile.am
trunk/libgfortran/Makefile.in
trunk/libgfortran/generated/matmul_c10.c
trunk/libgfortran/generated/matmul_c16.c
trunk/libgfortran/generated/matmul_c4.c
trunk/libgfortran/generated/matmul_c8.c
trunk/libgfortran/generated/matmul_i16.c
trunk/libgfortran/generated/matmul_i4.c
trunk/libgfortran/generated/matmul_i8.c
trunk/libgfortran/generated/matmul_l16.c
trunk/libgfortran/generated/matmul_l4.c
trunk/libgfortran/generated/matmul_l8.c
trunk/libgfortran/generated/matmul_r10.c
trunk/libgfortran/generated/matmul_r16.c
trunk/libgfortran/generated/matmul_r4.c
trunk/libgfortran/generated/matmul_r8.c
trunk/libgfortran/m4/matmul.m4
trunk/libgfortran/m4/matmull.m4


-- 


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



[Bug libfortran/21468] vectorizing libfortran

2005-11-13 Thread jb at gcc dot gnu dot org


--- Comment #6 from jb at gcc dot gnu dot org  2005-11-13 19:42 ---
Patch for matmul here: http://gcc.gnu.org/ml/fortran/2005-11/msg00366.html


-- 


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



[Bug libfortran/21468] vectorizing libfortran

2005-11-11 Thread jb 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.

[Bug libfortran/21468] vectorizing libfortran

2005-11-11 Thread jb at gcc dot gnu dot org


--- Comment #5 from jb at gcc dot gnu dot org  2005-11-11 23:13 ---
Actually, by marking the arguments to matmul as restrict pointers, I was able
to vectorize the main loop for unit stride.

I'll produce a patch at some point..


-- 


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



[Bug libfortran/21468] vectorizing libfortran

2005-09-22 Thread tobi at gcc dot gnu dot org

--- Additional Comments From tobi at gcc dot gnu dot org  2005-09-22 22:02 
---
Can this be done now that PR22480 is fixed?

-- 
   What|Removed |Added

 CC||tobi at gcc dot gnu dot org


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


[Bug libfortran/21468] vectorizing libfortran

2005-09-14 Thread pinskia at gcc dot gnu dot org


-- 
Bug 21468 depends on bug 22480, which changed state.

Bug 22480 Summary: [4.1 Regression] ICE in convert_move, at expr.c:390 with 
-ftree-vectorize
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22480

   What|Old Value   |New Value

 Status|NEW |RESOLVED
 Resolution||FIXED

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


[Bug libfortran/21468] vectorizing libfortran

2005-09-12 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-12 
15:23 ---
PR 22480 refences a PR which currently blocks doing this.

-- 
   What|Removed |Added

  BugsThisDependsOn||22480


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


[Bug libfortran/21468] vectorizing libfortran

2005-05-09 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-05-09 
21:32 ---
Confirmed, the only loop that was optimized was:
  for (i = 0; i  VALUES_SIZE; i++)
values[i] = - GFC_INTEGER_4_HUGE;


The agruments to intrinsics really should have restrict on them to get the 
partly fortran aliasing rules.

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-05-09 21:32:51
   date||


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