[PATCH] [AArch64, Falkor] Falkor address costs tuning
Luis Machado
luis.machado@linaro.org
Tue May 22 17:11:00 GMT 2018
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.machado@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
More information about the Gcc-patches
mailing list