From 9b6cedd7a59b28d05bd45dfca0232f39f0bb23d5 Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Tue, 22 May 2018 04:22:44 +0000 Subject: [PATCH] [X86] Add hasSideEffects=0 back to ADOX instructions. Partial cherrypick from r328952. This flag was present before the cherrypick of 328945. This matches what happened on trunk. I've left out the scheduling changes from r328952 to minimize changes from 6.0.1. git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_60@332943 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/X86InstrArithmetic.td | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/Target/X86/X86InstrArithmetic.td b/lib/Target/X86/X86InstrArithmetic.td index 0ae857c0bcc..98cc8fb7439 100644 --- a/lib/Target/X86/X86InstrArithmetic.td +++ b/lib/Target/X86/X86InstrArithmetic.td @@ -1351,11 +1351,13 @@ let Predicates = [HasADX], Defs = [EFLAGS], Uses = [EFLAGS], IIC_BIN_CARRY_NONMEM>, T8PD; // We don't have patterns for ADOX yet. + let hasSideEffects = 0 in { def ADOX32rr : I<0xF6, MRMSrcReg, (outs GR32:$dst), (ins GR32:$src0, GR32:$src), "adox{l}\t{$src, $dst|$dst, $src}", [], IIC_BIN_NONMEM>, T8XS; def ADOX64rr : RI<0xF6, MRMSrcReg, (outs GR64:$dst), (ins GR64:$src0, GR64:$src), "adox{q}\t{$src, $dst|$dst, $src}", [], IIC_BIN_NONMEM>, T8XS; + } // hasSideEffects = 0 } // SchedRW let mayLoad = 1, SchedRW = [WriteALULd] in { @@ -1372,10 +1374,12 @@ let Predicates = [HasADX], Defs = [EFLAGS], Uses = [EFLAGS], IIC_BIN_CARRY_MEM>, T8PD; // We don't have patterns for ADOX yet. + let hasSideEffects = 0 in { def ADOX32rm : I<0xF6, MRMSrcMem, (outs GR32:$dst), (ins GR32:$src0, i32mem:$src), "adox{l}\t{$src, $dst|$dst, $src}", [], IIC_BIN_MEM>, T8XS; def ADOX64rm : RI<0xF6, MRMSrcMem, (outs GR64:$dst), (ins GR64:$src0, i64mem:$src), "adox{q}\t{$src, $dst|$dst, $src}", [], IIC_BIN_MEM>, T8XS; } + } // hasSideEffects = 0 } -- 2.50.0