[ARM] Allow MOV/MOV.W to accept all possible immediates

Jiong Wang jiong.wang@foss.arm.com
Tue Nov 1 12:21:00 GMT 2016


Hi,

   AArch32 MOV Rd, #imm should accept all immediates which can be encoded into
available encoding, A1/A2 for ARM, T1/T2/T3 for Thumb/Thumb2, and MOV is the
preferred disassembly syntax.  See latest ARM Architecture Reference Manual for
ARMv8-A, section F6.1.108 and for ARMv8-M, section C2.4.89.

   The same for MOV.W under Thumb mode.  It should try all possible 32-bit Thumb
encoding instead of T2 only.

   This patch let MOV/MOV.W accept more immediate formats while their currently
supported immediate formats are not affected, so there is no backward compatibility
issue, also this patch haven't touched the disassembler.

   I think this patch brings GAS closer to ARM Architecture Reference Manual.

   OK for master?

gas/
2016-11-01  Jiong Wang  <jiong.wang@arm.com>
                   
         * config/tc-arm.c (SBIT_SHIFT): New.
         (T2_SBIT_SHIFT): Likewise.
         (t32_insn_ok): Return TRUE for MOV in ARMv8-M Baseline.
         (md_apply_fix): Try UINT16 encoding when ARM/Thumb modified immediate
         encoding failed.
         * testsuite/gas/arm/archv6t2-bad.s: New error case.
         * testsuite/gas/arm/archv6t2-bad.l: New error match.
         * testsuite/gas/arm/archv6t2.s: New testcase.
         * testsuite/gas/arm/archv6t2.d: New expected result.
         * testsuite/gas/arm/archv8m.s: New testcase
         * testsuite/gas/arm/archv8m-base.d: New expected result.
         * testsuite/gas/arm/archv8m-main.d: Likewise.
         * testsuite/gas/arm/archv8m-main-dsp-1.d: Likewise.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: fix-gas.patch
Type: text/x-patch
Size: 9627 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20161101/085be3be/attachment.bin>


More information about the Binutils mailing list