[PATCH, binutils/ARM] Add missing ARMv8-M special registers
Thomas Preudhomme
thomas.preudhomme@foss.arm.com
Thu Aug 25 13:42:00 GMT 2016
Hi,
Current GAS support for ARMv8-M is missing the following special register for
MSR and MRS instructions:
* msplim/msplim_ns
* psplim/psplim_ns
* primask_ns
* basepri_ns
* faultmask_ns
* control_ns
* sp_ns
and their capitalized form. See ARMv8-M Architecture Reference manual (document
ARM DDI 0553A.b) on http://infocenter.arm.com for details.
The patch in attachment adds support for all these special registers. ChangeLog
entries are as follow:
*** gas/ChangeLog ***
2016-08-25 Thomas Preud'homme <thomas.preudhomme@arm.com>
* config/tc-arm.c (v7m_psrs): Add MSPLIM, PSPLIM, MSPLIM_NS,
PSPLIM_NS, PRIMASK_NS, BASEPRI_NS, FAULTMASK_NS, CONTROL_NS, SP_NS and
their lowecase counterpart special registers. Write register
identifier in hex.
* testsuite/gas/arm/archv8m-cmse-msr.s: Reorganize tests per
operation, special register and then case. Use different register for
each operation. Add tests for new special registers.
* testsuite/gas/arm/archv8m-cmse-msr-base.d: Adapt expected result
accordingly.
* testsuite/gas/arm/archv8m-cmse-msr-main.d: Likewise.
* testsuite/gas/arm/archv8m-main-dsp-4.d: Likewise.
*** opcodes/ChangeLog ***
2016-08-25 Thomas Preud'homme <thomas.preudhomme@arm.com>
* arm-dis.c (psr_name): Use hex as case labels. Add detection for
MSPLIM, PSPLIM, MSPLIM_NS, PSPLIM_NS, PRIMASK_NS, BASEPRI_NS,
FAULTMASK_NS, CONTROL_NS and SP_NS special registers.
Testsuite does not have any regression.
Is this ok for trunk?
Best regards,
Thomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: add_missing_msr_special_regs.patch
Type: text/x-patch
Size: 17132 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20160825/1bdeca93/attachment.bin>
More information about the Binutils
mailing list