================
@@ -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
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits