diff options
author | XinWang10 <108658776+XinWang10@users.noreply.github.com> | 2023-12-15 16:03:17 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-15 16:03:17 +0800 |
commit | 295415e720209a368b74390fa933c83290e002d3 (patch) | |
tree | 7e08f7862a22ebc453e244b7b63927399535c17d /llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp | |
parent | c1a6974d6b3dc7be2178d8db9f8fc6c2cc9230f2 (diff) | |
download | llvm-295415e720209a368b74390fa933c83290e002d3.zip llvm-295415e720209a368b74390fa933c83290e002d3.tar.gz llvm-295415e720209a368b74390fa933c83290e002d3.tar.bz2 |
[X86][MC] Support Enc/Dec for EGPR for promoted MOVDIR instruction (#74713)
R16-R31 was added into GPRs in
https://github.com/llvm/llvm-project/pull/70958,
This patch supports the encoding/decoding for promoted MOVDIR
instruction 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, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp b/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp index d50e651..59e2008 100644 --- a/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp +++ b/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp @@ -1330,7 +1330,8 @@ static int getInstructionID(struct InternalInstruction *insn, // any position. if ((insn->opcodeType == ONEBYTE && ((insn->opcode & 0xFC) == 0xA0)) || (insn->opcodeType == TWOBYTE && (insn->opcode == 0xAE)) || - (insn->opcodeType == THREEBYTE_38 && insn->opcode == 0xF8)) { + (insn->opcodeType == THREEBYTE_38 && insn->opcode == 0xF8) || + (insn->opcodeType == MAP4 && insn->opcode == 0xF8)) { // Make sure we observed the prefixes in any position. if (insn->hasAdSize) attrMask |= ATTR_ADSIZE; |