diff options
author | XinWang10 <108658776+XinWang10@users.noreply.github.com> | 2024-02-29 11:44:41 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-29 11:44:41 +0800 |
commit | ffa48f0c945be3c1680b0830d5c0cac146cb954c (patch) | |
tree | 93e274a51be44ca05f9b2ec8bdc17bce0fb152bb /llvm/utils/TableGen/X86DisassemblerTables.cpp | |
parent | f0484e08bdcf64106592808e3ca80404937b4657 (diff) | |
download | llvm-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.cpp | 2 |
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: |