This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: ppc64 floating point usage [was Re: PPC64 Compiler bug !!]


[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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]