Message ID | 1527008678-17828-1-git-send-email-luis.machado@linaro.org |
---|---|
State | New |
Headers | show |
Series | [AArch64,Falkor] Falkor address costs tuning | expand |
On Tue, May 22, 2018 at 12:04:38PM -0500, Luis Machado wrote: > 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? OK for trunk. It doesn't fix a regression, so it wouldn't really fit the definition of a backport patch. That said, if it is important to you to have it in GCC 8, it is sufficiently low-risk for non-Falkor targets that we can take it. So, it is your call if you want to backport it or not. Thanks, James > > gcc/ChangeLog: > > 2018-05-22 Luis Machado <luis.machado@linaro.org> > > * config/aarch64/aarch64.c (qdf24xx_addrcost_table): New static > global. > (qdf24xx_tunings) <addr_costs>: Set to qdf24xx_addrcost_table.
On 05/23/2018 12:17 PM, James Greenhalgh wrote: > On Tue, May 22, 2018 at 12:04:38PM -0500, Luis Machado wrote: >> 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? > > OK for trunk. > > It doesn't fix a regression, so it wouldn't really fit the definition of > a backport patch. That said, if it is important to you to have it in GCC 8, > it is sufficiently low-risk for non-Falkor targets that we can take it. So, > it is your call if you want to backport it or not. > > Thanks, > James Thanks. For now i've pushed it to mainline as r260675.
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,