[AArch64] Add regmove_costs for Cortex-A57 and A53
2014-09-12 Wilco Dijkstra <wdijkstr@arm.com> * gcc/config/aarch64/aarch64.c: (cortexa57_regmove_cost): New cost table for A57. (cortexa53_regmove_cost): New cost table for A53. Increase GP2FP/FP2GP cost to spilling from integer to FP registers. From-SVN: r215208
This commit is contained in:
parent
20b32e50e2
commit
e4a9c55ade
2 changed files with 29 additions and 2 deletions
|
@ -1,3 +1,10 @@
|
|||
2014-09-12 Wilco Dijkstra <wilco.dijkstra@arm.com>
|
||||
|
||||
* gcc/config/aarch64/aarch64.c (cortexa57_regmove_cost): New cost table
|
||||
for A57.
|
||||
(cortexa53_regmove_cost): New cost table for A53. Increase GP2FP/FP2GP
|
||||
cost to spilling from integer to FP registers.
|
||||
|
||||
2014-09-12 Wilco Dijkstra <wilco.dijkstra@arm.com>
|
||||
|
||||
* config/aarch64/aarch64.c (aarch64_register_move_cost): Fix Q register
|
||||
|
|
|
@ -218,6 +218,26 @@ static const struct cpu_regmove_cost generic_regmove_cost =
|
|||
NAMED_PARAM (FP2FP, 2)
|
||||
};
|
||||
|
||||
static const struct cpu_regmove_cost cortexa57_regmove_cost =
|
||||
{
|
||||
NAMED_PARAM (GP2GP, 1),
|
||||
/* Avoid the use of slow int<->fp moves for spilling by setting
|
||||
their cost higher than memmov_cost. */
|
||||
NAMED_PARAM (GP2FP, 5),
|
||||
NAMED_PARAM (FP2GP, 5),
|
||||
NAMED_PARAM (FP2FP, 2)
|
||||
};
|
||||
|
||||
static const struct cpu_regmove_cost cortexa53_regmove_cost =
|
||||
{
|
||||
NAMED_PARAM (GP2GP, 1),
|
||||
/* Avoid the use of slow int<->fp moves for spilling by setting
|
||||
their cost higher than memmov_cost. */
|
||||
NAMED_PARAM (GP2FP, 5),
|
||||
NAMED_PARAM (FP2GP, 5),
|
||||
NAMED_PARAM (FP2FP, 2)
|
||||
};
|
||||
|
||||
/* Generic costs for vector insn classes. */
|
||||
#if HAVE_DESIGNATED_INITIALIZERS && GCC_VERSION >= 2007
|
||||
__extension__
|
||||
|
@ -275,7 +295,7 @@ static const struct tune_params cortexa53_tunings =
|
|||
{
|
||||
&cortexa53_extra_costs,
|
||||
&generic_addrcost_table,
|
||||
&generic_regmove_cost,
|
||||
&cortexa53_regmove_cost,
|
||||
&generic_vector_cost,
|
||||
NAMED_PARAM (memmov_cost, 4),
|
||||
NAMED_PARAM (issue_rate, 2)
|
||||
|
@ -285,7 +305,7 @@ static const struct tune_params cortexa57_tunings =
|
|||
{
|
||||
&cortexa57_extra_costs,
|
||||
&cortexa57_addrcost_table,
|
||||
&generic_regmove_cost,
|
||||
&cortexa57_regmove_cost,
|
||||
&cortexa57_vector_cost,
|
||||
NAMED_PARAM (memmov_cost, 4),
|
||||
NAMED_PARAM (issue_rate, 3)
|
||||
|
|
Loading…
Add table
Reference in a new issue