On 27 February 2012 16:27, Ian Campbell Ian.Campbell@citrix.com wrote:
R12 is not accessible from the 16 bit "T1" Thumb encoding of mov immediate (which can only target r0..r7).
Since we support only ARMv7+ there are "T2" and "T3" encodings available which do allow direct mov of an immediate into R12, but are 32 bit Thumb instructions.
Should we use r7 instead to maximise instruction density for Thumb code?
r7 is (used by gcc as) the Thumb frame pointer; I don't know if this makes it worth avoiding in this context.
-- PMM