summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86InstrSystem.td
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2011-10-16 07:05:40 +0000
committerCraig Topper <craig.topper@gmail.com>2011-10-16 07:05:40 +0000
commit0ae8d4d73881b882676a680ba2857a271c5cc00a (patch)
tree3429f94126be1af990b15dfdd2749c9ff3f186a7 /llvm/lib/Target/X86/X86InstrSystem.td
parent322db385ac2d87583b3d04b74bf12b66b3a0cc9b (diff)
downloadbcm5719-llvm-0ae8d4d73881b882676a680ba2857a271c5cc00a.tar.gz
bcm5719-llvm-0ae8d4d73881b882676a680ba2857a271c5cc00a.zip
Add X86 INVPCID instruction. Add 32/64-bit predicates to INVEPT, INVVPID, VMREAD, and VMWRITE to remove hack from X86RecognizableInstr.
llvm-svn: 142117
Diffstat (limited to 'llvm/lib/Target/X86/X86InstrSystem.td')
-rw-r--r--llvm/lib/Target/X86/X86InstrSystem.td9
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86InstrSystem.td b/llvm/lib/Target/X86/X86InstrSystem.td
index 05a5b36b95e..b5651f314c3 100644
--- a/llvm/lib/Target/X86/X86InstrSystem.td
+++ b/llvm/lib/Target/X86/X86InstrSystem.td
@@ -465,3 +465,12 @@ let Predicates = [In64BitMode] in {
def WRGSBASE64 : RI<0xAE, MRM3r, (outs), (ins GR64:$dst),
"wrgsbase{q}\t$dst", []>, TB, XS;
}
+
+//===----------------------------------------------------------------------===//
+// INVPCID Instruction
+def INVPCID32 : I<0x82, MRMSrcMem, (outs), (ins GR32:$src1, i128mem:$src2),
+ "invpcid {$src2, $src1|$src1, $src2}", []>, OpSize, T8,
+ Requires<[In32BitMode]>;
+def INVPCID64 : I<0x82, MRMSrcMem, (outs), (ins GR64:$src1, i128mem:$src2),
+ "invpcid {$src2, $src1|$src1, $src2}", []>, OpSize, T8,
+ Requires<[In64BitMode]>;
OpenPOWER on IntegriCloud