From 701aa053b9baff8ede45b1eb249657e8f7a875c8 Mon Sep 17 00:00:00 2001 From: Bill Wendling Date: Sun, 4 Jul 2010 08:59:55 +0000 Subject: [PATCH] Mark sse_load_f32 and sse_load_f64 as having memory operands (SDNPMemOperand). This way when they're morphed the memory operands will be copied as well. llvm-svn: 107583 --- llvm/lib/Target/X86/X86InstrSSE.td | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/llvm/lib/Target/X86/X86InstrSSE.td b/llvm/lib/Target/X86/X86InstrSSE.td index fae2246a39a4..992ad3446ec3 100644 --- a/llvm/lib/Target/X86/X86InstrSSE.td +++ b/llvm/lib/Target/X86/X86InstrSSE.td @@ -82,9 +82,9 @@ def X86ptest : SDNode<"X86ISD::PTEST", SDTX86CmpPTest>; // the top elements. These are used for the SSE 'ss' and 'sd' instruction // forms. def sse_load_f32 : ComplexPattern; + [SDNPHasChain, SDNPMayLoad, SDNPMemOperand]>; def sse_load_f64 : ComplexPattern; + [SDNPHasChain, SDNPMayLoad, SDNPMemOperand]>; def ssmem : Operand { let PrintMethod = "printf32mem";