Mark the sse_load_f32 and sse_load_f64 load patterns as having memoperands so
[oota-llvm.git] / lib / Target / X86 / X86InstrFragmentsSIMD.td
index 5651ed83035a438ca8f98f190b0c42f680eb0e8d..d6fb292cdb31a30c6375a6a90cffa1a9298d903c 100644 (file)
@@ -181,9 +181,9 @@ def X86Punpckhqdq : SDNode<"X86ISD::PUNPCKHQDQ", SDTShuff2Op>;
 // the top elements.  These are used for the SSE 'ss' and 'sd' instruction
 // forms.
 def sse_load_f32 : ComplexPattern<v4f32, 5, "SelectScalarSSELoad", [],
-                                  [SDNPHasChain, SDNPMayLoad]>;
+                                  [SDNPHasChain, SDNPMayLoad, SDNPMemOperand]>;
 def sse_load_f64 : ComplexPattern<v2f64, 5, "SelectScalarSSELoad", [],
-                                  [SDNPHasChain, SDNPMayLoad]>;
+                                  [SDNPHasChain, SDNPMayLoad, SDNPMemOperand]>;
 
 def ssmem : Operand<v4f32> {
   let PrintMethod = "printf32mem";