Applied to trunk with the requested fixup. Thanks! --Philipp.
On Sat, 8 Nov 2025 at 06:40, Andrew Pinski <[email protected]> wrote: > > On Fri, Nov 7, 2025 at 8:06 AM Philipp Tomsich <[email protected]> > wrote: > > > > This adds support for the Ampere1c core to the AArch64 backend. The > > initial patch only adds the core feature set (ARMv9.2 + extensions) > > and does not add any special tuning decisions, and those may come > > later. > > > > Bootstrapped and tested on aarch64-none-linux-gnu. > > > > gcc/ChangeLog: > > > > * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add ampere1c. > > * config/aarch64/aarch64-tune.md: Regenerate. > > * doc/invoke.texi: Document the above. > > > > --- > > > > gcc/config/aarch64/aarch64-cores.def | 2 ++ > > gcc/config/aarch64/aarch64-tune.md | 2 +- > > gcc/doc/invoke.texi | 4 ++-- > > 3 files changed, 5 insertions(+), 3 deletions(-) > > > > diff --git a/gcc/config/aarch64/aarch64-cores.def > > b/gcc/config/aarch64/aarch64-cores.def > > index baf8abfebd7d..a14806695904 100644 > > --- a/gcc/config/aarch64/aarch64-cores.def > > +++ b/gcc/config/aarch64/aarch64-cores.def > > @@ -75,6 +75,8 @@ AARCH64_CORE("thunderxt83", thunderxt83, thunderx, > > V8A, (CRC, CRYPTO), thu > > AARCH64_CORE("ampere1", ampere1, cortexa57, V8_6A, (F16, RNG, AES, SHA3), > > ampere1, 0xC0, 0xac3, -1) > > AARCH64_CORE("ampere1a", ampere1a, cortexa57, V8_6A, (F16, RNG, AES, SHA3, > > SM4, MEMTAG), ampere1a, 0xC0, 0xac4, -1) > > AARCH64_CORE("ampere1b", ampere1b, cortexa57, V8_7A, (F16, RNG, AES, SHA3, > > SM4, MEMTAG, CSSC), ampere1b, 0xC0, 0xac5, -1) > > +AARCH64_CORE("ampere1c", ampere1c, cortexa57, V9_2A, (CSSC, CRYPTO, > > FP8FMA, FAMINMAX, LUT, SVE_B16B16, SVE2, SVE2_AES, SVE2_SHA3, SVE2_SM4, > > RCPC2, WFXT), neoversen3, 0xc0, 0xac7, -1) > > You don't need to specify SVE2, WFXT or RCPC2 here since they are > implicit with V9_2A. > Otherwise OK. > > Thanks, > Andrew > > > > + > > /* Do not swap around "emag" and "xgene1", > > this order is required to handle variant correctly. */ > > AARCH64_CORE("emag", emag, xgene1, V8A, (CRC, CRYPTO), > > emag, 0x50, 0x000, 3) > > diff --git a/gcc/config/aarch64/aarch64-tune.md > > b/gcc/config/aarch64/aarch64-tune.md > > index dc10f70265d2..292796cb1e7b 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,thunderxt88,thunderxt88p1,octeontx,octeontxt81,octeontxt83,thunderxt81,thunderxt83,ampere1,ampere1a,ampere1b,emag,xgene1,falkor,qdf24xx,exynosm1,phecda,thunderx2t99p1,vulcan,thunderx2t99,cortexa55,cortexa75,cortexa76,cortexa76ae,cortexa77,cortexa78,cortexa78ae,cortexa78c,cortexa65,cortexa65ae,cortexx1,cortexx1c,neoversen1,ares,neoversee1,octeontx2,octeontx2t98,octeontx2t96,octeontx2t93,octeontx2f95,octeontx2f95n,octeontx2f95mm,a64fx,fujitsu_monaka,tsv110,thunderx3t110,neoversev1,zeus,neoverse512tvb,saphira,oryon1,cortexa57cortexa53,cortexa72cortexa53,cortexa73cortexa35,cortexa73cortexa53,cortexa75cortexa55,cortexa76cortexa55,cortexr82,cortexr82ae,applea12,applem1_0,applem1_1,applem1_2,applem1_3,applem2_0,applem2_1,applem2_2,applem2_3,applem3_0,applem3_1,applem3_2,applem4_0,applem4_1,applem4_2,cortexa510,cortexa520,cortexa520ae,cortexa710,cortexa715,cortexa720,cortexa720ae,cortexa725,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,thunderxt88,thunderxt88p1,octeontx,octeontxt81,octeontxt83,thunderxt81,thunderxt83,ampere1,ampere1a,ampere1b,ampere1c,emag,xgene1,falkor,qdf24xx,exynosm1,phecda,thunderx2t99p1,vulcan,thunderx2t99,cortexa55,cortexa75,cortexa76,cortexa76ae,cortexa77,cortexa78,cortexa78ae,cortexa78c,cortexa65,cortexa65ae,cortexx1,cortexx1c,neoversen1,ares,neoversee1,octeontx2,octeontx2t98,octeontx2t96,octeontx2t93,octeontx2f95,octeontx2f95n,octeontx2f95mm,a64fx,fujitsu_monaka,tsv110,thunderx3t110,neoversev1,zeus,neoverse512tvb,saphira,oryon1,cortexa57cortexa53,cortexa72cortexa53,cortexa73cortexa35,cortexa73cortexa53,cortexa75cortexa55,cortexa76cortexa55,cortexr82,cortexr82ae,applea12,applem1_0,applem1_1,applem1_2,applem1_3,applem2_0,applem2_1,applem2_2,applem2_3,applem3_0,applem3_1,applem3_2,applem4_0,applem4_1,applem4_2,cortexa510,cortexa520,cortexa520ae,cortexa710,cortexa715,cortexa720,cortexa720ae,cortexa725,cortexx2,cortexx3,cortexx4,cortexx925,neoversen2,cobalt100,neoversen3,neoversev2,grace,neoversev3,neoversev3ae,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 32b9c48f155c..47126ab06f5c 100644 > > --- a/gcc/doc/invoke.texi > > +++ b/gcc/doc/invoke.texi > > @@ -22437,8 +22437,8 @@ performance of the code. Permissible values for > > this option are: > > @samp{cortex-x2}, @samp{cortex-x3}, @samp{cortex-x4}, @samp{cortex-a510}, > > @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}, @samp{apple-m4} and @samp{native}. > > +@samp{ampere1b}, @samp{ampere1c}, @samp{cobalt-100}, @samp{apple-m1}, > > +@samp{apple-m2}, @samp{apple-m3}, @samp{apple-m4} and @samp{native}. > > > > The values @samp{cortex-a57.cortex-a53}, @samp{cortex-a72.cortex-a53}, > > @samp{cortex-a73.cortex-a35}, @samp{cortex-a73.cortex-a53}, > > -- > > 2.34.1 > > > > base-commit: f9338340056e435d36fee28b02b3dcf1cafc2524 > > branch: vrull/mcpu-ampere1c
