1//===-- X86InstrSGX.td - SGX Instruction Set Extension -----*- tablegen -*-===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// This file describes the instructions that make up the Intel SGX instruction
11// set.
12//
13//===----------------------------------------------------------------------===//
14
15//===----------------------------------------------------------------------===//
16// SGX instructions
17
18let SchedRW = [WriteSystem], Predicates = [HasSGX] in {
19// ENCLS - Execute an Enclave System Function of Specified Leaf Number
20def ENCLS : I<0x01, MRM_CF, (outs), (ins),
21             "encls", []>, TB;
22
23// ENCLU - Execute an Enclave User Function of Specified Leaf Number
24def ENCLU : I<0x01, MRM_D7, (outs), (ins),
25             "enclu", []>, TB;
26
27// ENCLV - Execute an Enclave VMM Function of Specified Leaf Number
28def ENCLV : I<0x01, MRM_C0, (outs), (ins),
29             "enclv", []>, TB;
30} // SchedRW
31