diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1997-02-23 14:17:29 -0800 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1997-02-23 14:17:29 -0800 |
commit | 538bb158647c27e705c7abb73b888c8dce46d8f3 (patch) | |
tree | fdeaa7b7a499d09a945f16ce3d799ce9e5edfcdd | |
parent | 2ba25f504d54596978a4efa6531cb313688d1ae0 (diff) | |
download | gcc-538bb158647c27e705c7abb73b888c8dce46d8f3.zip gcc-538bb158647c27e705c7abb73b888c8dce46d8f3.tar.gz gcc-538bb158647c27e705c7abb73b888c8dce46d8f3.tar.bz2 |
(floatsidf2_loadaddr): Correct syntax for cau instruction.
(load_multiple, store_multiple): Call change_address
instead of creating MEM from scratch.
From-SVN: r13674
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index a5cae5e..a85ee89 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -3671,7 +3671,7 @@ xop[0] = operands[0]; xop[1] = (frame_pointer_needed) ? frame_pointer_rtx : stack_pointer_rtx; xop[2] = GEN_INT ((rs6000_fpmem_offset >> 16) + ((rs6000_fpmem_offset & 0x8000) >> 15)); - output_asm_insn (\"{cau %0,%2(%1)|addis %0,%1,%2}\", xop); + output_asm_insn (\"{cau|addis} %0,%1,%2\", xop); } else if (rs6000_fpmem_offset < 0) abort (); @@ -6291,7 +6291,8 @@ for (i = 0; i < count; i++) XVECEXP (operands[3], 0, i) = gen_rtx (SET, VOIDmode, gen_rtx (REG, SImode, regno + i), - gen_rtx (MEM, SImode, plus_constant (from, i * 4))); + change_address (operands[1], SImode, + plus_constant (from, i * 4))); }") (define_insn "" @@ -6384,14 +6385,16 @@ to = force_reg (SImode, XEXP (operands[0], 0)); XVECEXP (operands[3], 0, 0) - = gen_rtx (SET, VOIDmode, gen_rtx (MEM, SImode, to), operands[1]); + = gen_rtx (SET, VOIDmode, change_address (operands[0], SImode, to), + operands[1]); XVECEXP (operands[3], 0, 1) = gen_rtx (CLOBBER, VOIDmode, gen_rtx (SCRATCH, SImode)); for (i = 1; i < count; i++) XVECEXP (operands[3], 0, i + 1) = gen_rtx (SET, VOIDmode, - gen_rtx (MEM, SImode, plus_constant (to, i * 4)), + change_address (operands[0], SImode, + plus_constant (to, i * 4)), gen_rtx (REG, SImode, regno + i)); }") |