From: Hans-Peter Nilsson Date: Tue, 2 Jul 2002 14:08:00 +0000 (+0000) Subject: re PR target/7177 (cris-axis-elf: ICE at -O2, unrecognized insn, sign-extend mem) X-Git-Tag: releases/gcc-3.1.1~67 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d8885d61d78e259e8465a1a10d35f7bb7041b898;p=thirdparty%2Fgcc.git 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: r55180 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index da5ae6290f91..2086d594819c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2002-07-02 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 John David Anglin * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT. diff --git a/gcc/config/cris/cris.h b/gcc/config/cris/cris.h index e47ca93f03e6..59eb3c863a50 100644 --- a/gcc/config/cris/cris.h +++ b/gcc/config/cris/cris.h @@ -1297,13 +1297,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; \