[AArch64,Falkor] Falkor address costs tuning
diff mbox series

Message ID 1527008678-17828-1-git-send-email-luis.machado@linaro.org
State New
Headers show
Series
  • [AArch64,Falkor] Falkor address costs tuning
Related show

Commit Message

Luis Machado May 22, 2018, 5:04 p.m. UTC
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(-)

Comments

James Greenhalgh May 23, 2018, 3:17 p.m. UTC | #1
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.
Luis Machado May 24, 2018, 2:50 p.m. UTC | #2
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.

Patch
diff mbox series

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,