https://gcc.gnu.org/g:db3afff48fc7ed896b3dd17eb93f0cfe3cc41da8

commit r16-2223-gdb3afff48fc7ed896b3dd17eb93f0cfe3cc41da8
Author: panciyan <panci...@eswincomputing.com>
Date:   Thu Jul 10 06:54:26 2025 +0000

    RISC-V: Add testcases for unsigned vector SAT_SUB form 11 and form 12
    
    This patch adds testcase for form11 and form12, as shown below:
    
    void __attribute__((noinline))                                       \
    vec_sat_u_sub_##T##_fmt_11 (T *out, T *op_1, T *op_2, unsigned limit) \
    {                                                                    \
      unsigned i;                                                        \
      for (i = 0; i < limit; i++)                                        \
        {                                                                \
          T x = op_1[i];                                                 \
          T y = op_2[i];                                                 \
          T ret;                                                         \
          T overflow = __builtin_sub_overflow (x, y, &ret);           \
          out[i] = overflow ? 0 : ret;                                   \
        }                                                                \
    }
    
    void __attribute__((noinline))                                        \
    vec_sat_u_sub_##T##_fmt_12 (T *out, T *op_1, T *op_2, unsigned limit) \
    {                                                                     \
      unsigned i;                                                         \
      for (i = 0; i < limit; i++)                                         \
        {                                                                 \
          T x = op_1[i];                                                  \
          T y = op_2[i];                                                  \
          T ret;                                                          \
          T overflow = __builtin_sub_overflow (x, y, &ret);            \
          out[i] = !overflow ? ret : 0;                                   \
        }                                                                 \
    }
    
    Passed the rv64gcv regression test.
    
    Signed-off-by: Ciyan Pan <panci...@eswincomputing.com>
    gcc/testsuite/ChangeLog:
    
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_arith.h: Unsigned vector 
SAT_SUB form11 form12.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_data.h: Use ussub 
instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u16.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u32.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u64.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u8.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u16.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u32.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u64.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u8.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u16.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u32.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u64.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u8.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u16.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u32.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u64.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u8.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u16.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u32.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u64.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u8.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u16.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u32.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u64.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u8.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u16.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u32.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u64.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u8.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u16.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u32.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u64.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u8.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u16.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u32.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u64.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u8.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u16.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u32.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u64.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u8.c: Use 
ussub instead of usub.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-11-u16.c: New test.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-11-u32.c: New test.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-11-u64.c: New test.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-11-u8.c: New test.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-12-u16.c: New test.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-12-u32.c: New test.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-12-u64.c: New test.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-12-u8.c: New test.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-11-u16.c: New 
test.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-11-u32.c: New 
test.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-11-u64.c: New 
test.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-11-u8.c: New 
test.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-12-u16.c: New 
test.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-12-u32.c: New 
test.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-12-u64.c: New 
test.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-12-u8.c: New 
test.

