From d7459fa85fa50f05654298030be3b685b07248d6 Mon Sep 17 00:00:00 2001 From: John David Anglin Date: Tue, 1 Mar 2005 04:34:00 +0000 Subject: 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: r95729 --- gcc/ChangeLog | 7 +++++++ gcc/config/pa/pa.h | 7 ++++++- 2 files changed, 13 insertions(+), 1 deletion(-) (limited to 'gcc') diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f6b1f8b..fe0ad78 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-28 Kaz Kojima * config/sh/linux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h index 9130d61..b2d2044 100644 --- a/gcc/config/pa/pa.h +++ b/gcc/config/pa/pa.h @@ -1532,7 +1532,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) \ -- cgit v1.1