diff options
author | Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | 2001-07-10 22:09:10 +0000 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 2001-07-10 18:09:10 -0400 |
commit | 07217645f7ab36e65d91ff5ab0d8778ba9f924b5 (patch) | |
tree | 75d83831603917d240d2a453239b4b0485baae9c /gcc/config | |
parent | 91667711832211a065a5bff2484c26390197986e (diff) | |
download | gcc-07217645f7ab36e65d91ff5ab0d8778ba9f924b5.zip gcc-07217645f7ab36e65d91ff5ab0d8778ba9f924b5.tar.gz gcc-07217645f7ab36e65d91ff5ab0d8778ba9f924b5.tar.bz2 |
recog.c (offsettable_address_p): Handle LO_SUM case.
* recog.c (offsettable_address_p): Handle LO_SUM case.
* config/mips/mips.c (double_memory_operand): Use adjust_address_nv
instead of plus_constant.
From-SVN: r43912
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/mips/mips.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 0335667..48c3915 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -838,8 +838,6 @@ double_memory_operand (op, mode) rtx op; enum machine_mode mode; { - rtx addr; - if (GET_CODE (op) != MEM || ! memory_operand (op, mode)) { @@ -939,14 +937,12 @@ double_memory_operand (op, mode) /* Make sure that 4 added to the address is a valid memory address. This essentially just checks for overflow in an added constant. */ - addr = XEXP (op, 0); - - if (CONSTANT_ADDRESS_P (addr)) + if (CONSTANT_ADDRESS_P (XEXP (op, 0))) return 1; - return memory_address_p ((GET_MODE_CLASS (mode) == MODE_INT - ? SImode : SFmode), - plus_constant (addr, 4)); + op = adjust_address_nv (op, GET_MODE_CLASS (mode) == MODE_INT + ? SImode : SFmode, 4); + return memory_address_p (XEXP (op, 0)); } /* Return nonzero if the code of this rtx pattern is EQ or NE. */ |