================
@@ -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
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to