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> 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. * config/aarch64/arm_neon.h (vcvt_n_f64_s64): New.
(vcvt_n_f64_u64): Likewise. (vcvt_n_f64_u64): Likewise.
(vcvt_n_s64_f64): Likewise. (vcvt_n_s64_f64): Likewise.
......
...@@ -191,35 +191,35 @@ const struct cpu_cost_table cortexa53_extra_costs = ...@@ -191,35 +191,35 @@ const struct cpu_cost_table cortexa53_extra_costs =
{ {
/* FP SFmode */ /* FP SFmode */
{ {
COSTS_N_INSNS (15), /* div. */ COSTS_N_INSNS (5), /* div. */
COSTS_N_INSNS (3), /* mult. */ COSTS_N_INSNS (1), /* mult. */
COSTS_N_INSNS (7), /* mult_addsub. */ COSTS_N_INSNS (2), /* mult_addsub. */
COSTS_N_INSNS (7), /* fma. */ COSTS_N_INSNS (2), /* fma. */
COSTS_N_INSNS (3), /* addsub. */ COSTS_N_INSNS (1), /* addsub. */
COSTS_N_INSNS (1), /* fpconst. */ 0, /* fpconst. */
COSTS_N_INSNS (2), /* neg. */ COSTS_N_INSNS (1), /* neg. */
COSTS_N_INSNS (1), /* compare. */ 0, /* compare. */
COSTS_N_INSNS (3), /* widen. */ COSTS_N_INSNS (1), /* widen. */
COSTS_N_INSNS (3), /* narrow. */ COSTS_N_INSNS (1), /* narrow. */
COSTS_N_INSNS (3), /* toint. */ COSTS_N_INSNS (1), /* toint. */
COSTS_N_INSNS (3), /* fromint. */ COSTS_N_INSNS (1), /* fromint. */
COSTS_N_INSNS (3) /* roundint. */ COSTS_N_INSNS (1) /* roundint. */
}, },
/* FP DFmode */ /* FP DFmode */
{ {
COSTS_N_INSNS (30), /* div. */ COSTS_N_INSNS (10), /* div. */
COSTS_N_INSNS (3), /* mult. */ COSTS_N_INSNS (1), /* mult. */
COSTS_N_INSNS (7), /* mult_addsub. */ COSTS_N_INSNS (2), /* mult_addsub. */
COSTS_N_INSNS (7), /* fma. */ COSTS_N_INSNS (2), /* fma. */
COSTS_N_INSNS (3), /* addsub. */ COSTS_N_INSNS (1), /* addsub. */
COSTS_N_INSNS (1), /* fpconst. */ 0, /* fpconst. */
COSTS_N_INSNS (2), /* neg. */ COSTS_N_INSNS (1), /* neg. */
COSTS_N_INSNS (1), /* compare. */ 0, /* compare. */
COSTS_N_INSNS (3), /* widen. */ COSTS_N_INSNS (1), /* widen. */
COSTS_N_INSNS (3), /* narrow. */ COSTS_N_INSNS (1), /* narrow. */
COSTS_N_INSNS (3), /* toint. */ COSTS_N_INSNS (1), /* toint. */
COSTS_N_INSNS (3), /* fromint. */ COSTS_N_INSNS (1), /* fromint. */
COSTS_N_INSNS (3) /* 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