aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/gcc.target/riscv/sat/sat_arith.h12
-rw-r--r--gcc/testsuite/gcc.target/riscv/sat/sat_arith_data.h61
-rw-r--r--gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-1-u16.c24
-rw-r--r--gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-1-u32.c24
-rw-r--r--gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-1-u64.c24
-rw-r--r--gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-1-u8.c24
-rw-r--r--gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-2-u16.c24
-rw-r--r--gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-2-u32.c24
-rw-r--r--gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-2-u64.c24
-rw-r--r--gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-2-u8.c24
-rw-r--r--gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-3-u16.c24
-rw-r--r--gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-3-u32.c24
-rw-r--r--gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-3-u64.c24
-rw-r--r--gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-3-u8.c24
-rw-r--r--gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-4-u16.c24
-rw-r--r--gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-4-u32.c24
-rw-r--r--gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-4-u64.c24
-rw-r--r--gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-4-u8.c24
-rw-r--r--gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-5-u16.c24
-rw-r--r--gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-5-u32.c24
-rw-r--r--gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-5-u64.c24
-rw-r--r--gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-5-u8.c24
-rw-r--r--gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-6-u16.c24
-rw-r--r--gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-6-u32.c24
-rw-r--r--gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-6-u64.c24
-rw-r--r--gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-6-u8.c24
-rw-r--r--gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-7-u16-from-u32.c26
-rw-r--r--gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-7-u16-from-u64.c26
-rw-r--r--gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-7-u32-from-u64.c26
-rw-r--r--gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-7-u8-from-u16.c26
-rw-r--r--gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-7-u8-from-u32.c26
-rw-r--r--gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-7-u8-from-u64.c26
32 files changed, 289 insertions, 516 deletions
diff --git a/gcc/testsuite/gcc.target/riscv/sat/sat_arith.h b/gcc/testsuite/gcc.target/riscv/sat/sat_arith.h
index 2225d30..6e97cae 100644
--- a/gcc/testsuite/gcc.target/riscv/sat/sat_arith.h
+++ b/gcc/testsuite/gcc.target/riscv/sat/sat_arith.h
@@ -13,6 +13,7 @@ sat_u_add_##T##_fmt_1 (T x, T y) \
{ \
return (x + y) | (-(T)((T)(x + y) < x)); \
}
+#define DEF_SAT_U_ADD_FMT_1_WRAP(T) DEF_SAT_U_ADD_FMT_1(T)
#define DEF_SAT_U_ADD_FMT_2(T) \
T __attribute__((noinline)) \
@@ -20,6 +21,7 @@ sat_u_add_##T##_fmt_2 (T x, T y) \
{ \
return (T)(x + y) >= x ? (x + y) : -1; \
}
+#define DEF_SAT_U_ADD_FMT_2_WRAP(T) DEF_SAT_U_ADD_FMT_2(T)
#define DEF_SAT_U_ADD_FMT_3(T) \
T __attribute__((noinline)) \
@@ -29,6 +31,7 @@ sat_u_add_##T##_fmt_3 (T x, T y) \
T overflow = __builtin_add_overflow (x, y, &ret); \
return (T)(-overflow) | ret; \
}
+#define DEF_SAT_U_ADD_FMT_3_WRAP(T) DEF_SAT_U_ADD_FMT_3(T)
#define DEF_SAT_U_ADD_FMT_4(T) \
T __attribute__((noinline)) \
@@ -37,6 +40,7 @@ sat_u_add_##T##_fmt_4 (T x, T y) \
T ret; \
return __builtin_add_overflow (x, y, &ret) ? -1 : ret; \
}
+#define DEF_SAT_U_ADD_FMT_4_WRAP(T) DEF_SAT_U_ADD_FMT_4(T)
#define DEF_SAT_U_ADD_FMT_5(T) \
T __attribute__((noinline)) \
@@ -45,6 +49,7 @@ sat_u_add_##T##_fmt_5 (T x, T y) \
T ret; \
return __builtin_add_overflow (x, y, &ret) == 0 ? ret : -1; \
}
+#define DEF_SAT_U_ADD_FMT_5_WRAP(T) DEF_SAT_U_ADD_FMT_5(T)
#define DEF_SAT_U_ADD_FMT_6(T) \
T __attribute__((noinline)) \
@@ -52,6 +57,7 @@ sat_u_add_##T##_fmt_6 (T x, T y) \
{ \
return (T)(x + y) < x ? -1 : (x + y); \
}
+#define DEF_SAT_U_ADD_FMT_6_WRAP(T) DEF_SAT_U_ADD_FMT_6(T)
#define DEF_SAT_U_ADD_FMT_7(WT, T) \
T __attribute__((noinline)) \
@@ -64,11 +70,17 @@ sat_u_add_##WT##_##T##_fmt_7(T x, T y) \
#define DEF_SAT_U_ADD_FMT_7_WRAP(WT, T) DEF_SAT_U_ADD_FMT_7(WT, T)
#define RUN_SAT_U_ADD_FMT_1(T, x, y) sat_u_add_##T##_fmt_1(x, y)
+#define RUN_SAT_U_ADD_FMT_1_WRAP(T, x, y) RUN_SAT_U_ADD_FMT_1(T, x, y)
#define RUN_SAT_U_ADD_FMT_2(T, x, y) sat_u_add_##T##_fmt_2(x, y)
+#define RUN_SAT_U_ADD_FMT_2_WRAP(T, x, y) RUN_SAT_U_ADD_FMT_2(T, x, y)
#define RUN_SAT_U_ADD_FMT_3(T, x, y) sat_u_add_##T##_fmt_3(x, y)
+#define RUN_SAT_U_ADD_FMT_3_WRAP(T, x, y) RUN_SAT_U_ADD_FMT_3(T, x, y)
#define RUN_SAT_U_ADD_FMT_4(T, x, y) sat_u_add_##T##_fmt_4(x, y)
+#define RUN_SAT_U_ADD_FMT_4_WRAP(T, x, y) RUN_SAT_U_ADD_FMT_4(T, x, y)
#define RUN_SAT_U_ADD_FMT_5(T, x, y) sat_u_add_##T##_fmt_5(x, y)
+#define RUN_SAT_U_ADD_FMT_5_WRAP(T, x, y) RUN_SAT_U_ADD_FMT_5(T, x, y)
#define RUN_SAT_U_ADD_FMT_6(T, x, y) sat_u_add_##T##_fmt_6(x, y)
+#define RUN_SAT_U_ADD_FMT_6_WRAP(T, x, y) RUN_SAT_U_ADD_FMT_6(T, x, y)
#define RUN_SAT_U_ADD_FMT_7_FROM_U16(T, x, y) \
sat_u_add_uint16_t_##T##_fmt_7(x, y)
#define RUN_SAT_U_ADD_FMT_7_FROM_U16_WRAP(T, x, y) \
diff --git a/gcc/testsuite/gcc.target/riscv/sat/sat_arith_data.h b/gcc/testsuite/gcc.target/riscv/sat/sat_arith_data.h
index 9f9f7d0..f100688 100644
--- a/gcc/testsuite/gcc.target/riscv/sat/sat_arith_data.h
+++ b/gcc/testsuite/gcc.target/riscv/sat/sat_arith_data.h
@@ -32,6 +32,11 @@ TEST_UNARY_STRUCT (uint16_t, uint32_t)
TEST_UNARY_STRUCT (uint16_t, uint64_t)
TEST_UNARY_STRUCT (uint32_t, uint64_t)
+TEST_BINARY_STRUCT (uint8_t, usadd)
+TEST_BINARY_STRUCT (uint16_t, usadd)
+TEST_BINARY_STRUCT (uint32_t, usadd)
+TEST_BINARY_STRUCT (uint64_t, usadd)
+
TEST_BINARY_STRUCT (int8_t, ssadd)
TEST_BINARY_STRUCT (int16_t, ssadd)
TEST_BINARY_STRUCT (int32_t, ssadd)
@@ -236,6 +241,62 @@ TEST_UNARY_STRUCT_DECL(int32_t, int64_t) \
{-2147483648, -9223372036854775808ull},
};
+TEST_BINARY_STRUCT_DECL(uint8_t, usadd) TEST_BINARY_DATA(uint8_t, usadd)[] =
+{
+ { 0, 0, 0, },
+ { 0, 1, 1, },
+ { 1, 1, 2, },
+ { 0, 254, 254, },
+ { 1, 254, 255, },
+ { 2, 254, 255, },
+ { 0, 255, 255, },
+ { 1, 255, 255, },
+ { 2, 255, 255, },
+ { 255, 255, 255, },
+};
+
+TEST_BINARY_STRUCT_DECL(uint16_t, usadd) TEST_BINARY_DATA(uint16_t, usadd)[] =
+{
+ { 0, 0, 0, },
+ { 0, 1, 1, },
+ { 1, 1, 2, },
+ { 0, 65534, 65534, },
+ { 1, 65534, 65535, },
+ { 2, 65534, 65535, },
+ { 0, 65535, 65535, },
+ { 1, 65535, 65535, },
+ { 2, 65535, 65535, },
+ { 65535, 65535, 65535, },
+};
+
+TEST_BINARY_STRUCT_DECL(uint32_t, usadd) TEST_BINARY_DATA(uint32_t, usadd)[] =
+{
+ { 0, 0, 0, },
+ { 0, 1, 1, },
+ { 1, 1, 2, },
+ { 0, 4294967294, 4294967294, },
+ { 1, 4294967294, 4294967295, },
+ { 2, 4294967294, 4294967295, },
+ { 0, 4294967295, 4294967295, },
+ { 1, 4294967295, 4294967295, },
+ { 2, 4294967295, 4294967295, },
+ { 4294967295, 4294967295, 4294967295, },
+};
+
+TEST_BINARY_STRUCT_DECL(uint64_t, usadd) TEST_BINARY_DATA(uint64_t, usadd)[] =
+{
+ { 0, 0, 0, },
+ { 0, 1, 1, },
+ { 1, 1, 2, },
+ { 0, 18446744073709551614u, 18446744073709551614u, },
+ { 1, 18446744073709551614u, 18446744073709551615u, },
+ { 2, 18446744073709551614u, 18446744073709551615u, },
+ { 0, 18446744073709551615u, 18446744073709551615u, },
+ { 1, 18446744073709551615u, 18446744073709551615u, },
+ { 2, 18446744073709551615u, 18446744073709551615u, },
+ { 18446744073709551615u, 18446744073709551615u, 18446744073709551615u, },
+};
+
TEST_BINARY_STRUCT_DECL(int8_t, ssadd) TEST_BINARY_DATA(int8_t, ssadd)[] =
{
{ 0, 0, 0},
diff --git a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-1-u16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-1-u16.c
index cb3879d..fe015cc 100644
--- a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-1-u16.c
+++ b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-1-u16.c
@@ -2,24 +2,14 @@
/* { dg-additional-options "-std=c99" } */
#include "sat_arith.h"
+#include "sat_arith_data.h"
-#define T uint16_t
-#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_1
+#define T1 uint16_t
+#define DATA TEST_BINARY_DATA_WRAP(T1, usadd)
+#define T TEST_BINARY_STRUCT_DECL(T1, usadd)
-DEF_SAT_U_ADD_FMT_1(T)
+DEF_SAT_U_ADD_FMT_1_WRAP(T1)
-T test_data[][3] = {
- /* arg_0, arg_1, expect */
- { 0, 0, 0, },
- { 0, 1, 1, },
- { 1, 1, 2, },
- { 0, 65534, 65534, },
- { 1, 65534, 65535, },
- { 2, 65534, 65535, },
- { 0, 65535, 65535, },
- { 1, 65535, 65535, },
- { 2, 65535, 65535, },
- { 65535, 65535, 65535, },
-};
+#define RUN_BINARY(x, y) RUN_SAT_U_ADD_FMT_1_WRAP(T1, x, y)
-#include "scalar_sat_binary.h"
+#include "scalar_sat_binary_run_xxx.h"
diff --git a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-1-u32.c b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-1-u32.c
index c9a6080..8ee6501 100644
--- a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-1-u32.c
+++ b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-1-u32.c
@@ -2,24 +2,14 @@
/* { dg-additional-options "-std=c99" } */
#include "sat_arith.h"
+#include "sat_arith_data.h"
-#define T uint32_t
-#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_1
+#define T1 uint32_t
+#define DATA TEST_BINARY_DATA_WRAP(T1, usadd)
+#define T TEST_BINARY_STRUCT_DECL(T1, usadd)
-DEF_SAT_U_ADD_FMT_1(T)
+DEF_SAT_U_ADD_FMT_1_WRAP(T1)
-T test_data[][3] = {
- /* arg_0, arg_1, expect */
- { 0, 0, 0, },
- { 0, 1, 1, },
- { 1, 1, 2, },
- { 0, 4294967294, 4294967294, },
- { 1, 4294967294, 4294967295, },
- { 2, 4294967294, 4294967295, },
- { 0, 4294967295, 4294967295, },
- { 1, 4294967295, 4294967295, },
- { 2, 4294967295, 4294967295, },
- { 4294967295, 4294967295, 4294967295, },
-};
+#define RUN_BINARY(x, y) RUN_SAT_U_ADD_FMT_1_WRAP(T1, x, y)
-#include "scalar_sat_binary.h"
+#include "scalar_sat_binary_run_xxx.h"
diff --git a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-1-u64.c b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-1-u64.c
index c19b7e2..d2c6af0 100644
--- a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-1-u64.c
+++ b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-1-u64.c
@@ -2,24 +2,14 @@
/* { dg-additional-options "-std=c99" } */
#include "sat_arith.h"
+#include "sat_arith_data.h"
-#define T uint64_t
-#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_1
+#define T1 uint64_t
+#define DATA TEST_BINARY_DATA_WRAP(T1, usadd)
+#define T TEST_BINARY_STRUCT_DECL(T1, usadd)
-DEF_SAT_U_ADD_FMT_1(T)
+DEF_SAT_U_ADD_FMT_1_WRAP(T1)
-T test_data[][3] = {
- /* arg_0, arg_1, expect */
- { 0, 0, 0, },
- { 0, 1, 1, },
- { 1, 1, 2, },
- { 0, 18446744073709551614u, 18446744073709551614u, },
- { 1, 18446744073709551614u, 18446744073709551615u, },
- { 2, 18446744073709551614u, 18446744073709551615u, },
- { 0, 18446744073709551615u, 18446744073709551615u, },
- { 1, 18446744073709551615u, 18446744073709551615u, },
- { 2, 18446744073709551615u, 18446744073709551615u, },
- { 18446744073709551615u, 18446744073709551615u, 18446744073709551615u, },
-};
+#define RUN_BINARY(x, y) RUN_SAT_U_ADD_FMT_1_WRAP(T1, x, y)
-#include "scalar_sat_binary.h"
+#include "scalar_sat_binary_run_xxx.h"
diff --git a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-1-u8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-1-u8.c
index f197249..154edde 100644
--- a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-1-u8.c
+++ b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-1-u8.c
@@ -2,24 +2,14 @@
/* { dg-additional-options "-std=c99" } */
#include "sat_arith.h"
+#include "sat_arith_data.h"
-#define T uint8_t
-#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_1
+#define T1 uint8_t
+#define DATA TEST_BINARY_DATA_WRAP(T1, usadd)
+#define T TEST_BINARY_STRUCT_DECL(T1, usadd)
-DEF_SAT_U_ADD_FMT_1(T)
+DEF_SAT_U_ADD_FMT_1_WRAP(T1)
-T test_data[][3] = {
- /* arg_0, arg_1, expect */
- { 0, 0, 0, },
- { 0, 1, 1, },
- { 1, 1, 2, },
- { 0, 254, 254, },
- { 1, 254, 255, },
- { 2, 254, 255, },
- { 0, 255, 255, },
- { 1, 255, 255, },
- { 2, 255, 255, },
- { 255, 255, 255, },
-};
+#define RUN_BINARY(x, y) RUN_SAT_U_ADD_FMT_1_WRAP(T1, x, y)
-#include "scalar_sat_binary.h"
+#include "scalar_sat_binary_run_xxx.h"
diff --git a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-2-u16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-2-u16.c
index 99b5c3a..1fc08bd 100644
--- a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-2-u16.c
+++ b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-2-u16.c
@@ -2,24 +2,14 @@
/* { dg-additional-options "-std=c99" } */
#include "sat_arith.h"
+#include "sat_arith_data.h"
-#define T uint16_t
-#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_2
+#define T1 uint16_t
+#define DATA TEST_BINARY_DATA_WRAP(T1, usadd)
+#define T TEST_BINARY_STRUCT_DECL(T1, usadd)
-DEF_SAT_U_ADD_FMT_2(T)
+DEF_SAT_U_ADD_FMT_2_WRAP(T1)
-T test_data[][3] = {
- /* arg_0, arg_1, expect */
- { 0, 0, 0, },
- { 0, 1, 1, },
- { 1, 1, 2, },
- { 0, 65534, 65534, },
- { 1, 65534, 65535, },
- { 2, 65534, 65535, },
- { 0, 65535, 65535, },
- { 1, 65535, 65535, },
- { 2, 65535, 65535, },
- { 65535, 65535, 65535, },
-};
+#define RUN_BINARY(x, y) RUN_SAT_U_ADD_FMT_2_WRAP(T1, x, y)
-#include "scalar_sat_binary.h"
+#include "scalar_sat_binary_run_xxx.h"
diff --git a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-2-u32.c b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-2-u32.c
index 13f5954..a52a230 100644
--- a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-2-u32.c
+++ b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-2-u32.c
@@ -2,24 +2,14 @@
/* { dg-additional-options "-std=c99" } */
#include "sat_arith.h"
+#include "sat_arith_data.h"
-#define T uint32_t
-#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_2
+#define T1 uint32_t
+#define DATA TEST_BINARY_DATA_WRAP(T1, usadd)
+#define T TEST_BINARY_STRUCT_DECL(T1, usadd)
-DEF_SAT_U_ADD_FMT_2(T)
+DEF_SAT_U_ADD_FMT_2_WRAP(T1)
-T test_data[][3] = {
- /* arg_0, arg_1, expect */
- { 0, 0, 0, },
- { 0, 1, 1, },
- { 1, 1, 2, },
- { 0, 4294967294, 4294967294, },
- { 1, 4294967294, 4294967295, },
- { 2, 4294967294, 4294967295, },
- { 0, 4294967295, 4294967295, },
- { 1, 4294967295, 4294967295, },
- { 2, 4294967295, 4294967295, },
- { 4294967295, 4294967295, 4294967295, },
-};
+#define RUN_BINARY(x, y) RUN_SAT_U_ADD_FMT_2_WRAP(T1, x, y)
-#include "scalar_sat_binary.h"
+#include "scalar_sat_binary_run_xxx.h"
diff --git a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-2-u64.c b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-2-u64.c
index cdbea7b..d05ed33 100644
--- a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-2-u64.c
+++ b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-2-u64.c
@@ -2,24 +2,14 @@
/* { dg-additional-options "-std=c99" } */
#include "sat_arith.h"
+#include "sat_arith_data.h"
-#define T uint64_t
-#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_2
+#define T1 uint64_t
+#define DATA TEST_BINARY_DATA_WRAP(T1, usadd)
+#define T TEST_BINARY_STRUCT_DECL(T1, usadd)
-DEF_SAT_U_ADD_FMT_2(T)
+DEF_SAT_U_ADD_FMT_2_WRAP(T1)
-T test_data[][3] = {
- /* arg_0, arg_1, expect */
- { 0, 0, 0, },
- { 0, 1, 1, },
- { 1, 1, 2, },
- { 0, 18446744073709551614u, 18446744073709551614u, },
- { 1, 18446744073709551614u, 18446744073709551615u, },
- { 2, 18446744073709551614u, 18446744073709551615u, },
- { 0, 18446744073709551615u, 18446744073709551615u, },
- { 1, 18446744073709551615u, 18446744073709551615u, },
- { 2, 18446744073709551615u, 18446744073709551615u, },
- { 18446744073709551615u, 18446744073709551615u, 18446744073709551615u, },
-};
+#define RUN_BINARY(x, y) RUN_SAT_U_ADD_FMT_2_WRAP(T1, x, y)
-#include "scalar_sat_binary.h"
+#include "scalar_sat_binary_run_xxx.h"
diff --git a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-2-u8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-2-u8.c
index 508531c..fd39335 100644
--- a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-2-u8.c
+++ b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-2-u8.c
@@ -2,24 +2,14 @@
/* { dg-additional-options "-std=c99" } */
#include "sat_arith.h"
+#include "sat_arith_data.h"
-#define T uint8_t
-#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_2
+#define T1 uint8_t
+#define DATA TEST_BINARY_DATA_WRAP(T1, usadd)
+#define T TEST_BINARY_STRUCT_DECL(T1, usadd)
-DEF_SAT_U_ADD_FMT_2(T)
+DEF_SAT_U_ADD_FMT_2_WRAP(T1)
-T test_data[][3] = {
- /* arg_0, arg_1, expect */
- { 0, 0, 0, },
- { 0, 1, 1, },
- { 1, 1, 2, },
- { 0, 254, 254, },
- { 1, 254, 255, },
- { 2, 254, 255, },
- { 0, 255, 255, },
- { 1, 255, 255, },
- { 2, 255, 255, },
- { 255, 255, 255, },
-};
+#define RUN_BINARY(x, y) RUN_SAT_U_ADD_FMT_2_WRAP(T1, x, y)
-#include "scalar_sat_binary.h"
+#include "scalar_sat_binary_run_xxx.h"
diff --git a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-3-u16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-3-u16.c
index bd935dc..7084272 100644
--- a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-3-u16.c
+++ b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-3-u16.c
@@ -2,24 +2,14 @@
/* { dg-additional-options "-std=c99" } */
#include "sat_arith.h"
+#include "sat_arith_data.h"
-#define T uint16_t
-#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_3
+#define T1 uint16_t
+#define DATA TEST_BINARY_DATA_WRAP(T1, usadd)
+#define T TEST_BINARY_STRUCT_DECL(T1, usadd)
-DEF_SAT_U_ADD_FMT_3(T)
+DEF_SAT_U_ADD_FMT_3_WRAP(T1)
-T test_data[][3] = {
- /* arg_0, arg_1, expect */
- { 0, 0, 0, },
- { 0, 1, 1, },
- { 1, 1, 2, },
- { 0, 65534, 65534, },
- { 1, 65534, 65535, },
- { 2, 65534, 65535, },
- { 0, 65535, 65535, },
- { 1, 65535, 65535, },
- { 2, 65535, 65535, },
- { 65535, 65535, 65535, },
-};
+#define RUN_BINARY(x, y) RUN_SAT_U_ADD_FMT_3_WRAP(T1, x, y)
-#include "scalar_sat_binary.h"
+#include "scalar_sat_binary_run_xxx.h"
diff --git a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-3-u32.c b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-3-u32.c
index deccf9a..82de67d 100644
--- a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-3-u32.c
+++ b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-3-u32.c
@@ -2,24 +2,14 @@
/* { dg-additional-options "-std=c99" } */
#include "sat_arith.h"
+#include "sat_arith_data.h"
-#define T uint32_t
-#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_3
+#define T1 uint32_t
+#define DATA TEST_BINARY_DATA_WRAP(T1, usadd)
+#define T TEST_BINARY_STRUCT_DECL(T1, usadd)
-DEF_SAT_U_ADD_FMT_3(T)
+DEF_SAT_U_ADD_FMT_3_WRAP(T1)
-T test_data[][3] = {
- /* arg_0, arg_1, expect */
- { 0, 0, 0, },
- { 0, 1, 1, },
- { 1, 1, 2, },
- { 0, 4294967294, 4294967294, },
- { 1, 4294967294, 4294967295, },
- { 2, 4294967294, 4294967295, },
- { 0, 4294967295, 4294967295, },
- { 1, 4294967295, 4294967295, },
- { 2, 4294967295, 4294967295, },
- { 4294967295, 4294967295, 4294967295, },
-};
+#define RUN_BINARY(x, y) RUN_SAT_U_ADD_FMT_3_WRAP(T1, x, y)
-#include "scalar_sat_binary.h"
+#include "scalar_sat_binary_run_xxx.h"
diff --git a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-3-u64.c b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-3-u64.c
index 4f99367..d73f305 100644
--- a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-3-u64.c
+++ b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-3-u64.c
@@ -2,24 +2,14 @@
/* { dg-additional-options "-std=c99" } */
#include "sat_arith.h"
+#include "sat_arith_data.h"
-#define T uint64_t
-#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_3
+#define T1 uint64_t
+#define DATA TEST_BINARY_DATA_WRAP(T1, usadd)
+#define T TEST_BINARY_STRUCT_DECL(T1, usadd)
-DEF_SAT_U_ADD_FMT_3(T)
+DEF_SAT_U_ADD_FMT_3_WRAP(T1)
-T test_data[][3] = {
- /* arg_0, arg_1, expect */
- { 0, 0, 0, },
- { 0, 1, 1, },
- { 1, 1, 2, },
- { 0, 18446744073709551614u, 18446744073709551614u, },
- { 1, 18446744073709551614u, 18446744073709551615u, },
- { 2, 18446744073709551614u, 18446744073709551615u, },
- { 0, 18446744073709551615u, 18446744073709551615u, },
- { 1, 18446744073709551615u, 18446744073709551615u, },
- { 2, 18446744073709551615u, 18446744073709551615u, },
- { 18446744073709551615u, 18446744073709551615u, 18446744073709551615u, },
-};
+#define RUN_BINARY(x, y) RUN_SAT_U_ADD_FMT_3_WRAP(T1, x, y)
-#include "scalar_sat_binary.h"
+#include "scalar_sat_binary_run_xxx.h"
diff --git a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-3-u8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-3-u8.c
index 670932f..f572c44 100644
--- a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-3-u8.c
+++ b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-3-u8.c
@@ -2,24 +2,14 @@
/* { dg-additional-options "-std=c99" } */
#include "sat_arith.h"
+#include "sat_arith_data.h"
-#define T uint8_t
-#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_3
+#define T1 uint8_t
+#define DATA TEST_BINARY_DATA_WRAP(T1, usadd)
+#define T TEST_BINARY_STRUCT_DECL(T1, usadd)
-DEF_SAT_U_ADD_FMT_3(T)
+DEF_SAT_U_ADD_FMT_3_WRAP(T1)
-T test_data[][3] = {
- /* arg_0, arg_1, expect */
- { 0, 0, 0, },
- { 0, 1, 1, },
- { 1, 1, 2, },
- { 0, 254, 254, },
- { 1, 254, 255, },
- { 2, 254, 255, },
- { 0, 255, 255, },
- { 1, 255, 255, },
- { 2, 255, 255, },
- { 255, 255, 255, },
-};
+#define RUN_BINARY(x, y) RUN_SAT_U_ADD_FMT_3_WRAP(T1, x, y)
-#include "scalar_sat_binary.h"
+#include "scalar_sat_binary_run_xxx.h"
diff --git a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-4-u16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-4-u16.c
index 33a595d..65c431f 100644
--- a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-4-u16.c
+++ b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-4-u16.c
@@ -2,24 +2,14 @@
/* { dg-additional-options "-std=c99" } */
#include "sat_arith.h"
+#include "sat_arith_data.h"
-#define T uint16_t
-#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_4
+#define T1 uint16_t
+#define DATA TEST_BINARY_DATA_WRAP(T1, usadd)
+#define T TEST_BINARY_STRUCT_DECL(T1, usadd)
-DEF_SAT_U_ADD_FMT_4(T)
+DEF_SAT_U_ADD_FMT_4_WRAP(T1)
-T test_data[][3] = {
- /* arg_0, arg_1, expect */
- { 0, 0, 0, },
- { 0, 1, 1, },
- { 1, 1, 2, },
- { 0, 65534, 65534, },
- { 1, 65534, 65535, },
- { 2, 65534, 65535, },
- { 0, 65535, 65535, },
- { 1, 65535, 65535, },
- { 2, 65535, 65535, },
- { 65535, 65535, 65535, },
-};
+#define RUN_BINARY(x, y) RUN_SAT_U_ADD_FMT_4_WRAP(T1, x, y)
-#include "scalar_sat_binary.h"
+#include "scalar_sat_binary_run_xxx.h"
diff --git a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-4-u32.c b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-4-u32.c
index 8a5b7c1..8a73fcd 100644
--- a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-4-u32.c
+++ b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-4-u32.c
@@ -2,24 +2,14 @@
/* { dg-additional-options "-std=c99" } */
#include "sat_arith.h"
+#include "sat_arith_data.h"
-#define T uint32_t
-#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_4
+#define T1 uint32_t
+#define DATA TEST_BINARY_DATA_WRAP(T1, usadd)
+#define T TEST_BINARY_STRUCT_DECL(T1, usadd)
-DEF_SAT_U_ADD_FMT_4(T)
+DEF_SAT_U_ADD_FMT_4_WRAP(T1)
-T test_data[][3] = {
- /* arg_0, arg_1, expect */
- { 0, 0, 0, },
- { 0, 1, 1, },
- { 1, 1, 2, },
- { 0, 4294967294, 4294967294, },
- { 1, 4294967294, 4294967295, },
- { 2, 4294967294, 4294967295, },
- { 0, 4294967295, 4294967295, },
- { 1, 4294967295, 4294967295, },
- { 2, 4294967295, 4294967295, },
- { 4294967295, 4294967295, 4294967295, },
-};
+#define RUN_BINARY(x, y) RUN_SAT_U_ADD_FMT_4_WRAP(T1, x, y)
-#include "scalar_sat_binary.h"
+#include "scalar_sat_binary_run_xxx.h"
diff --git a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-4-u64.c b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-4-u64.c
index fa20aae..0903e10 100644
--- a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-4-u64.c
+++ b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-4-u64.c
@@ -2,24 +2,14 @@
/* { dg-additional-options "-std=c99" } */
#include "sat_arith.h"
+#include "sat_arith_data.h"
-#define T uint64_t
-#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_4
+#define T1 uint64_t
+#define DATA TEST_BINARY_DATA_WRAP(T1, usadd)
+#define T TEST_BINARY_STRUCT_DECL(T1, usadd)
-DEF_SAT_U_ADD_FMT_4(T)
+DEF_SAT_U_ADD_FMT_4_WRAP(T1)
-T test_data[][3] = {
- /* arg_0, arg_1, expect */
- { 0, 0, 0, },
- { 0, 1, 1, },
- { 1, 1, 2, },
- { 0, 18446744073709551614u, 18446744073709551614u, },
- { 1, 18446744073709551614u, 18446744073709551615u, },
- { 2, 18446744073709551614u, 18446744073709551615u, },
- { 0, 18446744073709551615u, 18446744073709551615u, },
- { 1, 18446744073709551615u, 18446744073709551615u, },
- { 2, 18446744073709551615u, 18446744073709551615u, },
- { 18446744073709551615u, 18446744073709551615u, 18446744073709551615u, },
-};
+#define RUN_BINARY(x, y) RUN_SAT_U_ADD_FMT_4_WRAP(T1, x, y)
-#include "scalar_sat_binary.h"
+#include "scalar_sat_binary_run_xxx.h"
diff --git a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-4-u8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-4-u8.c
index 083d6e5..ffdd390 100644
--- a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-4-u8.c
+++ b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-4-u8.c
@@ -2,24 +2,14 @@
/* { dg-additional-options "-std=c99" } */
#include "sat_arith.h"
+#include "sat_arith_data.h"
-#define T uint8_t
-#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_4
+#define T1 uint8_t
+#define DATA TEST_BINARY_DATA_WRAP(T1, usadd)
+#define T TEST_BINARY_STRUCT_DECL(T1, usadd)
-DEF_SAT_U_ADD_FMT_4(T)
+DEF_SAT_U_ADD_FMT_4_WRAP(T1)
-T test_data[][3] = {
- /* arg_0, arg_1, expect */
- { 0, 0, 0, },
- { 0, 1, 1, },
- { 1, 1, 2, },
- { 0, 254, 254, },
- { 1, 254, 255, },
- { 2, 254, 255, },
- { 0, 255, 255, },
- { 1, 255, 255, },
- { 2, 255, 255, },
- { 255, 255, 255, },
-};
+#define RUN_BINARY(x, y) RUN_SAT_U_ADD_FMT_4_WRAP(T1, x, y)
-#include "scalar_sat_binary.h"
+#include "scalar_sat_binary_run_xxx.h"
diff --git a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-5-u16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-5-u16.c
index a1d5d70..72ccd2f 100644
--- a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-5-u16.c
+++ b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-5-u16.c
@@ -2,24 +2,14 @@
/* { dg-additional-options "-std=c99" } */
#include "sat_arith.h"
+#include "sat_arith_data.h"
-#define T uint16_t
-#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_5
+#define T1 uint16_t
+#define DATA TEST_BINARY_DATA_WRAP(T1, usadd)
+#define T TEST_BINARY_STRUCT_DECL(T1, usadd)
-DEF_SAT_U_ADD_FMT_5(T)
+DEF_SAT_U_ADD_FMT_5_WRAP(T1)
-T test_data[][3] = {
- /* arg_0, arg_1, expect */
- { 0, 0, 0, },
- { 0, 1, 1, },
- { 1, 1, 2, },
- { 0, 65534, 65534, },
- { 1, 65534, 65535, },
- { 2, 65534, 65535, },
- { 0, 65535, 65535, },
- { 1, 65535, 65535, },
- { 2, 65535, 65535, },
- { 65535, 65535, 65535, },
-};
+#define RUN_BINARY(x, y) RUN_SAT_U_ADD_FMT_5_WRAP(T1, x, y)
-#include "scalar_sat_binary.h"
+#include "scalar_sat_binary_run_xxx.h"
diff --git a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-5-u32.c b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-5-u32.c
index 7608e71..34d1a4e 100644
--- a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-5-u32.c
+++ b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-5-u32.c
@@ -2,24 +2,14 @@
/* { dg-additional-options "-std=c99" } */
#include "sat_arith.h"
+#include "sat_arith_data.h"
-#define T uint32_t
-#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_5
+#define T1 uint32_t
+#define DATA TEST_BINARY_DATA_WRAP(T1, usadd)
+#define T TEST_BINARY_STRUCT_DECL(T1, usadd)
-DEF_SAT_U_ADD_FMT_5(T)
+DEF_SAT_U_ADD_FMT_5_WRAP(T1)
-T test_data[][3] = {
- /* arg_0, arg_1, expect */
- { 0, 0, 0, },
- { 0, 1, 1, },
- { 1, 1, 2, },
- { 0, 4294967294, 4294967294, },
- { 1, 4294967294, 4294967295, },
- { 2, 4294967294, 4294967295, },
- { 0, 4294967295, 4294967295, },
- { 1, 4294967295, 4294967295, },
- { 2, 4294967295, 4294967295, },
- { 4294967295, 4294967295, 4294967295, },
-};
+#define RUN_BINARY(x, y) RUN_SAT_U_ADD_FMT_5_WRAP(T1, x, y)
-#include "scalar_sat_binary.h"
+#include "scalar_sat_binary_run_xxx.h"
diff --git a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-5-u64.c b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-5-u64.c
index 496ab58..d502a58 100644
--- a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-5-u64.c
+++ b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-5-u64.c
@@ -2,24 +2,14 @@
/* { dg-additional-options "-std=c99" } */
#include "sat_arith.h"
+#include "sat_arith_data.h"
-#define T uint64_t
-#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_5
+#define T1 uint64_t
+#define DATA TEST_BINARY_DATA_WRAP(T1, usadd)
+#define T TEST_BINARY_STRUCT_DECL(T1, usadd)
-DEF_SAT_U_ADD_FMT_5(T)
+DEF_SAT_U_ADD_FMT_5_WRAP(T1)
-T test_data[][3] = {
- /* arg_0, arg_1, expect */
- { 0, 0, 0, },
- { 0, 1, 1, },
- { 1, 1, 2, },
- { 0, 18446744073709551614u, 18446744073709551614u, },
- { 1, 18446744073709551614u, 18446744073709551615u, },
- { 2, 18446744073709551614u, 18446744073709551615u, },
- { 0, 18446744073709551615u, 18446744073709551615u, },
- { 1, 18446744073709551615u, 18446744073709551615u, },
- { 2, 18446744073709551615u, 18446744073709551615u, },
- { 18446744073709551615u, 18446744073709551615u, 18446744073709551615u, },
-};
+#define RUN_BINARY(x, y) RUN_SAT_U_ADD_FMT_5_WRAP(T1, x, y)
-#include "scalar_sat_binary.h"
+#include "scalar_sat_binary_run_xxx.h"
diff --git a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-5-u8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-5-u8.c
index 936028c..f611376 100644
--- a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-5-u8.c
+++ b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-5-u8.c
@@ -2,24 +2,14 @@
/* { dg-additional-options "-std=c99" } */
#include "sat_arith.h"
+#include "sat_arith_data.h"
-#define T uint8_t
-#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_5
+#define T1 uint8_t
+#define DATA TEST_BINARY_DATA_WRAP(T1, usadd)
+#define T TEST_BINARY_STRUCT_DECL(T1, usadd)
-DEF_SAT_U_ADD_FMT_5(T)
+DEF_SAT_U_ADD_FMT_5_WRAP(T1)
-T test_data[][3] = {
- /* arg_0, arg_1, expect */
- { 0, 0, 0, },
- { 0, 1, 1, },
- { 1, 1, 2, },
- { 0, 254, 254, },
- { 1, 254, 255, },
- { 2, 254, 255, },
- { 0, 255, 255, },
- { 1, 255, 255, },
- { 2, 255, 255, },
- { 255, 255, 255, },
-};
+#define RUN_BINARY(x, y) RUN_SAT_U_ADD_FMT_5_WRAP(T1, x, y)
-#include "scalar_sat_binary.h"
+#include "scalar_sat_binary_run_xxx.h"
diff --git a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-6-u16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-6-u16.c
index d304288..5ef250d 100644
--- a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-6-u16.c
+++ b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-6-u16.c
@@ -2,24 +2,14 @@
/* { dg-additional-options "-std=c99" } */
#include "sat_arith.h"
+#include "sat_arith_data.h"
-#define T uint16_t
-#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_6
+#define T1 uint16_t
+#define DATA TEST_BINARY_DATA_WRAP(T1, usadd)
+#define T TEST_BINARY_STRUCT_DECL(T1, usadd)
-DEF_SAT_U_ADD_FMT_6(T)
+DEF_SAT_U_ADD_FMT_6_WRAP(T1)
-T test_data[][3] = {
- /* arg_0, arg_1, expect */
- { 0, 0, 0, },
- { 0, 1, 1, },
- { 1, 1, 2, },
- { 0, 65534, 65534, },
- { 1, 65534, 65535, },
- { 2, 65534, 65535, },
- { 0, 65535, 65535, },
- { 1, 65535, 65535, },
- { 2, 65535, 65535, },
- { 65535, 65535, 65535, },
-};
+#define RUN_BINARY(x, y) RUN_SAT_U_ADD_FMT_6_WRAP(T1, x, y)
-#include "scalar_sat_binary.h"
+#include "scalar_sat_binary_run_xxx.h"
diff --git a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-6-u32.c b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-6-u32.c
index 1a1ea59..ba95dbf 100644
--- a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-6-u32.c
+++ b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-6-u32.c
@@ -2,24 +2,14 @@
/* { dg-additional-options "-std=c99" } */
#include "sat_arith.h"
+#include "sat_arith_data.h"
-#define T uint32_t
-#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_6
+#define T1 uint32_t
+#define DATA TEST_BINARY_DATA_WRAP(T1, usadd)
+#define T TEST_BINARY_STRUCT_DECL(T1, usadd)
-DEF_SAT_U_ADD_FMT_6(T)
+DEF_SAT_U_ADD_FMT_6_WRAP(T1)
-T test_data[][3] = {
- /* arg_0, arg_1, expect */
- { 0, 0, 0, },
- { 0, 1, 1, },
- { 1, 1, 2, },
- { 0, 4294967294, 4294967294, },
- { 1, 4294967294, 4294967295, },
- { 2, 4294967294, 4294967295, },
- { 0, 4294967295, 4294967295, },
- { 1, 4294967295, 4294967295, },
- { 2, 4294967295, 4294967295, },
- { 4294967295, 4294967295, 4294967295, },
-};
+#define RUN_BINARY(x, y) RUN_SAT_U_ADD_FMT_6_WRAP(T1, x, y)
-#include "scalar_sat_binary.h"
+#include "scalar_sat_binary_run_xxx.h"
diff --git a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-6-u64.c b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-6-u64.c
index dc977d5..d0e9dfd 100644
--- a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-6-u64.c
+++ b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-6-u64.c
@@ -2,24 +2,14 @@
/* { dg-additional-options "-std=c99" } */
#include "sat_arith.h"
+#include "sat_arith_data.h"
-#define T uint64_t
-#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_6
+#define T1 uint64_t
+#define DATA TEST_BINARY_DATA_WRAP(T1, usadd)
+#define T TEST_BINARY_STRUCT_DECL(T1, usadd)
-DEF_SAT_U_ADD_FMT_6(T)
+DEF_SAT_U_ADD_FMT_6_WRAP(T1)
-T test_data[][3] = {
- /* arg_0, arg_1, expect */
- { 0, 0, 0, },
- { 0, 1, 1, },
- { 1, 1, 2, },
- { 0, 18446744073709551614u, 18446744073709551614u, },
- { 1, 18446744073709551614u, 18446744073709551615u, },
- { 2, 18446744073709551614u, 18446744073709551615u, },
- { 0, 18446744073709551615u, 18446744073709551615u, },
- { 1, 18446744073709551615u, 18446744073709551615u, },
- { 2, 18446744073709551615u, 18446744073709551615u, },
- { 18446744073709551615u, 18446744073709551615u, 18446744073709551615u, },
-};
+#define RUN_BINARY(x, y) RUN_SAT_U_ADD_FMT_6_WRAP(T1, x, y)
-#include "scalar_sat_binary.h"
+#include "scalar_sat_binary_run_xxx.h"
diff --git a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-6-u8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-6-u8.c
index 8bc204e..b3d00df 100644
--- a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-6-u8.c
+++ b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-6-u8.c
@@ -2,24 +2,14 @@
/* { dg-additional-options "-std=c99" } */
#include "sat_arith.h"
+#include "sat_arith_data.h"
-#define T uint8_t
-#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_6
+#define T1 uint8_t
+#define DATA TEST_BINARY_DATA_WRAP(T1, usadd)
+#define T TEST_BINARY_STRUCT_DECL(T1, usadd)
-DEF_SAT_U_ADD_FMT_6(T)
+DEF_SAT_U_ADD_FMT_6_WRAP(T1)
-T test_data[][3] = {
- /* arg_0, arg_1, expect */
- { 0, 0, 0, },
- { 0, 1, 1, },
- { 1, 1, 2, },
- { 0, 254, 254, },
- { 1, 254, 255, },
- { 2, 254, 255, },
- { 0, 255, 255, },
- { 1, 255, 255, },
- { 2, 255, 255, },
- { 255, 255, 255, },
-};
+#define RUN_BINARY(x, y) RUN_SAT_U_ADD_FMT_6_WRAP(T1, x, y)
-#include "scalar_sat_binary.h"
+#include "scalar_sat_binary_run_xxx.h"
diff --git a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-7-u16-from-u32.c b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-7-u16-from-u32.c
index 25dc1d1..26c2778 100644
--- a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-7-u16-from-u32.c
+++ b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-7-u16-from-u32.c
@@ -2,25 +2,15 @@
/* { dg-additional-options "-std=c99" } */
#include "sat_arith.h"
+#include "sat_arith_data.h"
-#define T uint16_t
-#define WT uint32_t
-#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_7_FROM_U32_WRAP
+#define T1 uint16_t
+#define T2 uint32_t
+#define DATA TEST_BINARY_DATA_WRAP(T1, usadd)
+#define T TEST_BINARY_STRUCT_DECL(T1, usadd)
-DEF_SAT_U_ADD_FMT_7_WRAP(WT, T)
+DEF_SAT_U_ADD_FMT_7_WRAP(T2, T1)
-T test_data[][3] = {
- /* arg_0, arg_1, expect */
- { 0, 0, 0, },
- { 0, 1, 1, },
- { 1, 1, 2, },
- { 0, 65534, 65534, },
- { 1, 65534, 65535, },
- { 2, 65534, 65535, },
- { 0, 65535, 65535, },
- { 1, 65535, 65535, },
- { 2, 65535, 65535, },
- { 65535, 65535, 65535, },
-};
+#define RUN_BINARY(x, y) RUN_SAT_U_ADD_FMT_7_FROM_U32_WRAP(T1, x, y)
-#include "scalar_sat_binary.h"
+#include "scalar_sat_binary_run_xxx.h"
diff --git a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-7-u16-from-u64.c b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-7-u16-from-u64.c
index 565b108..1f3e2f3 100644
--- a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-7-u16-from-u64.c
+++ b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-7-u16-from-u64.c
@@ -2,25 +2,15 @@
/* { dg-additional-options "-std=c99" } */
#include "sat_arith.h"
+#include "sat_arith_data.h"
-#define T uint16_t
-#define WT uint64_t
-#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_7_FROM_U64_WRAP
+#define T1 uint16_t
+#define T2 uint64_t
+#define DATA TEST_BINARY_DATA_WRAP(T1, usadd)
+#define T TEST_BINARY_STRUCT_DECL(T1, usadd)
-DEF_SAT_U_ADD_FMT_7_WRAP(WT, T)
+DEF_SAT_U_ADD_FMT_7_WRAP(T2, T1)
-T test_data[][3] = {
- /* arg_0, arg_1, expect */
- { 0, 0, 0, },
- { 0, 1, 1, },
- { 1, 1, 2, },
- { 0, 65534, 65534, },
- { 1, 65534, 65535, },
- { 2, 65534, 65535, },
- { 0, 65535, 65535, },
- { 1, 65535, 65535, },
- { 2, 65535, 65535, },
- { 65535, 65535, 65535, },
-};
+#define RUN_BINARY(x, y) RUN_SAT_U_ADD_FMT_7_FROM_U64_WRAP(T1, x, y)
-#include "scalar_sat_binary.h"
+#include "scalar_sat_binary_run_xxx.h"
diff --git a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-7-u32-from-u64.c b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-7-u32-from-u64.c
index 6ff34fd..558f6ce 100644
--- a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-7-u32-from-u64.c
+++ b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-7-u32-from-u64.c
@@ -2,25 +2,15 @@
/* { dg-additional-options "-std=c99" } */
#include "sat_arith.h"
+#include "sat_arith_data.h"
-#define T uint32_t
-#define WT uint64_t
-#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_7_FROM_U64_WRAP
+#define T1 uint32_t
+#define T2 uint64_t
+#define DATA TEST_BINARY_DATA_WRAP(T1, usadd)
+#define T TEST_BINARY_STRUCT_DECL(T1, usadd)
-DEF_SAT_U_ADD_FMT_7_WRAP(WT, T)
+DEF_SAT_U_ADD_FMT_7_WRAP(T2, T1)
-T test_data[][3] = {
- /* arg_0, arg_1, expect */
- { 0, 0, 0, },
- { 0, 1, 1, },
- { 1, 1, 2, },
- { 0, 4294967294, 4294967294, },
- { 1, 4294967294, 4294967295, },
- { 2, 4294967294, 4294967295, },
- { 0, 4294967295, 4294967295, },
- { 1, 4294967295, 4294967295, },
- { 2, 4294967295, 4294967295, },
- { 4294967295, 4294967295, 4294967295, },
-};
+#define RUN_BINARY(x, y) RUN_SAT_U_ADD_FMT_7_FROM_U64_WRAP(T1, x, y)
-#include "scalar_sat_binary.h"
+#include "scalar_sat_binary_run_xxx.h"
diff --git a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-7-u8-from-u16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-7-u8-from-u16.c
index 9e6e70a..ec5ac70 100644
--- a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-7-u8-from-u16.c
+++ b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-7-u8-from-u16.c
@@ -2,25 +2,15 @@
/* { dg-additional-options "-std=c99" } */
#include "sat_arith.h"
+#include "sat_arith_data.h"
-#define T uint8_t
-#define WT uint16_t
-#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_7_FROM_U16_WRAP
+#define T1 uint8_t
+#define T2 uint16_t
+#define DATA TEST_BINARY_DATA_WRAP(T1, usadd)
+#define T TEST_BINARY_STRUCT_DECL(T1, usadd)
-DEF_SAT_U_ADD_FMT_7_WRAP(WT, T)
+DEF_SAT_U_ADD_FMT_7_WRAP(T2, T1)
-T test_data[][3] = {
- /* arg_0, arg_1, expect */
- { 0, 0, 0, },
- { 0, 1, 1, },
- { 1, 1, 2, },
- { 0, 254, 254, },
- { 1, 254, 255, },
- { 2, 254, 255, },
- { 0, 255, 255, },
- { 1, 255, 255, },
- { 2, 255, 255, },
- { 255, 255, 255, },
-};
+#define RUN_BINARY(x, y) RUN_SAT_U_ADD_FMT_7_FROM_U16_WRAP(T1, x, y)
-#include "scalar_sat_binary.h"
+#include "scalar_sat_binary_run_xxx.h"
diff --git a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-7-u8-from-u32.c b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-7-u8-from-u32.c
index a1134ed..aa94eef 100644
--- a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-7-u8-from-u32.c
+++ b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-7-u8-from-u32.c
@@ -2,25 +2,15 @@
/* { dg-additional-options "-std=c99" } */
#include "sat_arith.h"
+#include "sat_arith_data.h"
-#define T uint8_t
-#define WT uint32_t
-#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_7_FROM_U32_WRAP
+#define T1 uint8_t
+#define T2 uint32_t
+#define DATA TEST_BINARY_DATA_WRAP(T1, usadd)
+#define T TEST_BINARY_STRUCT_DECL(T1, usadd)
-DEF_SAT_U_ADD_FMT_7_WRAP(WT, T)
+DEF_SAT_U_ADD_FMT_7_WRAP(T2, T1)
-T test_data[][3] = {
- /* arg_0, arg_1, expect */
- { 0, 0, 0, },
- { 0, 1, 1, },
- { 1, 1, 2, },
- { 0, 254, 254, },
- { 1, 254, 255, },
- { 2, 254, 255, },
- { 0, 255, 255, },
- { 1, 255, 255, },
- { 2, 255, 255, },
- { 255, 255, 255, },
-};
+#define RUN_BINARY(x, y) RUN_SAT_U_ADD_FMT_7_FROM_U32_WRAP(T1, x, y)
-#include "scalar_sat_binary.h"
+#include "scalar_sat_binary_run_xxx.h"
diff --git a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-7-u8-from-u64.c b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-7-u8-from-u64.c
index ef9f7aa..6ac38ba 100644
--- a/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-7-u8-from-u64.c
+++ b/gcc/testsuite/gcc.target/riscv/sat/sat_u_add-run-7-u8-from-u64.c
@@ -2,25 +2,15 @@
/* { dg-additional-options "-std=c99" } */
#include "sat_arith.h"
+#include "sat_arith_data.h"
-#define T uint8_t
-#define WT uint64_t
-#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_7_FROM_U64_WRAP
+#define T1 uint8_t
+#define T2 uint64_t
+#define DATA TEST_BINARY_DATA_WRAP(T1, usadd)
+#define T TEST_BINARY_STRUCT_DECL(T1, usadd)
-DEF_SAT_U_ADD_FMT_7_WRAP(WT, T)
+DEF_SAT_U_ADD_FMT_7_WRAP(T2, T1)
-T test_data[][3] = {
- /* arg_0, arg_1, expect */
- { 0, 0, 0, },
- { 0, 1, 1, },
- { 1, 1, 2, },
- { 0, 254, 254, },
- { 1, 254, 255, },
- { 2, 254, 255, },
- { 0, 255, 255, },
- { 1, 255, 255, },
- { 2, 255, 255, },
- { 255, 255, 255, },
-};
+#define RUN_BINARY(x, y) RUN_SAT_U_ADD_FMT_7_FROM_U64_WRAP(T1, x, y)
-#include "scalar_sat_binary.h"
+#include "scalar_sat_binary_run_xxx.h"