Commit ffa16d60 authored by Craig Topper's avatar Craig Topper
Browse files

[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.

llvm-svn: 332943
parent 8d367ae1
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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
}