]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
RISC-V: Add testcases for unsigned vector SAT_SUB form 11 and form 12
authorpanciyan <panciyan@eswincomputing.com>
Thu, 10 Jul 2025 06:54:26 +0000 (06:54 +0000)
committerxuli <xuli1@eswincomputing.com>
Mon, 14 Jul 2025 01:45:06 +0000 (01:45 +0000)
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 <panciyan@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.

58 files changed:
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_arith.h
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_data.h
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-11-u16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-11-u32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-11-u64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-11-u8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-12-u16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-12-u32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-12-u64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-12-u8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u16.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u32.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u64.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u8.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u16.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u32.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u64.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u8.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-11-u16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-11-u32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-11-u64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-11-u8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-12-u16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-12-u32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-12-u64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-12-u8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u16.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u32.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u64.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u8.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u16.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u32.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u64.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u8.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u16.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u32.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u64.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u8.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u16.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u32.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u64.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u8.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u16.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u32.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u64.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u8.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u16.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u32.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u64.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u8.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u16.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u32.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u64.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u8.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u16.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u32.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u64.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u8.c

index 9e4b4f4ac5bea7f57cbda39291133c545eae0f7a..93c29f091bedee11388baa954cfa998953cc3669 100644 (file)
@@ -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) \
index 4469f0e184b60e6678517ddca1cd970e90b4fa31..76474393fe3bc81a6040f90badc5615a86c08de6 100644 (file)
@@ -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 (file)
index 0000000..57da9e8
--- /dev/null
@@ -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 (file)
index 0000000..b5264a3
--- /dev/null
@@ -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 (file)
index 0000000..1a68b5c
--- /dev/null
@@ -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 (file)
index 0000000..a1c5c19
--- /dev/null
@@ -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 (file)
index 0000000..fd987e9
--- /dev/null
@@ -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 (file)
index 0000000..bc380fe
--- /dev/null
@@ -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 (file)
index 0000000..c03163f
--- /dev/null
@@ -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 (file)
index 0000000..91e1909
--- /dev/null
@@ -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 } } */
index 5fc747bc9902c92fcdfacfc1c582bdf280a13bdd..5878c5b6910037ac023bb481d0ffe6b10e619ef6 100644 (file)
@@ -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)
 
index c9976d0d1def60937bc2ca8e1933370da05d75ed..f74979f9e1e0bd64132a9ef45b3402a5b8111efa 100644 (file)
@@ -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)
 
index 10a0b0c29cf5fb30026bcc81750c94e55f2d700c..1250e5b36b2db0a72f3a90e788246df4336daad0 100644 (file)
@@ -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)
 
index 7b22863b4fbf2f757919ed550faf93dca1d05f8e..a2a77dd88e0ccca6f3710d4b1c05caa44e58827a 100644 (file)
@@ -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)
 
index a6b2dc43deb21c8e562c25c2a603d22b4dd217ef..19c8fa056bf4242f27e8c7da2d7f44f34db183d4 100644 (file)
@@ -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)
 
index 91e749e6890dcf7926cf0502d8bc064151865354..ada136f4b945ace56468bc70ad21249c608c6788 100644 (file)
@@ -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)
 
index b7a631484d2eaf16b65d10ab9c9dece8cd452e17..488c1588fe664ea5c85fdad958fade19cc7b93a2 100644 (file)
@@ -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)
 
index 1d5579878b160f4963272f55fcf353c99d63e0fd..127c27ab1e6dc67482b8f61ae4ab816a82cb35cb 100644 (file)
@@ -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 (file)
index 0000000..4b49467
--- /dev/null
@@ -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 (file)
index 0000000..80b55ea
--- /dev/null
@@ -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 (file)
index 0000000..6a89d0f
--- /dev/null
@@ -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 (file)
index 0000000..974493e
--- /dev/null
@@ -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 (file)
index 0000000..28778b9
--- /dev/null
@@ -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 (file)
index 0000000..936a39a
--- /dev/null
@@ -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 (file)
index 0000000..b8fa65b
--- /dev/null
@@ -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 (file)
index 0000000..6bff1e1
--- /dev/null
@@ -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"
index dcd6d1768d11ccb540235f3b7faa5557913a3b8a..45bef8857cb5bbf828b7e66cc46b0297f3817a85 100644 (file)
@@ -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)
 
index 98a1fffad38194f96ff2be655ffaa2a0dd491962..6d8a6533273f6d8158e3a5aebae450bed0167269 100644 (file)
@@ -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)
 
index 5445b01422a6dc5ca0a110695625347005a765cc..0132d467499a103179e90569c27d0e6a54d19291 100644 (file)
@@ -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)
 
index 3aaec4d748d88e075a2176c454bea1633b74e808..425f86f4fb75065d9bb37c3dd76ba63a9efd92e4 100644 (file)
@@ -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)
 
index 99e58cd292746cc55ac9e2a4b16068b0d033c564..97a8e083063c06009e3fb1c8fafb79a2c378abc6 100644 (file)
@@ -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)
 
