[AArch64, Falkor] Falkor address costs tuning
authorLuis Machado <luis.machado@linaro.org>
Thu, 24 May 2018 14:37:21 +0000 (14:37 +0000)
committerLuis Machado <luisgpm@gcc.gnu.org>
Thu, 24 May 2018 14:37:21 +0000 (14:37 +0000)
Switch from using generic address costs to using Falkor-specific ones, which
give Falkor better results overall.

gcc/ChangeLog:

2018-05-24  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.

From-SVN: r260675

gcc/ChangeLog
gcc/config/aarch64/aarch64.c

index 1500fc098cc00824025c87643d81590af5216204..1143e146a689210b66b66f35b5dca0b60e328377 100644 (file)
@@ -1,3 +1,9 @@
+2018-05-24  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.
+
 2018-05-24  Richard Sandiford  <richard.sandiford@linaro.org>
 
        * match.pd: Delay FMA folds until after vectorization.
index 9e385e090355951ee6026be950a6602941eb64e3..04dedd2f7e0a0a324f5a2b99906c66370df9ea8d 100644 (file)
@@ -317,6 +317,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  */
@@ -871,7 +887,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,