aboutsummaryrefslogtreecommitdiff
path: root/llvm/utils/TableGen/X86DisassemblerTables.cpp
diff options
context:
space:
mode:
authorXinWang10 <108658776+XinWang10@users.noreply.github.com>2024-02-29 11:44:41 +0800
committerGitHub <noreply@github.com>2024-02-29 11:44:41 +0800
commitffa48f0c945be3c1680b0830d5c0cac146cb954c (patch)
tree93e274a51be44ca05f9b2ec8bdc17bce0fb152bb /llvm/utils/TableGen/X86DisassemblerTables.cpp
parentf0484e08bdcf64106592808e3ca80404937b4657 (diff)
downloadllvm-ffa48f0c945be3c1680b0830d5c0cac146cb954c.zip
llvm-ffa48f0c945be3c1680b0830d5c0cac146cb954c.tar.gz
llvm-ffa48f0c945be3c1680b0830d5c0cac146cb954c.tar.bz2
[X86][MC] Teach disassembler to recognize apx instructions which ignores W bit (#82747)
Extended VMX instructions and 8 bit apx extended instructions don't need W bit, they are marked as W ignored in spec. RFC: https://discourse.llvm.org/t/rfc-design-for-apx-feature-egpr-and-ndd-support/73031/4
Diffstat (limited to 'llvm/utils/TableGen/X86DisassemblerTables.cpp')
-rw-r--r--llvm/utils/TableGen/X86DisassemblerTables.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/utils/TableGen/X86DisassemblerTables.cpp b/llvm/utils/TableGen/X86DisassemblerTables.cpp
index a48b9cf..f4d282f 100644
--- a/llvm/utils/TableGen/X86DisassemblerTables.cpp
+++ b/llvm/utils/TableGen/X86DisassemblerTables.cpp
@@ -567,7 +567,9 @@ static inline bool inheritsFrom(InstructionContext child,
case IC_EVEX_L2_W_OPSIZE_KZ_B:
return false;
case IC_EVEX_NF:
+ return WIG && inheritsFrom(child, IC_EVEX_W_NF);
case IC_EVEX_B_NF:
+ return WIG && inheritsFrom(child, IC_EVEX_W_B_NF);
case IC_EVEX_OPSIZE_NF:
case IC_EVEX_OPSIZE_B_NF:
case IC_EVEX_W_NF: