aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPan Li <pan2.li@intel.com>2025-09-02 12:34:40 +0800
committerPan Li <pan2.li@intel.com>2025-09-05 06:15:04 +0800
commit927ba84ec20e0a163ac20add4896909a0fa96c1e (patch)
tree862c80471759805e0e38c581e6854ea49e158992 /gcc
parent66309452125f8f2c68cd3662dc709041b57073f3 (diff)
downloadgcc-927ba84ec20e0a163ac20add4896909a0fa96c1e.zip
gcc-927ba84ec20e0a163ac20add4896909a0fa96c1e.tar.gz
gcc-927ba84ec20e0a163ac20add4896909a0fa96c1e.tar.bz2
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>
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/gcc.target/riscv/rvv/autovec/vx_vf/vx_ternary.h8
1 files 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 2325c7b..a03bd61 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)