[ORC] Add std::tuple support to SimplePackedSerialization.
[llvm-project.git] / llvm / lib / Target / X86 / X86InstrTDX.td
blob8d7cd60820953d11f382041fd00ad76af35f9284
1 //===- X86InstrTDX.td - TDX Instruction Set Extension -*- tablegen -*===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 //
9 // This file describes the instructions that make up the Intel TDX instruction
10 // set.
12 //===----------------------------------------------------------------------===//
14 //===----------------------------------------------------------------------===//
15 // TDX instructions
17 // 64-bit only instructions
18 let SchedRW = [WriteSystem], Predicates = [In64BitMode] in {
19 // SEAMCALL - Call to SEAM VMX-root Operation Module
20 def SEAMCALL : I<0x01, MRM_CF, (outs), (ins),
21              "seamcall", []>, PD;
23 // SEAMRET - Return to Legacy VMX-root Operation
24 def SEAMRET : I<0x01, MRM_CD, (outs), (ins),
25              "seamret", []>, PD;
27 // SEAMOPS - SEAM Operations
28 def SEAMOPS : I<0x01, MRM_CE, (outs), (ins),
29              "seamops", []>, PD;
31 } // SchedRW
33 // common instructions
34 let SchedRW = [WriteSystem] in {
35 // TDCALL - Call SEAM Module Functions
36 def TDCALL : I<0x01, MRM_CC, (outs), (ins),
37              "tdcall", []>, PD;
39 } // SchedRW