#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) \
#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) \
},
};
-uint8_t TEST_UNARY_DATA(uint8_t, usub)[][3][N] = {
+uint8_t TEST_UNARY_DATA(uint8_t, ussub)[][3][N] = {
{
{
0, 0, 0, 0,
},
};
-uint16_t TEST_UNARY_DATA(uint16_t, usub)[][3][N] = {
+uint16_t TEST_UNARY_DATA(uint16_t, ussub)[][3][N] = {
{
{
0, 0, 0, 0,
},
};
-uint32_t TEST_UNARY_DATA(uint32_t, usub)[][3][N] = {
+uint32_t TEST_UNARY_DATA(uint32_t, ussub)[][3][N] = {
{
{
0, 0, 4, 0,
},
};
-uint64_t TEST_UNARY_DATA(uint64_t, usub)[][3][N] = {
+uint64_t TEST_UNARY_DATA(uint64_t, ussub)[][3][N] = {
{
{
0, 9, 0, 0,
--- /dev/null
+/* { 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 } } */
--- /dev/null
+/* { 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 } } */
--- /dev/null
+/* { 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 } } */
--- /dev/null
+/* { 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 } } */
--- /dev/null
+/* { 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 } } */
--- /dev/null
+/* { 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 } } */
--- /dev/null
+/* { 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 } } */
--- /dev/null
+/* { 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 } } */
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)
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)
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)
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)
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)
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)
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)
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)
--- /dev/null
+/* { 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"
--- /dev/null
+/* { 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"
--- /dev/null
+/* { 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"
--- /dev/null
+/* { 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"
--- /dev/null
+/* { 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"
--- /dev/null
+/* { 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"
--- /dev/null
+/* { 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"
--- /dev/null
+/* { 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"
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)