Commit f6dbc402 by James Greenhalgh Committed by James Greenhalgh

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

gcc/

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

From-SVN: r237604
parent 636929b8
2016-06-20 James Greenhalgh <james.greenhalgh@arm.com>
* config/arm/aarch-cost-tables.h (cortexa53_extra_costs): Make FP
costs relative to the cost of a register move.
2016-06-20 James Greenhalgh <james.greenhalgh@arm.com>
* config/aarch64/arm_neon.h (vcvt_n_f64_s64): New.
(vcvt_n_f64_u64): Likewise.
(vcvt_n_s64_f64): Likewise.
......
......@@ -191,35 +191,35 @@ const struct cpu_cost_table cortexa53_extra_costs =
{
/* FP SFmode */
{
COSTS_N_INSNS (15), /* div. */
COSTS_N_INSNS (3), /* mult. */
COSTS_N_INSNS (7), /* mult_addsub. */
COSTS_N_INSNS (7), /* fma. */
COSTS_N_INSNS (3), /* addsub. */
COSTS_N_INSNS (1), /* fpconst. */
COSTS_N_INSNS (2), /* neg. */
COSTS_N_INSNS (1), /* compare. */
COSTS_N_INSNS (3), /* widen. */
COSTS_N_INSNS (3), /* narrow. */
COSTS_N_INSNS (3), /* toint. */
COSTS_N_INSNS (3), /* fromint. */
COSTS_N_INSNS (3) /* roundint. */
COSTS_N_INSNS (5), /* div. */
COSTS_N_INSNS (1), /* mult. */
COSTS_N_INSNS (2), /* mult_addsub. */
COSTS_N_INSNS (2), /* fma. */
COSTS_N_INSNS (1), /* addsub. */
0, /* fpconst. */
COSTS_N_INSNS (1), /* neg. */
0, /* compare. */
COSTS_N_INSNS (1), /* widen. */
COSTS_N_INSNS (1), /* narrow. */
COSTS_N_INSNS (1), /* toint. */
COSTS_N_INSNS (1), /* fromint. */
COSTS_N_INSNS (1) /* roundint. */
},
/* FP DFmode */
{
COSTS_N_INSNS (30), /* div. */
COSTS_N_INSNS (3), /* mult. */
COSTS_N_INSNS (7), /* mult_addsub. */
COSTS_N_INSNS (7), /* fma. */
COSTS_N_INSNS (3), /* addsub. */
COSTS_N_INSNS (1), /* fpconst. */
COSTS_N_INSNS (2), /* neg. */
COSTS_N_INSNS (1), /* compare. */
COSTS_N_INSNS (3), /* widen. */
COSTS_N_INSNS (3), /* narrow. */
COSTS_N_INSNS (3), /* toint. */
COSTS_N_INSNS (3), /* fromint. */
COSTS_N_INSNS (3) /* roundint. */
COSTS_N_INSNS (10), /* div. */
COSTS_N_INSNS (1), /* mult. */
COSTS_N_INSNS (2), /* mult_addsub. */
COSTS_N_INSNS (2), /* fma. */
COSTS_N_INSNS (1), /* addsub. */
0, /* fpconst. */
COSTS_N_INSNS (1), /* neg. */
0, /* compare. */
COSTS_N_INSNS (1), /* widen. */
COSTS_N_INSNS (1), /* narrow. */
COSTS_N_INSNS (1), /* toint. */
COSTS_N_INSNS (1), /* fromint. */
COSTS_N_INSNS (1) /* roundint. */
}
},
/* 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