From 1ad9b03f1b21cd3c661495e6cd7f591c507d1e7c Mon Sep 17 00:00:00 2001 From: Tamar Christina Date: Wed, 15 Nov 2017 16:11:07 +0000 Subject: [PATCH] arm-cpus.in (armv8_3, [...]): New 2017-11-15 Tamar Christina * config/arm/arm-cpus.in (armv8_3, ARMv8_3a, armv8.3-a): New * config/arm/arm-tables.opt (armv8.3-a): Regenerated. * doc/invoke.texi (ARM Options): Add armv8.3-a. From-SVN: r254776 --- gcc/ChangeLog | 6 ++++++ gcc/config/arm/arm-cpus.in | 20 +++++++++++++++++++- gcc/config/arm/arm-tables.opt | 13 ++++++++----- gcc/doc/invoke.texi | 2 +- 4 files changed, 34 insertions(+), 7 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b4f1fcbdba7..ce156f2ab82 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2017-11-15 Tamar Christina + + * config/arm/arm-cpus.in (armv8_3, ARMv8_3a, armv8.3-a): New + * config/arm/arm-tables.opt (armv8.3-a): Regenerated. + * doc/invoke.texi (ARM Options): Add armv8.3-a. + 2017-11-15 Tamar Christina * config/arm/arm.h (TARGET_DOTPROD): Add arm_arch8_2. diff --git a/gcc/config/arm/arm-cpus.in b/gcc/config/arm/arm-cpus.in index 0820ad74c2e..281ec162db8 100644 --- a/gcc/config/arm/arm-cpus.in +++ b/gcc/config/arm/arm-cpus.in @@ -114,9 +114,12 @@ define feature iwmmxt2 # Architecture rel 8.1. define feature armv8_1 -# Architecutre rel 8.2. +# Architecture rel 8.2. define feature armv8_2 +# Architecture rel 8.3. +define feature armv8_3 + # M-Profile security extensions. define feature cmse @@ -238,6 +241,7 @@ define fgroup ARMv7em ARMv7m armv7em define fgroup ARMv8a ARMv7ve armv8 define fgroup ARMv8_1a ARMv8a crc32 armv8_1 define fgroup ARMv8_2a ARMv8_1a armv8_2 +define fgroup ARMv8_3a ARMv8_2a armv8_3 define fgroup ARMv8m_base ARMv6m armv8 cmse tdiv define fgroup ARMv8m_main ARMv7m armv8 cmse define fgroup ARMv8r ARMv8a @@ -579,6 +583,20 @@ begin arch armv8.2-a option dotprod add FP_ARMv8 DOTPROD end arch armv8.2-a +begin arch armv8.3-a + tune for cortex-a53 + tune flags CO_PROC + base 8A + profile A + isa ARMv8_3a + option simd add FP_ARMv8 NEON + option fp16 add fp16 FP_ARMv8 NEON + option crypto add FP_ARMv8 CRYPTO + option nocrypto remove ALL_CRYPTO + option nofp remove ALL_FP + option dotprod add FP_ARMv8 DOTPROD +end arch armv8.3-a + begin arch armv8-m.base tune for cortex-m23 base 8M_BASE diff --git a/gcc/config/arm/arm-tables.opt b/gcc/config/arm/arm-tables.opt index 4e508b1555a..f7937256cd7 100644 --- a/gcc/config/arm/arm-tables.opt +++ b/gcc/config/arm/arm-tables.opt @@ -452,19 +452,22 @@ EnumValue Enum(arm_arch) String(armv8.2-a) Value(28) EnumValue -Enum(arm_arch) String(armv8-m.base) Value(29) +Enum(arm_arch) String(armv8.3-a) Value(29) EnumValue -Enum(arm_arch) String(armv8-m.main) Value(30) +Enum(arm_arch) String(armv8-m.base) Value(30) EnumValue -Enum(arm_arch) String(armv8-r) Value(31) +Enum(arm_arch) String(armv8-m.main) Value(31) EnumValue -Enum(arm_arch) String(iwmmxt) Value(32) +Enum(arm_arch) String(armv8-r) Value(32) EnumValue -Enum(arm_arch) String(iwmmxt2) Value(33) +Enum(arm_arch) String(iwmmxt) Value(33) + +EnumValue +Enum(arm_arch) String(iwmmxt2) Value(34) Enum Name(arm_fpu) Type(enum fpu_type) diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 44273284483..163e16819e6 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -15537,7 +15537,7 @@ Permissible names are: @samp{armv6}, @samp{armv6j}, @samp{armv6k}, @samp{armv6kz}, @samp{armv6t2}, @samp{armv6z}, @samp{armv6zk}, @samp{armv7}, @samp{armv7-a}, @samp{armv7ve}, -@samp{armv8-a}, @samp{armv8.1-a}, @samp{armv8.2-a}, +@samp{armv8-a}, @samp{armv8.1-a}, @samp{armv8.2-a}, @samp{armv8.3-a}, @samp{armv7-r}, @samp{armv8-r}, @samp{armv6-m}, @samp{armv6s-m}, -- 2.30.2