Diff:
---
 .../riscv/rvv/autovec/sat/vec_sat_arith.h          | 44 ++++++++++++++++++++++
 .../riscv/rvv/autovec/sat/vec_sat_data.h           |  8 ++--
 .../riscv/rvv/autovec/sat/vec_sat_u_sub-11-u16.c   |  9 +++++
 .../riscv/rvv/autovec/sat/vec_sat_u_sub-11-u32.c   |  9 +++++
 .../riscv/rvv/autovec/sat/vec_sat_u_sub-11-u64.c   |  9 +++++
 .../riscv/rvv/autovec/sat/vec_sat_u_sub-11-u8.c    |  9 +++++
 .../riscv/rvv/autovec/sat/vec_sat_u_sub-12-u16.c   |  9 +++++
 .../riscv/rvv/autovec/sat/vec_sat_u_sub-12-u32.c   |  9 +++++
 .../riscv/rvv/autovec/sat/vec_sat_u_sub-12-u64.c   |  9 +++++
 .../riscv/rvv/autovec/sat/vec_sat_u_sub-12-u8.c    |  9 +++++
 .../rvv/autovec/sat/vec_sat_u_sub-run-1-u16.c      |  2 +-
 .../rvv/autovec/sat/vec_sat_u_sub-run-1-u32.c      |  2 +-
 .../rvv/autovec/sat/vec_sat_u_sub-run-1-u64.c      |  2 +-
 .../riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u8.c |  2 +-
 .../rvv/autovec/sat/vec_sat_u_sub-run-10-u16.c     |  2 +-
 .../rvv/autovec/sat/vec_sat_u_sub-run-10-u32.c     |  2 +-
 .../rvv/autovec/sat/vec_sat_u_sub-run-10-u64.c     |  2 +-
 .../rvv/autovec/sat/vec_sat_u_sub-run-10-u8.c      |  2 +-
 .../rvv/autovec/sat/vec_sat_u_sub-run-11-u16.c     | 15 ++++++++
 .../rvv/autovec/sat/vec_sat_u_sub-run-11-u32.c     | 15 ++++++++
 .../rvv/autovec/sat/vec_sat_u_sub-run-11-u64.c     | 15 ++++++++
 .../rvv/autovec/sat/vec_sat_u_sub-run-11-u8.c      | 15 ++++++++
 .../rvv/autovec/sat/vec_sat_u_sub-run-12-u16.c     | 15 ++++++++
 .../rvv/autovec/sat/vec_sat_u_sub-run-12-u32.c     | 15 ++++++++
 .../rvv/autovec/sat/vec_sat_u_sub-run-12-u64.c     | 15 ++++++++
 .../rvv/autovec/sat/vec_sat_u_sub-run-12-u8.c      | 15 ++++++++
 .../rvv/autovec/sat/vec_sat_u_sub-run-2-u16.c      |  2 +-
 .../rvv/autovec/sat/vec_sat_u_sub-run-2-u32.c      |  2 +-
 .../rvv/autovec/sat/vec_sat_u_sub-run-2-u64.c      |  2 +-
 .../riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u8.c |  2 +-
 .../rvv/autovec/sat/vec_sat_u_sub-run-3-u16.c      |  2 +-
 .../rvv/autovec/sat/vec_sat_u_sub-run-3-u32.c      |  2 +-
 .../rvv/autovec/sat/vec_sat_u_sub-run-3-u64.c      |  2 +-
 .../riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u8.c |  2 +-
 .../rvv/autovec/sat/vec_sat_u_sub-run-4-u16.c      |  2 +-
 .../rvv/autovec/sat/vec_sat_u_sub-run-4-u32.c      |  2 +-
 .../rvv/autovec/sat/vec_sat_u_sub-run-4-u64.c      |  2 +-
 .../riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u8.c |  2 +-
 .../rvv/autovec/sat/vec_sat_u_sub-run-5-u16.c      |  2 +-
 .../rvv/autovec/sat/vec_sat_u_sub-run-5-u32.c      |  2 +-
 .../rvv/autovec/sat/vec_sat_u_sub-run-5-u64.c      |  2 +-
 .../riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u8.c |  2 +-
 .../rvv/autovec/sat/vec_sat_u_sub-run-6-u16.c      |  2 +-
 .../rvv/autovec/sat/vec_sat_u_sub-run-6-u32.c      |  2 +-
 .../rvv/autovec/sat/vec_sat_u_sub-run-6-u64.c      |  2 +-
 .../riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u8.c |  2 +-
 .../rvv/autovec/sat/vec_sat_u_sub-run-7-u16.c      |  2 +-
 .../rvv/autovec/sat/vec_sat_u_sub-run-7-u32.c      |  2 +-
 .../rvv/autovec/sat/vec_sat_u_sub-run-7-u64.c      |  2 +-
 .../riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u8.c |  2 +-
 .../rvv/autovec/sat/vec_sat_u_sub-run-8-u16.c      |  2 +-
 .../rvv/autovec/sat/vec_sat_u_sub-run-8-u32.c      |  2 +-
 .../rvv/autovec/sat/vec_sat_u_sub-run-8-u64.c      |  2 +-
 .../riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u8.c |  2 +-
 .../rvv/autovec/sat/vec_sat_u_sub-run-9-u16.c      |  2 +-
 .../rvv/autovec/sat/vec_sat_u_sub-run-9-u32.c      |  2 +-
 .../rvv/autovec/sat/vec_sat_u_sub-run-9-u64.c      |  2 +-
 .../riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u8.c |  2 +-
 58 files changed, 280 insertions(+), 44 deletions(-)

diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_arith.h 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_arith.h
index 9e4b4f4ac5be..93c29f091bed 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_arith.h
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_arith.h
@@ -531,6 +531,40 @@ vec_sat_u_sub_##T##_fmt_10 (T *out, T *op_1, T *op_2, 
unsigned limit) \
 #define DEF_VEC_SAT_U_SUB_FMT_10_WRAP(T) \
   DEF_VEC_SAT_U_SUB_FMT_10(T)
 
+#define DEF_VEC_SAT_U_SUB_FMT_11(T)                                   \
+void __attribute__((noinline))                                       \
+vec_sat_u_sub_##T##_fmt_11 (T *out, T *op_1, T *op_2, unsigned limit) \
+{                                                                    \
+  unsigned i;                                                        \
+  for (i = 0; i < limit; i++)                                        \
+    {                                                                \
+      T x = op_1[i];                                                 \
+      T y = op_2[i];                                                 \
+      T ret;                                                         \
+      T overflow = __builtin_sub_overflow (x, y, &ret);           \
+      out[i] = overflow ? 0 : ret;                                   \
+    }                                                                \
+}
+#define DEF_VEC_SAT_U_SUB_FMT_11_WRAP(T) \
+  DEF_VEC_SAT_U_SUB_FMT_11(T)
+
+#define DEF_VEC_SAT_U_SUB_FMT_12(T)                                   \
+void __attribute__((noinline))                                        \
+vec_sat_u_sub_##T##_fmt_12 (T *out, T *op_1, T *op_2, unsigned limit) \
+{                                                                     \
+  unsigned i;                                                         \
+  for (i = 0; i < limit; i++)                                         \
+    {                                                                 \
+      T x = op_1[i];                                                  \
+      T y = op_2[i];                                                  \
+      T ret;                                                          \
+      T overflow = __builtin_sub_overflow (x, y, &ret);            \
+      out[i] = !overflow ? ret : 0;                                   \
+    }                                                                 \
+}
+#define DEF_VEC_SAT_U_SUB_FMT_12_WRAP(T) \
+  DEF_VEC_SAT_U_SUB_FMT_12(T)
+
 #define DEF_VEC_SAT_U_SUB_ZIP(T1, T2)                             \
 void __attribute__((noinline))                                    \
 vec_sat_u_sub_##T1##_##T2##_fmt_zip (T1 *x, T2 b, unsigned limit) \
@@ -737,6 +771,16 @@ vec_sat_s_sub_##T##_fmt_4 (T *out, T *op_1, T *op_2, 
unsigned limit) \
 #define RUN_VEC_SAT_U_SUB_FMT_10_WRAP(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_10(T, out, op_1, op_2, N)
 
+#define RUN_VEC_SAT_U_SUB_FMT_11(T, out, op_1, op_2, N) \
+  vec_sat_u_sub_##T##_fmt_11(out, op_1, op_2, N)
+#define RUN_VEC_SAT_U_SUB_FMT_11_WRAP(T, out, op_1, op_2, N) \
+  RUN_VEC_SAT_U_SUB_FMT_11(T, out, op_1, op_2, N)
+
+#define RUN_VEC_SAT_U_SUB_FMT_12(T, out, op_1, op_2, N) \
+  vec_sat_u_sub_##T##_fmt_12(out, op_1, op_2, N)
+#define RUN_VEC_SAT_U_SUB_FMT_12_WRAP(T, out, op_1, op_2, N) \
+  RUN_VEC_SAT_U_SUB_FMT_12(T, out, op_1, op_2, N)
+
 #define RUN_VEC_SAT_U_SUB_FMT_ZIP(T1, T2, x, b, N) \
   vec_sat_u_sub_##T1##_##T2##_fmt_zip(x, b, N)
 #define RUN_VEC_SAT_U_SUB_FMT_ZIP_WRAP(T1, T2, x, b, N) \
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_data.h 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_data.h
index 4469f0e184b6..76474393fe3b 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_data.h
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_data.h
@@ -744,7 +744,7 @@ uint64_t TEST_UNARY_DATA(uint64_t, sat_u_sub_imm)[][2][N] =
   },
 };
 
