ARMv6-M support
Paul Brook
paul@codesourcery.com
Wed Mar 5 01:31:00 GMT 2008
The attached patch adds ARMv6-M architecture support to binutils. This is
basically the Thumb bits of conventional ARMv6, plus a few system
instructions from Thumb-2.
Tested on arm-none-eabi.
Applied to cvs head.
Paul
2008-03-04 Paul Brook <paul@codesourcery.com>
gas/
* config/tc-arm.c (arm_ext_barrier, arm_ext_msr): New.
(arm_ext_v7m): Rename...
(arm_ext_m): ... to this. Include v6-M.
(do_t_add_sub): Allow narrow low-reg non flag setting adds.
(do_t_mrs, do_t_msr, aeabi_set_public_attributes): Use arm_ext_m.
(md_assemble): Allow wide msr instructions.
(insns): Add classifications for v6-m instructions.
(arm_cpu_option_table): Add cortex-m1.
(arm_arch_option_table): Add armv6-m.
(cpu_arch): Add ARM_ARCH_V6M. Fix numbering of other v6 variants.
gas/testsuite/
* gas/arm/archv6m.d: New test.
* gas/arm/archv6m.s: New test.
* gas/arm/t16-bad.s: Test low register non flag setting add.
* gas/arm/t16-bad.l: Update expected output.
include/opcode/
* arm.h (ARM_EXT_V6M, ARM_EXT_BARRIER, ARM_EXT_THUMB_MSR): Define.
(ARM_AEXT_V6T2, ARM_AEXT_V7_ARM, ARM_AEXT_V7M): Use new flags.
(ARM_AEXT_V6M, ARM_ARCH_V6M): Define.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch
Type: text/x-diff
Size: 12814 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20080305/782c2d4e/attachment.bin>
More information about the Binutils
mailing list