Re: [PATCH v1] AArch64: Add -mcpu=armagicpu definition
Andrea Pinski <[email protected]>
| Newsgroups | gmane.comp.gcc.patches |
|---|---|
| Message-ID | <CALvbMcCW4fhvLiCiSmq37qZMGKHDKSHpqbcQuQMV=qQT0E0_zQ@mail.gmail.com> |
On Thu, Aug 13, 2026 at 1:33 PM Claudio Bantaloukas <[email protected]> wrote: > > > > On 13/08/2026 21:20, Claudio Bantaloukas via Sourceware Forge wrote: > > From: Tamar Christina <[email protected]> > > > > This adds the -mcpu=armagicpu for the Arm AGI CPU. > > > > gcc/ChangeLog: > > > > * config/aarch64/aarch64-cores.def (armagicpu): New. > > * config/aarch64/aarch64-tune.md: Renegerate > > * doc/invoke.texi: Document it. > > --- > Apologies, the bot sent this before I could update the description. > (filed this as > https://forge.sourceware.org/forge/batrachomyomachia/issues/46) > > OK to merge to gcc-15? > Left original author from cherry-pick. Please let me know if I should do > this differently. ok > > Cheers, > Claudio > > > This is a forge pull request published on the gcc-patches mailing list mailing list > > as requested by Claudio Bantaloukas via Sourceware Forge <[email protected]>. > > Forge discussion: https://forge.sourceware.org/gcc/gcc/pulls/218 > > > > Get it locally using: > > ``` > > git fetch forge-upstream "+refs/versioned_pull/218/*:refs/versioned_pull/218/*" > > git switch -c "pr-218-v1" "refs/versioned_pull/218/1/head" > > ``` > > Or, download the patch at: https://forge.sourceware.org/gcc/gcc/pulls/218.diff > > Created on: 2026-08-13 20:20:32+00:00 > > Latest update: 2026-08-13 20:20:33+00:00 > > Changes: 3 changed files, 4 additions, 3 deletions > > Head revision: gcc/gcc ref refs/pull/218/head commit 9ee745f5319e375e3fd98888b83902bdc81728c8 > > Base revision: gcc/gcc ref releases/gcc-15 commit 865623b7a930bc9b61af26b5cdfb23573c94f116 r15-11474-g865623b7a930bc > > Merge base: 865623b7a930bc9b61af26b5cdfb23573c94f116 > > Requested Reviewers: > > > > Changed files: > > - M: gcc/config/aarch64/aarch64-cores.def > > - M: gcc/config/aarch64/aarch64-tune.md > > - M: gcc/doc/invoke.texi > > > > gcc/config/aarch64/aarch64-cores.def | 1 + > > gcc/config/aarch64/aarch64-tune.md | 2 +- > > gcc/doc/invoke.texi | 4 ++-- > > 3 files changed, 4 insertions(+), 3 deletions(-) > > > > diff --git a/gcc/config/aarch64/aarch64-cores.def b/gcc/config/aarch64/aarch64-cores.def > > index 03637796c92b6..ed861d7682013 100644 > > --- a/gcc/config/aarch64/aarch64-cores.def > > +++ b/gcc/config/aarch64/aarch64-cores.def > > @@ -221,6 +221,7 @@ AARCH64_CORE("neoverse-v2", neoversev2, cortexa57, V9A, (I8MM, BF16, SVE2_BITPER > > AARCH64_CORE("grace", grace, cortexa57, V9A, (I8MM, BF16, SVE2_BITPERM, SVE2_AES, SVE2_SHA3, SVE2_SM4, PROFILE), neoversev2, 0x41, 0xd4f, -1) > > 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("armagicpu", armagicpu, cortexa57, V9_2A, (SVE2_BITPERM, RNG, LS64, MEMTAG, PROFILE), neoversev3ae, 0x41, 0xd83, -1) > > > > AARCH64_CORE("demeter", demeter, cortexa57, V9A, (I8MM, BF16, SVE2_BITPERM, RNG, MEMTAG, PROFILE), neoversev2, 0x41, 0xd4f, -1) > > > > diff --git a/gcc/config/aarch64/aarch64-tune.md b/gcc/config/aarch64/aarch64-tune.md > > index 326e053671337..e1cd59d9458f9 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,hip12,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,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,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,hip12,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,cortexa510,cortexa520,cortexa520ae,cortexa710,cortexa715,cortexa720,cortexa720ae,cortexa725,cortexx2,cortexx3,cortexx4,cortexx925,neoversen2,cobalt100,neoversen3,neoversev2,grace,neoversev3,neoversev3ae,armagicpu,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 1d5fc48cabc99..8c38abf1ac4f9 100644 > > --- a/gcc/doc/invoke.texi > > +++ b/gcc/doc/invoke.texi > > @@ -22008,8 +22008,8 @@ performance of the code. Permissible values for this option are: > > @samp{oryon-1}, > > @samp{neoverse-512tvb}, @samp{neoverse-e1}, @samp{neoverse-n1}, > > @samp{neoverse-n2}, @samp{neoverse-v1}, @samp{neoverse-v2}, @samp{grace}, > > -@samp{neoverse-v3}, @samp{neoverse-v3ae}, @samp{neoverse-n3}, @samp{olympus}, > > -@samp{cortex-a725}, @samp{cortex-x925}, > > +@samp{neoverse-v3}, @samp{neoverse-v3ae}, @samp{armagicpu}, @samp{neoverse-n3}, > > +@samp{olympus}, @samp{cortex-a725}, @samp{cortex-x925}, > > @samp{qdf24xx}, @samp{saphira}, @samp{phecda}, @samp{xgene1}, @samp{vulcan}, > > @samp{octeontx}, @samp{octeontx81}, @samp{octeontx83}, > > @samp{octeontx2}, @samp{octeontx2t98}, @samp{octeontx2t96} >