diff options
author | Hans-Peter Nilsson <hp@axis.com> | 2002-07-01 23:18:33 +0000 |
---|---|---|
committer | Hans-Peter Nilsson <hp@gcc.gnu.org> | 2002-07-01 23:18:33 +0000 |
commit | 9a81c5b7118435fb50a40f464946e960e01d7777 (patch) | |
tree | 16f1af5f8dad3dceb612bb05e9457335d5ecafeb /gcc | |
parent | 2a91582c0449ef826335a48657b15d67029d37dd (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/cris/cris.h | 8 |
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; \ |