Commit 9094d4a4 by Wilco Dijkstra Committed by Wilco Dijkstra

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
parent deeba76a
2017-03-22 Wilco Dijkstra <wdijkstr@arm.com> 2017-03-22 Wilco Dijkstra <wdijkstr@arm.com>
* config/aarch64/aarch64.c (generic_branch_cost):
Copycortexa57_branch_cost.
2017-03-22 Wilco Dijkstra <wdijkstr@arm.com>
* config/aarch64/aarch64.c (generic_tunings): Add AES fusion. * config/aarch64/aarch64.c (generic_tunings): Add AES fusion.
2017-03-21 Aaron Sawdey <acsawdey@linux.vnet.ibm.com> 2017-03-21 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
......
...@@ -484,8 +484,8 @@ static const struct cpu_vector_cost thunderx2t99_vector_cost = ...@@ -484,8 +484,8 @@ static const struct cpu_vector_cost thunderx2t99_vector_cost =
/* Generic costs for branch instructions. */ /* Generic costs for branch instructions. */
static const struct cpu_branch_cost generic_branch_cost = static const struct cpu_branch_cost generic_branch_cost =
{ {
2, /* Predictable. */ 1, /* Predictable. */
2 /* Unpredictable. */ 3 /* Unpredictable. */
}; };
/* Branch costs for Cortex-A57. */ /* Branch costs for Cortex-A57. */
......
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