[X86] Tag segment prefixes as NOP instruction scheduling classes

llvm-svn: 320257
This commit is contained in:
Simon Pilgrim 2017-12-09 16:58:34 +00:00
parent d26b52fd34
commit df702104d3
1 changed files with 8 additions and 7 deletions

View File

@ -154,13 +154,14 @@ def MOV64cr : I<0x22, MRMSrcReg, (outs CONTROL_REG:$dst), (ins GR64:$src),
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
// Segment override instruction prefixes // Segment override instruction prefixes
def CS_PREFIX : I<0x2E, RawFrm, (outs), (ins), "cs", []>; let SchedRW = [WriteNop] in {
def SS_PREFIX : I<0x36, RawFrm, (outs), (ins), "ss", []>; def CS_PREFIX : I<0x2E, RawFrm, (outs), (ins), "cs", [], IIC_NOP>;
def DS_PREFIX : I<0x3E, RawFrm, (outs), (ins), "ds", []>; def SS_PREFIX : I<0x36, RawFrm, (outs), (ins), "ss", [], IIC_NOP>;
def ES_PREFIX : I<0x26, RawFrm, (outs), (ins), "es", []>; def DS_PREFIX : I<0x3E, RawFrm, (outs), (ins), "ds", [], IIC_NOP>;
def FS_PREFIX : I<0x64, RawFrm, (outs), (ins), "fs", []>; def ES_PREFIX : I<0x26, RawFrm, (outs), (ins), "es", [], IIC_NOP>;
def GS_PREFIX : I<0x65, RawFrm, (outs), (ins), "gs", []>; def FS_PREFIX : I<0x64, RawFrm, (outs), (ins), "fs", [], IIC_NOP>;
def GS_PREFIX : I<0x65, RawFrm, (outs), (ins), "gs", [], IIC_NOP>;
} // SchedRW
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
// Moves to and from segment registers. // Moves to and from segment registers.