OSDN Git Service

2004-06-24 Eric Christopher <echristo@redhat.com>
authorechristo <echristo@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 25 Jun 2004 00:59:35 +0000 (00:59 +0000)
committerechristo <echristo@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 25 Jun 2004 00:59:35 +0000 (00:59 +0000)
* config/rs6000/rs6000.md: Apply change mistakenly
deleted with 2004-06-22 patch.

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

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

index 16ad75d..6c6bcf3 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 a5604df..d21ac33 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
        {