* [PATCH][GCC] aarch64: add armv9-a to -march
@ 2021-09-22 8:33 Przemyslaw Wirkus
2021-10-01 8:07 ` Kyrylo Tkachov
0 siblings, 1 reply; 3+ messages in thread
From: Przemyslaw Wirkus @ 2021-09-22 8:33 UTC (permalink / raw)
To: gcc-patches
Cc: Richard Earnshaw, Richard Sandiford, Marcus Shawcroft, Kyrylo Tkachov
[-- Attachment #1: Type: text/plain, Size: 367 bytes --]
Patch is adding new command line option 'armv9-a' to -march.
OK for master?
gcc/ChangeLog:
2021-09-22 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com>
* config/aarch64/aarch64-arches.def (AARCH64_ARCH): Added
armv9-a.
* config/aarch64/aarch64.h (AARCH64_FL_V9): New.
(AARCH64_FL_FOR_ARCH9): New flags for Armv9-A.
(AARCH64_ISA_V9): New ISA flag.
[-- Attachment #2: rb14821.patch --]
[-- Type: application/octet-stream, Size: 3036 bytes --]
diff --git a/gcc/config/aarch64/aarch64-arches.def b/gcc/config/aarch64/aarch64-arches.def
index b7497277bb8b51b31d61c2cbbf6eb6cd2f5efa3b..c47ca622cf6c8f93439ae296e4e4f3e08c8ee8f4 100644
--- a/gcc/config/aarch64/aarch64-arches.def
+++ b/gcc/config/aarch64/aarch64-arches.def
@@ -38,5 +38,6 @@ AARCH64_ARCH("armv8.4-a", generic, 8_4A, 8, AARCH64_FL_FOR_ARCH8_4)
AARCH64_ARCH("armv8.5-a", generic, 8_5A, 8, AARCH64_FL_FOR_ARCH8_5)
AARCH64_ARCH("armv8.6-a", generic, 8_6A, 8, AARCH64_FL_FOR_ARCH8_6)
AARCH64_ARCH("armv8-r", generic, 8R , 8, AARCH64_FL_FOR_ARCH8_R)
+AARCH64_ARCH("armv9-a", generic, 9A , 9, AARCH64_FL_FOR_ARCH9)
#undef AARCH64_ARCH
diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h
index bfffbcd6abff6da909ed5128649f5acab62efd49..b914bfb5cc8de305b6cb8c6d3efceb7993324196 100644
--- a/gcc/config/aarch64/aarch64.h
+++ b/gcc/config/aarch64/aarch64.h
@@ -230,6 +230,8 @@ extern unsigned aarch64_architecture_version;
/* Pointer Authentication (PAUTH) extension. */
#define AARCH64_FL_PAUTH (1ULL << 40)
+/* Armv9.0-A. */
+#define AARCH64_FL_V9 (1ULL << 41) /* Armv9.0-A Architecture. */
/* Has FP and SIMD. */
#define AARCH64_FL_FPSIMD (AARCH64_FL_FP | AARCH64_FL_SIMD)
@@ -257,6 +259,8 @@ extern unsigned aarch64_architecture_version;
| AARCH64_FL_I8MM | AARCH64_FL_BF16)
#define AARCH64_FL_FOR_ARCH8_R \
(AARCH64_FL_FOR_ARCH8_4 | AARCH64_FL_V8_R)
+#define AARCH64_FL_FOR_ARCH9 \
+ (AARCH64_FL_FOR_ARCH8_5 | AARCH64_FL_SVE | AARCH64_FL_SVE2 | AARCH64_FL_V9)
/* Macros to test ISA flags. */
@@ -295,6 +299,7 @@ extern unsigned aarch64_architecture_version;
#define AARCH64_ISA_SB (aarch64_isa_flags & AARCH64_FL_SB)
#define AARCH64_ISA_V8_R (aarch64_isa_flags & AARCH64_FL_V8_R)
#define AARCH64_ISA_PAUTH (aarch64_isa_flags & AARCH64_FL_PAUTH)
+#define AARCH64_ISA_V9 (aarch64_isa_flags & AARCH64_FL_V9)
/* Crypto is an optional extension to AdvSIMD. */
#define TARGET_CRYPTO (TARGET_SIMD && AARCH64_ISA_CRYPTO)
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index a9fd5fdc104ce5261510e574497502a220ff0e91..94ee89dedf485e6cc3be182b4c3bba7f658918fe 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -18340,6 +18340,7 @@ and the features that they enable by default:
@item @samp{armv8.4-a} @tab Armv8.4-A @tab @samp{armv8.3-a}, @samp{+flagm}, @samp{+fp16fml}, @samp{+dotprod}
@item @samp{armv8.5-a} @tab Armv8.5-A @tab @samp{armv8.4-a}, @samp{+sb}, @samp{+ssbs}, @samp{+predres}
@item @samp{armv8.6-a} @tab Armv8.6-A @tab @samp{armv8.5-a}, @samp{+bf16}, @samp{+i8mm}
+@item @samp{armv9-a} @tab Armv9-A @tab @samp{armv9-a}, @samp{+sve2}, @samp{+sb}, @samp{+ssbs}, @samp{+predres}
@item @samp{armv8-r} @tab Armv8-R @tab @samp{armv8-r}
@end multitable
@@ -19719,6 +19720,7 @@ Permissible names are:
@samp{armv8.4-a},
@samp{armv8.5-a},
@samp{armv8.6-a},
+@samp{armv9-a},
@samp{armv7-r},
@samp{armv8-r},
@samp{armv6-m}, @samp{armv6s-m},
^ permalink raw reply [flat|nested] 3+ messages in thread
* RE: [PATCH][GCC] aarch64: add armv9-a to -march
2021-09-22 8:33 [PATCH][GCC] aarch64: add armv9-a to -march Przemyslaw Wirkus
@ 2021-10-01 8:07 ` Kyrylo Tkachov
2021-10-01 10:01 ` Przemyslaw Wirkus
0 siblings, 1 reply; 3+ messages in thread
From: Kyrylo Tkachov @ 2021-10-01 8:07 UTC (permalink / raw)
To: Przemyslaw Wirkus, gcc-patches
Cc: Richard Earnshaw, Richard Sandiford, Marcus Shawcroft
> -----Original Message-----
> From: Przemyslaw Wirkus <Przemyslaw.Wirkus@arm.com>
> Sent: Wednesday, September 22, 2021 9:33 AM
> To: gcc-patches@gcc.gnu.org
> Cc: Richard Earnshaw <Richard.Earnshaw@arm.com>; Richard Sandiford
> <Richard.Sandiford@arm.com>; Marcus Shawcroft
> <Marcus.Shawcroft@arm.com>; Kyrylo Tkachov <Kyrylo.Tkachov@arm.com>
> Subject: [PATCH][GCC] aarch64: add armv9-a to -march
>
> Patch is adding new command line option 'armv9-a' to -march.
>
> OK for master?
Ok.
Thanks,
Kyrill
>
> gcc/ChangeLog:
>
> 2021-09-22 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com>
>
> * config/aarch64/aarch64-arches.def (AARCH64_ARCH): Added
> armv9-a.
> * config/aarch64/aarch64.h (AARCH64_FL_V9): New.
> (AARCH64_FL_FOR_ARCH9): New flags for Armv9-A.
> (AARCH64_ISA_V9): New ISA flag.
^ permalink raw reply [flat|nested] 3+ messages in thread
* RE: [PATCH][GCC] aarch64: add armv9-a to -march
2021-10-01 8:07 ` Kyrylo Tkachov
@ 2021-10-01 10:01 ` Przemyslaw Wirkus
0 siblings, 0 replies; 3+ messages in thread
From: Przemyslaw Wirkus @ 2021-10-01 10:01 UTC (permalink / raw)
To: Kyrylo Tkachov, gcc-patches
Cc: Richard Earnshaw, Richard Sandiford, Marcus Shawcroft
> > Subject: [PATCH][GCC] aarch64: add armv9-a to -march
> >
> > Patch is adding new command line option 'armv9-a' to -march.
> >
> > OK for master?
>
> Ok.
commit f0688d42c9b74a6999548ff2e79ae440b049b87f
> Thanks,
> Kyrill
>
> >
> > gcc/ChangeLog:
> >
> > 2021-09-22 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com>
> >
> > * config/aarch64/aarch64-arches.def (AARCH64_ARCH): Added
> > armv9-a.
> > * config/aarch64/aarch64.h (AARCH64_FL_V9): New.
> > (AARCH64_FL_FOR_ARCH9): New flags for Armv9-A.
> > (AARCH64_ISA_V9): New ISA flag.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-10-01 10:02 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-22 8:33 [PATCH][GCC] aarch64: add armv9-a to -march Przemyslaw Wirkus
2021-10-01 8:07 ` Kyrylo Tkachov
2021-10-01 10:01 ` Przemyslaw Wirkus
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).