[AArch64 costs 2/18] Add cost tables for Cortex-A57
gcc/ * config/aarch64/aarch64.c (cortexa57_addrcost_table): New. (cortexa57_vector_cost): Likewise. (cortexa57_tunings): Use them. From-SVN: r210494
This commit is contained in:
parent
677473677a
commit
60bff09020
|
@ -1,3 +1,9 @@
|
|||
2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
|
||||
|
||||
* config/aarch64/aarch64.c (cortexa57_addrcost_table): New.
|
||||
(cortexa57_vector_cost): Likewise.
|
||||
(cortexa57_tunings): Use them.
|
||||
|
||||
2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
|
||||
|
||||
* config/aarch64/aarch64-protos.h (scale_addr_mode_cost): New.
|
||||
|
|
|
@ -187,6 +187,27 @@ static const struct cpu_addrcost_table generic_addrcost_table =
|
|||
NAMED_PARAM (imm_offset, 0)
|
||||
};
|
||||
|
||||
#if HAVE_DESIGNATED_INITIALIZERS && GCC_VERSION >= 2007
|
||||
__extension__
|
||||
#endif
|
||||
static const struct cpu_addrcost_table cortexa57_addrcost_table =
|
||||
{
|
||||
#if HAVE_DESIGNATED_INITIALIZERS
|
||||
.addr_scale_costs =
|
||||
#endif
|
||||
{
|
||||
NAMED_PARAM (qi, 0),
|
||||
NAMED_PARAM (hi, 1),
|
||||
NAMED_PARAM (si, 0),
|
||||
NAMED_PARAM (ti, 1),
|
||||
},
|
||||
NAMED_PARAM (pre_modify, 0),
|
||||
NAMED_PARAM (post_modify, 0),
|
||||
NAMED_PARAM (register_offset, 0),
|
||||
NAMED_PARAM (register_extend, 0),
|
||||
NAMED_PARAM (imm_offset, 0),
|
||||
};
|
||||
|
||||
#if HAVE_DESIGNATED_INITIALIZERS && GCC_VERSION >= 2007
|
||||
__extension__
|
||||
#endif
|
||||
|
@ -221,6 +242,26 @@ static const struct cpu_vector_cost generic_vector_cost =
|
|||
NAMED_PARAM (cond_not_taken_branch_cost, 1)
|
||||
};
|
||||
|
||||
/* Generic costs for vector insn classes. */
|
||||
#if HAVE_DESIGNATED_INITIALIZERS && GCC_VERSION >= 2007
|
||||
__extension__
|
||||
#endif
|
||||
static const struct cpu_vector_cost cortexa57_vector_cost =
|
||||
{
|
||||
NAMED_PARAM (scalar_stmt_cost, 1),
|
||||
NAMED_PARAM (scalar_load_cost, 4),
|
||||
NAMED_PARAM (scalar_store_cost, 1),
|
||||
NAMED_PARAM (vec_stmt_cost, 3),
|
||||
NAMED_PARAM (vec_to_scalar_cost, 8),
|
||||
NAMED_PARAM (scalar_to_vec_cost, 8),
|
||||
NAMED_PARAM (vec_align_load_cost, 5),
|
||||
NAMED_PARAM (vec_unalign_load_cost, 5),
|
||||
NAMED_PARAM (vec_unalign_store_cost, 1),
|
||||
NAMED_PARAM (vec_store_cost, 1),
|
||||
NAMED_PARAM (cond_taken_branch_cost, 1),
|
||||
NAMED_PARAM (cond_not_taken_branch_cost, 1)
|
||||
};
|
||||
|
||||
#if HAVE_DESIGNATED_INITIALIZERS && GCC_VERSION >= 2007
|
||||
__extension__
|
||||
#endif
|
||||
|
@ -247,9 +288,9 @@ static const struct tune_params cortexa53_tunings =
|
|||
static const struct tune_params cortexa57_tunings =
|
||||
{
|
||||
&cortexa57_extra_costs,
|
||||
&generic_addrcost_table,
|
||||
&cortexa57_addrcost_table,
|
||||
&generic_regmove_cost,
|
||||
&generic_vector_cost,
|
||||
&cortexa57_vector_cost,
|
||||
NAMED_PARAM (memmov_cost, 4),
|
||||
NAMED_PARAM (issue_rate, 3)
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue