This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RS6000] Fix PR12817
- From: Alan Modra <amodra at bigpond dot net dot au>
- To: David Edelsohn <dje at watson dot ibm dot com>
- Cc: gcc-patches at gcc dot gnu dot org, Dale Johannesen <dalej at apple dot com>,Stan Shebs <shebs at apple dot com>, Geoff Keating <geoffk at apple dot com>
- Date: Sat, 27 Nov 2004 10:30:00 +1030
- Subject: Re: [RS6000] Fix PR12817
- References: <20041126101943.GA14779@bubble.modra.org> <200411262331.iAQNVwD25464@makai.watson.ibm.com>
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