From 9a81c5b7118435fb50a40f464946e960e01d7777 Mon Sep 17 00:00:00 2001 From: Hans-Peter Nilsson Date: Mon, 1 Jul 2002 23:18:33 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 6 ++++++ gcc/config/cris/cris.h | 8 ++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 811e9c90ca8..ed5e361adea 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2002-07-01 Hans-Peter Nilsson + + 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 * 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 ad8481c70e6..66b01ee657f 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; \