aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorWilco Dijkstra <wdijkstr@arm.com>2017-03-22 18:12:05 +0000
committerWilco Dijkstra <wilco@gcc.gnu.org>2017-03-22 18:12:05 +0000
commit9094d4a46f518bb5f37c654d2119a00ecdd2b5bb (patch)
treec5f05033b42ce3b770db0a9cd8debb09ebe05e0d /gcc/config
parentdeeba76acc92e46a326c7d88be80e59a1fd797c8 (diff)
downloadgcc-9094d4a46f518bb5f37c654d2119a00ecdd2b5bb.zip
gcc-9094d4a46f518bb5f37c654d2119a00ecdd2b5bb.tar.gz
gcc-9094d4a46f518bb5f37c654d2119a00ecdd2b5bb.tar.bz2
Recently we've put a lot of effort into improving ifcvt to use CSEL on AArch64.
In https://gcc.gnu.org/ml/gcc-patches/2015-11/msg01639.html James determined the best value for AArch64 code generation. Although this setting is used when explicitly targeting Cortex cores, it is not otherwise used. This means by default GCC will not use (F)CSEL in many common cases. Change the generic_branch_cost to be the same as cortexa57_branch_cost so that all supported cores benefit from CSEL. This is generally faster and smaller. On one benchmark the new setting fixes a regression since GCC6 and improves performance by 49%. gcc/ * config/aarch64/aarch64.c (generic_branch_cost): Copy cortexa57_branch_cost. From-SVN: r246397
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/aarch64/aarch64.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index eb0095d..4f769a4 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -484,8 +484,8 @@ static const struct cpu_vector_cost thunderx2t99_vector_cost =
/* Generic costs for branch instructions. */
static const struct cpu_branch_cost generic_branch_cost =
{
- 2, /* Predictable. */
- 2 /* Unpredictable. */
+ 1, /* Predictable. */
+ 3 /* Unpredictable. */
};
/* Branch costs for Cortex-A57. */