From: John David Anglin Date: Tue, 1 Mar 2005 03:24:16 +0000 (+0000) Subject: re PR target/19819 (ICE when compiling aegis 4.20) X-Git-Tag: releases/gcc-3.4.4~186 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=66f516f28f96b5b12c74b697dd0b58291d878706;p=thirdparty%2Fgcc.git re PR target/19819 (ICE when compiling aegis 4.20) PR target/19819 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Allow allow hard registers during and after reload in REG+REG indexed addresses without REG_POINTER set in the base and not set in the index. From-SVN: r95725 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 15d9fc334bef..9aa82e790d69 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2005-02-28 John David Anglin + + PR target/19819 + * pa.h (GO_IF_LEGITIMATE_ADDRESS): Allow allow hard registers during + and after reload in REG+REG indexed addresses without REG_POINTER + set in the base and not set in the index. + 2005-02-27 John David Anglin PR rtl-optimization/17728 diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h index 1dc2806d2ee6..7727cb5f85cb 100644 --- a/gcc/config/pa/pa.h +++ b/gcc/config/pa/pa.h @@ -1530,7 +1530,12 @@ extern int may_call_alloca; && (TARGET_NO_SPACE_REGS \ ? (base && REG_P (index)) \ : (base == XEXP (X, 1) && REG_P (index) \ - && REG_POINTER (base) && !REG_POINTER (index))) \ + && (reload_completed \ + || (reload_in_progress && HARD_REGISTER_P (base)) \ + || REG_POINTER (base)) \ + && (reload_completed \ + || (reload_in_progress && HARD_REGISTER_P (index)) \ + || !REG_POINTER (index)))) \ && MODE_OK_FOR_UNSCALED_INDEXING_P (MODE) \ && REG_OK_FOR_INDEX_P (index) \ && borx_reg_operand (base, Pmode) \