Commit eab97e44 by Alan Modra Committed by Alan Modra

re PR target/12817 ([SYSV] Altivec code generation error with many registers used)

	PR target/12817
	* config/rs6000/rs6000.c (rs6000_emit_prologue): Use r0 for vrsave.

From-SVN: r91553
parent 683e2617
2004-12-01 Alan Modra <amodra@bigpond.net.au>
PR target/12817
* config/rs6000/rs6000.c (rs6000_emit_prologue): Use r0 for vrsave.
2004-12-01 Joseph S. Myers <joseph@codesourcery.com> 2004-12-01 Joseph S. Myers <joseph@codesourcery.com>
* doc/standards.texi: Update for C99 TC2. * doc/standards.texi: Update for C99 TC2.
......
...@@ -14030,8 +14030,10 @@ rs6000_emit_prologue (void) ...@@ -14030,8 +14030,10 @@ rs6000_emit_prologue (void)
rtx reg, mem, vrsave; rtx reg, mem, vrsave;
int offset; int offset;
/* Get VRSAVE onto a GPR. */ /* Get VRSAVE onto a GPR. Note that ABI_V4 might be using r12
reg = gen_rtx_REG (SImode, 12); as frame_reg_rtx and r11 as the static chain pointer for
nested functions. */
reg = gen_rtx_REG (SImode, 0);
vrsave = gen_rtx_REG (SImode, VRSAVE_REGNO); vrsave = gen_rtx_REG (SImode, VRSAVE_REGNO);
if (TARGET_MACHO) if (TARGET_MACHO)
emit_insn (gen_get_vrsave_internal (reg)); emit_insn (gen_get_vrsave_internal (reg));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment