From: David Edelsohn Date: Fri, 2 Jul 1999 00:36:48 +0000 (-0600) Subject: rs6000.md (movdf_hardfloat32): Handle PRE_INC and PRE_DEC the same as offsettable... X-Git-Tag: prereleases/gcc-2.95-test~87 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5e18fdc8d8af96b343b2f38bd5ab59ff2a968a45;p=thirdparty%2Fgcc.git rs6000.md (movdf_hardfloat32): Handle PRE_INC and PRE_DEC the same as offsettable in cases 1 and 2. ` * rs6000.md (movdf_hardfloat32): Handle PRE_INC and PRE_DEC the same as offsettable in cases 1 and 2. From-SVN: r27913 --- diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index c2749f8222fa..10f2c0847911 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -6329,7 +6329,9 @@ case 1: if (offsettable_memref_p (operands[1]) || (GET_CODE (operands[1]) == MEM - && GET_CODE (XEXP (operands[1], 0)) == LO_SUM)) + && (GET_CODE (XEXP (operands[1], 0)) == LO_SUM + || GET_CODE (XEXP (operands[1], 0)) == PRE_INC + || 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 @@ -6345,10 +6347,6 @@ { rtx addreg; - if (GET_CODE (XEXP (operands[1], 0)) == PRE_INC - || GET_CODE (XEXP (operands[1], 0)) == PRE_DEC) - abort (); - addreg = find_addr_reg (XEXP (operands[1], 0)); if (refers_to_regno_p (REGNO (operands[0]), REGNO (operands[0]) + 1, @@ -6371,16 +6369,14 @@ case 2: if (offsettable_memref_p (operands[0]) || (GET_CODE (operands[0]) == MEM - && GET_CODE (XEXP (operands[0], 0)) == LO_SUM)) + && (GET_CODE (XEXP (operands[0], 0)) == LO_SUM + || GET_CODE (XEXP (operands[0], 0)) == PRE_INC + || GET_CODE (XEXP (operands[0], 0)) == PRE_DEC))) return \"{st%U0|stw%U0} %1,%0\;{st|stw} %L1,%L0\"; else { rtx addreg; - if (GET_CODE (XEXP (operands[0], 0)) == PRE_INC - || GET_CODE (XEXP (operands[0], 0)) == PRE_DEC) - abort (); - addreg = find_addr_reg (XEXP (operands[0], 0)); output_asm_insn (\"{stx|stwx} %1,%0\", operands); output_asm_insn (\"{cal|la} %0,4(%0)\", &addreg);