From a91f4d0515f67f0a5b1b9b7c154778a9bc5c82d4 Mon Sep 17 00:00:00 2001 From: Wilco Dijkstra Date: Fri, 17 Jan 2020 14:27:14 +0000 Subject: [PATCH] [AArch64] Enable compare branch fusion Enable the most basic form of compare-branch fusion since various CPUs support it. This has no measurable effect on cores which don't support branch fusion, but increases fusion opportunities on cores which do. 2020-01-17 Wilco Dijkstra gcc/ * config/aarch64/aarch64.c (generic_tunings): Add branch fusion. (neoversen1_tunings): Likewise. (cherry picked from commit 6ed8c923325c9b2fcb30996fa14582ac136d9329) --- gcc/config/aarch64/aarch64.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index ca21ae842cc7..05eaef3d2e6a 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -536,7 +536,7 @@ static const struct tune_params generic_tunings = &generic_approx_modes, 4, /* memmov_cost */ 2, /* issue_rate */ - (AARCH64_FUSE_AES_AESMC), /* fusible_ops */ + (AARCH64_FUSE_AES_AESMC | AARCH64_FUSE_CMP_BRANCH), /* fusible_ops */ 8, /* function_align. */ 8, /* jump_align. */ 4, /* loop_align. */ @@ -817,7 +817,7 @@ static const struct tune_params neoversen1_tunings = &generic_approx_modes, 4, /* memmov_cost */ 3, /* issue_rate */ - AARCH64_FUSE_AES_AESMC, /* fusible_ops */ + (AARCH64_FUSE_AES_AESMC | AARCH64_FUSE_CMP_BRANCH), /* fusible_ops */ 32, /* function_align. */ 4, /* jump_align. */ 32, /* loop_align. */ -- 2.43.5