diff options
author | XinWang10 <108658776+XinWang10@users.noreply.github.com> | 2024-01-25 22:24:43 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-26 14:24:43 +0800 |
commit | 6d0080b5de26d8a8682ec6169851af3d04e30ccb (patch) | |
tree | 133ddb654ac15e138e215f4ac6ca1036b3006687 /llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp | |
parent | df5e431e8dcb555320be7f7ae4d499a11e0b17db (diff) | |
download | llvm-6d0080b5de26d8a8682ec6169851af3d04e30ccb.zip llvm-6d0080b5de26d8a8682ec6169851af3d04e30ccb.tar.gz llvm-6d0080b5de26d8a8682ec6169851af3d04e30ccb.tar.bz2 |
[X86] Support promoted ENQCMD, KEYLOCKER and USERMSR (#77293)
R16-R31 was added into GPRs in
https://github.com/llvm/llvm-project/pull/70958,
This patch supports the promoted ENQCMD, KEYLOCKER and USER-MSR
instructions in EVEX space.
RFC:
https://discourse.llvm.org/t/rfc-design-for-apx-feature-egpr-and-ndd-support/73031/4
Diffstat (limited to 'llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp')
-rw-r--r-- | llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp b/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp index ce7f707..5f85261 100644 --- a/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp +++ b/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp @@ -941,6 +941,9 @@ static bool readOpcode(struct InternalInstruction *insn) { case VEX_LOB_MAP6: insn->opcodeType = MAP6; return consume(insn, insn->opcode); + case VEX_LOB_MAP7: + insn->opcodeType = MAP7; + return consume(insn, insn->opcode); } } else if (insn->vectorExtensionType == TYPE_VEX_3B) { switch (mmmmmFromVEX2of3(insn->vectorExtensionPrefix[1])) { |