aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
diff options
context:
space:
mode:
authorXinWang10 <108658776+XinWang10@users.noreply.github.com>2024-01-25 22:24:43 -0800
committerGitHub <noreply@github.com>2024-01-26 14:24:43 +0800
commit6d0080b5de26d8a8682ec6169851af3d04e30ccb (patch)
tree133ddb654ac15e138e215f4ac6ca1036b3006687 /llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
parentdf5e431e8dcb555320be7f7ae4d499a11e0b17db (diff)
downloadllvm-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.cpp3
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])) {