This is the mail archive of the gcc-patches@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: [RS6000] Fix PR12817


On Fri, Nov 26, 2004 at 06:31:58PM -0500, David Edelsohn wrote:
> >>>>> Alan Modra writes:
> 
> 	PR target/12817
> 	* config/rs6000/rs6000.c (rs6000_emit_prologue): Use r11 for vrsave.
> 
> Alan> Bootstrap and regression test powerpc-linux in progress.  This ought to
> Alan> count as obvious, but I'll ask.  OK to install?  gcc-3.4 and gcc-3.3
> Alan> too?
> 
> 	This looks okay, but rs6000_emit_prologue is becoming quite
> incomprehensible now.

Yes, I think we would do well to split the function into separate ones
for each major ABI.

>  The change affects Apple, so I'd like to give them
> a chance to comment before you drop it in.  If there's no objection by the
> end of the month, go ahead.

The main question of course, is whether r11 is free to use at that point
for all ABIs.  I reckon it is, and I've looked carefully.

BTW, it's rather weird that ABI_V4 uses r12 in the prologue as a frame
pointer, and r11 in the epilogue.  For one, it makes it impossible to
use ABI compliant _save* functions since the SYSV ABI says to use r11.
A further complication is that the PowerPC64 ABI says the register save
and restore functions use r12..

-- 
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]