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}
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.