rs6000.md: Apply change mistakenly deleted with 2004-06-22 patch.
authorEric Christopher <echristo@redhat.com>
Fri, 25 Jun 2004 00:59:35 +0000 (00:59 +0000)
committerEric Christopher <echristo@gcc.gnu.org>
Fri, 25 Jun 2004 00:59:35 +0000 (00:59 +0000)
2004-06-24  Eric Christopher  <echristo@redhat.com>

* config/rs6000/rs6000.md: Apply change mistakenly
deleted with 2004-06-22 patch.

From-SVN: r83625

gcc/ChangeLog
gcc/config/rs6000/rs6000.md

index 16ad75d409a613bb02fed8ccec656f1681abf34d..6c6bcf369f87bdc5a40aff8be7d933711f1158e4 100644 (file)
@@ -1,3 +1,8 @@
+2004-06-24  Eric Christopher  <echristo@redhat.com>
+
+       * config/rs6000/rs6000.md: Apply change mistakenly
+       deleted with 2004-06-22 patch.
+
 2004-06-24  Richard Henderson  <rth@redhat.com>
 
        * c-decl.c (c_in_iteration_stmt, c_in_case_stmt): Remove.
index a5604dfdc50dbf294f90f7426adaf18c1a05f818..d21ac332099922767a71b1d0338ce74bbf40bfed 100644 (file)
       else
        return \"mr %0,%1\;mr %L0,%L1\";
     case 1:
-      if (offsettable_memref_p (operands[1])
-         || (GET_CODE (operands[1]) == MEM
-             && (GET_CODE (XEXP (operands[1], 0)) == LO_SUM
+      if (GET_CODE (operands[1]) == MEM
+         && (rs6000_legitimate_offset_address_p (DFmode, XEXP (operands[1], 0),
+                       reload_completed || reload_in_progress)
+             || GET_CODE (XEXP (operands[1], 0)) == REG
+             || GET_CODE (XEXP (operands[1], 0)) == LO_SUM
                  || GET_CODE (XEXP (operands[1], 0)) == PRE_INC
-                 || GET_CODE (XEXP (operands[1], 0)) == PRE_DEC)))
+             || GET_CODE (XEXP (operands[1], 0)) == PRE_DEC))
        {
          /* If the low-address word is used in the address, we must load
             it last.  Otherwise, load it first.  Note that we cannot have
            }
        }
     case 2:
-      if (offsettable_memref_p (operands[0])
-         || (GET_CODE (operands[0]) == MEM
-             && (GET_CODE (XEXP (operands[0], 0)) == LO_SUM
+      if (GET_CODE (operands[0]) == MEM
+          && (rs6000_legitimate_offset_address_p (DFmode, XEXP (operands[0], 0),
+                   reload_completed || reload_in_progress)
+             || GET_CODE (XEXP (operands[0], 0)) == REG
+             || GET_CODE (XEXP (operands[0], 0)) == LO_SUM
                  || GET_CODE (XEXP (operands[0], 0)) == PRE_INC
-                 || GET_CODE (XEXP (operands[0], 0)) == PRE_DEC)))
+             || GET_CODE (XEXP (operands[0], 0)) == PRE_DEC))
        return \"{st%U0|stw%U0} %1,%0\;{st|stw} %L1,%L0\";
       else
        {