index bd7bcd0043906053776bd1a8bc646a4fb8071ce4..912489984b59b1f0dc386c40f6e746ec673a5435 100644 (file)
@@ -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)
 
index 96ee0c89634a817b33c3dcb89e12cb5b46956c88..1e54ede3a8a51df62744cda4e26d40cda3087735 100644 (file)
@@ -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)
 
index b9fa957de33aeb8154805fbfd7b2d83748680506..d8d53b7777ed7c2ca8d31979ac0433c791f53631 100644 (file)
@@ -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)
 
index 6d4f3775e86e1e4045972030ff59c7f6e2085d4f..b29382316e65cc8ecf53ae8d25e62971e3b08ab8 100644 (file)
@@ -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)
 
index 14250178b469110162c57921f02eaf66c7a0fab4..f0f1c4ff006488f3e055fa4d6daba09fb1978311 100644 (file)
@@ -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)
 
index 149d48171e35926ff141ca0cbb84d58193402e3f..27c28e26753c287e5d7ebcc9bfdb42ba5fc1055a 100644 (file)
@@ -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)
 
index 12195cd50bd051c597200944da9cf0dac8639b7d..791182513b40cbcb2d5639a932d7e658dc7a80e9 100644 (file)
@@ -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)
 
index 9cd25773f6b9b303e328426d79f3e2dfeb13a1ef..6ae7b36e31607ff95ef1bdc82dfbf6d11e8ee950 100644 (file)
@@ -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)
 
index 638e054d4e1dd24a6d3c2938acb14424e220df1d..4e6b9e60070c9fbbd535ad41c450a2d2da5f2f81 100644 (file)
@@ -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)
 
index db86baf28233fd2844718618920b7669cebb6644..6b269135f6e2e0d44e2e8fe5bb33ed4e44f7c305 100644 (file)
@@ -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)
 
index b277e1c73e6d72652c970b9f8334c27c56b9241f..2bd28cd68329c668ce3ad4160724c08db8267de0 100644 (file)
@@ -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)
 
index e79e2fc9de804553550586cfa356d6bd609292e9..69b0be9843276b4b180f03170fa02e72b2feadcf 100644 (file)
@@ -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)
 
index cd9cbfc3455b0a915e7394547d85394e169efdbf..2450586b07dc128e15c6d67bb832424ed29b85ba 100644 (file)
@@ -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)
 
index 7c0f753e96baf797d279bd54be44544420b4f6fe..0b979100534ccca788afd41d9efe82c95a6c5274 100644 (file)
@@ -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)
 
index d97a834344f62b3a7fe2ecfbf2a3c8de7a45323f..afb23f6362f91a1cda7f8be97abae68c2e5742dd 100644 (file)
@@ -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)
 
index 3b8c87012d0bc18f559e99235ca7a417dde23107..0466d4cd1543eb6df50de86ff64ff7f5867a43d2 100644 (file)
@@ -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)
 
index 065d898c0374ed680275d5f6ac18049a6d7a02a5..14b8701e86f22b8dc579dfdd4d2f1eff6fa19f38 100644 (file)
@@ -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)
 
index f6783a8c8e205f55bdf54f616e44461dc05bf46e..7e0afd81ecb90b169e7afb58bc7c9e0c6eeabd9d 100644 (file)
@@ -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)
 
index 6b9ae2d56a9df94c222d082749967a613e608603..40b1a6a2d6526ff4aae754739c0ae0c9c2ffebe2 100644 (file)
@@ -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)
 
index 27c4563abb59f3e286c0637503d2695fa43e98ab..bd33048203e26ea2973b6e2895f56ed35c6d94e2 100644 (file)
@@ -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)
 
index 2dba8752cbd06b1bfa623c002cf69861f6f978e1..36f78f51c4bf0a3a5b1ae0b09aa31825c7f533a1 100644 (file)
@@ -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)
 
index 149a52273380a00ce1a3bb429e01896caf87c289..3bc5d5df3f26834968746f9cbe4f73ce5bedabc0 100644 (file)
@@ -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)
 
index 739850ed16337c9d6925feb4bf4c3f84df532c98..3964d1b21d7e9c28dbf08b306aff7b35453c7caa 100644 (file)
@@ -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)
 
index 3eb91efe93f73ef04ecbeffee1221e8a064477d8..4c0809ac988d7b1a4e0d3d73ab21302c3d218d17 100644 (file)
@@ -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)
 
index 3e8d6fb2a420e90da5ac094d453e55b383391d2d..3e700bd1060e10420e316035c4f3b45c0748b986 100644 (file)
@@ -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)
 
index bb09035504f2c763a7ac04ae848db8eacad25492..81b8dc86ebb39808872269e3e635a58ab8b0c738 100644 (file)
@@ -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)
 
index 1dc31914b0728c371d131b0991c677ec06b9c5ca..8bc52ae8336480c47a7fa25a378716dd4ad160a6 100644 (file)
@@ -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)