diff options
author | James Greenhalgh <james.greenhalgh@arm.com> | 2016-06-20 14:01:04 +0000 |
---|---|---|
committer | James Greenhalgh <jgreenhalgh@gcc.gnu.org> | 2016-06-20 14:01:04 +0000 |
commit | f6dbc402e18a4d8e4f4941c4e7b2f9ec4e3c9ed4 (patch) | |
tree | 05997385745005b09d6158a648210056d4172481 /gcc/config/arm | |
parent | 636929b8d68c11f92ed3fa47614a38915d9476f4 (diff) | |
download | gcc-f6dbc402e18a4d8e4f4941c4e7b2f9ec4e3c9ed4.zip gcc-f6dbc402e18a4d8e4f4941c4e7b2f9ec4e3c9ed4.tar.gz gcc-f6dbc402e18a4d8e4f4941c4e7b2f9ec4e3c9ed4.tar.bz2 |
[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
Diffstat (limited to 'gcc/config/arm')
-rw-r--r-- | gcc/config/arm/aarch-cost-tables.h | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/gcc/config/arm/aarch-cost-tables.h b/gcc/config/arm/aarch-cost-tables.h index 5f42253..8bcfcb4 100644 --- a/gcc/config/arm/aarch-cost-tables.h +++ b/gcc/config/arm/aarch-cost-tables.h @@ -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 */ |