2014-08-01 07:57:38 +08:00
|
|
|
//===-- X86InstrSGX.td - SGX Instruction Set Extension -----*- tablegen -*-===//
|
|
|
|
//
|
2019-01-19 16:50:56 +08:00
|
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
2014-08-01 07:57:38 +08:00
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
//
|
|
|
|
// 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
|