[clang] [llvm] [RISCV] Assembler support for XRivosVizip (PR #127694)
Sam Elliott via llvm-commits
llvm-commits at lists.llvm.org
Tue Feb 18 14:58:59 PST 2025
================
@@ -721,6 +721,8 @@ DecodeStatus RISCVDisassembler::getInstruction32(MCInst &MI, uint64_t &Size,
"Qualcomm uC Conditional Move custom opcode table");
TRY_TO_DECODE_FEATURE(RISCV::FeatureVendorXqciint, DecoderTableXqciint32,
"Qualcomm uC Interrupts custom opcode table");
+ TRY_TO_DECODE_FEATURE(RISCV::FeatureVendorXRivosVizip, DecoderTableXRivos32,
----------------
lenary wrote:
I'm glad you've pointed this out, as it did seem like we are trying to side-step the encoding conflict checking that LLVM is capable of, as well as the fact that the decode tables will also check specific predicates for specific instructions.
I will look at merging all the Qualcomm decode tables, given that all the Xqci instructions are intended not to conflict with each other's encodings. I am less clear on which other vendor extensions should or should not conflict with each other.
I think the `TRY_TO_DECODE_FEATURE(...` encouraged one decode table per feature - it's relatively more difficult to write an equivalent for when you have any of a few different features - but we can solve this with yet more macros of course.
https://github.com/llvm/llvm-project/pull/127694
More information about the llvm-commits
mailing list