diff options
author | Wilco Dijkstra <wdijkstr@arm.com> | 2017-05-04 17:43:43 +0000 |
---|---|---|
committer | Wilco Dijkstra <wilco@gcc.gnu.org> | 2017-05-04 17:43:43 +0000 |
commit | 6b13482bb6c33d2d37494ec33e2028fcbe4e0635 (patch) | |
tree | 476b428a993a41239bf817f3a96793133a260e2b /gcc | |
parent | 0f2c4a8f1d2903f9c07b86bf8faeabe1a01ed34b (diff) | |
download | gcc-6b13482bb6c33d2d37494ec33e2028fcbe4e0635.zip gcc-6b13482bb6c33d2d37494ec33e2028fcbe4e0635.tar.gz gcc-6b13482bb6c33d2d37494ec33e2028fcbe4e0635.tar.bz2 |
With -mcpu=generic the loop alignment is currently 4.
With -mcpu=generic the loop alignment is currently 4. All but one of the
supported cores use 8 or higher. Since using 8 provides performance gains
on several cores, it is best to use that by default. As discussed in [1],
the jump alignment has no effect on performance, yet has a relatively high
codesize cost [2], so setting it to 4 is best. This gives a 0.2% overall
codesize improvement as well as performance gains in several benchmarks.
gcc/
* config/aarch64/aarch64.c (generic_tunings): Set jump alignment to 4.
Set loop alignment to 8.
[1] https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00574.html
[2] https://gcc.gnu.org/ml/gcc-patches/2016-06/msg02075.html
From-SVN: r247608
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/aarch64/aarch64.c | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3e93441..7a533b2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2017-05-04 Wilco Dijkstra <wdijkstr@arm.com> + + * config/aarch64/aarch64.c (generic_tunings): Set jump alignment to 4. + Set loop alignment to 8. + 2017-05-04 Martin Sebor <msebor@redhat.com> PR translation/80280 diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index ee056c6..bf13f6b 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -538,8 +538,8 @@ static const struct tune_params generic_tunings = 2, /* issue_rate */ (AARCH64_FUSE_AES_AESMC), /* fusible_ops */ 8, /* function_align. */ - 8, /* jump_align. */ - 4, /* loop_align. */ + 4, /* jump_align. */ + 8, /* loop_align. */ 2, /* int_reassoc_width. */ 4, /* fp_reassoc_width. */ 1, /* vec_reassoc_width. */ |