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