[Bug fortran/31139] sum(w_re(1:nn,1)*fi(i(1:nn, ii))) up to 3.5x slower than C version

2015-10-10 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31139 Dominique d'Humieres changed: What|Removed |Added Status|WAITING |RESOLVED Resolution|---

[Bug fortran/31139] sum(w_re(1:nn,1)*fi(i(1:nn, ii))) up to 3.5x slower than C version

2013-06-22 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31139 Dominique d'Humieres dominiq at lps dot ens.fr changed: What|Removed |Added Status|NEW |WAITING

[Bug fortran/31139] sum(w_re(1:nn,1)*fi(i(1:nn, ii))) up to 3.5x slower than C version

2010-09-12 Thread jvdelisle at gcc dot gnu dot org
--- Comment #7 from jvdelisle at gcc dot gnu dot org 2010-09-12 15:45 --- I have not tested this with latest trunk, but I wonder if any of the recent optimization work has improved this. Can it be closed yet? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31139

[Bug fortran/31139] sum(w_re(1:nn,1)*fi(i(1:nn, ii))) up to 3.5x slower than C version

2007-04-17 Thread fxcoudert at gcc dot gnu dot org
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last

[Bug fortran/31139] sum(w_re(1:nn,1)*fi(i(1:nn, ii))) up to 3.5x slower than C version

2007-03-12 Thread burnus at gcc dot gnu dot org
--- Comment #5 from burnus at gcc dot gnu dot org 2007-03-12 07:58 --- complex * complex is not a simple cross product in FP world. Well, the program calculates: real * complex -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31139

[Bug fortran/31139] sum(w_re(1:nn,1)*fi(i(1:nn, ii))) up to 3.5x slower than C version

2007-03-12 Thread burnus at gcc dot gnu dot org
--- Comment #6 from burnus at gcc dot gnu dot org 2007-03-12 08:16 --- Can someone try instead of doing __real__ a += w[j] *__real__ mfi[*index]; Use a+= xxx* yyy and also use -std=c99 to get the correct multiplication? Well, -std=c99 was used already and the real(!) * complex

[Bug fortran/31139] sum(w_re(1:nn,1)*fi(i(1:nn, ii))) up to 3.5x slower than C version

2007-03-11 Thread burnus at gcc dot gnu dot org
--- Comment #1 from burnus at gcc dot gnu dot org 2007-03-11 22:45 --- Contains the test case. The hand-made SSE version (USE_VECTORS) crashes here for -m32, but as it is C vs. Fortran, one can completely ignore that test case (for -m64 USE_VECTORS is about as fast as the other C

[Bug fortran/31139] sum(w_re(1:nn,1)*fi(i(1:nn, ii))) up to 3.5x slower than C version

2007-03-11 Thread burnus at gcc dot gnu dot org
--- Comment #2 from burnus at gcc dot gnu dot org 2007-03-11 22:50 --- Created an attachment (id=13191) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13191action=view) test.tar.gz -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31139

[Bug fortran/31139] sum(w_re(1:nn,1)*fi(i(1:nn, ii))) up to 3.5x slower than C version

2007-03-11 Thread pinskia at gcc dot gnu dot org
--- Comment #3 from pinskia at gcc dot gnu dot org 2007-03-12 05:33 --- The problem here is obvious, in the Fortran case, there is a temp array being created while in the C case, there is not. Also in the optimized C case, the multiplication of the complex numbers is incorrect unless

[Bug fortran/31139] sum(w_re(1:nn,1)*fi(i(1:nn, ii))) up to 3.5x slower than C version

2007-03-11 Thread pinskia at gcc dot gnu dot org
--- Comment #4 from pinskia at gcc dot gnu dot org 2007-03-12 05:37 --- The hand-made SSE version (USE_VECTORS) crashes here for -m32 Because well complex(8)'s alignment is the same as double which means it is only 8 byte aligned and not 16 byte aligned, it is just magical that the