diff options
author | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-07-04 17:43:18 +0000 |
---|---|---|
committer | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-07-04 17:43:18 +0000 |
commit | 537ffcfc50a329aa4be838127266a1cb06083133 (patch) | |
tree | df66055b376252d4e98b02a6a2492ca9f4731ad2 /gcc/config/i370/i370.md | |
parent | da31bd92c01701e2bf94aa2cdaf5a57e5ce21f42 (diff) | |
download | ppe42-gcc-537ffcfc50a329aa4be838127266a1cb06083133.tar.gz ppe42-gcc-537ffcfc50a329aa4be838127266a1cb06083133.zip |
* emit-rtl.c (replace_equiv_address): New function.
* expr.h (replace_equiv_address): New declaration.
* explow.c (validize_mem): Call it instead of change_address and
also call if -fforce-addr and address is constant.
* expr.c: Replace more calls to change_address with adjust_address
and/or replace_equiv_address or to validize_mem.
* function.c, regmove.c, config/alpha/alpha.c: Likewise.
* config/arm/arm.md, config/clipper/clipper.md: Likewise.
* config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
* config/i370/i370.md, config/i860/i860.md: Likewise.
* config/i960/i960.md, config/mips/mips.c: Likewise.
* config/mips/mips.md, config/pa/pa.md: Likewise.
* config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
* config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@43762 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/i370/i370.md')
-rw-r--r-- | gcc/config/i370/i370.md | 21 |
1 files changed, 2 insertions, 19 deletions
diff --git a/gcc/config/i370/i370.md b/gcc/config/i370/i370.md index 7ef666e4323..c0d05e6e791 100644 --- a/gcc/config/i370/i370.md +++ b/gcc/config/i370/i370.md @@ -1380,21 +1380,6 @@ check_label_emit (); "" " { -/* - XXX bogus, i think, unless change_address has a side effet we need - rtx op0; - - op0 = XEXP (operands[0], 0); - if (GET_CODE (op0) == REG - || (GET_CODE (op0) == PLUS && GET_CODE (XEXP (op0, 0)) == REG - && GET_CODE (XEXP (op0, 1)) == CONST_INT - && (unsigned) INTVAL (XEXP (op0, 1)) < 4096)) - op0 = operands[0]; - else - op0 = change_address (operands[0], VOIDmode, - copy_to_mode_reg (SImode, op0)); - -*/ { /* implementation suggested by Richard Henderson <rth@cygnus.com> */ rtx reg1 = gen_reg_rtx (DImode); @@ -1442,8 +1427,7 @@ check_label_emit (); && (unsigned) INTVAL (XEXP (op0, 1)) < 4096)) op0 = operands[0]; else - op0 = change_address (operands[0], VOIDmode, - copy_to_mode_reg (SImode, op0)); + op0 = replace_equiv_address (operands[0], copy_to_mode_reg (SImode, op0)); op1 = XEXP (operands[1], 0); if (GET_CODE (op1) == REG @@ -1452,8 +1436,7 @@ check_label_emit (); && (unsigned) INTVAL (XEXP (op1, 1)) < 4096)) op1 = operands[1]; else - op1 = change_address (operands[1], VOIDmode, - copy_to_mode_reg (SImode, op1)); + op1 = replace_equiv_address (operands[1], copy_to_mode_reg (SImode, op1)); if (GET_CODE (operands[2]) == CONST_INT && INTVAL (operands[2]) < 256) emit_insn (gen_rtx_PARALLEL (VOIDmode, |