This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [BENCHMARK]-mfpmath=sse should disable x387 intrinsics
On Fri, 26 Nov 2004 10:38:55 +0100, Uros Bizjak <uros@kss-loka.si> wrote:
> Jakub Jelinek wrote:
>
> > Yeah, for static functions it should probably also pass say float and
> >
> >double arguments in SSE registers as well, not on the stack, not just
> >vector arguments.
> >
> >
> >
> There is a lot of i387 code generated for parameter passing. Compiling
> whetstone benchmark with:
> gcc -O2 -march=pentium4 -mfpmath=sse -S whetss.c, a lot of these
> constructs is created:
If you're curious what kind of code get's generated for the tramp3d-v3
inner loops
with -mfpmath=sse -ffast-math -O2 -fpeel-loops -march=athlon64, have a look
at
http://www.tat.physik.uni-tuebingen.de/~rguenth/gcc/tramp3d-v3.s
(only one short inner loop as example)
The worst stuff is all the shuffling from/to temporary variables (or
spills?). At the
top of the file you'll see the source this is generated from (sketched).
Richard.