> > + DEF_VX_BINARY_CASE_2_WRAP(T, SAT_U_SUB_FUNC(T), sat_add) \ > Shouldn't that be sat_sub here?
Oh, Yes, should be sat_sub, but happen to work for test, let me update it in v2. Pan -----Original Message----- From: Robin Dapp <rdapp....@gmail.com> Sent: Friday, June 27, 2025 2:37 PM To: Li, Pan2 <pan2...@intel.com>; gcc-patches@gcc.gnu.org Cc: juzhe.zh...@rivai.ai; kito.ch...@gmail.com; jeffreya...@gmail.com; rdapp....@gmail.com; Chen, Ken <ken.c...@intel.com>; Liu, Hongtao <hongtao....@intel.com>; Robin Dapp <rdapp....@gmail.com> Subject: Re: [PATCH v1 2/4] RISC-V: Add test for vec_duplicate + vssubu.vv combine case 0 with GR2VR cost 0, 2 and 15 Hi Pan, > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vx_vf/vx_binary.h > b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vx_vf/vx_binary.h > index 2932e189186..0af8b969f47 100644 > --- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vx_vf/vx_binary.h > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vx_vf/vx_binary.h > @@ -282,9 +282,24 @@ DEF_SAT_U_ADD(uint16_t) > DEF_SAT_U_ADD(uint32_t) > DEF_SAT_U_ADD(uint64_t) > > +#define DEF_SAT_U_SUB(T) \ > +T \ > +test_##T##_sat_sub (T a, T b) \ > +{ \ > + return (a - b) & (-(T)(a >= b)); \ > +} > + > +DEF_SAT_U_SUB(uint8_t) > +DEF_SAT_U_SUB(uint16_t) > +DEF_SAT_U_SUB(uint32_t) > +DEF_SAT_U_SUB(uint64_t) > + > #define SAT_U_ADD_FUNC(T) test_##T##_sat_add > #define SAT_U_ADD_FUNC_WRAP(T) SAT_U_ADD_FUNC(T) > > +#define SAT_U_SUB_FUNC(T) test_##T##_sat_sub > +#define SAT_U_SUB_FUNC_WRAP(T) SAT_U_SUB_FUNC(T) > + > #define TEST_BINARY_VX_SIGNED_0(T) \ > DEF_VX_BINARY_CASE_0_WRAP(T, +, add) \ > DEF_VX_BINARY_CASE_0_WRAP(T, -, sub) \ > @@ -313,6 +328,7 @@ DEF_SAT_U_ADD(uint64_t) > DEF_VX_BINARY_CASE_2_WRAP(T, MAX_FUNC_1_WARP(T), max) \ > DEF_VX_BINARY_CASE_2_WRAP(T, MIN_FUNC_0_WARP(T), min) \ > DEF_VX_BINARY_CASE_2_WRAP(T, MIN_FUNC_1_WARP(T), min) \ > - DEF_VX_BINARY_CASE_2_WRAP(T, SAT_U_ADD_FUNC(T), sat_add) > + DEF_VX_BINARY_CASE_2_WRAP(T, SAT_U_ADD_FUNC(T), sat_add) \ > + DEF_VX_BINARY_CASE_2_WRAP(T, SAT_U_SUB_FUNC(T), sat_add) \ Shouldn't that be sat_sub here? -- Regards Robin