* config/cris/cris.h (EXTRA_CONSTRAINT_T): Remove FIXME and
authorhp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 17 May 2005 00:07:54 +0000 (00:07 +0000)
committerhp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 17 May 2005 00:07:54 +0000 (00:07 +0000)
tests for noncanonical versions of reg+constant and
reg+reg*{1,2,4}.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99803 138bc75d-0d04-0410-961f-82ee72b054a4

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

index e3843ed..28d0a13 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 dac03d2..bdf4823 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))))))           \
  )