This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[RS6000] Fix PR12817
- From: Alan Modra <amodra at bigpond dot net dot au>
- To: gcc-patches at gcc dot gnu dot org
- Cc: David Edelsohn <dje at watson dot ibm dot com>
- Date: Fri, 26 Nov 2004 20:49:43 +1030
- Subject: [RS6000] Fix PR12817
The comment below says it all. I've added a testcase to the pr.
PR target/12817
* config/rs6000/rs6000.c (rs6000_emit_prologue): Use r11 for vrsave.
Bootstrap and regression test powerpc-linux in progress. This ought to
count as obvious, but I'll ask. OK to install? gcc-3.4 and gcc-3.3
too?
diff -urp -xCVS -x'*~' gcc-virgin/gcc/config/rs6000/rs6000.c gcc-current/gcc/config/rs6000/rs6000.c
--- gcc-virgin/gcc/config/rs6000/rs6000.c 2004-11-26 14:48:20.163051172 +1030
+++ gcc-current/gcc/config/rs6000/rs6000.c 2004-11-26 19:45:39.482476440 +1030
@@ -14026,8 +14042,9 @@ rs6000_emit_prologue (void)
rtx reg, mem, vrsave;
int offset;
- /* Get VRSAVE onto a GPR. */
- reg = gen_rtx_REG (SImode, 12);
+ /* Get VRSAVE onto a GPR. Note that ABI_V4 might be using r12
+ as frame_reg_rtx. */
+ reg = gen_rtx_REG (SImode, 11);
vrsave = gen_rtx_REG (SImode, VRSAVE_REGNO);
if (TARGET_MACHO)
emit_insn (gen_get_vrsave_internal (reg));
--
Alan Modra
IBM OzLabs - Linux Technology Centre