Set reasonable values for the INT/FP/VEC reassociation widths. I was
able to measure a significant speedup on a dependent FP chain (almost
2x faster) with this applied. I wasn't able to measure a clear
improvement on integer and vector, but I chose conservative values
for both.

gcc/ChangeLog:

        * config/riscv/riscv.cc (tt_ascalon_d8_tune_info): Set
        int_reassoc_width, fp_reassoc_width, and vec_reassoc_width.
---
 gcc/config/riscv/riscv.cc | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc
index 87c24e5dcc1..0d75b890397 100644
--- a/gcc/config/riscv/riscv.cc
+++ b/gcc/config/riscv/riscv.cc
@@ -837,6 +837,9 @@ static const struct riscv_tune_param 
tt_ascalon_d8_tune_info = {
   NULL,                                                /* jump_align */
   NULL,                                                /* loop_align */
   true,                                                /* prefer-agnostic.  */
+  4,                                           /* int_reassoc_width.  */
+  4,                                           /* fp_reassoc_width.  */
+  2,                                           /* vec_reassoc_width.  */
 };
 
 /* Costs to use when optimizing for size.  */
-- 
2.34.1

Reply via email to