From 66f516f28f96b5b12c74b697dd0b58291d878706 Mon Sep 17 00:00:00 2001 From: John David Anglin Date: Tue, 1 Mar 2005 03:24:16 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 7 +++++++ gcc/config/pa/pa.h | 7 ++++++- 2 files changed, 13 insertions(+), 1 deletion(-) 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) \ -- 2.47.2