Commit 9779b2e8 by Wilco Dijkstra Committed by Wilco Dijkstra

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
parent 6b13482b
2017-05-04 Wilco Dijkstra <wdijkstr@arm.com> 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. * config/aarch64/aarch64.c (generic_tunings): Set jump alignment to 4.
Set loop alignment to 8. Set loop alignment to 8.
......
...@@ -564,7 +564,7 @@ static const struct tune_params cortexa35_tunings = ...@@ -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_AES_AESMC | AARCH64_FUSE_MOV_MOVK | AARCH64_FUSE_ADRP_ADD
| AARCH64_FUSE_MOVK_MOVK | AARCH64_FUSE_ADRP_LDR), /* fusible_ops */ | AARCH64_FUSE_MOVK_MOVK | AARCH64_FUSE_ADRP_LDR), /* fusible_ops */
16, /* function_align. */ 16, /* function_align. */
8, /* jump_align. */ 4, /* jump_align. */
8, /* loop_align. */ 8, /* loop_align. */
2, /* int_reassoc_width. */ 2, /* int_reassoc_width. */
4, /* fp_reassoc_width. */ 4, /* fp_reassoc_width. */
...@@ -590,7 +590,7 @@ static const struct tune_params cortexa53_tunings = ...@@ -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_AES_AESMC | AARCH64_FUSE_MOV_MOVK | AARCH64_FUSE_ADRP_ADD
| AARCH64_FUSE_MOVK_MOVK | AARCH64_FUSE_ADRP_LDR), /* fusible_ops */ | AARCH64_FUSE_MOVK_MOVK | AARCH64_FUSE_ADRP_LDR), /* fusible_ops */
16, /* function_align. */ 16, /* function_align. */
8, /* jump_align. */ 4, /* jump_align. */
8, /* loop_align. */ 8, /* loop_align. */
2, /* int_reassoc_width. */ 2, /* int_reassoc_width. */
4, /* fp_reassoc_width. */ 4, /* fp_reassoc_width. */
...@@ -616,7 +616,7 @@ static const struct tune_params cortexa57_tunings = ...@@ -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_AES_AESMC | AARCH64_FUSE_MOV_MOVK | AARCH64_FUSE_ADRP_ADD
| AARCH64_FUSE_MOVK_MOVK), /* fusible_ops */ | AARCH64_FUSE_MOVK_MOVK), /* fusible_ops */
16, /* function_align. */ 16, /* function_align. */
8, /* jump_align. */ 4, /* jump_align. */
8, /* loop_align. */ 8, /* loop_align. */
2, /* int_reassoc_width. */ 2, /* int_reassoc_width. */
4, /* fp_reassoc_width. */ 4, /* fp_reassoc_width. */
...@@ -642,7 +642,7 @@ static const struct tune_params cortexa72_tunings = ...@@ -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_AES_AESMC | AARCH64_FUSE_MOV_MOVK | AARCH64_FUSE_ADRP_ADD
| AARCH64_FUSE_MOVK_MOVK), /* fusible_ops */ | AARCH64_FUSE_MOVK_MOVK), /* fusible_ops */
16, /* function_align. */ 16, /* function_align. */
8, /* jump_align. */ 4, /* jump_align. */
8, /* loop_align. */ 8, /* loop_align. */
2, /* int_reassoc_width. */ 2, /* int_reassoc_width. */
4, /* fp_reassoc_width. */ 4, /* fp_reassoc_width. */
...@@ -668,7 +668,7 @@ static const struct tune_params cortexa73_tunings = ...@@ -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_AES_AESMC | AARCH64_FUSE_MOV_MOVK | AARCH64_FUSE_ADRP_ADD
| AARCH64_FUSE_MOVK_MOVK | AARCH64_FUSE_ADRP_LDR), /* fusible_ops */ | AARCH64_FUSE_MOVK_MOVK | AARCH64_FUSE_ADRP_LDR), /* fusible_ops */
16, /* function_align. */ 16, /* function_align. */
8, /* jump_align. */ 4, /* jump_align. */
8, /* loop_align. */ 8, /* loop_align. */
2, /* int_reassoc_width. */ 2, /* int_reassoc_width. */
4, /* fp_reassoc_width. */ 4, /* fp_reassoc_width. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment