From: Craig Topper Date: Sun, 23 Jul 2017 03:59:39 +0000 (+0000) Subject: [X86] Add some hasSideEffects=0 flags. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4393153dac4fc6d55c67fb6dd93f2173c35147d8;p=llvm [X86] Add some hasSideEffects=0 flags. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@308835 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/X86InstrAVX512.td b/lib/Target/X86/X86InstrAVX512.td index ccfe7ce615d..7ed7545e8ec 100644 --- a/lib/Target/X86/X86InstrAVX512.td +++ b/lib/Target/X86/X86InstrAVX512.td @@ -7581,6 +7581,7 @@ let Predicates = [HasAVX512, NoVLX, NoF16C] in { // Unordered/Ordered scalar fp compare with Sea and set EFLAGS multiclass avx512_ord_cmp_sae opc, X86VectorVTInfo _, string OpcodeStr> { + let hasSideEffects = 0 in def rb: AVX512, EVEX, EVEX_B, VEX_LIG, EVEX_V128, diff --git a/lib/Target/X86/X86InstrSSE.td b/lib/Target/X86/X86InstrSSE.td index fe87bbd9947..a50d1585e6e 100644 --- a/lib/Target/X86/X86InstrSSE.td +++ b/lib/Target/X86/X86InstrSSE.td @@ -2396,6 +2396,7 @@ let isCodeGenOnly = 1 in { multiclass sse12_ord_cmp opc, RegisterClass RC, SDNode OpNode, ValueType vt, X86MemOperand x86memop, PatFrag ld_frag, string OpcodeStr> { +let hasSideEffects = 0 in { def rr: SI, Sched<[WriteFAddLd, ReadAfterLd]>; } +} // sse12_ord_cmp_int - Intrinsic version of sse12_ord_cmp multiclass sse12_ord_cmp_int opc, RegisterClass RC, SDNode OpNode, @@ -7651,7 +7653,7 @@ def INSERTQ : I<0x79, MRMSrcReg, (outs VR128:$dst), // Non-temporal (unaligned) scalar stores. let AddedComplexity = 400 in { // Prefer non-temporal versions -let mayStore = 1, SchedRW = [WriteStore] in { +let hasSideEffects = 0, mayStore = 1, SchedRW = [WriteStore] in { def MOVNTSS : I<0x2B, MRMDestMem, (outs), (ins f32mem:$dst, VR128:$src), "movntss\t{$src, $dst|$dst, $src}", [], IIC_SSE_MOVNT>, XS;