public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH][GCC] aarch64: enable cortex-a510 CPU
@ 2021-09-22  8:35 Przemyslaw Wirkus
  2021-10-01 11:26 ` Kyrylo Tkachov
  0 siblings, 1 reply; 3+ messages in thread
From: Przemyslaw Wirkus @ 2021-09-22  8:35 UTC (permalink / raw)
  To: gcc-patches
  Cc: Richard Earnshaw, Richard Sandiford, Marcus Shawcroft, Kyrylo Tkachov

[-- Attachment #1: Type: text/plain, Size: 302 bytes --]

Patch is adding 'cortex-a510' to -mcpu command line option.

gcc/ChangeLog:

2021-09-02  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>

	* config/aarch64/aarch64-cores.def (AARCH64_CORE): New
	Cortex-A510 core.
	* config/aarch64/aarch64-tune.md: Regenerate.
	* doc/invoke.texi: Update docs.

[-- Attachment #2: rb14822.patch --]
[-- Type: application/octet-stream, Size: 3314 bytes --]

diff --git a/gcc/config/aarch64/aarch64-cores.def b/gcc/config/aarch64/aarch64-cores.def
index de8fe9bc09bb1d7a49b586264da013da4878ae81..478f7e1c8145365f42f43ad94d90c633aae66ebd 100644
--- a/gcc/config/aarch64/aarch64-cores.def
+++ b/gcc/config/aarch64/aarch64-cores.def
@@ -161,4 +161,9 @@ AARCH64_CORE("cortex-a76.cortex-a55",  cortexa76cortexa55, cortexa53, 8_2A,  AAR
 /* Armv8-R Architecture Processors.  */
 AARCH64_CORE("cortex-r82", cortexr82, cortexa53, 8R, AARCH64_FL_FOR_ARCH8_R, cortexa53, 0x41, 0xd15, -1)
 
+/* Arm9.0-A Architecture Processors.  */
+
+/* Arm ('A') cores. */
+AARCH64_CORE("cortex-a510",  cortexa510, cortexa55, 9A,  AARCH64_FL_FOR_ARCH9 | AARCH64_FL_SVE2_BITPERM | AARCH64_FL_MEMTAG | AARCH64_FL_I8MM | AARCH64_FL_BF16, neoversen2, 0x41, 0xd46, -1)
+
 #undef AARCH64_CORE
diff --git a/gcc/config/aarch64/aarch64-tune.md b/gcc/config/aarch64/aarch64-tune.md
index af66c111da29f2fc53b7b0c081fdb6593a3f2239..63f490b7f6925670f923edfd45a2da594b24ea39 100644
--- a/gcc/config/aarch64/aarch64-tune.md
+++ b/gcc/config/aarch64/aarch64-tune.md
@@ -1,5 +1,5 @@
 ;; -*- buffer-read-only: t -*-
 ;; Generated automatically by gentune.sh from aarch64-cores.def
 (define_attr "tune"
-	"cortexa34,cortexa35,cortexa53,cortexa57,cortexa72,cortexa73,thunderx,thunderxt88p1,thunderxt88,octeontx,octeontxt81,octeontxt83,thunderxt81,thunderxt83,emag,xgene1,falkor,qdf24xx,exynosm1,phecda,thunderx2t99p1,vulcan,thunderx2t99,cortexa55,cortexa75,cortexa76,cortexa76ae,cortexa77,cortexa78,cortexa78ae,cortexa78c,cortexa65,cortexa65ae,cortexx1,ares,neoversen1,neoversee1,octeontx2,octeontx2t98,octeontx2t96,octeontx2t93,octeontx2f95,octeontx2f95n,octeontx2f95mm,a64fx,tsv110,thunderx3t110,zeus,neoversev1,saphira,neoversen2,cortexa57cortexa53,cortexa72cortexa53,cortexa73cortexa35,cortexa73cortexa53,cortexa75cortexa55,cortexa76cortexa55,cortexr82"
+	"cortexa34,cortexa35,cortexa53,cortexa57,cortexa72,cortexa73,thunderx,thunderxt88p1,thunderxt88,octeontx,octeontxt81,octeontxt83,thunderxt81,thunderxt83,emag,xgene1,falkor,qdf24xx,exynosm1,phecda,thunderx2t99p1,vulcan,thunderx2t99,cortexa55,cortexa75,cortexa76,cortexa76ae,cortexa77,cortexa78,cortexa78ae,cortexa78c,cortexa65,cortexa65ae,cortexx1,ares,neoversen1,neoversee1,octeontx2,octeontx2t98,octeontx2t96,octeontx2t93,octeontx2f95,octeontx2f95n,octeontx2f95mm,a64fx,tsv110,thunderx3t110,zeus,neoversev1,saphira,neoversen2,cortexa57cortexa53,cortexa72cortexa53,cortexa73cortexa35,cortexa73cortexa53,cortexa75cortexa55,cortexa76cortexa55,cortexr82,cortexa510"
 	(const (symbol_ref "((enum attr_tune) aarch64_tune)")))
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 94ee89dedf485e6cc3be182b4c3bba7f658918fe..9818ec72527b400bf35209ebe44e392d09cf2fb4 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -18384,7 +18384,7 @@ performance of the code.  Permissible values for this option are:
 @samp{cortex-a57.cortex-a53}, @samp{cortex-a72.cortex-a53},
 @samp{cortex-a73.cortex-a35}, @samp{cortex-a73.cortex-a53},
 @samp{cortex-a75.cortex-a55}, @samp{cortex-a76.cortex-a55},
-@samp{cortex-r82}, @samp{cortex-x1}, @samp{native}.
+@samp{cortex-r82}, @samp{cortex-x1}, @samp{cortex-a510}, @samp{native}.
 
 The values @samp{cortex-a57.cortex-a53}, @samp{cortex-a72.cortex-a53},
 @samp{cortex-a73.cortex-a35}, @samp{cortex-a73.cortex-a53},

^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: [PATCH][GCC] aarch64: enable cortex-a510 CPU
  2021-09-22  8:35 [PATCH][GCC] aarch64: enable cortex-a510 CPU Przemyslaw Wirkus
@ 2021-10-01 11:26 ` Kyrylo Tkachov
  2021-10-01 21:47   ` Przemyslaw Wirkus
  0 siblings, 1 reply; 3+ messages in thread
From: Kyrylo Tkachov @ 2021-10-01 11:26 UTC (permalink / raw)
  To: Przemyslaw Wirkus, gcc-patches
  Cc: Richard Earnshaw, Richard Sandiford, Marcus Shawcroft

Hi Przemek,

> -----Original Message-----
> From: Przemyslaw Wirkus <Przemyslaw.Wirkus@arm.com>
> Sent: Wednesday, September 22, 2021 9:35 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: enable cortex-a510 CPU
> 
> Patch is adding 'cortex-a510' to -mcpu command line option.
> 
> gcc/ChangeLog:
> 
> 2021-09-02  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
> 
> 	* config/aarch64/aarch64-cores.def (AARCH64_CORE): New
> 	Cortex-A510 core.
> 	* config/aarch64/aarch64-tune.md: Regenerate.
> 	* doc/invoke.texi: Update docs.

+/* Arm9.0-A Architecture Processors.  */

Typo, should be "Armv9.0-a".

+
+/* Arm ('A') cores. */
+AARCH64_CORE("cortex-a510",  cortexa510, cortexa55, 9A,  AARCH64_FL_FOR_ARCH9 | AARCH64_FL_SVE2_BITPERM | AARCH64_FL_MEMTAG | AARCH64_FL_I8MM | AARCH64_FL_BF16, neoversen2, 0x41, 0xd46, -1)
+

We'll need to update the tuning anyway once we do it properly, but for now I think for the COSTS field (4th to last) we should go with cortexa53 rather than neoversen2.
Ok with those changes.
Thanks,
Kyrill

^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: [PATCH][GCC] aarch64: enable cortex-a510 CPU
  2021-10-01 11:26 ` Kyrylo Tkachov
