[AArch64] Adjust tuning parameters for Falkor
authorLuis Machado <luis.machado@linaro.org>
Fri, 17 Nov 2017 16:03:37 +0000 (16:03 +0000)
committerLuis Machado <luisgpm@gcc.gnu.org>
Fri, 17 Nov 2017 16:03:37 +0000 (16:03 +0000)
Disabling software prefetching and switching the autoprefetcher to weak improves
CPU2017 rate and speed benchmarks for both int and fp sets on Falkor.

SPECrate 2017 fp is up 0.38%
SPECspeed 2017 fp is up 0.54%
SPECrate 2017 int is up 3.02%
SPECspeed 2017 int is up 3.16%

There are only a couple individual regressions. The biggest one being about 4%
in parest.

For SPEC2006, we've noticed the following:

SPECint is up 0.91%
SPECfp is stable

In the case of SPEC2006 we noticed both a big regression in mcf (about 20%)
and a big improvement for hmmer (about 40%).

Since the overall result is positive, we would like to make these new tuning
settings the default for Falkor.

We may revisit the software prefetcher setting in the future, in case we
can adjust it enough so it provides us a good balance between improvements and
regressions (mcf). But for now it is best if it stays off.

2017-11-17  Luis Machado  <luis.machado@linaro.org>

gcc/
* config/aarch64/aarch64.c
(qdf24xx_prefetch_tune) <default_opt_level>: Set to -1.
(qdf24xx_tunings) <autoprefetcher_model>: Set to
tune_params::AUTOPREFETCHER_WEAK.

From-SVN: r254879

gcc/ChangeLog
gcc/config/aarch64/aarch64.c

index a7954d2dbc3710a4190593e6de72bbf70e34b37c..38101fa35502cc1638674c814f0224c8d36d248d 100644 (file)
@@ -1,3 +1,10 @@
+2017-11-17  Luis Machado  <luis.machado@linaro.org>
+
+       * config/aarch64/aarch64.c
+       (qdf24xx_prefetch_tune) <default_opt_level>: Set to -1.
+       (qdf24xx_tunings) <autoprefetcher_model>: Set to
+       tune_params::AUTOPREFETCHER_WEAK.
+
 2017-11-17  Tamar Christina  <tamar.christina@arm.com>
 
        PR target/82641
index 0c67e2b5c67ad7c31da4a7bda98f754b7d57192f..8779cad91d9225441ad44029bfac58a1e3c06096 100644 (file)
@@ -508,7 +508,7 @@ static const cpu_prefetch_tune qdf24xx_prefetch_tune =
   32,                  /* l1_cache_size  */
   64,                  /* l1_cache_line_size  */
   1024,                        /* l2_cache_size  */
-                     /* default_opt_level  */
+  -1                   /* default_opt_level  */
 };
 
 static const cpu_prefetch_tune thunderxt88_prefetch_tune =
@@ -817,7 +817,7 @@ static const struct tune_params qdf24xx_tunings =
   2,   /* min_div_recip_mul_sf.  */
   2,   /* min_div_recip_mul_df.  */
   0,   /* max_case_values.  */
-  tune_params::AUTOPREFETCHER_STRONG,  /* autoprefetcher_model.  */
+  tune_params::AUTOPREFETCHER_WEAK,    /* autoprefetcher_model.  */
   (AARCH64_EXTRA_TUNE_NONE),           /* tune_flags.  */
   &qdf24xx_prefetch_tune
 };