From 60dda3800861d31bf67130a16f1d62105254851a Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Sun, 3 Jun 2012 00:30:49 +0000 Subject: [PATCH] Add neverHasSideEffects and mayLoad to FMA3 instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157894 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/X86InstrFMA.td | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/Target/X86/X86InstrFMA.td b/lib/Target/X86/X86InstrFMA.td index 3dd642f2cff..0b57382d956 100644 --- a/lib/Target/X86/X86InstrFMA.td +++ b/lib/Target/X86/X86InstrFMA.td @@ -17,6 +17,7 @@ let Constraints = "$src1 = $dst" in { multiclass fma3p_rm opc, string OpcodeStr> { +let neverHasSideEffects = 1 in { def r : FMA3 opc, string OpcodeStr> { (ins VR256:$src1, VR256:$src2, f256mem:$src3), !strconcat(OpcodeStr, "\t{$src3, $src2, $dst|$dst, $src2, $src3}"), []>; +} // neverHasSideEffects = 1 } // Intrinsic for 132 pattern @@ -117,14 +119,17 @@ let ExeDomain = SSEPackedDouble in { let Constraints = "$src1 = $dst" in { multiclass fma3s_rm opc, string OpcodeStr, X86MemOperand x86memop, RegisterClass RC> { +let neverHasSideEffects = 1 in { def r : FMA3; + let mayLoad = 1 in def m : FMA3; +} // neverHasSideEffects = 1 } multiclass fma3s_rm_int opc, string OpcodeStr, X86MemOperand x86memop,