[gcc r16-3585] RISC-V: Adjust the vmacc.vx combine test cases
Pan Li
panli@gcc.gnu.org
Thu Sep 4 22:14:34 GMT 2025
https://gcc.gnu.org/g:927ba84ec20e0a163ac20add4896909a0fa96c1e
commit r16-3585-g927ba84ec20e0a163ac20add4896909a0fa96c1e
Author: Pan Li <pan2.li@intel.com>
Date: Tue Sep 2 12:34:40 2025 +0800
RISC-V: Adjust the vmacc.vx combine test cases
To avoid generating the vmadd.vx code.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/autovec/vx_vf/vx_ternary.h: Adjust the
vmacc.vx to avoid generating vmadd.
Signed-off-by: Pan Li <pan2.li@intel.com>
Diff:
---
gcc/testsuite/gcc.target/riscv/rvv/autovec/vx_vf/vx_ternary.h | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vx_vf/vx_ternary.h b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vx_vf/vx_ternary.h
index 2325c7b86321..a03bd6196bd5 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vx_vf/vx_ternary.h
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vx_vf/vx_ternary.h
@@ -12,12 +12,16 @@ typedef signed __int128 int128_t;
#endif
#define DEF_VX_TERNARY_CASE_0(T, OP_1, OP_2, NAME) \
-void \
+T \
test_vx_ternary_##NAME##_##T##_case_0 (T * restrict vd, T * restrict vs2, \
T rs1, unsigned n) \
{ \
- for (unsigned i = 0; i < n; i++) \
+ unsigned i; \
+ \
+ for (i = 0; i < n; i++) \
vd[i] = vd[i] OP_2 vs2[i] OP_1 rs1; \
+ \
+ return vs2[i - 1]; \
}
#define DEF_VX_TERNARY_CASE_0_WRAP(T, OP_1, OP_2, NAME) \
DEF_VX_TERNARY_CASE_0(T, OP_1, OP_2, NAME)
More information about the Gcc-cvs
mailing list