This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][AArch64] Enable AUTOPREFETCHER_WEAK with -mcpu=generic
- From: "Richard Earnshaw (lists)" <Richard dot Earnshaw at arm dot com>
- To: Wilco Dijkstra <Wilco dot Dijkstra at arm dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Cc: nd <nd at arm dot com>, James Greenhalgh <James dot Greenhalgh at arm dot com>, "Andrew dot pinski at cavium dot com" <Andrew dot pinski at cavium dot com>, Evandro Menezes <e dot menezes at samsung dot com>, "jim dot wilson at linaro dot org" <jim dot wilson at linaro dot org>
- Date: Thu, 4 May 2017 11:28:13 +0100
- Subject: Re: [PATCH][AArch64] Enable AUTOPREFETCHER_WEAK with -mcpu=generic
- Authentication-results: sourceware.org; auth=none
- References: <AM5PR0802MB26108A29134FE37A5335A38F830A0@AM5PR0802MB2610.eurprd08.prod.outlook.com>
On 05/04/17 13:38, Wilco Dijkstra wrote:
> Many supported cores use the AUTOPREFETCHER_WEAK setting which tries
> to order loads and stores to improve streaming performance. Since significant
> gains were reported in http://patchwork.ozlabs.org/patch/534469/ it seems
> like a good idea to enable this setting too for -mcpu=generic. Since the
> weak model only keeps the order if it doesn't make the schedule worse, it
> should not impact performance adversely on cores that don't show a gain.
> Any objections?
>
> ChangeLog:
> 2017-04-05 Wilco Dijkstra <wdijkstr@arm.com>
>
> * gcc/config/aarch64/aarch64.c (generic_tunings): Update prefetch model.
>
OK. The consensus seems to be in favour of this.
R.
> --
> diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
> index 8b729b1b1f87316e940d7fc657f235a935ffa93e..b249ce2b310707c7ded2827d505ce2ddfcfbf976 100644
> --- a/gcc/config/aarch64/aarch64.c
> +++ b/gcc/config/aarch64/aarch64.c
> @@ -547,7 +547,7 @@ static const struct tune_params generic_tunings =
> 2, /* min_div_recip_mul_df. */
> 0, /* max_case_values. */
> 0, /* cache_line_size. */
> - tune_params::AUTOPREFETCHER_OFF, /* autoprefetcher_model. */
> + tune_params::AUTOPREFETCHER_WEAK, /* autoprefetcher_model. */
> (AARCH64_EXTRA_TUNE_NONE) /* tune_flags. */
> };
>