This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[PATCH, ARM, 0/7] Add support for ARMv8-M
- From: "Thomas Preud'homme" <thomas dot preudhomme at foss dot arm dot com>
- To: <binutils at sourceware dot org>
- Date: Thu, 17 Dec 2015 10:11:57 +0800
- Subject: [PATCH, ARM, 0/7] Add support for ARMv8-M
- Authentication-results: sourceware.org; auth=none
Hi,
I'll be posting a patch series intended for the master branch whose aim is to add support for ARMv8-M. As such, it consists mostly of changes to GAS. This patch series does not include changes to support the security extensions beyond assembling related instructions. This will be posted as a separate patch series.
=== Quick overview of ARMv8-M ===
ARMv8-M has two profiles[1]: Baseline and Mainline. In terms of features they can be defined as:
ARMv8-M Baseline (armv8-m.base):
* All ARMv6-M features
* 16-bit immediate moves
* Wide Branch
* Compare & branch if (not) zero
* Integer divide
* Load/store exclusives
* Atomic Load/stores
* Security extensions
ARMv8-M Mainline (armv8-m.main):
* All ARMv7-M features
* Atomic load/stores
* Security extensions.
ARMv8-M Mainline with DSP extension (armv8-m.main+dsp):
* ARMv8-M Mainline
* Those instructions added to ARMv7E-M on top of ARMv7-M.
Note that although certain architectural features of the security extensions are optional for cores implementing ARMv8-M, some of the new instructions are always available in the architecture.
Note also that only the instructions from security extensions are new instructions, all other instructions have previously been available in other ARM Architecture profiles.
[1] http://www.arm.com/products/processors/instruction-set-architectures/armv8-m-architecture.php