[arm] PR target/85606 prefer armv6s-m for armv6-m parts

Richard Earnshaw (lists) Richard.Earnshaw@arm.com
Fri May 11 09:35:00 GMT 2018


When Arm introduced ARMv6-M there were two variants, ARMv6-M and
ARMv6S-M.  The two differed only in support for the SVC instruction.
Later on SVC was then made a mandatory part of ARMv6-M and the ARMv6S-M
name was dropped.  GCC and GAS, however still recognize both names and
at least some versions of GAS still distinguish between the two.

To address this, this patch changes the architecture for the ARMv6-m
cortex parts (m0, m0plus, m1 and the variants will small multiply units)
to use the ARMv6S-M name in conjunction with the assembler.  This avoids
problems with them rejecting code that was previously accepted with
older versions of GCC where we did not pass an explicit architecture
string through to the compiler when using -mcpu on the command line.

2018-05-11  Richard Earnshaw  <rearnsha@arm.com>

	PR target/85606
	* config/arm/arm-cpus.in: Add comment that ARMv6-m and ARMv6S-m are now
	equivalent.
	(cortex-m0): Use armv6s-m isa.
	(cortex-m0plus): Likewise.
	(cortex-m1): Likewise.
	(cortex-m0.small-multiply): Likewise.
	(cortex-m0plus.small-multiply): Likewise.
	(cortex-m1.small-multiply): Likewise.

Applied to trunk and gcc-8 branch.

R.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: m0.patch
Type: text/x-diff
Size: 1598 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20180511/31639e55/attachment.bin>


More information about the Gcc-patches mailing list