One for fellow #ARM #Thumb and #gnu #binutils users...
Say I want to load the value "0x22000000" into R3.
Using "LDR R3, =0x22000000" drops the 32bit value in the literal pool, which encodes to 6 bytes.
A better encoding is: "MOVS R3, #0x88, LSLS R3, R3, #22" which saves 2 bytes.
Is there a pseudo-op or macro to generate the best possible encoding with GNU AS?
(I've been spoiled by RISC OS assemblers which kinda can, but now I'm writing code which others need to be able to assemble...)