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.