[PATCH] For the 16-bit unallocated NOP hints, make disassembly representation consistent with their 32-bit counterparts

Artyom Skrobov Artyom.Skrobov at arm.com
Thu Oct 17 06:16:12 PDT 2013


Hello,

Recently the ARM and Thumb2 backends have been changed to give unallocated
memory hints a disassembly form "hint #<immediate>", but the 16-bit
unallocated hints have not been similarly changed.

The 32-bit hints with defined disassembly (NOP through to SEVL) are
implemented as InstAliases to a top level MCInst called HINT (for ARM) or
t2HINT (for Thumb2) that holds the "hint" disassembly notation. Thus for ARM
and Thumb2 "hint #4" can be used to mean "SEV", for example. However, the
16-bit Thumb hints are implemented as their own MCInsts, and the top level
MCInst called T1SystemEncoding does not have a generic hint definition.

We've implemented a fairly simple change to bring Thumb1 in-line with Thumb2
and ARM support for hints. This also adds support for wide vs. narrow hint
notation: assembling "hint #7" gives the 16-bit encoding, with "hint.w #7"
required to get the 32-bit encoding. Although there's no pressing need for
this, as the UAL and ARMARM don't cover disassembly for these instructions,
but it makes the hints consistent with the rest of the instruction set.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: nophints16.patch
Type: application/octet-stream
Size: 13682 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131017/9276cb42/attachment.obj>


More information about the llvm-commits mailing list