From a87e0cba839bb4a2daca34896a0760258027b38e Mon Sep 17 00:00:00 2001 From: Kyrylo Tkachov Date: Wed, 22 Apr 2020 13:21:31 +0100 Subject: [arm] Add initial support for Arm Cortex-M55 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. 2020-04-22 Kyrylo Tkachov Andre Vieira Mihail Ionescu * 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. --- gcc/config/arm/arm-tune.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gcc/config/arm/arm-tune.md') diff --git a/gcc/config/arm/arm-tune.md b/gcc/config/arm/arm-tune.md index b929e44..8ea9435 100644 --- a/gcc/config/arm/arm-tune.md +++ b/gcc/config/arm/arm-tune.md @@ -47,5 +47,5 @@ cortexa76,cortexa76ae,cortexa77, neoversen1,cortexa75cortexa55,cortexa76cortexa55, cortexm23,cortexm33,cortexm35p, - cortexr52" + cortexm55,cortexr52" (const (symbol_ref "((enum attr_tune) arm_tune)"))) -- cgit v1.1