This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: mainline performance regression (observered on SPARC)
- From: Andrey Petrov <petrov at netbsd dot org>
- To: Dan Nicolaescu <dann at ics dot uci dot edu>
- Cc: gcc at gcc dot gnu dot org
- Date: Fri, 24 May 2002 13:28:06 -0700
- Subject: Re: mainline performance regression (observered on SPARC)
- References: <200205241136.aa23100@gremlin-relay.ics.uci.edu>
On Fri, May 24, 2002 at 11:36:48AM -0700, Dan Nicolaescu wrote:
>
> Any idea what is the cause of this?
>
> The code is kind of silly, it moves stuff around between the integer
> and fp registers, probably an artifact of the SPARC calling
> conventions (passing doubles in the integer registers). But shouldn't
> inlining get rid of this?
>
This made me re-read sparc v9 abi, and it says that floating-point arguments
and return values are passed in fpu registers. But some of the fpu registers
are volatile across functions calls and some are not. I guess that you see
saving/restoring of non-volatile fpu regs.
Andrey