-uint8_t TEST_UNARY_DATA(uint8_t, usub)[][3][N] = {
+uint8_t TEST_UNARY_DATA(uint8_t, ussub)[][3][N] = {
   {
     {
       0, 0, 0, 0,
@@ -807,7 +807,7 @@ uint8_t TEST_UNARY_DATA(uint8_t, usub)[][3][N] = {
   },
 };
 
-uint16_t TEST_UNARY_DATA(uint16_t, usub)[][3][N] = {
+uint16_t TEST_UNARY_DATA(uint16_t, ussub)[][3][N] = {
   {
     {
       0, 0, 0, 0,
@@ -870,7 +870,7 @@ uint16_t TEST_UNARY_DATA(uint16_t, usub)[][3][N] = {
   },
 };
 
-uint32_t TEST_UNARY_DATA(uint32_t, usub)[][3][N] = {
+uint32_t TEST_UNARY_DATA(uint32_t, ussub)[][3][N] = {
   {
     {
       0, 0, 4, 0,
@@ -933,7 +933,7 @@ uint32_t TEST_UNARY_DATA(uint32_t, usub)[][3][N] = {
   },
 };
 
-uint64_t TEST_UNARY_DATA(uint64_t, usub)[][3][N] = {
+uint64_t TEST_UNARY_DATA(uint64_t, ussub)[][3][N] = {
   {
     {
       0, 9, 0, 0,
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-11-u16.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-11-u16.c
new file mode 100644
index 000000000000..57da9e8a4213
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-11-u16.c
@@ -0,0 +1,9 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv -mabi=lp64d -ftree-vectorize 
-fdump-tree-optimized" } */
+
+#include "vec_sat_arith.h"
+
+DEF_VEC_SAT_U_SUB_FMT_11(uint16_t)
+
+/* { dg-final { scan-tree-dump-times ".SAT_SUB " 2 "optimized" } } */
+/* { dg-final { scan-assembler-times {vssubu\.vv} 1 } } */
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-11-u32.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-11-u32.c
new file mode 100644
index 000000000000..b5264a323c8a
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-11-u32.c
@@ -0,0 +1,9 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv -mabi=lp64d -ftree-vectorize 
-fdump-tree-optimized" } */
+
+#include "vec_sat_arith.h"
+
+DEF_VEC_SAT_U_SUB_FMT_11(uint32_t)
+
+/* { dg-final { scan-tree-dump-times ".SAT_SUB " 2 "optimized" } } */
+/* { dg-final { scan-assembler-times {vssubu\.vv} 1 } } */
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-11-u64.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-11-u64.c
new file mode 100644
index 000000000000..1a68b5c04265
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-11-u64.c
@@ -0,0 +1,9 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv -mabi=lp64d -ftree-vectorize 
-fdump-tree-optimized" } */
+
+#include "vec_sat_arith.h"
+
+DEF_VEC_SAT_U_SUB_FMT_11(uint64_t)
+
+/* { dg-final { scan-tree-dump-times ".SAT_SUB " 2 "optimized" } } */
+/* { dg-final { scan-assembler-times {vssubu\.vv} 1 } } */
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-11-u8.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-11-u8.c
new file mode 100644
index 000000000000..a1c5c19aea1f
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-11-u8.c
@@ -0,0 +1,9 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv -mabi=lp64d -ftree-vectorize 
-fdump-tree-optimized" } */
+
+#include "vec_sat_arith.h"
+
+DEF_VEC_SAT_U_SUB_FMT_11(uint8_t)
+
+/* { dg-final { scan-tree-dump-times ".SAT_SUB " 2 "optimized" } } */
+/* { dg-final { scan-assembler-times {vssubu\.vv} 1 } } */
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-12-u16.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-12-u16.c
new file mode 100644
index 000000000000..fd987e9d5880
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-12-u16.c
@@ -0,0 +1,9 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv -mabi=lp64d -ftree-vectorize 
-fdump-tree-optimized" } */
+
+#include "vec_sat_arith.h"
+
+DEF_VEC_SAT_U_SUB_FMT_12(uint16_t)
+
+/* { dg-final { scan-tree-dump-times ".SAT_SUB " 2 "optimized" } } */
+/* { dg-final { scan-assembler-times {vssubu\.vv} 1 } } */
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-12-u32.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-12-u32.c
new file mode 100644
index 000000000000..bc380feb3d8b
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-12-u32.c
@@ -0,0 +1,9 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv -mabi=lp64d -ftree-vectorize 
-fdump-tree-optimized" } */
+
+#include "vec_sat_arith.h"
+
+DEF_VEC_SAT_U_SUB_FMT_12(uint32_t)
+
+/* { dg-final { scan-tree-dump-times ".SAT_SUB " 2 "optimized" } } */
+/* { dg-final { scan-assembler-times {vssubu\.vv} 1 } } */
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-12-u64.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-12-u64.c
new file mode 100644
index 000000000000..c03163f9a1ba
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-12-u64.c
@@ -0,0 +1,9 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv -mabi=lp64d -ftree-vectorize 
-fdump-tree-optimized" } */
+
+#include "vec_sat_arith.h"
+
+DEF_VEC_SAT_U_SUB_FMT_12(uint64_t)
+
+/* { dg-final { scan-tree-dump-times ".SAT_SUB " 2 "optimized" } } */
+/* { dg-final { scan-assembler-times {vssubu\.vv} 1 } } */
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-12-u8.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-12-u8.c
new file mode 100644
index 000000000000..91e190969e88
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-12-u8.c
@@ -0,0 +1,9 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv -mabi=lp64d -ftree-vectorize 
-fdump-tree-optimized" } */
+
+#include "vec_sat_arith.h"
+
+DEF_VEC_SAT_U_SUB_FMT_12(uint8_t)
+
+/* { dg-final { scan-tree-dump-times ".SAT_SUB " 2 "optimized" } } */
+/* { dg-final { scan-assembler-times {vssubu\.vv} 1 } } */
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u16.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u16.c
index 5fc747bc9902..5878c5b69100 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u16.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u16.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_1_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_1_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u32.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u32.c
index c9976d0d1def..f74979f9e1e0 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u32.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u32.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_1_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_1_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u64.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u64.c
index 10a0b0c29cf5..1250e5b36b2d 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u64.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u64.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_1_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_1_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u8.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u8.c
index 7b22863b4fbf..a2a77dd88e0c 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u8.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u8.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_1_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_1_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u16.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u16.c
index a6b2dc43deb2..19c8fa056bf4 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u16.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u16.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_10_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_10_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u32.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u32.c
index 91e749e6890d..ada136f4b945 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u32.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u32.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_10_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_10_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u64.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u64.c
index b7a631484d2e..488c1588fe66 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u64.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u64.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_10_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_10_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u8.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u8.c
index 1d5579878b16..127c27ab1e6d 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u8.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u8.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_10_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_10_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-11-u16.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-11-u16.c
new file mode 100644
index 000000000000..4b494672915f
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-11-u16.c
@@ -0,0 +1,15 @@
+/* { dg-do run { target { riscv_v } } } */
+/* { dg-additional-options "-std=c99" } */
+
+#include "vec_sat_arith.h"
+#include "vec_sat_data.h"
+
+#define T                  uint16_t
+
+DEF_VEC_SAT_U_SUB_FMT_11_WRAP(T)
+
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
+#define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
+  RUN_VEC_SAT_U_SUB_FMT_11_WRAP(T, out, op_1, op_2, N)
+
+#include "vec_sat_binary_vvv_run.h"
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-11-u32.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-11-u32.c
new file mode 100644
index 000000000000..80b55eab5381
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-11-u32.c
@@ -0,0 +1,15 @@
+/* { dg-do run { target { riscv_v } } } */
+/* { dg-additional-options "-std=c99" } */
+
+#include "vec_sat_arith.h"
+#include "vec_sat_data.h"
+
+#define T                  uint32_t
+
+DEF_VEC_SAT_U_SUB_FMT_11_WRAP(T)
+
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
+#define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
+  RUN_VEC_SAT_U_SUB_FMT_11_WRAP(T, out, op_1, op_2, N)
+
+#include "vec_sat_binary_vvv_run.h"
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-11-u64.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-11-u64.c
new file mode 100644
index 000000000000..6a89d0f2c9d2
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-11-u64.c
@@ -0,0 +1,15 @@
+/* { dg-do run { target { riscv_v } } } */
+/* { dg-additional-options "-std=c99" } */
+
+#include "vec_sat_arith.h"
+#include "vec_sat_data.h"
+
+#define T                  uint64_t
+
+DEF_VEC_SAT_U_SUB_FMT_11_WRAP(T)
+
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
+#define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
+  RUN_VEC_SAT_U_SUB_FMT_11_WRAP(T, out, op_1, op_2, N)
+
+#include "vec_sat_binary_vvv_run.h"
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-11-u8.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-11-u8.c
new file mode 100644
index 000000000000..974493eb3029
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-11-u8.c
@@ -0,0 +1,15 @@
+/* { dg-do run { target { riscv_v } } } */
+/* { dg-additional-options "-std=c99" } */
+
+#include "vec_sat_arith.h"
+#include "vec_sat_data.h"
+
+#define T                  uint8_t
+
+DEF_VEC_SAT_U_SUB_FMT_11_WRAP(T)
+
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
+#define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
+  RUN_VEC_SAT_U_SUB_FMT_11_WRAP(T, out, op_1, op_2, N)
+
+#include "vec_sat_binary_vvv_run.h"
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-12-u16.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-12-u16.c
new file mode 100644
index 000000000000..28778b9b3f4a
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-12-u16.c
@@ -0,0 +1,15 @@
+/* { dg-do run { target { riscv_v } } } */
+/* { dg-additional-options "-std=c99" } */
+
+#include "vec_sat_arith.h"
+#include "vec_sat_data.h"
+
+#define T                  uint16_t
+
+DEF_VEC_SAT_U_SUB_FMT_12_WRAP(T)
+
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
+#define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
+  RUN_VEC_SAT_U_SUB_FMT_12_WRAP(T, out, op_1, op_2, N)
+
+#include "vec_sat_binary_vvv_run.h"
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-12-u32.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-12-u32.c
new file mode 100644
index 000000000000..936a39a390d1
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-12-u32.c
@@ -0,0 +1,15 @@
+/* { dg-do run { target { riscv_v } } } */
+/* { dg-additional-options "-std=c99" } */
+
+#include "vec_sat_arith.h"
+#include "vec_sat_data.h"
+
+#define T                  uint32_t
+
+DEF_VEC_SAT_U_SUB_FMT_12_WRAP(T)
+
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
+#define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
+  RUN_VEC_SAT_U_SUB_FMT_12_WRAP(T, out, op_1, op_2, N)
+
+#include "vec_sat_binary_vvv_run.h"
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-12-u64.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-12-u64.c
new file mode 100644
index 000000000000..b8fa65b8abdf
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-12-u64.c
@@ -0,0 +1,15 @@
+/* { dg-do run { target { riscv_v } } } */
+/* { dg-additional-options "-std=c99" } */
+
+#include "vec_sat_arith.h"
+#include "vec_sat_data.h"
+
+#define T                  uint64_t
+
+DEF_VEC_SAT_U_SUB_FMT_12_WRAP(T)
+
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
+#define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
+  RUN_VEC_SAT_U_SUB_FMT_12_WRAP(T, out, op_1, op_2, N)
+
+#include "vec_sat_binary_vvv_run.h"
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-12-u8.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-12-u8.c
new file mode 100644
index 000000000000..6bff1e11557f
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-12-u8.c
@@ -0,0 +1,15 @@
+/* { dg-do run { target { riscv_v } } } */
+/* { dg-additional-options "-std=c99" } */
+
+#include "vec_sat_arith.h"
+#include "vec_sat_data.h"
+
+#define T                  uint8_t
+
+DEF_VEC_SAT_U_SUB_FMT_12_WRAP(T)
+
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
+#define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
+  RUN_VEC_SAT_U_SUB_FMT_12_WRAP(T, out, op_1, op_2, N)
+
+#include "vec_sat_binary_vvv_run.h"
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u16.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u16.c
index dcd6d1768d11..45bef8857cb5 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u16.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u16.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_2_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_2_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u32.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u32.c
index 98a1fffad381..6d8a6533273f 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u32.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u32.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_2_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_2_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u64.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u64.c
index 5445b01422a6..0132d467499a 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u64.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u64.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_2_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_2_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u8.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u8.c
index 3aaec4d748d8..425f86f4fb75 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u8.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u8.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_2_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_2_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u16.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u16.c
index 99e58cd29274..97a8e083063c 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u16.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u16.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_3_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_3_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u32.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u32.c
index bd7bcd004390..912489984b59 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u32.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u32.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_3_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_3_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u64.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u64.c
index 96ee0c89634a..1e54ede3a8a5 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u64.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u64.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_3_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_3_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u8.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u8.c
index b9fa957de33a..d8d53b7777ed 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u8.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u8.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_3_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_3_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u16.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u16.c
index 6d4f3775e86e..b29382316e65 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u16.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u16.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_4_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_4_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u32.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u32.c
index 14250178b469..f0f1c4ff0064 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u32.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u32.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_4_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_4_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u64.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u64.c
index 149d48171e35..27c28e26753c 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u64.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u64.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_4_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_4_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u8.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u8.c
index 12195cd50bd0..791182513b40 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u8.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u8.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_4_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_4_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u16.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u16.c
index 9cd25773f6b9..6ae7b36e3160 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u16.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u16.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_5_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_5_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u32.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u32.c
index 638e054d4e1d..4e6b9e60070c 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u32.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u32.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_5_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_5_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u64.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u64.c
index db86baf28233..6b269135f6e2 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u64.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u64.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_5_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_5_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u8.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u8.c
index b277e1c73e6d..2bd28cd68329 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u8.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u8.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_5_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_5_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u16.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u16.c
index e79e2fc9de80..69b0be984327 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u16.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u16.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_6_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_6_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u32.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u32.c
index cd9cbfc3455b..2450586b07dc 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u32.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u32.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_6_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_6_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u64.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u64.c
index 7c0f753e96ba..0b979100534c 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u64.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u64.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_6_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_6_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u8.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u8.c
index d97a834344f6..afb23f6362f9 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u8.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u8.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_6_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_6_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u16.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u16.c
index 3b8c87012d0b..0466d4cd1543 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u16.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u16.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_7_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_7_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u32.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u32.c
index 065d898c0374..14b8701e86f2 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u32.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u32.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_7_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_7_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u64.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u64.c
index f6783a8c8e20..7e0afd81ecb9 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u64.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u64.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_7_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_7_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u8.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u8.c
index 6b9ae2d56a9d..40b1a6a2d652 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u8.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u8.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_7_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_7_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u16.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u16.c
index 27c4563abb59..bd33048203e2 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u16.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u16.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_8_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_8_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u32.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u32.c
index 2dba8752cbd0..36f78f51c4bf 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u32.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u32.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_8_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_8_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u64.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u64.c
index 149a52273380..3bc5d5df3f26 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u64.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u64.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_8_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_8_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u8.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u8.c
index 739850ed1633..3964d1b21d7e 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u8.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u8.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_8_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_8_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u16.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u16.c
index 3eb91efe93f7..4c0809ac988d 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u16.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u16.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_9_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_9_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u32.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u32.c
index 3e8d6fb2a420..3e700bd1060e 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u32.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u32.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_9_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_9_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u64.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u64.c
index bb09035504f2..81b8dc86ebb3 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u64.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u64.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_9_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_9_WRAP(T, out, op_1, op_2, N)
 
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u8.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u8.c
index 1dc31914b072..8bc52ae83364 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u8.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u8.c
@@ -8,7 +8,7 @@
 
 DEF_VEC_SAT_U_SUB_FMT_9_WRAP(T)
 
-#define test_data          TEST_UNARY_DATA_WRAP(T, usub)
+#define test_data          TEST_UNARY_DATA_WRAP(T, ussub)
 #define RUN_VEC_SAT_BINARY(T, out, op_1, op_2, N) \
   RUN_VEC_SAT_U_SUB_FMT_9_WRAP(T, out, op_1, op_2, N)

Reply via email to