diff options
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; \ |
