aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Christopher <echristo@redhat.com>2004-06-25 00:59:35 +0000
committerEric Christopher <echristo@gcc.gnu.org>2004-06-25 00:59:35 +0000
commit819e019c9d5aa88675f8714028a6a0952c63282a (patch)
tree0146cb74d40ec69f8e9ebb8d5ea81d2bb31671d6
parent3953b22e753306e566430affbdacb1fe18f0cf2c (diff)
downloadgcc-819e019c9d5aa88675f8714028a6a0952c63282a.zip
gcc-819e019c9d5aa88675f8714028a6a0952c63282a.tar.gz
gcc-819e019c9d5aa88675f8714028a6a0952c63282a.tar.bz2
rs6000.md: Apply change mistakenly deleted with 2004-06-22 patch.
2004-06-24 Eric Christopher <echristo@redhat.com> * config/rs6000/rs6000.md: Apply change mistakenly deleted with 2004-06-22 patch. From-SVN: r83625
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/rs6000/rs6000.md20
2 files changed, 17 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 16ad75d..6c6bcf3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index a5604df..d21ac33 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -8132,11 +8132,13 @@
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
@@ -8172,11 +8174,13 @@
}
}
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
{