Hi all,

This patch adds initial -mcpu support for the Arm Cortex-M55 CPU.
This CPU is an Armv8.1-M Mainline CPU supporting MVE.
An option to disable floating-point (and MVE) is provided with the +nofp.
For GCC 11 I'd like to add further fine-grained options to enable integer-only 
MVE
but that needs a bit more elaborate surgery in arm-cpus.in that I don't want to 
do
in GCC 10 at this stage.

As this CPU is not supported in gas and I don't want to couple GCC 10 to the 
very
latest binutils anyway, this CPU emits the cpu string in the assembly file as a 
build attribute
rather than a .cpu directive, thus sparing us the need to support .cpu 
cortex-m55 in gas.
The .cpu directive in gas isn't used for anything besides setting the 
Tag_CPU_name 
build attribute anyway (which itself is not used by any tools I'm aware of).
All the architecture information used for target detection is already emitted 
using .arch_extension
directives and similar.

Bootstrapped and tested on arm-none-linux-gnueabihf. Also tested on 
arm-none-eabi.

Committing to trunk.
Thanks,
Kyrill

2020-04-22  Kyrylo Tkachov  <kyrylo.tkac...@arm.com>
            Andre Vieira  <andre.simoesdiasvie...@arm.com>
            Mihail Ionescu  <mihail.ione...@arm.com>

        * config/arm/arm.c (arm_file_start): Handle isa_bit_quirk_no_asmcpu.
        * config/arm/arm-cpus.in (quirk_no_asmcpu): Define.
        (ALL_QUIRKS): Add quirk_no_asmcpu.
        (cortex-m55): Define new cpu.
        * config/arm/arm-tables.opt: Regenerate.
        * config/arm/arm-tune.md: Likewise.
        * doc/invoke.texi (Arm Options): Document -mcpu=cortex-m55.

Attachment: m55-kyrill.patch
Description: m55-kyrill.patch

Reply via email to