This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH/AARCH64] Enable software prefetching (-fprefetch-loop-arrays) for ThunderX 88xxx
- From: Andrew Pinski <apinski at cavium dot com>
- To: Maxim Kuvyrkov <maxim dot kuvyrkov at linaro dot org>
- Cc: Richard Guenther <richard dot guenther at gmail dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 3 Feb 2017 14:21:39 -0800
- Subject: Re: [PATCH/AARCH64] Enable software prefetching (-fprefetch-loop-arrays) for ThunderX 88xxx
- Authentication-results: sourceware.org; auth=none
- Authentication-results: spf=none (sender IP is ) smtp.mailfrom=Andrew dot Pinski at cavium dot com;
- References: <CA+=Sn1kk9gtpVAuqE-RcAyps=6HzX+-4Kj_+QPZC+oOda6GtDg@mail.gmail.com> <CAFiYyc0KnZwFrrambGN6eRjO+yc_d0AGKGEYXT7uVAqwwJsi4A@mail.gmail.com> <CAFiYyc1DqXTJ_zSJrZkvmtWvZJDxJ6i-6PQnoKjEJ7v+a6f6qw@mail.gmail.com> <CA+=Sn1mDc0Oxb7w96+TPmABAjZOPwgLq5-AQAhf6oJ1dU-J7fA@mail.gmail.com> <98546B8C-4A65-43FE-9D45-59A1BA6540AF@linaro.org> <CA+=Sn1n1RL2XjvjszhA-kNNXiZFc8+h+jkQ_ajmgzBUu4QFq8g@mail.gmail.com> <475B7C0B-263E-488C-B444-47F4AAC47C64@linaro.org>
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
On Fri, Feb 3, 2017 at 4:00 AM, Maxim Kuvyrkov
<maxim.kuvyrkov@linaro.org> wrote:
> Hi Andrew,
>
> I took the liberty of rebasing your patch on top of my patchset. Does it look correct?
Yes this looks correct.
Thanks,
Andrew
>
> I think I addressed all the comments you had about my review and posted updated patches.
>
> --
> Maxim Kuvyrkov
> www.linaro.org
>
>
>
>> On Jan 30, 2017, at 7:25 PM, Andrew Pinski <apinski@cavium.com> wrote:
>>
>> On Mon, Jan 30, 2017 at 6:49 AM, Maxim Kuvyrkov
>> <maxim.kuvyrkov@linaro.org> wrote:
>>>> On Jan 27, 2017, at 6:59 PM, Andrew Pinski <apinski@cavium.com> wrote:
>>>>
>>>> On Fri, Jan 27, 2017 at 4:11 AM, Richard Biener
>>>> <richard.guenther@gmail.com> wrote:
>>>>> On Fri, Jan 27, 2017 at 1:10 PM, Richard Biener
>>>>> <richard.guenther@gmail.com> wrote:
>>>>>> On Thu, Jan 26, 2017 at 9:56 PM, Andrew Pinski <apinski@cavium.com> wrote:
>>>>>>> Hi,
>>>>>>> This patch enables -fprefetch-loop-arrays for -mcpu=thunderxt88 and
>>>>>>> -mcpu=thunderxt88p1. I filled out the tuning structures for both
>>>>>>> thunderx and thunderx2t99. No other core current enables software
>>>>>>> prefetching so I set them to 0 which does not change the default
>>>>>>> parameters.
>>>>>>>
>>>>>>> OK? Bootstrapped and tested on both ThunderX2 CN99xx and ThunderX
>>>>>>> CN88xx with no regressions. I got a 2x improvement for 462.libquantum
>>>>>>> on CN88xx, overall a 10% improvement on SPEC INT on CN88xx at -Ofast.
>>>>>>> CN99xx's SPEC did not change.
>>>>>>
>>>>>> Heh, quite impressive for this kind of bit-rotten (and broken?) pass ;)
>>>>>
>>>>> And I wonder if most benefit comes from the unrolling the pass might do
>>>>> rather than from the prefetches...
>>>>
>>>> Not in this case. The main reason why I know is because the number of
>>>> L1 and L2 misses drops a lot.
>>>
>>> I can confirm this. In my experiments loop unrolling hurts several tests.
>>
>> Not on the cores I tried it. I tried it on both ThunderX CN88xx and
>> ThunderX CN99xx, I did not get any regressions due to unrolling.
>>
>> Thanks,
>> Andrew
>>
>>>
>>> The prefetching approach I'm testing for -O2 includes disabling of loop unrolling to prevent code bloat.
>>>
>>> --
>>> Maxim Kuvyrkov
>>> www.linaro.org
>