summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2017-10-23 15:53:16 +0000
committerCraig Topper <craig.topper@intel.com>2017-10-23 15:53:16 +0000
commit5f0339d2f3c236c9245ed6683600409d9d8bb8cd (patch)
tree371ea216b8922771176340ef816e3c1c2c7d5d81 /llvm/lib
parent32da2f9245f259fc437129ec9894e664b64ad0d4 (diff)
downloadbcm5719-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.td6
-rw-r--r--llvm/lib/Target/X86/X86InstrSystem.td9
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]>;
OpenPOWER on IntegriCloud