cris.h (EXTRA_CONSTRAINT_T): Remove FIXME and tests for noncanonical versions of...
authorHans-Peter Nilsson <hp@axis.com>
Tue, 17 May 2005 00:07:54 +0000 (00:07 +0000)
committerHans-Peter Nilsson <hp@gcc.gnu.org>
Tue, 17 May 2005 00:07:54 +0000 (00:07 +0000)
* config/cris/cris.h (EXTRA_CONSTRAINT_T): Remove FIXME and
tests for noncanonical versions of reg+constant and
reg+reg*{1,2,4}.

From-SVN: r99803

gcc/ChangeLog
gcc/config/cris/cris.h

index e3843ed999702ffec94e018d8c3ada74381722e5..28d0a13447daa86618e4cf56b575dd9816fc1740 100644 (file)
@@ -1,3 +1,9 @@
+2005-05-17  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/cris.h (EXTRA_CONSTRAINT_T): Remove FIXME and
+       tests for noncanonical versions of reg+constant and
+       reg+reg*{1,2,4}.
+
 2005-05-16  Richard Henderson  <rth@redhat.com>
            Steven Bosscher <stevenb@suse.de>
 
index dac03d21d4242062f0194af45e13fefe51a5920d..bdf482380161170482f68106ba8ac8c5ad4e9f75 100644 (file)
@@ -667,19 +667,15 @@ enum reg_class
          /* A BDAP constant: [reg+(8|16|32)bit offset]?  */            \
          && ((BASE_P (XEXP (XEXP (X, 0), 0))                           \
               && CONSTANT_INDEX_P (XEXP (XEXP (X, 0), 1)))             \
-             /* Swap arguments to the above.  FIXME: gcc-2.9x? */      \
-             || (BASE_P (XEXP (XEXP (X, 0), 1))                        \
-                 && CONSTANT_INDEX_P (XEXP (XEXP (X, 0), 0)))          \
              /* A BDAP register: [reg+[reg(+)].S]?  */                 \
              || (BASE_P (XEXP (XEXP (X, 0), 0))                        \
                  && BDAP_INDEX_P(XEXP(XEXP(X, 0), 1)))                 \
-             /* Same, but with swapped arguments.  */                  \
+             /* Same, but with swapped arguments (no canonical         \
+                ordering between e.g. REG and MEM as of LAST_UPDATED   \
+                "Thu May 12 03:59:11 UTC 2005").  */                   \
              || (BASE_P (XEXP (XEXP (X, 0), 1))                        \
                  && BDAP_INDEX_P (XEXP (XEXP (X, 0), 0)))              \
-             /* A BIAP: [reg+reg.S].  */                               \
-             || (BASE_P (XEXP (XEXP (X, 0), 0))                        \
-                 && BIAP_INDEX_P (XEXP (XEXP (X, 0), 1)))              \
-             /* Same, but with swapped arguments.  */                  \
+             /* A BIAP: [reg+reg.S] (MULT comes first).  */            \
              || (BASE_P (XEXP (XEXP (X, 0), 1))                        \
                  && BIAP_INDEX_P (XEXP (XEXP (X, 0), 0))))))           \
  )