[PATCH v5] aarch64: Add TX3 machine model

Anton Youdkevitch anton.youdkevitch@bell-sw.com
Tue Apr 28 09:11:56 GMT 2020


On 28.4.2020 12:02 , Kyrylo Tkachov wrote:
> Hi Anton,
>
>> -----Original Message-----
>> From: Anton Youdkevitch <anton.youdkevitch@bell-sw.com>
>> Sent: 27 April 2020 18:21
>> To: Kyrylo Tkachov <Kyrylo.Tkachov@arm.com>
>> Cc: gcc-patches@gcc.gnu.org; Richard Earnshaw
>> <Richard.Earnshaw@arm.com>; James Greenhalgh
>> <James.Greenhalgh@arm.com>; Richard Sandiford
>> <Richard.Sandiford@arm.com>; jjones@marvell.com
>> Subject: Re: [PATCH v5] aarch64: Add TX3 machine model
>>
>> On Mon, Apr 27, 2020 at 04:34:49PM +0000, Kyrylo Tkachov wrote:
>>> Hi Anton,
>>>
>>>> -----Original Message-----
>>>> From: Anton Youdkevitch <anton.youdkevitch@bell-sw.com>
>>>> Sent: 27 April 2020 11:24
>>>> To: gcc-patches@gcc.gnu.org
>>>> Cc: Richard Earnshaw <Richard.Earnshaw@arm.com>; Kyrylo Tkachov
>>>> <Kyrylo.Tkachov@arm.com>; James Greenhalgh
>>>> <James.Greenhalgh@arm.com>; Richard Sandiford
>>>> <Richard.Sandiford@arm.com>; jjones@marvell.com
>>>> Subject: [PATCH v5] aarch64: Add TX3 machine model
>>>>
>>>> Here is the patch introducing thunderx3t110 machine model
>>>> for the scheduler. A name for the new chip was added to the
>>>> list of the names to be recognized as a valid parameter for
>>>> mcpu and mtune flags. Added the TX3 tuning table and cost
>>>> model tables.
>>>>
>>>> Added the new chip name to the documentation. Fixed copyright
>>>> names and dates.
>>>>
>>>> Lowering the chip capabilities to v8.3 to be on the safe side.
>>>>
>>>> Bootstrapped on AArch64.
>>>>
>>>> 2020-04-27 Anton Youdkevitch <anton.youdkevitch@bell-sw.com>
>>>>
>>>>          * config/aarch64/aarch64-cores.def: Add the chip name.
>>>>          * config/aarch64/aarch64-tune.md: Regenerated.
>>>>          * config/aarch64/aarch64.c: Add tuning table for the chip.
>>>>          * gcc/config/aarch64/aarch64-cost-tables.h: Add cost tables.
>>>>          * config/aarch64/thunderx3t110.md: New file: add the new
>>>>          machine model for the scheduler
>>>>          * config/aarch64/aarch64.md: Include the new model.
>>>>          * doc/invoke.texi: Add the new name to the list
>>>>
>>>>
>>>> ---
>>>>   gcc/config/aarch64/aarch64-cores.def     |   3 +
>>>>   gcc/config/aarch64/aarch64-cost-tables.h | 103 +++
>>>>   gcc/config/aarch64/aarch64-tune.md       |   2 +-
>>>>   gcc/config/aarch64/aarch64.c             |  83 ++
>>>>   gcc/config/aarch64/aarch64.md            |   1 +
>>>>   gcc/config/aarch64/thunderx3t110.md      | 686 +++++++++++++++
>>>>   gcc/doc/invoke.texi                      |   2 +-
>>>>   7 files changed, 878 insertions(+), 2 deletions(-)
>>> diff --git a/gcc/config/aarch64/aarch64-cores.def
>> b/gcc/config/aarch64/aarch64-cores.def
>>> index ea9b98b..4d8605a 100644
>>> --- a/gcc/config/aarch64/aarch64-cores.def
>>> +++ b/gcc/config/aarch64/aarch64-cores.def
>>> @@ -95,6 +95,9 @@ AARCH64_CORE("vulcan",  vulcan, thunderx2t99,
>> 8_1A,  AARCH64_FL_FOR_ARCH8_1 | AA
>>>   /* Cavium ('C') cores. */
>>>   AARCH64_CORE("thunderx2t99",  thunderx2t99,  thunderx2t99, 8_1A,
>> AARCH64_FL_FOR_ARCH8_1 | AARCH64_FL_CRYPTO, thunderx2t99, 0x43,
>> 0x0af, -1)
>>> +/* Marvell cores (TX3). */
>>> +AARCH64_CORE("thunderx3t110",  thunderx3t110,  thunderx3t110, 8_3A,
>> AARCH64_FL_FOR_ARCH8_3 | AARCH64_FL_CRYPTO | AARCH64_FL_RCPC |
>> AARCH64_FL_SM4 | AARCH64_FL_SHA3 | AARCH64_FL_F16FML |
>> AARCH64_FL_RCPC8_4, thunderx3t110, 0x43, 0x0b8, 0x0a)
>>> +
>>>
>>> Please move this to a new section with a  comment /* ARMv8.3-A
>> Architecture processors*/
>>> So that we're consistent with the format of the file.
>> Fixed.
> Thanks, I've pushed the patch with a fixed ChangeLog (entries should list what has changed in a file).
Thanks a lot!

> Can you please create a patch for the AArch64 changes in the https://gcc.gnu.org/gcc-10/changes.html page for the release.
> The instructions are at https://gcc.gnu.org/about.html
Will do.

>
>
> 2020-04-27 Anton Youdkevitch <anton.youdkevitch@bell-sw.com>
>
>          * config/aarch64/aarch64-cores.def (thunderx3t110): Add the chip name.
>          * config/aarch64/aarch64-tune.md: Regenerate.
>          * config/aarch64/aarch64.c (thunderx3t110_addrcost_table): Define.
>          (thunderx3t110_regmove_cost): Likewise.
>          (thunderx3t110_vector_cost): Likewise.
>          (thunderx3t110_prefetch_tune): Likewise.
>          (thunderx3t110_tunings): Likewise.
>          * gcc/config/aarch64/aarch64-cost-tables.h (thunderx3t110_extra_costs):
>          Define.
>          * config/aarch64/thunderx3t110.md: New file.
>          * config/aarch64/aarch64.md: Include thunderx3t110.md.
>          * doc/invoke.texi (AArch64 options): Add thunderx3t110.
>
> Thanks,
> Kyrill
>
>
>>> Ok with that change.
>>> Kyrill
>>>
>>>   /* ARMv8.2-A Architecture Processors.  */



More information about the Gcc-patches mailing list