diff mbox

[committed] rs6000: Fix for PR63165

Message ID ae200957eb4abf15661ee1cee8eab3d12b7acf2c.1409856421.git.segher@kernel.crashing.org
State New
Headers show

Commit Message

Segher Boessenkool Sept. 4, 2014, 10:50 p.m. UTC
My extend* pattern patches exposed a problem elsewhere.  I don't build
java so I didn't see it.  This fixes it.  Also handles the zero-extend
case, that had the same problem.  Pre-approved by David, committed.


Segher


2014-09-04  Segher Boessenkool  <segher@kernel.crashing.org>

	PR target/63165
	* config/rs6000/rs6000.md (floatsi<mode>2_lfiwax_mem): Use
	indexed_or_indirect_operand instead of memory_operand.
	(floatsi<mode>2_lfiwzx_mem): Ditto.

---
 gcc/config/rs6000/rs6000.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff mbox

Patch

diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 9c0002d..0934467 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -5514,7 +5514,7 @@  (define_insn_and_split "floatsi<mode>2_lfiwax_mem"
   [(set (match_operand:SFDF 0 "gpc_reg_operand" "=d,<rreg2>")
 	(float:SFDF
 	 (sign_extend:DI
-	  (match_operand:SI 1 "memory_operand" "Z,Z"))))
+	  (match_operand:SI 1 "indexed_or_indirect_operand" "Z,Z"))))
    (clobber (match_scratch:DI 2 "=0,d"))]
   "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT && TARGET_LFIWAX
    && <SI_CONVERT_FP>"
@@ -5589,7 +5589,7 @@  (define_insn_and_split "floatunssi<mode>2_lfiwzx_mem"
   [(set (match_operand:SFDF 0 "gpc_reg_operand" "=d,<rreg2>")
 	(unsigned_float:SFDF
 	 (zero_extend:DI
-	  (match_operand:SI 1 "memory_operand" "Z,Z"))))
+	  (match_operand:SI 1 "indexed_or_indirect_operand" "Z,Z"))))
    (clobber (match_scratch:DI 2 "=0,d"))]
   "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT && TARGET_LFIWZX
    && <SI_CONVERT_FP>"