@ 2021-10-01 21:47   ` Przemyslaw Wirkus
  0 siblings, 0 replies; 3+ messages in thread
From: Przemyslaw Wirkus @ 2021-10-01 21:47 UTC (permalink / raw)
  To: Kyrylo Tkachov, gcc-patches
  Cc: Richard Earnshaw, Richard Sandiford, Marcus Shawcroft

> Hi Przemek,
> 
> > -----Original Message-----
> > From: Przemyslaw Wirkus <Przemyslaw.Wirkus@arm.com>
> > Sent: Wednesday, September 22, 2021 9:35 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: enable cortex-a510 CPU
> >
> > Patch is adding 'cortex-a510' to -mcpu command line option.
> >
> > gcc/ChangeLog:
> >
> > 2021-09-02  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
> >
> > 	* config/aarch64/aarch64-cores.def (AARCH64_CORE): New
> > 	Cortex-A510 core.
> > 	* config/aarch64/aarch64-tune.md: Regenerate.
> > 	* doc/invoke.texi: Update docs.
> 
> +/* Arm9.0-A Architecture Processors.  */
> 
> Typo, should be "Armv9.0-a".
> 
> +
> +/* Arm ('A') cores. */
> +AARCH64_CORE("cortex-a510",  cortexa510, cortexa55, 9A,
> +AARCH64_FL_FOR_ARCH9 | AARCH64_FL_SVE2_BITPERM |
> AARCH64_FL_MEMTAG |
> +AARCH64_FL_I8MM | AARCH64_FL_BF16, neoversen2, 0x41, 0xd46, -1)
> +
> 
> We'll need to update the tuning anyway once we do it properly, but for now I
> think for the COSTS field (4th to last) we should go with cortexa53 rather
> than neoversen2.
> Ok with those changes.

commit 8aa3ab5a47664023d83ea5097a53a66bd6cbb978

> Thanks,
> Kyrill

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-10-01 21:47 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:35 [PATCH][GCC] aarch64: enable cortex-a510 CPU Przemyslaw Wirkus
2021-10-01 11:26 ` Kyrylo Tkachov
2021-10-01 21:47   ` 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).