1 //===- X86InstrTDX.td - TDX Instruction Set Extension -*- tablegen -*===//
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
7 //===----------------------------------------------------------------------===//
9 // This file describes the instructions that make up the Intel TDX instruction
12 //===----------------------------------------------------------------------===//
14 //===----------------------------------------------------------------------===//
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), "seamcall", []>, TB, PD;
22 // SEAMRET - Return to Legacy VMX-root Operation
23 def SEAMRET : I<0x01, MRM_CD, (outs), (ins), "seamret", []>, TB, PD;
25 // SEAMOPS - SEAM Operations
26 def SEAMOPS : I<0x01, MRM_CE, (outs), (ins), "seamops", []>, TB, PD;
29 // common instructions
30 let SchedRW = [WriteSystem] in {
31 // TDCALL - Call SEAM Module Functions
32 def TDCALL : I<0x01, MRM_CC, (outs), (ins), "tdcall", []>, TB, PD;