diff options
author | Fariborz Jahanian <fjahanian@gcc.gnu.org> | 2004-01-26 17:38:51 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@gcc.gnu.org> | 2004-01-26 17:38:51 +0000 |
commit | 11b25716763ef8ca1c8b8f05f11e9e7d0c093ead (patch) | |
tree | 932fc381f381f9e22a0143b15151d5258b7dac5f | |
parent | 4c45af42f5eada2603b45faa0903307be09122d4 (diff) | |
download | gcc-11b25716763ef8ca1c8b8f05f11e9e7d0c093ead.zip gcc-11b25716763ef8ca1c8b8f05f11e9e7d0c093ead.tar.gz gcc-11b25716763ef8ca1c8b8f05f11e9e7d0c093ead.tar.bz2 |
Use adjust_address_nv directly with appropriate mode.
OKed by David Edelsohn.
From-SVN: r76645
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 8321062..4353e8a 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -9898,13 +9898,13 @@ " { rtx temp = gen_reg_rtx (Pmode); + int units_per_word = (TARGET_32BIT) ? 4 : 8; + enum machine_mode wmode = (TARGET_32BIT) ? SImode : word_mode; /* Copy the backchain to the first word, sp to the second. */ emit_move_insn (temp, gen_rtx_MEM (Pmode, operands[1])); - emit_move_insn (operand_subword (operands[0], 0, 0, - (TARGET_32BIT ? DImode : TImode)), - temp); - emit_move_insn (operand_subword (operands[0], 1, 0, (TARGET_32BIT ? DImode : TImode)), + emit_move_insn (adjust_address_nv (operands[0], wmode, 0), temp); + emit_move_insn (adjust_address_nv (operands[0], wmode, units_per_word), operands[1]); DONE; }") @@ -9916,13 +9916,14 @@ " { rtx temp = gen_reg_rtx (Pmode); + int units_per_word = (TARGET_32BIT) ? 4 : 8; + enum machine_mode wmode = (TARGET_32BIT) ? SImode : word_mode; /* Restore the backchain from the first word, sp from the second. */ emit_move_insn (temp, - operand_subword (operands[1], 0, 0, (TARGET_32BIT ? DImode : TImode))); + adjust_address_nv (operands[1], wmode, 0)); emit_move_insn (operands[0], - operand_subword (operands[1], 1, 0, - (TARGET_32BIT ? DImode : TImode))); + adjust_address_nv (operands[1], wmode, units_per_word)); emit_move_insn (gen_rtx_MEM (Pmode, operands[0]), temp); DONE; }") |