diff options
| author | Craig Topper <craig.topper@gmail.com> | 2011-10-16 07:05:40 +0000 |
|---|---|---|
| committer | Craig Topper <craig.topper@gmail.com> | 2011-10-16 07:05:40 +0000 |
| commit | 0ae8d4d73881b882676a680ba2857a271c5cc00a (patch) | |
| tree | 3429f94126be1af990b15dfdd2749c9ff3f186a7 /llvm/lib/Target/X86/X86InstrSystem.td | |
| parent | 322db385ac2d87583b3d04b74bf12b66b3a0cc9b (diff) | |
| download | bcm5719-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.td | 9 |
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]>; |

