Commit b2fb6b75 by James Greenhalgh Committed by James Greenhalgh

[AArch64] Give some new costs for Cortex-A57 floating-point operations

gcc/

	* config/arm/aarch-cost-tables.h (cortexa57_extra_costs): Make FP
	costs relative to the cost of a register move.

From-SVN: r237601
parent 20250fb8
2016-06-20 James Greenhalgh <james.greenhalgh@arm.com>
* config/arm/aarch-cost-tables.h (cortexa57_extra_costs): Make FP
costs relative to the cost of a register move.
2016-06-20 Wilco Dijkstra <wdijkstr@arm.com> 2016-06-20 Wilco Dijkstra <wdijkstr@arm.com>
* config/aarch64/aarch64.c (aarch64_modes_tieable_p): * config/aarch64/aarch64.c (aarch64_modes_tieable_p):
......
...@@ -294,35 +294,35 @@ const struct cpu_cost_table cortexa57_extra_costs = ...@@ -294,35 +294,35 @@ const struct cpu_cost_table cortexa57_extra_costs =
{ {
/* FP SFmode */ /* FP SFmode */
{ {
COSTS_N_INSNS (17), /* div. */ COSTS_N_INSNS (6), /* div. */
COSTS_N_INSNS (5), /* mult. */ COSTS_N_INSNS (1), /* mult. */
COSTS_N_INSNS (9), /* mult_addsub. */ COSTS_N_INSNS (2), /* mult_addsub. */
COSTS_N_INSNS (9), /* fma. */ COSTS_N_INSNS (2), /* fma. */
COSTS_N_INSNS (4), /* addsub. */ COSTS_N_INSNS (1), /* addsub. */
COSTS_N_INSNS (2), /* fpconst. */ 0, /* fpconst. */
COSTS_N_INSNS (2), /* neg. */ 0, /* neg. */
COSTS_N_INSNS (2), /* compare. */ 0, /* compare. */
COSTS_N_INSNS (4), /* widen. */ COSTS_N_INSNS (1), /* widen. */
COSTS_N_INSNS (4), /* narrow. */ COSTS_N_INSNS (1), /* narrow. */
COSTS_N_INSNS (4), /* toint. */ COSTS_N_INSNS (1), /* toint. */
COSTS_N_INSNS (4), /* fromint. */ COSTS_N_INSNS (1), /* fromint. */
COSTS_N_INSNS (4) /* roundint. */ COSTS_N_INSNS (1) /* roundint. */
}, },
/* FP DFmode */ /* FP DFmode */
{ {
COSTS_N_INSNS (31), /* div. */ COSTS_N_INSNS (11), /* div. */
COSTS_N_INSNS (5), /* mult. */ COSTS_N_INSNS (1), /* mult. */
COSTS_N_INSNS (9), /* mult_addsub. */ COSTS_N_INSNS (2), /* mult_addsub. */
COSTS_N_INSNS (9), /* fma. */ COSTS_N_INSNS (2), /* fma. */
COSTS_N_INSNS (4), /* addsub. */ COSTS_N_INSNS (1), /* addsub. */
COSTS_N_INSNS (2), /* fpconst. */ 0, /* fpconst. */
COSTS_N_INSNS (2), /* neg. */ 0, /* neg. */
COSTS_N_INSNS (2), /* compare. */ 0, /* compare. */
COSTS_N_INSNS (4), /* widen. */ COSTS_N_INSNS (1), /* widen. */
COSTS_N_INSNS (4), /* narrow. */ COSTS_N_INSNS (1), /* narrow. */
COSTS_N_INSNS (4), /* toint. */ COSTS_N_INSNS (1), /* toint. */
COSTS_N_INSNS (4), /* fromint. */ COSTS_N_INSNS (1), /* fromint. */
COSTS_N_INSNS (4) /* roundint. */ COSTS_N_INSNS (1) /* roundint. */
} }
}, },
/* Vector */ /* Vector */
......
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