[PATCH, GAS] No IT usage deprecation for ARMv8-M
Thomas Preudhomme
thomas.preudhomme@foss.arm.com
Fri Dec 1 14:40:00 GMT 2017
Hi,
Deprecations related to the use of the IT instruction introduced in
Armv8-A do not apply to Armv8-M Baseline and mainline. However the
warning logic do not distinguish between the various profiles and warn
whenever the architecture version is 8.
This patch adds a check to exclude M profile architectures from this
warning. This works as expected when -march is specified on the
command-line or a .arch/.cpu directive exist. However, in autodetection
mode the CPU/architecture targeted is only known once the instructions
have been all processed but this code is run when IT instruction is
processed. It is therefore not possible to distinguish between Armv8-M
and Armv8-A in that mode.
The approach chosen here is not to warn in autodetection mode. The udf.d
testcase that relied on that behavior to test deprecation warning for
Armv8-A is therefore updated to explicitely pass -march=armv8-a.
ChangeLog entry is as follows:
*** gas/ChangeLog ***
2017-11-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
* config/tc-arm.c (it_fsm_post_encode): Do not warn if targeting M
profile architecture or if in autodetection mode.
* testsuite/gas/arm/udf.d: Assemble for Armv8-A explicitely.
Testing: Ran testsuite targeting arm-none-eabi which shows no
regression.
Is this ok for master branch?
Best regards,
Thomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: no_it_deprecation_v8m.patch
Type: text/x-patch
Size: 17900 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20171201/7b6f517c/attachment.bin>
More information about the Binutils
mailing list