https://gcc.gnu.org/g:77bdff2732045dfd049cb8ab91c948514f444fcb

commit 77bdff2732045dfd049cb8ab91c948514f444fcb
Author: Patrick O'Neill <patr...@rivosinc.com>
Date:   Tue Aug 20 11:38:20 2024 -0700

    RISC-V: Reorder insn cost match order to match corresponding expander match 
order
    
    The corresponding expander (riscv-v.cc:expand_const_vector) matches
    const_vec_duplicate_p before const_vec_series_p. Reorder to match this
    behavior when calculating costs.
    
    gcc/ChangeLog:
    
            * config/riscv/riscv.cc (riscv_const_insns): Relocate.
    
    Signed-off-by: Patrick O'Neill <patr...@rivosinc.com>
    (cherry picked from commit ac1f3a8901344759dc7c247d3749c74a0bb524b0)

Diff:
---
 gcc/config/riscv/riscv.cc | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc
index 76560c018bd8..e5294619f23c 100644
--- a/gcc/config/riscv/riscv.cc
+++ b/gcc/config/riscv/riscv.cc
@@ -2142,15 +2142,6 @@ riscv_const_insns (rtx x, bool allow_new_pseudos)
          ...etc.  */
        if (riscv_v_ext_mode_p (GET_MODE (x)))
          {
-           /* const series vector.  */
-           rtx base, step;
-           if (const_vec_series_p (x, &base, &step))
-             {
-               /* This is not accurate, we will need to adapt the COST
-                * accurately according to BASE && STEP.  */
-               return 1;
-             }
-
            rtx elt;
            if (const_vec_duplicate_p (x, &elt))
              {
@@ -2186,6 +2177,15 @@ riscv_const_insns (rtx x, bool allow_new_pseudos)
                      return 1 + 4; /*vmv.v.x + memory access.  */
                  }
              }
+
+           /* const series vector.  */
+           rtx base, step;
+           if (const_vec_series_p (x, &base, &step))
+             {
+               /* This cost is not accurate, we will need to adapt the COST
+                  accurately according to BASE && STEP.  */
+               return 1;
+             }
          }
 
        /* TODO: We may support more const vector in the future.  */

Reply via email to