Hi Erza,

> Hi Ezra
> 
> > On 2 Dec 2025, at 15:35, [email protected] wrote:
> >
> > From: Ezra Sitorus <[email protected]>
> >
> > This patch add support for Arm's C1-Nano, C1-Pro, C1-Premium and
> > C1-Ultra.
> >
> > gcc/ChangeLog:
> > * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add C1-Nano,
> >  C1-Pro, C1-Premium and C1-Ultra.
> > * config/aarch64/aarch64-tune.md: Regenerate.
> > * doc/invoke.texi: Document C1 cores.
> > ---
> > Regression tested on aarch64-none-linux-gnu.
> 
> This patch is okay but...
> 
> >
> > I don't have commit access to gcc yet, if this looks ok can somebody
> > push this? Thanks!
> >
> > Ezra
> >
> > gcc/config/aarch64/aarch64-cores.def | 5 +++++
> > gcc/config/aarch64/aarch64-tune.md   | 2 +-
> > gcc/doc/invoke.texi                  | 3 ++-
> > 3 files changed, 8 insertions(+), 2 deletions(-)
> >
> > diff --git a/gcc/config/aarch64/aarch64-cores.def
> b/gcc/config/aarch64/aarch64-cores.def
> > index 8040409d283..58d4805105b 100644
> > --- a/gcc/config/aarch64/aarch64-cores.def
> > +++ b/gcc/config/aarch64/aarch64-cores.def
> > @@ -221,6 +221,11 @@ AARCH64_CORE("grace", grace, cortexa57, V9A,
> (I8MM, BF16, SVE2_BITPERM, SVE2_AES
> > AARCH64_CORE("neoverse-v3", neoversev3, cortexa57, V9_2A,
> (SVE2_BITPERM, RNG, LS64, MEMTAG, PROFILE), neoversev3, 0x41, 0xd84, -
> 1)
> > AARCH64_CORE("neoverse-v3ae", neoversev3ae, cortexa57, V9_2A,
> (SVE2_BITPERM, RNG, LS64, MEMTAG, PROFILE), neoversev3ae, 0x41,
> 0xd83, -1)
> >
> > +AARCH64_CORE("c1-nano", c1nano, cortexa53, V9_3A, (MEMTAG,
> SVE2_BITPERM, F16FML, SME2, RCPC3), cortexa53, 0x41, 0xd8a, -1)
> > +AARCH64_CORE("c1-pro", c1pro, cortexa57, V9_3A, (MEMTAG,
> SVE2_BITPERM, F16FML, PROFILE, SME2, RCPC3), neoversen2, 0x41, 0xd8b,
> -1)

C1-Pro is a successor to Cortex-A725, so I'd use the neoversen3 cost model
instead like the Cortex-A725 core.

> > +AARCH64_CORE("c1-premium", c1premium, cortexa57, V9_3A,
> (MEMTAG, SVE2_BITPERM, F16FML, PROFILE, SME2, RCPC3), neoversev3,
> 0x41, 0xd90, -1)
> > +AARCH64_CORE("c1-ultra", c1ultra, cortexa57, V9_3A, (MEMTAG,
> SVE2_BITPERM, F16FML, PROFILE, SME2, RCPC3), neoversev3, 0x41, 0xd8c, -
> 1)
> > +

C1-Ultra is a much wider core than Neoverse-V3 and is the successor
to Cortex-X925, so use the cortexx925 cost model here please.

Thanks,
Tamar

> > AARCH64_CORE("demeter", demeter, cortexa57, V9A, (I8MM, BF16,
> SVE2_BITPERM, RNG, MEMTAG, PROFILE), neoversev2, 0x41, 0xd4f, -1)
> >
> > /* NVIDIA ('N') cores. */
> > diff --git a/gcc/config/aarch64/aarch64-tune.md
> b/gcc/config/aarch64/aarch64-tune.md
> > index 40ff147d6f8..ca4cfde5a10 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,thu
> nderxt88,thunderxt88p1,octeontx,octeontxt81,octeontxt83,thunderxt81,th
> underxt83,ampere1,ampere1a,ampere1b,emag,xgene1,falkor,qdf24xx,exyno
> sm1,phecda,thunderx2t99p1,vulcan,thunderx2t99,cortexa55,cortexa75,corte
> xa76,cortexa76ae,cortexa77,cortexa78,cortexa78ae,cortexa78c,cortexa65,cor
> texa65ae,cortexx1,cortexx1c,neoversen1,ares,neoversee1,octeontx2,octeont
> x2t98,octeontx2t96,octeontx2t93,octeontx2f95,octeontx2f95n,octeontx2f9
> 5mm,a64fx,fujitsu_monaka,tsv110,thunderx3t110,neoversev1,zeus,neovers
> e512tvb,saphira,oryon1,cortexa57cortexa53,cortexa72cortexa53,cortexa73c
> ortexa35,cortexa73cortexa53,cortexa75cortexa55,cortexa76cortexa55,cortex
> r82,cortexr82ae,applea12,applem1_0,applem1_1,applem1_2,applem1_3,ap
> plem2_0,applem2_1,applem2_2,applem2_3,applem3_0,cortexa510,cortexa5
> 20,cortexa520ae,cortexa710,cortexa715,cortexa720,cortexa720ae,cortexa72
> 5,cortexx2,cortexx3,cortexx4,cortexx925,neoversen2,cobalt100,neoversen3,
> neoversev2,grace,neoversev3,neoversev3ae,demeter,olympus,gb10,generic,
> generic_armv8_a,generic_armv9_a"
> > +
> "cortexa34,cortexa35,cortexa53,cortexa57,cortexa72,cortexa73,thunderx,thu
> nderxt88,thunderxt88p1,octeontx,octeontxt81,octeontxt83,thunderxt81,th
> underxt83,ampere1,ampere1a,ampere1b,emag,xgene1,falkor,qdf24xx,exyno
> sm1,phecda,thunderx2t99p1,vulcan,thunderx2t99,cortexa55,cortexa75,corte
> xa76,cortexa76ae,cortexa77,cortexa78,cortexa78ae,cortexa78c,cortexa65,cor
> texa65ae,cortexx1,cortexx1c,neoversen1,ares,neoversee1,octeontx2,octeont
> x2t98,octeontx2t96,octeontx2t93,octeontx2f95,octeontx2f95n,octeontx2f9
> 5mm,a64fx,fujitsu_monaka,tsv110,thunderx3t110,neoversev1,zeus,neovers
> e512tvb,saphira,oryon1,cortexa57cortexa53,cortexa72cortexa53,cortexa73c
> ortexa35,cortexa73cortexa53,cortexa75cortexa55,cortexa76cortexa55,cortex
> r82,cortexr82ae,applea12,applem1_0,applem1_1,applem1_2,applem1_3,ap
> plem2_0,applem2_1,applem2_2,applem2_3,applem3_0,cortexa510,cortexa5
> 20,cortexa520ae,cortexa710,cortexa715,cortexa720,cortexa720ae,cortexa72
> 5,cortexx2,cortexx3,cortexx4,cortexx925,neoversen2,cobalt100,neoversen3,
> neoversev2,grace,neoversev3,neoversev3ae,c1nano,c1pro,c1premium,c1ultr
> a,demeter,olympus,gb10,generic,generic_armv8_a,generic_armv9_a"
> > (const (symbol_ref "((enum attr_tune) aarch64_tune)")))
> > diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
> > index 8163c3a185c..6dea30bac39 100644
> > --- a/gcc/doc/invoke.texi
> > +++ b/gcc/doc/invoke.texi
> > @@ -22167,7 +22167,8 @@ performance of the code.  Permissible values
> for this option are:
> > @samp{cortex-a520}, @samp{cortex-a520ae}, @samp{cortex-a710},
> @samp{cortex-a715},
> > @samp{cortex-a720}, @samp{cortex-a720ae}, @samp{ampere1},
> @samp{ampere1a},
> > @samp{ampere1b}, @samp{cobalt-100}, @samp{apple-m1},
> @samp{apple-m2},
> > -@samp{apple-m3} and @samp{native}.
> > +@samp{apple-m3}, @samp{c1-nano}, @samp{c1-pro}, @samp{c1-
> premium}
> > +@samp{c1-ultra} and @samp{native}.
> 
> … This hunk needs rebasing as this line now also contains apple-m4. Can you
> please resend the rebased patch as an attachment so we can apply it with git
> am.
> Thanks,
> Kyrill
> 
> 
> >
> > The values @samp{cortex-a57.cortex-a53}, @samp{cortex-a72.cortex-a53},
> > @samp{cortex-a73.cortex-a35}, @samp{cortex-a73.cortex-a53},
> > --
> > 2.45.2
> >

Reply via email to