From 4a991a6fa697d309796f21ade78dafd354eca928 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107583 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/X86InstrSSE.td | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/Target/X86/X86InstrSSE.td b/lib/Target/X86/X86InstrSSE.td index fae2246a39a..992ad3446ec 100644 --- a/lib/Target/X86/X86InstrSSE.td +++ b/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";