Message ID | 274fcfd3-34cd-452e-9785-0810e677569c@AZ-NEU-EX04.Arm.com |
---|---|
State | New |
Headers | show |
Series | aarch64: Add support for Cortex-X1C CPU. | expand |
Hi Srinath, > -----Original Message----- > From: Srinath Parvathaneni <srinath.parvathaneni@arm.com> > Sent: Friday, November 11, 2022 12:11 PM > To: gcc-patches@gcc.gnu.org > Cc: Richard Sandiford <Richard.Sandiford@arm.com>; Kyrylo Tkachov > <Kyrylo.Tkachov@arm.com> > Subject: [PATCH][GCC] aarch64: Add support for Cortex-X1C CPU. > > Hi, > > This patch adds support for Cortex-X1C CPU. > > Bootstrapped on aarch64-none-linux-gnu and found no regressions. > > Ok for GCC master? > Ok. Thanks, Kyrill > Regards, > Srinath. > > gcc/ChangeLog: > > 2022-11-09 Srinath Parvathaneni <srinath.parvathaneni@arm.com> > > * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-X1C > CPU. > * config/aarch64/aarch64-tune.md: Regenerate. > * doc/gcc/gcc-command-options/machine-dependent-options/aarch64- > options.rst: > Document Cortex-X1C CPU. > > > ############### Attachment also inlined for ease of reply > ############### > > > diff --git a/gcc/config/aarch64/aarch64-cores.def > b/gcc/config/aarch64/aarch64-cores.def > index > 380bd8d90fdc7bddea2c8465522a30f938c2ffc5..d2671778928678f1ab8f7e6c7 > 9c9721f3abe1f5c 100644 > --- a/gcc/config/aarch64/aarch64-cores.def > +++ b/gcc/config/aarch64/aarch64-cores.def > @@ -110,6 +110,7 @@ AARCH64_CORE("cortex-a78c", cortexa78c, > cortexa57, V8_2A, (F16, RCPC, DOTPROD, > AARCH64_CORE("cortex-a65", cortexa65, cortexa53, V8_2A, (F16, RCPC, > DOTPROD, SSBS), cortexa73, 0x41, 0xd06, -1) > AARCH64_CORE("cortex-a65ae", cortexa65ae, cortexa53, V8_2A, (F16, > RCPC, DOTPROD, SSBS), cortexa73, 0x41, 0xd43, -1) > AARCH64_CORE("cortex-x1", cortexx1, cortexa57, V8_2A, (F16, RCPC, > DOTPROD, SSBS, PROFILE), neoversen1, 0x41, 0xd44, -1) > +AARCH64_CORE("cortex-x1c", cortexx1c, cortexa57, V8_2A, (F16, RCPC, > DOTPROD, SSBS, PROFILE, PAUTH), neoversen1, 0x41, 0xd4c, -1) > AARCH64_CORE("ares", ares, cortexa57, V8_2A, (F16, RCPC, DOTPROD, > PROFILE), neoversen1, 0x41, 0xd0c, -1) > AARCH64_CORE("neoverse-n1", neoversen1, cortexa57, V8_2A, (F16, RCPC, > DOTPROD, PROFILE), neoversen1, 0x41, 0xd0c, -1) > AARCH64_CORE("neoverse-e1", neoversee1, cortexa53, V8_2A, (F16, RCPC, > DOTPROD, SSBS), cortexa73, 0x41, 0xd4a, -1) > diff --git a/gcc/config/aarch64/aarch64-tune.md > b/gcc/config/aarch64/aarch64-tune.md > index > f5b1482ba357d14f36e13ca3c4358865d4238e9a..22ec1be5a4c71b930221d2c4 > f1e62df57df0cadf 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,thun > derx,thunderxt88p1,thunderxt88,octeontx,octeontxt81,octeontxt83,thunder > xt81,thunderxt83,ampere1,emag,xgene1,falkor,qdf24xx,exynosm1,phecda,t > hunderx2t99p1,vulcan,thunderx2t99,cortexa55,cortexa75,cortexa76,cortexa > 76ae,cortexa77,cortexa78,cortexa78ae,cortexa78c,cortexa65,cortexa65ae,co > rtexx1,ares,neoversen1,neoversee1,octeontx2,octeontx2t98,octeontx2t96,oc > teontx2t93,octeontx2f95,octeontx2f95n,octeontx2f95mm,a64fx,tsv110,thun > derx3t110,zeus,neoversev1,neoverse512tvb,saphira,cortexa57cortexa53,cort > exa72cortexa53,cortexa73cortexa35,cortexa73cortexa53,cortexa75cortexa55 > ,cortexa76cortexa55,cortexr82,cortexa510,cortexa710,cortexa715,cortexx2,n > eoversen2,demeter,neoversev2" > + > "cortexa34,cortexa35,cortexa53,cortexa57,cortexa72,cortexa73,thun > derx,thunderxt88p1,thunderxt88,octeontx,octeontxt81,octeontxt83,thunder > xt81,thunderxt83,ampere1,emag,xgene1,falkor,qdf24xx,exynosm1,phecda,t > hunderx2t99p1,vulcan,thunderx2t99,cortexa55,cortexa75,cortexa76,cortexa > 76ae,cortexa77,cortexa78,cortexa78ae,cortexa78c,cortexa65,cortexa65ae,co > rtexx1,cortexx1c,ares,neoversen1,neoversee1,octeontx2,octeontx2t98,octeo > ntx2t96,octeontx2t93,octeontx2f95,octeontx2f95n,octeontx2f95mm,a64fx,ts > v110,thunderx3t110,zeus,neoversev1,neoverse512tvb,saphira,cortexa57cort > exa53,cortexa72cortexa53,cortexa73cortexa35,cortexa73cortexa53,cortexa7 > 5cortexa55,cortexa76cortexa55,cortexr82,cortexa510,cortexa710,cortexa715 > ,cortexx2,neoversen2,demeter,neoversev2" > (const (symbol_ref "((enum attr_tune) aarch64_tune)"))) > diff --git a/gcc/doc/gcc/gcc-command-options/machine-dependent- > options/aarch64-options.rst b/gcc/doc/gcc/gcc-command-options/machine- > dependent-options/aarch64-options.rst > index > 2e1bd6dbfb1fcff53dd562ec5e8923d0a21cf715..d97515d9e54feaa85a2ead4e > 9b73f0eb966cb39f 100644 > --- a/gcc/doc/gcc/gcc-command-options/machine-dependent- > options/aarch64-options.rst > +++ b/gcc/doc/gcc/gcc-command-options/machine-dependent- > options/aarch64-options.rst > @@ -257,7 +257,7 @@ These options are defined for AArch64 > implementations: > :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:`cortex-x2`, > + :samp:`cortex-r82`, :samp:`cortex-x1`, :samp:`cortex-x1c`, :samp:`cortex- > x2`, > :samp:`cortex-a510`, :samp:`cortex-a710`, :samp:`cortex-a715`, > :samp:`ampere1`, > :samp:`native`. > > >
diff --git a/gcc/config/aarch64/aarch64-cores.def b/gcc/config/aarch64/aarch64-cores.def index 380bd8d90fdc7bddea2c8465522a30f938c2ffc5..d2671778928678f1ab8f7e6c79c9721f3abe1f5c 100644 --- a/gcc/config/aarch64/aarch64-cores.def +++ b/gcc/config/aarch64/aarch64-cores.def @@ -110,6 +110,7 @@ AARCH64_CORE("cortex-a78c", cortexa78c, cortexa57, V8_2A, (F16, RCPC, DOTPROD, AARCH64_CORE("cortex-a65", cortexa65, cortexa53, V8_2A, (F16, RCPC, DOTPROD, SSBS), cortexa73, 0x41, 0xd06, -1) AARCH64_CORE("cortex-a65ae", cortexa65ae, cortexa53, V8_2A, (F16, RCPC, DOTPROD, SSBS), cortexa73, 0x41, 0xd43, -1) AARCH64_CORE("cortex-x1", cortexx1, cortexa57, V8_2A, (F16, RCPC, DOTPROD, SSBS, PROFILE), neoversen1, 0x41, 0xd44, -1) +AARCH64_CORE("cortex-x1c", cortexx1c, cortexa57, V8_2A, (F16, RCPC, DOTPROD, SSBS, PROFILE, PAUTH), neoversen1, 0x41, 0xd4c, -1) AARCH64_CORE("ares", ares, cortexa57, V8_2A, (F16, RCPC, DOTPROD, PROFILE), neoversen1, 0x41, 0xd0c, -1) AARCH64_CORE("neoverse-n1", neoversen1, cortexa57, V8_2A, (F16, RCPC, DOTPROD, PROFILE), neoversen1, 0x41, 0xd0c, -1) AARCH64_CORE("neoverse-e1", neoversee1, cortexa53, V8_2A, (F16, RCPC, DOTPROD, SSBS), cortexa73, 0x41, 0xd4a, -1) diff --git a/gcc/config/aarch64/aarch64-tune.md b/gcc/config/aarch64/aarch64-tune.md index f5b1482ba357d14f36e13ca3c4358865d4238e9a..22ec1be5a4c71b930221d2c4f1e62df57df0cadf 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,ampere1,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,neoverse512tvb,saphira,cortexa57cortexa53,cortexa72cortexa53,cortexa73cortexa35,cortexa73cortexa53,cortexa75cortexa55,cortexa76cortexa55,cortexr82,cortexa510,cortexa710,cortexa715,cortexx2,neoversen2,demeter,neoversev2" + "cortexa34,cortexa35,cortexa53,cortexa57,cortexa72,cortexa73,thunderx,thunderxt88p1,thunderxt88,octeontx,octeontxt81,octeontxt83,thunderxt81,thunderxt83,ampere1,emag,xgene1,falkor,qdf24xx,exynosm1,phecda,thunderx2t99p1,vulcan,thunderx2t99,cortexa55,cortexa75,cortexa76,cortexa76ae,cortexa77,cortexa78,cortexa78ae,cortexa78c,cortexa65,cortexa65ae,cortexx1,cortexx1c,ares,neoversen1,neoversee1,octeontx2,octeontx2t98,octeontx2t96,octeontx2t93,octeontx2f95,octeontx2f95n,octeontx2f95mm,a64fx,tsv110,thunderx3t110,zeus,neoversev1,neoverse512tvb,saphira,cortexa57cortexa53,cortexa72cortexa53,cortexa73cortexa35,cortexa73cortexa53,cortexa75cortexa55,cortexa76cortexa55,cortexr82,cortexa510,cortexa710,cortexa715,cortexx2,neoversen2,demeter,neoversev2" (const (symbol_ref "((enum attr_tune) aarch64_tune)"))) diff --git a/gcc/doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst b/gcc/doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst index 2e1bd6dbfb1fcff53dd562ec5e8923d0a21cf715..d97515d9e54feaa85a2ead4e9b73f0eb966cb39f 100644 --- a/gcc/doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst +++ b/gcc/doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst @@ -257,7 +257,7 @@ These options are defined for AArch64 implementations: :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:`cortex-x2`, + :samp:`cortex-r82`, :samp:`cortex-x1`, :samp:`cortex-x1c`, :samp:`cortex-x2`, :samp:`cortex-a510`, :samp:`cortex-a710`, :samp:`cortex-a715`, :samp:`ampere1`, :samp:`native`.