This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: ppc64 floating point usage [was Re: PPC64 Compiler bug !!]
- From: Alan Modra <amodra at bigpond dot net dot au>
- To: linas at austin dot ibm dot com
- Cc: gcc at gcc dot gnu dot org
- Date: Fri, 13 Jun 2003 11:31:33 +0930
- Subject: Re: ppc64 floating point usage [was Re: PPC64 Compiler bug !!]
- References: <20030612184851.E41510@forte.austin.ibm.com>
[trimming cc list]
On Thu, Jun 12, 2003 at 06:48:51PM -0500, linas@austin.ibm.com wrote:
> 1) The use of fp for DImode move is an interesting optimization if
> either:
> a) one has run out of regular DImode GPR's. But this was not
> the case for the simple test case I sent in: I was compiling for
> a 64-bit target, there were plenty of unused GPR's.
Yes, gcc's first choice for a DImode move is a fp reg. You'll always
get a fp reg if the source and destination of the move are not otherwise
used in a function (and assuming one fp reg is available).
> 5) There are some user-land issues having to do with Linux
> context-switching when an app uses fpr's. With the gcc-3.2.0
To expand on this: Under linux lazy fp save/restore we take an
exception the first time (after a context switch) we use a fp
temporary in user code. This could significantly increase the cost of
using a fp reg for moves. IMO this is reason enough to change
REG_ALLOC_ORDER for powerpc64.
--
Alan Modra
IBM OzLabs - Linux Technology Centre