Mark the sse_load_f32 and sse_load_f64 load patterns as having memoperands so
authorBill Wendling <isanbard@gmail.com>
Fri, 10 Sep 2010 10:34:22 +0000 (10:34 +0000)
committerBill Wendling <isanbard@gmail.com>
Fri, 10 Sep 2010 10:34:22 +0000 (10:34 +0000)
that the memoperands are properly set after DAG building and general mucking
about.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113585 91177308-0d34-0410-b5e6-96231b3b80d8

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";