[Bug fortran/31067] MINLOC should sometimes be inlined (gas_dyn is sooooo sloooow)
burnus at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Jul 29 07:13:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31067
--- Comment #46 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-07-29 07:12:47 UTC ---
(In reply to comment #45)
[Commit to inline MINLOC/MAXLOC for a rank-1 array, which returns a
single-element rank-1 array.]
On my ~5 year old Athlon64 x2, I get with "-Ofast -march=native" (and with or
without -fwhole-program) a performance improvement of 3% (10.72s -> 10.41s).
The performance should further improve, if one fuses the loops (cf. comment 42,
but also comment 34 ff.) - and if one could move the memory allocation/freeing
of the automatic-array DTEMP out of the loop (after inlining). (Recall that
with -fstack-arrays/-Ofast, automatic arrays are allocated on the stack.)
As already mentioned indirectly in comment 0 (via PR31066): If one uses
reciprocal
approximation instructions and a Newton-Rhapson step (namely: -mrecip), the
performance improves a lot: 6.895s. By comparison, with ifort (11.1) -xHost -O3
the run time is 7.319s.
More information about the Gcc-bugs
mailing list