30 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TableGen
		
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TableGen
		
	
	
	
//===-- X86InstrSGX.td - SGX Instruction Set Extension -----*- tablegen -*-===//
 | 
						|
//
 | 
						|
// 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
 | 
						|
//
 | 
						|
//===----------------------------------------------------------------------===//
 | 
						|
//
 | 
						|
// This file describes the instructions that make up the Intel SGX instruction
 | 
						|
// set.
 | 
						|
//
 | 
						|
//===----------------------------------------------------------------------===//
 | 
						|
 | 
						|
//===----------------------------------------------------------------------===//
 | 
						|
// SGX instructions
 | 
						|
 | 
						|
let SchedRW = [WriteSystem], Predicates = [HasSGX] in {
 | 
						|
// ENCLS - Execute an Enclave System Function of Specified Leaf Number
 | 
						|
def ENCLS : I<0x01, MRM_CF, (outs), (ins),
 | 
						|
             "encls", []>, PS;
 | 
						|
 | 
						|
// ENCLU - Execute an Enclave User Function of Specified Leaf Number
 | 
						|
def ENCLU : I<0x01, MRM_D7, (outs), (ins),
 | 
						|
             "enclu", []>, PS;
 | 
						|
 | 
						|
// ENCLV - Execute an Enclave VMM Function of Specified Leaf Number
 | 
						|
def ENCLV : I<0x01, MRM_C0, (outs), (ins),
 | 
						|
             "enclv", []>, PS;
 | 
						|
} // SchedRW
 |