X86InstrSGX.td 1.1 KB

1234567891011121314151617181920212223242526272829
  1. //===-- X86InstrSGX.td - SGX Instruction Set Extension -----*- tablegen -*-===//
  2. //
  3. // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  4. // See https://llvm.org/LICENSE.txt for license information.
  5. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  6. //
  7. //===----------------------------------------------------------------------===//
  8. //
  9. // This file describes the instructions that make up the Intel SGX instruction
  10. // set.
  11. //
  12. //===----------------------------------------------------------------------===//
  13. //===----------------------------------------------------------------------===//
  14. // SGX instructions
  15. let SchedRW = [WriteSystem], Predicates = [HasSGX] in {
  16. // ENCLS - Execute an Enclave System Function of Specified Leaf Number
  17. def ENCLS : I<0x01, MRM_CF, (outs), (ins),
  18. "encls", []>, PS;
  19. // ENCLU - Execute an Enclave User Function of Specified Leaf Number
  20. def ENCLU : I<0x01, MRM_D7, (outs), (ins),
  21. "enclu", []>, PS;
  22. // ENCLV - Execute an Enclave VMM Function of Specified Leaf Number
  23. def ENCLV : I<0x01, MRM_C0, (outs), (ins),
  24. "enclv", []>, PS;
  25. } // SchedRW