* [PATCH][GCC][ARM] Add Armv8.3-a to AArch32.
@ 2017-11-14 16:02 Tamar Christina
2017-11-15 11:04 ` Kyrill Tkachov
0 siblings, 1 reply; 2+ messages in thread
From: Tamar Christina @ 2017-11-14 16:02 UTC (permalink / raw)
To: gcc-patches
Cc: nd, Ramana.Radhakrishnan, Richard.Earnshaw, nickc, Kyrylo.Tkachov
[-- Attachment #1: Type: text/plain, Size: 439 bytes --]
Hi All,
This patch adds Armv8.3-a as an architecture to the compiler with
the feature set inherited from Armv8.2-a.
Bootstrapped regtested on arm-none-linux-gnueabihf and no issues.
gcc/
2017-11-14 Tamar Christina <tamar.christina@arm.com>
* config/arm/arm-cpus.in (armv8_3, ARMv8_3a, armv8.3-a): New
* config/arm/arm-tables.opt (armv8.3-a): New.
* doc/invoke.texi (ARM Options): Add armv8.3-a
Ok for trunk?
Thanks,
Tamar.
--
[-- Attachment #2: content.patch --]
[-- Type: text/x-diff, Size: 2894 bytes --]
diff --git a/gcc/config/arm/arm-cpus.in b/gcc/config/arm/arm-cpus.in
index 0820ad74c2e75f209bf09ef598c23cdd6116d29d..281ec162db8c982128462d8efac2be1d21959cf7 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 4e508b1555a77628ff6e7cfea39c98b87caa840a..f7937256cd79296ba33d109232bcf0d6f7b03917 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 2ef88e081f982f5619132cc33ce23c3fb542ae11..b03388080e7f14411468c4f4d39b82478255ef7e 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -15473,7 +15473,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},
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH][GCC][ARM] Add Armv8.3-a to AArch32.
2017-11-14 16:02 [PATCH][GCC][ARM] Add Armv8.3-a to AArch32 Tamar Christina
@ 2017-11-15 11:04 ` Kyrill Tkachov
0 siblings, 0 replies; 2+ messages in thread
From: Kyrill Tkachov @ 2017-11-15 11:04 UTC (permalink / raw)
To: Tamar Christina, gcc-patches
Cc: nd, Ramana Radhakrishnan, Richard Earnshaw, nickc
Hi Tamar,
On 14/11/17 15:54, Tamar Christina wrote:
> Hi All,
>
> This patch adds Armv8.3-a as an architecture to the compiler with
> the feature set inherited from Armv8.2-a.
>
> Bootstrapped regtested on arm-none-linux-gnueabihf and no issues.
>
This is ok with a couple of ChangeLog nits.
> gcc/
> 2017-11-14 Tamar Christina <tamar.christina@arm.com>
>
> * config/arm/arm-cpus.in (armv8_3, ARMv8_3a, armv8.3-a): New
> * config/arm/arm-tables.opt (armv8.3-a): New.
The convention is to say "Regenerated" for the whole file as it is not
manually updated.
> * doc/invoke.texi (ARM Options): Add armv8.3-a
Full stop at the end of sentence.
Thanks,
Kyrill
P.S. Can you please create an entry for this in the changes.html page [1]?
You can have a look at other similar entries for previous GCC releases
for the format [2]
[1] https://gcc.gnu.org/about.html
[2] https://gcc.gnu.org/gcc-7/changes.html
>
> Ok for trunk?
>
> Thanks,
> Tamar.
>
> --
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-11-15 10:55 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-14 16:02 [PATCH][GCC][ARM] Add Armv8.3-a to AArch32 Tamar Christina
2017-11-15 11:04 ` Kyrill Tkachov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).