]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/19819 (ICE when compiling aegis 4.20)
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>
Tue, 1 Mar 2005 03:24:16 +0000 (03:24 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Tue, 1 Mar 2005 03:24:16 +0000 (03:24 +0000)
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
gcc/config/pa/pa.h

index 15d9fc334bef23b1a59c51bcfb19c0997a1a9fc4..9aa82e790d692324be1b809410afd2d9aab4b8ad 100644 (file)
@@ -1,3 +1,10 @@
+2005-02-28  John David Anglin  <dave.anglin#nrc-cnrc.gc.ca>
+
+       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  <dave.anglin@nrc-cnrc.gc.ca>
 
        PR rtl-optimization/17728
index 1dc2806d2ee6cf72b55109814f10e5d9950ab773..7727cb5f85cb32d41e66019facca2ce48568f98b 100644 (file)
@@ -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)                             \