diff options
author | Wilco Dijkstra <wdijkstr@arm.com> | 2017-05-04 17:49:19 +0000 |
---|---|---|
committer | Wilco Dijkstra <wilco@gcc.gnu.org> | 2017-05-04 17:49:19 +0000 |
commit | 9779b2e87c038303a8f44d3f22672bd1703442fc (patch) | |
tree | 6518542f9e55174825be51aff173b9586226b831 /gcc | |
parent | 6b13482bb6c33d2d37494ec33e2028fcbe4e0635 (diff) | |
download | gcc-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/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config/aarch64/aarch64.c | 10 |
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. */ |