Question about Decoding Conflict of DisassemblerTables from TableGen

Hi All,

I have faced decoding conflict of DisassemblerTables from TableGen. I
have instructions with same encoding and different mnemonic among
different architecture versions. I have used Predicates and
AssemblerPredicates to distinguish them on Codegen and Assembler but
it does not work on Disassembler. When I look at
TableGen/FixedLenDecoderEmitter.cpp, once there is decoding conflict,
tablegen does not generate table entry. I think it means even though
there are predicates, it does not affect to the table entry. Could
someone let me know how to avoid decoding conflict in this situation?
If I missed something, please let me know.

JinGu Kang

Hi JinGu,

You can use different DecoderNamespace values in order to separate out different conflict-free groups. For a simple example, look at how QPX disassembly is handled in the PowerPC backend.


Great!!! It is working. Thank you very much Hal!

JinGu Kang