From 819e019c9d5aa88675f8714028a6a0952c63282a Mon Sep 17 00:00:00 2001 From: Eric Christopher Date: Fri, 25 Jun 2004 00:59:35 +0000 Subject: [PATCH] rs6000.md: Apply change mistakenly deleted with 2004-06-22 patch. 2004-06-24 Eric Christopher * config/rs6000/rs6000.md: Apply change mistakenly deleted with 2004-06-22 patch. From-SVN: r83625 --- gcc/ChangeLog | 5 +++++ gcc/config/rs6000/rs6000.md | 20 ++++++++++++-------- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 16ad75d409a..6c6bcf369f8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-06-24 Eric Christopher + + * config/rs6000/rs6000.md: Apply change mistakenly + deleted with 2004-06-22 patch. + 2004-06-24 Richard Henderson * 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 a5604dfdc50..d21ac332099 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 {