Thanks Jeff. > Make sure to include a function comment in the final patch. Otherwise > nothing to add above and beyond Robin's comments.
Sure thing, will add comments for the helper. Pan -----Original Message----- From: Jeff Law <jeffreya...@gmail.com> Sent: Monday, May 5, 2025 9:42 PM To: Li, Pan2 <pan2...@intel.com>; gcc-patches@gcc.gnu.org Cc: juzhe.zh...@rivai.ai; kito.ch...@gmail.com; rdapp....@gmail.com; Chen, Ken <ken.c...@intel.com>; Liu, Hongtao <hongtao....@intel.com> Subject: Re: [PATCH v1 1/5] RISC-V: Add new option --param=rvv-gr2vr-cost= for rvv insn On 5/3/25 2:14 AM, pan2...@intel.com wrote: > From: Pan Li <pan2...@intel.com> > > During investigate the combine from vec_dup and vop.vv into > vop.vx, we need to depend on the cost of the insn operate > from the gr to vr, for example, vadd.vx. Thus, for better > control and test, we introduce a new option, aka below: > > --param=rvv-gr2vr-cost=<unsigned int> > > To specific the cost value of the insn that operate from > the gr to vr. > > gcc/ChangeLog: > > * config/riscv/riscv-opts.h (RVV_GR2VR_COST_UNPROVIDED): Add > new macro to indicate the param is not provided. > * config/riscv/riscv.cc (get_vector_gr2vr_cost): Add new func > to get the cost value of rvv insn operate from gr to vr. > * config/riscv/riscv.opt: Add new option --pararm=rvv-gr2vr-cost. > > Signed-off-by: Pan Li <pan2...@intel.com> > --- > gcc/config/riscv/riscv-opts.h | 2 ++ > gcc/config/riscv/riscv.cc | 11 +++++++++++ > gcc/config/riscv/riscv.opt | 4 ++++ > 3 files changed, 17 insertions(+) > > diff --git a/gcc/config/riscv/riscv-opts.h b/gcc/config/riscv/riscv-opts.h > index 26fe228e0f8..670f540f11d 100644 > --- a/gcc/config/riscv/riscv-opts.h > +++ b/gcc/config/riscv/riscv-opts.h > @@ -162,4 +162,6 @@ enum riscv_tls_type { > #define TARGET_VECTOR_AUTOVEC_SEGMENT > \ > (TARGET_VECTOR && riscv_mautovec_segment) > > +#define RVV_GR2VR_COST_UNPROVIDED -1 > + > #endif /* ! GCC_RISCV_OPTS_H */ > diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc > index ed635ab42f4..ee23888cbf7 100644 > --- a/gcc/config/riscv/riscv.cc > +++ b/gcc/config/riscv/riscv.cc > @@ -3851,6 +3851,17 @@ riscv_extend_cost (rtx op, bool unsigned_p) > return COSTS_N_INSNS (2); > } > > +static inline int > +get_vector_gr2vr_cost () Make sure to include a function comment in the final patch. Otherwise nothing to add above and beyond Robin's comments. jeff