Switch from using generic address costs to using Falkor-specific ones, which give Falkor better results overall.
OK for trunk? Given this is a Falkor-specific adjustment, would this be an acceptable backport for GCC 8 as well? gcc/ChangeLog: 2018-05-22 Luis Machado <luis.mach...@linaro.org> * config/aarch64/aarch64.c (qdf24xx_addrcost_table): New static global. (qdf24xx_tunings) <addr_costs>: Set to qdf24xx_addrcost_table. --- gcc/config/aarch64/aarch64.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index f60e0ad..548d87a 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -314,6 +314,22 @@ static const struct cpu_addrcost_table thunderx2t99_addrcost_table = 0, /* imm_offset */ }; +static const struct cpu_addrcost_table qdf24xx_addrcost_table = +{ + { + 1, /* hi */ + 1, /* si */ + 1, /* di */ + 2, /* ti */ + }, + 1, /* pre_modify */ + 1, /* post_modify */ + 3, /* register_offset */ + 4, /* register_sextend */ + 3, /* register_zextend */ + 2, /* imm_offset */ +}; + static const struct cpu_regmove_cost generic_regmove_cost = { 1, /* GP2GP */ @@ -856,7 +872,7 @@ static const struct tune_params xgene1_tunings = static const struct tune_params qdf24xx_tunings = { &qdf24xx_extra_costs, - &generic_addrcost_table, + &qdf24xx_addrcost_table, &qdf24xx_regmove_cost, &generic_vector_cost, &generic_branch_cost, -- 2.7.4