aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.com>2002-07-01 23:18:33 +0000
committerHans-Peter Nilsson <hp@gcc.gnu.org>2002-07-01 23:18:33 +0000
commit9a81c5b7118435fb50a40f464946e960e01d7777 (patch)
tree16f1af5f8dad3dceb612bb05e9457335d5ecafeb /gcc
parent2a91582c0449ef826335a48657b15d67029d37dd (diff)
downloadgcc-9a81c5b7118435fb50a40f464946e960e01d7777.zip
gcc-9a81c5b7118435fb50a40f464946e960e01d7777.tar.gz
gcc-9a81c5b7118435fb50a40f464946e960e01d7777.tar.bz2
re PR target/7177 (cris-axis-elf: ICE at -O2, unrecognized insn, sign-extend mem)
PR target/7177 * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number of indirections for register inside sign-extended mem part. From-SVN: r55163
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/cris/cris.h8
2 files changed, 10 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 811e9c9..ed5e361 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2002-07-01 Hans-Peter Nilsson <hp@axis.com>
+
+ PR target/7177
+ * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
+ of indirections for register inside sign-extended mem part.
+
2002-07-01 Roger Sayle <roger@eyesopen.com>
* tree.h: Modify builtin_function interface to take an extra
diff --git a/gcc/config/cris/cris.h b/gcc/config/cris/cris.h
index ad8481c..66b01ee 100644
--- a/gcc/config/cris/cris.h
+++ b/gcc/config/cris/cris.h
@@ -1291,13 +1291,13 @@ struct cum_args {int regs;};
something_reloaded = 1; \
} \
\
- if (REG_P (XEXP (XEXP (X, 0), 0)) \
- && (REGNO (XEXP (XEXP (X, 0), 0)) \
+ if (REG_P (XEXP (XEXP (XEXP (X, 0), 0), 0)) \
+ && (REGNO (XEXP (XEXP (XEXP (X, 0), 0), 0)) \
>= FIRST_PSEUDO_REGISTER)) \
{ \
/* First one is a pseudo - reload that. */ \
- push_reload (XEXP (XEXP (X, 0), 0), NULL_RTX, \
- &XEXP (XEXP (X, 0), 0), NULL, \
+ push_reload (XEXP (XEXP (XEXP (X, 0), 0), 0), NULL_RTX, \
+ &XEXP (XEXP (XEXP (X, 0), 0), 0), NULL, \
GENERAL_REGS, \
GET_MODE (X), VOIDmode, 0, 0, OPNUM, TYPE); \
something_reloaded = 1; \