[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