aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorWilco Dijkstra <wdijkstr@arm.com>2017-05-04 17:49:19 +0000
committerWilco Dijkstra <wilco@gcc.gnu.org>2017-05-04 17:49:19 +0000
commit9779b2e87c038303a8f44d3f22672bd1703442fc (patch)
tree6518542f9e55174825be51aff173b9586226b831 /gcc
parent6b13482bb6c33d2d37494ec33e2028fcbe4e0635 (diff)
downloadgcc-9779b2e87c038303a8f44d3f22672bd1703442fc.zip
gcc-9779b2e87c038303a8f44d3f22672bd1703442fc.tar.gz
gcc-9779b2e87c038303a8f44d3f22672bd1703442fc.tar.bz2
Set jump alignment to 4 for Cortex cores as it reduces codesize by 0.4% on...
Set jump alignment to 4 for Cortex cores as it reduces codesize by 0.4% on average with no obvious performance difference. See original discussion of the overheads of various alignments: https://gcc.gnu.org/ml/gcc-patches/2016-06/msg02075.html. gcc/ * config/aarch64/aarch64.c (cortexa35_tunings): Set jump alignment to 4. (cortexa53_tunings): Likewise. (cortexa57_tunings): Likewise. (cortexa72_tunings): Likewise. (cortexa73_tunings): Likewise. From-SVN: r247609
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/aarch64/aarch64.c10
2 files changed, 13 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7a533b2..88be3a8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,13 @@
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.
+ (cortexa72_tunings): Likewise.
+ (cortexa73_tunings): Likewise.
+
+2017-05-04 Wilco Dijkstra <wdijkstr@arm.com>
+
* config/aarch64/aarch64.c (generic_tunings): Set jump alignment to 4.
Set loop alignment to 8.
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index bf13f6b..6227352 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -564,7 +564,7 @@ static const struct tune_params cortexa35_tunings =
(AARCH64_FUSE_AES_AESMC | AARCH64_FUSE_MOV_MOVK | AARCH64_FUSE_ADRP_ADD
| AARCH64_FUSE_MOVK_MOVK | AARCH64_FUSE_ADRP_LDR), /* fusible_ops */
16, /* function_align. */
- 8, /* jump_align. */
+ 4, /* jump_align. */
8, /* loop_align. */
2, /* int_reassoc_width. */
4, /* fp_reassoc_width. */
@@ -590,7 +590,7 @@ static const struct tune_params cortexa53_tunings =
(AARCH64_FUSE_AES_AESMC | AARCH64_FUSE_MOV_MOVK | AARCH64_FUSE_ADRP_ADD
| AARCH64_FUSE_MOVK_MOVK | AARCH64_FUSE_ADRP_LDR), /* fusible_ops */
16, /* function_align. */
- 8, /* jump_align. */
+ 4, /* jump_align. */
8, /* loop_align. */
2, /* int_reassoc_width. */
4, /* fp_reassoc_width. */
@@ -616,7 +616,7 @@ static const struct tune_params cortexa57_tunings =
(AARCH64_FUSE_AES_AESMC | AARCH64_FUSE_MOV_MOVK | AARCH64_FUSE_ADRP_ADD
| AARCH64_FUSE_MOVK_MOVK), /* fusible_ops */
16, /* function_align. */
- 8, /* jump_align. */
+ 4, /* jump_align. */
8, /* loop_align. */
2, /* int_reassoc_width. */
4, /* fp_reassoc_width. */
@@ -642,7 +642,7 @@ static const struct tune_params cortexa72_tunings =
(AARCH64_FUSE_AES_AESMC | AARCH64_FUSE_MOV_MOVK | AARCH64_FUSE_ADRP_ADD
| AARCH64_FUSE_MOVK_MOVK), /* fusible_ops */
16, /* function_align. */
- 8, /* jump_align. */
+ 4, /* jump_align. */
8, /* loop_align. */
2, /* int_reassoc_width. */
4, /* fp_reassoc_width. */
@@ -668,7 +668,7 @@ static const struct tune_params cortexa73_tunings =
(AARCH64_FUSE_AES_AESMC | AARCH64_FUSE_MOV_MOVK | AARCH64_FUSE_ADRP_ADD
| AARCH64_FUSE_MOVK_MOVK | AARCH64_FUSE_ADRP_LDR), /* fusible_ops */
16, /* function_align. */
- 8, /* jump_align. */
+ 4, /* jump_align. */
8, /* loop_align. */
2, /* int_reassoc_width. */
4, /* fp_reassoc_width. */