Message ID | 20240827003710.1513605-3-patrick@rivosinc.com |
---|---|
State | New |
Headers | show |
Series | RISC-V: Improve const vector costing and expansion | expand |
On 8/26/24 6:36 PM, Patrick O'Neill wrote: > 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. Already ACK'd. jeff
On 8/27/24 07:56, Jeff Law wrote: > > > On 8/26/24 6:36 PM, Patrick O'Neill wrote: >> 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. > Already ACK'd. > > jeff > Committed.
diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc index 8538d405f50..640394e0cb8 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. */
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 <patrick@rivosinc.com> --- Ack'd here: https://inbox.sourceware.org/gcc-patches/3a97eb17-32fe-4cf4-874e-5c4a707b2c27@gmail.com/ --- gcc/config/riscv/riscv.cc | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) -- 2.34.1