[PATH] Correct treatment for ARM-Thumb2 hint encodings

Mihail Popa mihail.popa at arm.com
Thu Apr 25 07:21:24 PDT 2013


Hi.

This is the long delayed follow up patch to the similar issue 
encountered with ARM encodings. The issue is slightly more complex 
because the nop-compatible hint space for Thumb actually overlaps the 
encoding space of the CPS instruction. In actuality, hints can be 
defined as CPS instructions where imod and M bits are all nil.

Because tablegen does not support != operator in let expressions, the 
only tablegen-only solution would be to define multiple instructions, 
one for each imod setting. This would pollute the td file and bring no 
real value. Instead I propose that we should handle decoding of 
permitted nop-compatible hints (i.e. nop, yield, wfi, wfe, sev) in 
DecodeT2CPSInstruction.

The patch also adds a proper diagnostic message for Imm0_4 and updates 
all tests. Please note that this patch contains new files! The person 
who will commit must to a svn add for these first!.

Thanks,
Mihai
-------------- next part --------------
A non-text attachment was scrubbed...
Name: LLVM-722.thumb_hints.patch
Type: text/x-patch
Size: 8031 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130425/d8155634/attachment.bin>


More information about the llvm-commits mailing list