https://gcc.gnu.org/g:0acd8e5012619f6c77e79ef3723455439fc5a868

commit 0acd8e5012619f6c77e79ef3723455439fc5a868
Author: Pan Li <[email protected]>
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 <[email protected]>
    (cherry picked from commit 927ba84ec20e0a163ac20add4896909a0fa96c1e)

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 58bd94325d6f..06fde11fea8a 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)

Reply via email to