This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH/AARCH64] Add OcteonTX for -mcpu=
- From: "Richard Earnshaw (lists)" <Richard dot Earnshaw at arm dot com>
- To: Andrew Pinski <pinskia at gmail dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 2 Nov 2018 11:06:42 +0000
- Subject: Re: [PATCH/AARCH64] Add OcteonTX for -mcpu=
- References: <CA+=Sn1kwyzBkrzRSQVFPJzOfMS1LGVRWzL=RddeDFKwB08dDgw@mail.gmail.com> <00981196-39f0-3a4a-1149-3651cfe0e20c@arm.com> <CA+=Sn1=dZc97fH9Pp1WFOPVt5r1nhgBMZZsnksqCux_vUBHTKw@mail.gmail.com>
On 01/11/2018 01:52, Andrew Pinski wrote:
> On Tue, Oct 30, 2018 at 10:21 AM Richard Earnshaw (lists)
> <Richard.Earnshaw@arm.com> wrote:
>>
>> On 30/10/2018 17:06, Andrew Pinski wrote:
>>> Hi all,
>>> There was a name change of the Products, ThunderX T81 and ThunderX
>>> T83 to OcteonTX family name. This change was done a few years ago but
>>> I had not submmitted the change at that time. This is also the first
>>> patch in a series to add OcteonTX 2 support to GCC.
>>>
>>> OK? Bootstrapped and tested on aarch64-linux-gnu with no regression.
>>>
>>
>> You're missing a documentation update.
>
> Oops. I knew I missed that too.
> Here is the updated patch with the doc update included.
>
> Thanks,
> Andrew Pinski
>
> gcc/ChangeLog:
> * config/aarch64/aarch64-cores.def (octeontx): New.
> (octeontx81): Likewise.
> (octeontx83): Likewise.
> * config/aarch64/aarch64-tune.md: Regenerate.
> * doc/invoke.texi (AArch64 Options) [mtune]: Add octeontx, octeontx81
> and octeontx83.
>
OK.
R.
>>
>> R.
>>
>>> Thanks,
>>> Andrew Pinski
>>>
>>> gcc/ChangeLog:
>>> * config/aarch64/aarch64-cores.def (octeontx): New.
>>> (octeontx81): Likewise.
>>> (octeontx83): Likewise.
>>> * config/aarch64/aarch64-tune.md: Regenerate.
>>>
>>>
>>> addoctx.diff.txt
>>>
>>> Index: gcc/config/aarch64/aarch64-cores.def
>>> ===================================================================
>>> --- gcc/config/aarch64/aarch64-cores.def (revision 265605)
>>> +++ gcc/config/aarch64/aarch64-cores.def (working copy)
>>> @@ -58,6 +58,12 @@
>>> this order is required to handle variant correctly. */
>>> AARCH64_CORE("thunderxt88p1", thunderxt88p1, thunderx, 8A, AARCH64_FL_FOR_ARCH8 | AARCH64_FL_CRC | AARCH64_FL_CRYPTO, thunderxt88, 0x43, 0x0a1, 0)
>>> AARCH64_CORE("thunderxt88", thunderxt88, thunderx, 8A, AARCH64_FL_FOR_ARCH8 | AARCH64_FL_CRC | AARCH64_FL_CRYPTO, thunderxt88, 0x43, 0x0a1, -1)
>>> +
>>> +/* OcteonTX is the official name for T81/T83. */
>>> +AARCH64_CORE("octeontx", octeontx, thunderx, 8A, AARCH64_FL_FOR_ARCH8 | AARCH64_FL_CRC | AARCH64_FL_CRYPTO, thunderx, 0x43, 0x0a0, -1)
>>> +AARCH64_CORE("octeontx81", octeontxt81, thunderx, 8A, AARCH64_FL_FOR_ARCH8 | AARCH64_FL_CRC | AARCH64_FL_CRYPTO, thunderx, 0x43, 0x0a2, -1)
>>> +AARCH64_CORE("octeontx83", octeontxt83, thunderx, 8A, AARCH64_FL_FOR_ARCH8 | AARCH64_FL_CRC | AARCH64_FL_CRYPTO, thunderx, 0x43, 0x0a3, -1)
>>> +
>>> AARCH64_CORE("thunderxt81", thunderxt81, thunderx, 8A, AARCH64_FL_FOR_ARCH8 | AARCH64_FL_CRC | AARCH64_FL_CRYPTO, thunderx, 0x43, 0x0a2, -1)
>>> AARCH64_CORE("thunderxt83", thunderxt83, thunderx, 8A, AARCH64_FL_FOR_ARCH8 | AARCH64_FL_CRC | AARCH64_FL_CRYPTO, thunderx, 0x43, 0x0a3, -1)
>>>
>>> Index: gcc/config/aarch64/aarch64-tune.md
>>> ===================================================================
>>> --- gcc/config/aarch64/aarch64-tune.md (revision 265605)
>>> +++ gcc/config/aarch64/aarch64-tune.md (working copy)
>>> @@ -1,5 +1,5 @@
>>> ;; -*- buffer-read-only: t -*-
>>> ;; Generated automatically by gentune.sh from aarch64-cores.def
>>> (define_attr "tune"
>>> - "cortexa35,cortexa53,cortexa57,cortexa72,cortexa73,thunderx,thunderxt88p1,thunderxt88,thunderxt81,thunderxt83,xgene1,falkor,qdf24xx,exynosm1,phecda,thunderx2t99p1,vulcan,thunderx2t99,cortexa55,cortexa75,cortexa76,tsv110,saphira,cortexa57cortexa53,cortexa72cortexa53,cortexa73cortexa35,cortexa73cortexa53,cortexa75cortexa55,cortexa76cortexa55"
>>> + "cortexa35,cortexa53,cortexa57,cortexa72,cortexa73,thunderx,thunderxt88p1,thunderxt88,octeontx,octeontxt81,octeontxt83,thunderxt81,thunderxt83,xgene1,falkor,qdf24xx,exynosm1,phecda,thunderx2t99p1,vulcan,thunderx2t99,cortexa55,cortexa75,cortexa76,tsv110,saphira,cortexa57cortexa53,cortexa72cortexa53,cortexa73cortexa35,cortexa73cortexa53,cortexa75cortexa55,cortexa76cortexa55"
>>> (const (symbol_ref "((enum attr_tune) aarch64_tune)")))
>>>
>>
>>
>> addoctx.diff.txt
>>
>> Index: gcc/config/aarch64/aarch64-cores.def
>> ===================================================================
>> --- gcc/config/aarch64/aarch64-cores.def (revision 265702)
>> +++ gcc/config/aarch64/aarch64-cores.def (working copy)
>> @@ -58,6 +58,12 @@
>> this order is required to handle variant correctly. */
>> AARCH64_CORE("thunderxt88p1", thunderxt88p1, thunderx, 8A, AARCH64_FL_FOR_ARCH8 | AARCH64_FL_CRC | AARCH64_FL_CRYPTO, thunderxt88, 0x43, 0x0a1, 0)
>> AARCH64_CORE("thunderxt88", thunderxt88, thunderx, 8A, AARCH64_FL_FOR_ARCH8 | AARCH64_FL_CRC | AARCH64_FL_CRYPTO, thunderxt88, 0x43, 0x0a1, -1)
>> +
>> +/* OcteonTX is the official name for T81/T83. */
>> +AARCH64_CORE("octeontx", octeontx, thunderx, 8A, AARCH64_FL_FOR_ARCH8 | AARCH64_FL_CRC | AARCH64_FL_CRYPTO, thunderx, 0x43, 0x0a0, -1)
>> +AARCH64_CORE("octeontx81", octeontxt81, thunderx, 8A, AARCH64_FL_FOR_ARCH8 | AARCH64_FL_CRC | AARCH64_FL_CRYPTO, thunderx, 0x43, 0x0a2, -1)
>> +AARCH64_CORE("octeontx83", octeontxt83, thunderx, 8A, AARCH64_FL_FOR_ARCH8 | AARCH64_FL_CRC | AARCH64_FL_CRYPTO, thunderx, 0x43, 0x0a3, -1)
>> +
>> AARCH64_CORE("thunderxt81", thunderxt81, thunderx, 8A, AARCH64_FL_FOR_ARCH8 | AARCH64_FL_CRC | AARCH64_FL_CRYPTO, thunderx, 0x43, 0x0a2, -1)
>> AARCH64_CORE("thunderxt83", thunderxt83, thunderx, 8A, AARCH64_FL_FOR_ARCH8 | AARCH64_FL_CRC | AARCH64_FL_CRYPTO, thunderx, 0x43, 0x0a3, -1)
>>
>> Index: gcc/config/aarch64/aarch64-tune.md
>> ===================================================================
>> --- gcc/config/aarch64/aarch64-tune.md (revision 265702)
>> +++ gcc/config/aarch64/aarch64-tune.md (working copy)
>> @@ -1,5 +1,5 @@
>> ;; -*- buffer-read-only: t -*-
>> ;; Generated automatically by gentune.sh from aarch64-cores.def
>> (define_attr "tune"
>> - "cortexa35,cortexa53,cortexa57,cortexa72,cortexa73,thunderx,thunderxt88p1,thunderxt88,thunderxt81,thunderxt83,xgene1,falkor,qdf24xx,exynosm1,phecda,thunderx2t99p1,vulcan,thunderx2t99,cortexa55,cortexa75,cortexa76,tsv110,saphira,cortexa57cortexa53,cortexa72cortexa53,cortexa73cortexa35,cortexa73cortexa53,cortexa75cortexa55,cortexa76cortexa55"
>> + "cortexa35,cortexa53,cortexa57,cortexa72,cortexa73,thunderx,thunderxt88p1,thunderxt88,octeontx,octeontxt81,octeontxt83,thunderxt81,thunderxt83,xgene1,falkor,qdf24xx,exynosm1,phecda,thunderx2t99p1,vulcan,thunderx2t99,cortexa55,cortexa75,cortexa76,tsv110,saphira,cortexa57cortexa53,cortexa72cortexa53,cortexa73cortexa35,cortexa73cortexa53,cortexa75cortexa55,cortexa76cortexa55"
>> (const (symbol_ref "((enum attr_tune) aarch64_tune)")))
>> Index: gcc/doc/invoke.texi
>> ===================================================================
>> --- gcc/doc/invoke.texi (revision 265702)
>> +++ gcc/doc/invoke.texi (working copy)
>> @@ -15157,7 +15157,8 @@
>> @samp{cortex-a76}, @samp{exynos-m1}, @samp{falkor}, @samp{qdf24xx},
>> @samp{saphira}, @samp{phecda}, @samp{xgene1}, @samp{vulcan}, @samp{thunderx},
>> @samp{thunderxt88}, @samp{thunderxt88p1}, @samp{thunderxt81},@samp{tsv110},
>> -@samp{thunderxt83}, @samp{thunderx2t99}, @samp{cortex-a57.cortex-a53},
>> +@samp{thunderxt83}, @samp{thunderx2t99}, @samp{octeontx}, @samp{octeontx81},
>> +@samp{octeontx83}, @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}