aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilco Dijkstra <wdijkstr@arm.com>2017-05-04 17:52:03 +0000
committerWilco Dijkstra <wilco@gcc.gnu.org>2017-05-04 17:52:03 +0000
commit3b4c0f7e1e162db6c6ad22a6ffd1fc626fa9eb37 (patch)
treeb436f596ecfbae19b7a00b5f1931f5c786dcaa8d
parent9779b2e87c038303a8f44d3f22672bd1703442fc (diff)
downloadgcc-3b4c0f7e1e162db6c6ad22a6ffd1fc626fa9eb37.zip
gcc-3b4c0f7e1e162db6c6ad22a6ffd1fc626fa9eb37.tar.gz
gcc-3b4c0f7e1e162db6c6ad22a6ffd1fc626fa9eb37.tar.bz2
Many supported cores use the AUTOPREFETCHER_WEAK setting which tries to order...
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. gcc/ * config/aarch64/aarch64.c (generic_tunings): Update prefetch model. From-SVN: r247610
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/aarch64/aarch64.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 88be3a8..374a338 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2017-05-04 Wilco Dijkstra <wdijkstr@arm.com>
+ * config/aarch64/aarch64.c (generic_tunings): Update prefetch model.
+
+2017-05-04 Wilco Dijkstra <wdijkstr@arm.com>
+
* config/aarch64/aarch64.c (cortexa35_tunings): Set jump alignment to 4.
(cortexa53_tunings): Likewise.
(cortexa57_tunings): Likewise.
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index 6227352..71f9819 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. */
};