[llvm-dev] Decoding Conflict - Decoding a register value

Sky Flyer via llvm-dev llvm-dev at lists.llvm.org
Thu Jan 28 01:31:59 PST 2016


Hello all,

I am having a decoding conflict which practically is not a conflict but I
don't know how to resolve it.

Here is the conflict:
        TST8a 0011000000000_
        TST8d 0011000000___0

The conflict is in the register values. it is actually like this:

        TST8a 0011000000000*a*
        TST8d 0011000000*ddd*0

*a* can be both 0 and 1. but the value for the register *d* as defined in
RegisterInfo.td starts from one (def D0 : TestReg<0x01,  "d0">,).
I mean *ddd* is greater equal than one. How can I tell the
Tabelgen/disassembler that *ddd > 0 *so that I don't get any conflict?
(There is no such a case that ddd is 0b000 so that the TST8a and TST8d
cannot be distinguishable!)

I don't know how clear I described, let me know if I have to explain it
better.


Cheers,
ES
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160128/79324217/attachment.html>


More information about the llvm-dev mailing list