2014-08-01 07:57:38 +08:00
|
|
|
//===-- X86InstrSGX.td - SGX Instruction Set Extension -----*- tablegen -*-===//
|
|
|
|
//
|
|
|
|
// The LLVM Compiler Infrastructure
|
|
|
|
//
|
|
|
|
// This file is distributed under the University of Illinois Open Source
|
|
|
|
// License. See LICENSE.TXT for details.
|
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
//
|
|
|
|
// This file describes the instructions that make up the Intel SGX instruction
|
|
|
|
// set.
|
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
// SGX instructions
|
|
|
|
|
2018-05-08 15:11:05 +08:00
|
|
|
let SchedRW = [WriteSystem], Predicates = [HasSGX] in {
|
2014-08-01 07:57:38 +08:00
|
|
|
// ENCLS - Execute an Enclave System Function of Specified Leaf Number
|
|
|
|
def ENCLS : I<0x01, MRM_CF, (outs), (ins),
|
2015-02-05 16:51:02 +08:00
|
|
|
"encls", []>, TB;
|
2014-08-01 07:57:38 +08:00
|
|
|
|
|
|
|
// ENCLU - Execute an Enclave User Function of Specified Leaf Number
|
|
|
|
def ENCLU : I<0x01, MRM_D7, (outs), (ins),
|
2015-02-05 16:51:02 +08:00
|
|
|
"enclu", []>, TB;
|
2018-05-08 15:11:05 +08:00
|
|
|
|
|
|
|
// ENCLV - Execute an Enclave VMM Function of Specified Leaf Number
|
|
|
|
def ENCLV : I<0x01, MRM_C0, (outs), (ins),
|
|
|
|
"enclv", []>, TB;
|
2017-12-09 03:26:22 +08:00
|
|
|
} // SchedRW
|