diff options
| author | Craig Topper <craig.topper@intel.com> | 2017-10-23 15:53:16 +0000 |
|---|---|---|
| committer | Craig Topper <craig.topper@intel.com> | 2017-10-23 15:53:16 +0000 |
| commit | 5f0339d2f3c236c9245ed6683600409d9d8bb8cd (patch) | |
| tree | 371ea216b8922771176340ef816e3c1c2c7d5d81 /llvm/lib | |
| parent | 32da2f9245f259fc437129ec9894e664b64ad0d4 (diff) | |
| download | bcm5719-llvm-5f0339d2f3c236c9245ed6683600409d9d8bb8cd.tar.gz bcm5719-llvm-5f0339d2f3c236c9245ed6683600409d9d8bb8cd.zip | |
[X86] Add RDPID instruction for assembler and disassembler.
llvm-svn: 316332
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/X86/X86InstrInfo.td | 6 | ||||
| -rw-r--r-- | llvm/lib/Target/X86/X86InstrSystem.td | 9 |
2 files changed, 12 insertions, 3 deletions
diff --git a/llvm/lib/Target/X86/X86InstrInfo.td b/llvm/lib/Target/X86/X86InstrInfo.td index 2cde6c02e95..05e47163c68 100644 --- a/llvm/lib/Target/X86/X86InstrInfo.td +++ b/llvm/lib/Target/X86/X86InstrInfo.td @@ -2195,13 +2195,13 @@ let Predicates = [HasRDRAND], Defs = [EFLAGS] in { let Predicates = [HasRDSEED], Defs = [EFLAGS] in { def RDSEED16r : I<0xC7, MRM7r, (outs GR16:$dst), (ins), "rdseed{w}\t$dst", - [(set GR16:$dst, EFLAGS, (X86rdseed))]>, OpSize16, TB; + [(set GR16:$dst, EFLAGS, (X86rdseed))]>, OpSize16, PS; def RDSEED32r : I<0xC7, MRM7r, (outs GR32:$dst), (ins), "rdseed{l}\t$dst", - [(set GR32:$dst, EFLAGS, (X86rdseed))]>, OpSize32, TB; + [(set GR32:$dst, EFLAGS, (X86rdseed))]>, OpSize32, PS; def RDSEED64r : RI<0xC7, MRM7r, (outs GR64:$dst), (ins), "rdseed{q}\t$dst", - [(set GR64:$dst, EFLAGS, (X86rdseed))]>, TB; + [(set GR64:$dst, EFLAGS, (X86rdseed))]>, PS; } //===----------------------------------------------------------------------===// diff --git a/llvm/lib/Target/X86/X86InstrSystem.td b/llvm/lib/Target/X86/X86InstrSystem.td index e9b6c6785bc..c95aa286152 100644 --- a/llvm/lib/Target/X86/X86InstrSystem.td +++ b/llvm/lib/Target/X86/X86InstrSystem.td @@ -635,3 +635,12 @@ let Defs = [EFLAGS] in { let Uses = [RAX, RBX, RCX, RDX], Defs = [RAX, RBX, RCX] in { def GETSEC : I<0x37, RawFrm, (outs), (ins), "getsec", []>, TB; } + +//===----------------------------------------------------------------------===// +// RDPID Instruction +def RDPID32 : I<0xC7, MRM7r, (outs GR32:$src), (ins), + "rdpid\t$src", []>, XS, + Requires<[Not64BitMode]>; +def RDPID64 : I<0xC7, MRM7r, (outs GR64:$src), (ins), + "rdpid\t$src", []>, XS, + Requires<[In64BitMode]>; |

