https://gcc.gnu.org/g:4abd0af79f88e671153cec6f0532489f2672c07d
commit r15-5623-g4abd0af79f88e671153cec6f0532489f2672c07d Author: Pan Li <pan2...@intel.com> Date: Thu Nov 21 14:30:45 2024 +0800 RISC-V: Rearrange the test files for vector SAT_TRUNC [NFC] The test files of vector SAT_TRUNC only has numbers as the suffix. Rearrange the file name to -{form number}-{target-type}. For example, test form 3 for uint32_t SAT_TRUNC will have -3-u32.c for asm check and -run-3-u32.c for the run test. Meanwhile, moved all related test files to riscv/rvv/autovec/sat/. It is test only patch and obvious up to a point, will commit it directly if no comments in next 48H. gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/autovec/sat/vec_sat_data.h: Merge the same file name under autovec/unop. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-2.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u16.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-3.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u32.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-4.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u64.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-1.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u8.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-6.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u16.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-7.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u32.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-8.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u64.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-5.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u8.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-10.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u16.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-11.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u32.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-12.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u64.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-9.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u8.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-14.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u16.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-15.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u32.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-16.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u64.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-13.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u8.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-18.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u16.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-19.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u32.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-20.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u64.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-17.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u8.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-22.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u16.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-23.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u32.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-24.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u64.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-21.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u8.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-2.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u16.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-21.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u32.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-22.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u64.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-1.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u8.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-24.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u16.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-7.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u32.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-8.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u64.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-23.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u8.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-10.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u16.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-11.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u32.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-12.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u64.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-9.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u8.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-14.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u16.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-15.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u32.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-16.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u64.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-13.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u8.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-18.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u16.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-19.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u32.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-20.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u64.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-17.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u8.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-4.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u16.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-5.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u32.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-6.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u64.c: ...here. * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-3.c: Move to... * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u8.c: ...here. * gcc.target/riscv/rvv/autovec/sat/vec_sat_unary_vv_run.h: New test. Signed-off-by: Pan Li <pan2...@intel.com> Diff: --- .../riscv/rvv/autovec/sat/vec_sat_data.h | 675 +++++++++++++++++++++ .../vec_sat_u_trunc-1-u16.c} | 0 .../vec_sat_u_trunc-1-u32.c} | 0 .../vec_sat_u_trunc-1-u64.c} | 0 .../vec_sat_u_trunc-1-u8.c} | 0 .../vec_sat_u_trunc-2-u16.c} | 0 .../vec_sat_u_trunc-2-u32.c} | 0 .../vec_sat_u_trunc-2-u64.c} | 0 .../vec_sat_u_trunc-2-u8.c} | 0 .../vec_sat_u_trunc-3-u16.c} | 0 .../vec_sat_u_trunc-3-u32.c} | 0 .../vec_sat_u_trunc-3-u64.c} | 0 .../vec_sat_u_trunc-3-u8.c} | 0 .../vec_sat_u_trunc-4-u16.c} | 0 .../vec_sat_u_trunc-4-u32.c} | 0 .../vec_sat_u_trunc-4-u64.c} | 0 .../vec_sat_u_trunc-4-u8.c} | 0 .../vec_sat_u_trunc-5-u16.c} | 0 .../vec_sat_u_trunc-5-u32.c} | 0 .../vec_sat_u_trunc-5-u64.c} | 0 .../vec_sat_u_trunc-5-u8.c} | 0 .../vec_sat_u_trunc-6-u16.c} | 0 .../vec_sat_u_trunc-6-u32.c} | 0 .../vec_sat_u_trunc-6-u64.c} | 0 .../vec_sat_u_trunc-6-u8.c} | 0 .../vec_sat_u_trunc-run-1-u16.c} | 0 .../vec_sat_u_trunc-run-1-u32.c} | 0 .../vec_sat_u_trunc-run-1-u64.c} | 0 .../vec_sat_u_trunc-run-1-u8.c} | 0 .../vec_sat_u_trunc-run-2-u16.c} | 0 .../vec_sat_u_trunc-run-2-u32.c} | 0 .../vec_sat_u_trunc-run-2-u64.c} | 0 .../vec_sat_u_trunc-run-2-u8.c} | 0 .../vec_sat_u_trunc-run-3-u16.c} | 0 .../vec_sat_u_trunc-run-3-u32.c} | 0 .../vec_sat_u_trunc-run-3-u64.c} | 0 .../vec_sat_u_trunc-run-3-u8.c} | 0 .../vec_sat_u_trunc-run-4-u16.c} | 0 .../vec_sat_u_trunc-run-4-u32.c} | 0 .../vec_sat_u_trunc-run-4-u64.c} | 0 .../vec_sat_u_trunc-run-4-u8.c} | 0 .../vec_sat_u_trunc-run-5-u16.c} | 0 .../vec_sat_u_trunc-run-5-u32.c} | 0 .../vec_sat_u_trunc-run-5-u64.c} | 0 .../vec_sat_u_trunc-run-5-u8.c} | 0 .../vec_sat_u_trunc-run-6-u16.c} | 0 .../vec_sat_u_trunc-run-6-u32.c} | 0 .../vec_sat_u_trunc-run-6-u64.c} | 0 .../vec_sat_u_trunc-run-6-u8.c} | 0 .../riscv/rvv/autovec/sat/vec_sat_unary_vv_run.h | 23 + 50 files changed, 698 insertions(+) diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_data.h b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_data.h index bcb4a3f3f1d6..3db7a5c7d289 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_data.h +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_data.h @@ -4,6 +4,33 @@ #define N 16 #define TEST_UNARY_DATA(T, NAME) test_##T##_##NAME##_data #define TEST_UNARY_DATA_WRAP(T, NAME) TEST_UNARY_DATA(T, NAME) +#define TEST_UNARY_STRUCT_NAME(T1, T2) test_##T1##_##T2##_s +#define TEST_UNARY_STRUCT_DECL(T1, T2) struct TEST_UNARY_STRUCT_NAME(T1, T2) +#define TEST_UNARY_STRUCT(T1, T2) \ + struct TEST_UNARY_STRUCT_NAME(T1, T2) \ + { \ + T2 in[N]; \ + T1 expect[N]; \ + T1 out[N]; \ + }; + +TEST_UNARY_STRUCT(uint8_t, uint16_t) +TEST_UNARY_STRUCT(uint8_t, uint32_t) +TEST_UNARY_STRUCT(uint8_t, uint64_t) + +TEST_UNARY_STRUCT(uint16_t, uint32_t) +TEST_UNARY_STRUCT(uint16_t, uint64_t) + +TEST_UNARY_STRUCT(uint32_t, uint64_t) + +TEST_UNARY_STRUCT(int8_t, int16_t) +TEST_UNARY_STRUCT(int8_t, int32_t) +TEST_UNARY_STRUCT(int8_t, int64_t) + +TEST_UNARY_STRUCT(int16_t, int32_t) +TEST_UNARY_STRUCT(int16_t, int64_t) + +TEST_UNARY_STRUCT(int32_t, int64_t) uint8_t TEST_UNARY_DATA(uint8_t, sat_u_add_imm)[][2][N] = { @@ -1102,4 +1129,652 @@ int64_t TEST_BINARY_DATA_NAME(int64_t, int64_t, sssub)[][3][N] = }, }; +TEST_UNARY_STRUCT_DECL(uint8_t, uint16_t) \ + TEST_UNARY_DATA(uint8_t, uint16_t)[] = +{ + { + { + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + }, + { + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + }, + }, + { + { + 1, 2, 3, 4, + 1, 2, 3, 4, + 1, 2, 3, 4, + 1, 2, 3, 4, + }, + { + 1, 2, 3, 4, + 1, 2, 3, 4, + 1, 2, 3, 4, + 1, 2, 3, 4, + }, + }, + { + { + 254, 255, 256, 257, + 254, 255, 256, 257, + 254, 255, 256, 257, + 254, 255, 256, 257, + }, + { + 254, 255, 255, 255, + 254, 255, 255, 255, + 254, 255, 255, 255, + 254, 255, 255, 255, + }, + }, + { + { + 65534, 65535, 650, 24, + 65534, 65535, 650, 24, + 65534, 65535, 650, 24, + 65534, 65535, 650, 24, + }, + { + 255, 255, 255, 24, + 255, 255, 255, 24, + 255, 255, 255, 24, + 255, 255, 255, 24, + }, + }, +}; + +TEST_UNARY_STRUCT_DECL(uint8_t, uint32_t) \ + TEST_UNARY_DATA(uint8_t, uint32_t)[] = +{ + { + { + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + }, + { + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + }, + }, + { + { + 1, 2, 3, 4, + 1, 2, 3, 4, + 1, 2, 3, 4, + 1, 2, 3, 4, + }, + { + 1, 2, 3, 4, + 1, 2, 3, 4, + 1, 2, 3, 4, + 1, 2, 3, 4, + }, + }, + { + { + 254, 255, 256, 257, + 254, 255, 256, 257, + 254, 255, 256, 257, + 254, 255, 256, 257, + }, + { + 254, 255, 255, 255, + 254, 255, 255, 255, + 254, 255, 255, 255, + 254, 255, 255, 255, + }, + }, + { + { + 65534, 65535, 65536, 4294967291, + 65534, 65535, 65537, 4294967292, + 65534, 65535, 65538, 4294967293, + 65534, 65535, 65539, 4294967294, + }, + { + 255, 255, 255, 255, + 255, 255, 255, 255, + 255, 255, 255, 255, + 255, 255, 255, 255, + }, + }, +}; + +TEST_UNARY_STRUCT_DECL(uint8_t, uint64_t) \ + TEST_UNARY_DATA(uint8_t, uint64_t)[] = +{ + { + { + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + }, + { + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + }, + }, + { + { + 1, 2, 3, 4, + 1, 2, 3, 4, + 1, 2, 3, 4, + 1, 2, 3, 4, + }, + { + 1, 2, 3, 4, + 1, 2, 3, 4, + 1, 2, 3, 4, + 1, 2, 3, 4, + }, + }, + { + { + 254, 255, 256, 257, + 254, 255, 256, 257, + 254, 255, 256, 257, + 254, 255, 256, 257, + }, + { + 254, 255, 255, 255, + 254, 255, 255, 255, + 254, 255, 255, 255, + 254, 255, 255, 255, + }, + }, + { + { + 65534, 65535, 4294967292, 4294967296, + 65534, 65536, 4294967293, 18446744073709551613u, + 65534, 65537, 4294967294, 18446744073709551614u, + 65534, 65538, 4294967295, 18446744073709551615u, + }, + { + 255, 255, 255, 255, + 255, 255, 255, 255, + 255, 255, 255, 255, + 255, 255, 255, 255, + }, + }, +}; + +TEST_UNARY_STRUCT_DECL(uint16_t, uint32_t) \ + TEST_UNARY_DATA(uint16_t, uint32_t)[] = +{ + { + { + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + }, + { + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + }, + }, + { + { + 1, 2, 3, 4, + 1, 2, 3, 4, + 1, 2, 3, 4, + 1, 2, 3, 4, + }, + { + 1, 2, 3, 4, + 1, 2, 3, 4, + 1, 2, 3, 4, + 1, 2, 3, 4, + }, + }, + { + { + 65534, 65535, 65536, 65537, + 65534, 65535, 65536, 65537, + 65534, 65535, 65536, 65537, + 65534, 65535, 65536, 65537, + }, + { + 65534, 65535, 65535, 65535, + 65534, 65535, 65535, 65535, + 65534, 65535, 65535, 65535, + 65534, 65535, 65535, 65535, + }, + }, + { + { + 65534, 65535, 4294967295, 4294967291, + 65534, 65535, 4294967295, 4294967292, + 65534, 65535, 4294967295, 4294967293, + 65534, 65535, 4294967295, 4294967294, + }, + { + 65534, 65535, 65535, 65535, + 65534, 65535, 65535, 65535, + 65534, 65535, 65535, 65535, + 65534, 65535, 65535, 65535, + }, + }, +}; + +TEST_UNARY_STRUCT_DECL(uint16_t, uint64_t) \ + TEST_UNARY_DATA(uint16_t, uint64_t)[] = +{ + { + { + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + }, + { + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + }, + }, + { + { + 1, 2, 3, 4, + 1, 2, 3, 4, + 1, 2, 3, 4, + 1, 2, 3, 4, + }, + { + 1, 2, 3, 4, + 1, 2, 3, 4, + 1, 2, 3, 4, + 1, 2, 3, 4, + }, + }, + { + { + 65534, 65535, 65536, 65537, + 65534, 65535, 65536, 65537, + 65534, 65535, 65536, 65537, + 65534, 65535, 65536, 65537, + }, + { + 65534, 65535, 65535, 65535, + 65534, 65535, 65535, 65535, + 65534, 65535, 65535, 65535, + 65534, 65535, 65535, 65535, + }, + }, + { + { + 65534, 65535, 4294967294, 4294967298, + 65534, 65536, 4294967295, 18446744073709551613u, + 65534, 65537, 4294967296, 18446744073709551614u, + 65534, 65538, 4294967297, 18446744073709551615u, + }, + { + 65534, 65535, 65535, 65535, + 65534, 65535, 65535, 65535, + 65534, 65535, 65535, 65535, + 65534, 65535, 65535, 65535, + }, + }, +}; + +TEST_UNARY_STRUCT_DECL(uint32_t, uint64_t) \ + TEST_UNARY_DATA(uint32_t, uint64_t)[] = +{ + { + { + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + }, + { + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + }, + }, + { + { + 1, 2, 3, 4, + 1, 2, 3, 4, + 1, 2, 3, 4, + 1, 2, 3, 4, + }, + { + 1, 2, 3, 4, + 1, 2, 3, 4, + 1, 2, 3, 4, + 1, 2, 3, 4, + }, + }, + { + { + 65534, 65535, 65536, 65537, + 65534, 65535, 65536, 65537, + 65534, 65535, 65536, 65537, + 65534, 65535, 65536, 65537, + }, + { + 65534, 65535, 65536, 65537, + 65534, 65535, 65536, 65537, + 65534, 65535, 65536, 65537, + 65534, 65535, 65536, 65537, + }, + }, + { + { + 65534, 65535, 4294967294, 4294967298, + 65534, 65536, 4294967295, 18446744073709551613u, + 65534, 65537, 4294967296, 18446744073709551614u, + 65534, 65538, 4294967297, 18446744073709551615u, + }, + { + 65534, 65535, 4294967294, 4294967295, + 65534, 65536, 4294967295, 4294967295, + 65534, 65537, 4294967295, 4294967295, + 65534, 65538, 4294967295, 4294967295, + }, + }, +}; + +TEST_UNARY_STRUCT_DECL(int8_t, int16_t) \ + TEST_UNARY_DATA(int8_t, int16_t)[] = +{ + { + { + 0, 0, 0, 0, + -1, -1, -1, -1, + 1, 1, 1, 1, + 2, 2, 2, 2, + }, + { + 0, 0, 0, 0, + -1, -1, -1, -1, + 1, 1, 1, 1, + 2, 2, 2, 2, + }, + }, + { + { + 127, 127, 127, 127, + 128, 128, 128, 128, + -128, -128, -128, -128, + -129, -129, -129, -129, + }, + { + 127, 127, 127, 127, + 127, 127, 127, 127, + -128, -128, -128, -128, + -128, -128, -128, -128, + }, + }, + { + { + 32766, 32766, 32766, 32766, + 32767, 32767, 32767, 32767, + -32767, -32767, -32767, -32767, + -32768, -32768, -32768, -32768, + }, + { + 127, 127, 127, 127, + 127, 127, 127, 127, + -128, -128, -128, -128, + -128, -128, -128, -128, + }, + }, +}; + +TEST_UNARY_STRUCT_DECL(int8_t, int32_t) \ + TEST_UNARY_DATA(int8_t, int32_t)[] = +{ + { + { + 0, 0, 0, 0, + -1, -1, -1, -1, + 1, 1, 1, 1, + 2, 2, 2, 2, + }, + { + 0, 0, 0, 0, + -1, -1, -1, -1, + 1, 1, 1, 1, + 2, 2, 2, 2, + }, + }, + { + { + 127, 127, 127, 127, + 128, 128, 128, 128, + -128, -128, -128, -128, + -129, -129, -129, -129, + }, + { + 127, 127, 127, 127, + 127, 127, 127, 127, + -128, -128, -128, -128, + -128, -128, -128, -128, + }, + }, + { + { + 2147483646, 2147483646, 2147483646, 2147483646, + 2147483647, 2147483647, 2147483647, 2147483647, + -2147483647, -2147483647, -2147483647, -2147483647, + -2147483648, -2147483648, -2147483648, -2147483648, + }, + { + 127, 127, 127, 127, + 127, 127, 127, 127, + -128, -128, -128, -128, + -128, -128, -128, -128, + }, + }, +}; + +TEST_UNARY_STRUCT_DECL(int8_t, int64_t) \ + TEST_UNARY_DATA(int8_t, int64_t)[] = +{ + { + { + 0, 0, 0, 0, + -1, -1, -1, -1, + 1, 1, 1, 1, + 2, 2, 2, 2, + }, + { + 0, 0, 0, 0, + -1, -1, -1, -1, + 1, 1, 1, 1, + 2, 2, 2, 2, + }, + }, + { + { + 127, 127, 127, 127, + 128, 128, 128, 128, + -128, -128, -128, -128, + -129, -129, -129, -129, + }, + { + 127, 127, 127, 127, + 127, 127, 127, 127, + -128, -128, -128, -128, + -128, -128, -128, -128, + }, + }, + { + { + 9223372036854775806ll, 9223372036854775806ll, 9223372036854775806ll, 9223372036854775806ll, + 9223372036854775807ll, 9223372036854775807ll, 9223372036854775807ll, 9223372036854775807ll, + -9223372036854775807ll, -9223372036854775807ll, -9223372036854775807ll, -9223372036854775807ll, + -9223372036854775808ull, -9223372036854775808ull, -9223372036854775808ull, -9223372036854775808ull, + }, + { + 127, 127, 127, 127, + 127, 127, 127, 127, + -128, -128, -128, -128, + -128, -128, -128, -128, + }, + }, +}; + +TEST_UNARY_STRUCT_DECL(int16_t, int32_t) \ + TEST_UNARY_DATA(int16_t, int32_t)[] = +{ + { + { + 0, 0, 0, 0, + -1, -1, -1, -1, + 1, 1, 1, 1, + 2, 2, 2, 2, + }, + { + 0, 0, 0, 0, + -1, -1, -1, -1, + 1, 1, 1, 1, + 2, 2, 2, 2, + }, + }, + { + { + 32767, 32767, 32767, 32767, + 32768, 32768, 32768, 32768, + -32768, -32768, -32768, -32768, + -32769, -32769, -32769, -32769, + }, + { + 32767, 32767, 32767, 32767, + 32767, 32767, 32767, 32767, + -32768, -32768, -32768, -32768, + -32768, -32768, -32768, -32768, + }, + }, + { + { + 2147483646, 2147483646, 2147483646, 2147483646, + 2147483647, 2147483647, 2147483647, 2147483647, + -2147483647, -2147483647, -2147483647, -2147483647, + -2147483648, -2147483648, -2147483648, -2147483648, + }, + { + 32767, 32767, 32767, 32767, + 32767, 32767, 32767, 32767, + -32768, -32768, -32768, -32768, + -32768, -32768, -32768, -32768, + }, + }, +}; + +TEST_UNARY_STRUCT_DECL(int16_t, int64_t) \ + TEST_UNARY_DATA(int16_t, int64_t)[] = +{ + { + { + 0, 0, 0, 0, + -1, -1, -1, -1, + 1, 1, 1, 1, + 2, 2, 2, 2, + }, + { + 0, 0, 0, 0, + -1, -1, -1, -1, + 1, 1, 1, 1, + 2, 2, 2, 2, + }, + }, + { + { + 32767, 32767, 32767, 32767, + 32768, 32768, 32768, 32768, + -32768, -32768, -32768, -32768, + -32769, -32769, -32769, -32769, + }, + { + 32767, 32767, 32767, 32767, + 32767, 32767, 32767, 32767, + -32768, -32768, -32768, -32768, + -32768, -32768, -32768, -32768, + }, + }, + { + { + 9223372036854775806ll, 9223372036854775806ll, 9223372036854775806ll, 9223372036854775806ll, + 9223372036854775807ll, 9223372036854775807ll, 9223372036854775807ll, 9223372036854775807ll, + -9223372036854775807ll, -9223372036854775807ll, -9223372036854775807ll, -9223372036854775807ll, + -9223372036854775808ull, -9223372036854775808ull, -9223372036854775808ull, -9223372036854775808ull, + }, + { + 32767, 32767, 32767, 32767, + 32767, 32767, 32767, 32767, + -32768, -32768, -32768, -32768, + -32768, -32768, -32768, -32768, + }, + }, +}; + +TEST_UNARY_STRUCT_DECL(int32_t, int64_t) \ + TEST_UNARY_DATA(int32_t, int64_t)[] = +{ + { + { + 0, 0, 0, 0, + -1, -1, -1, -1, + 1, 1, 1, 1, + 2, 2, 2, 2, + }, + { + 0, 0, 0, 0, + -1, -1, -1, -1, + 1, 1, 1, 1, + 2, 2, 2, 2, + }, + }, + { + { + 2147483647, 2147483647, 2147483647, 2147483647, + 2147483648, 2147483648, 2147483648, 2147483648, + -2147483648, -2147483648, -2147483648, -2147483648, + -2147483649, -2147483649, -2147483649, -2147483649, + }, + { + 2147483647, 2147483647, 2147483647, 2147483647, + 2147483647, 2147483647, 2147483647, 2147483647, + -2147483648, -2147483648, -2147483648, -2147483648, + -2147483648, -2147483648, -2147483648, -2147483648, + }, + }, + { + { + 9223372036854775806ll, 9223372036854775806ll, 9223372036854775806ll, 9223372036854775806ll, + 9223372036854775807ll, 9223372036854775807ll, 9223372036854775807ll, 9223372036854775807ll, + -9223372036854775807ll, -9223372036854775807ll, -9223372036854775807ll, -9223372036854775807ll, + -9223372036854775808ull, -9223372036854775808ull, -9223372036854775808ull, -9223372036854775808ull, + }, + { + 2147483647, 2147483647, 2147483647, 2147483647, + 2147483647, 2147483647, 2147483647, 2147483647, + -2147483648, -2147483648, -2147483648, -2147483648, + -2147483648, -2147483648, -2147483648, -2147483648, + }, + }, +}; + #endif diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-2.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u16.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-3.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-3.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u32.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-4.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u64.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-4.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u64.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-1.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u8.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-6.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-6.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u16.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-7.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-7.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u32.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-8.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u64.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-8.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u64.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-5.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-5.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u8.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-10.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-10.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u16.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-11.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-11.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u32.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-12.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u64.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-12.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u64.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-9.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-9.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u8.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-14.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-14.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u16.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-15.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-15.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u32.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-16.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u64.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-16.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u64.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-13.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-13.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u8.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-18.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-18.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u16.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-19.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-19.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u32.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-20.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u64.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-20.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u64.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-17.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-17.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u8.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-22.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-22.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u16.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-23.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-23.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u32.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-24.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u64.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-24.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u64.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-21.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-21.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u8.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-2.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u16.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-21.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-21.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u32.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-22.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u64.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-22.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u64.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-1.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u8.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-24.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-24.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u16.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-7.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-7.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u32.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-8.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u64.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-8.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u64.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-23.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-23.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u8.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-10.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-10.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u16.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-11.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-11.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u32.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-12.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u64.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-12.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u64.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-9.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-9.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u8.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-14.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-14.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u16.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-15.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-15.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u32.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-16.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u64.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-16.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u64.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-13.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-13.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u8.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-18.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-18.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u16.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-19.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-19.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u32.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-20.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u64.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-20.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u64.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-17.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-17.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u8.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-4.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-4.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u16.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-5.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-5.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u32.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-6.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u64.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-6.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u64.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-3.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-3.c rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u8.c diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_unary_vv_run.h b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_unary_vv_run.h new file mode 100644 index 000000000000..e731e9f3f715 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_unary_vv_run.h @@ -0,0 +1,23 @@ +#ifndef HAVE_DEFINE_VEC_SAT_UNARY_VV_RUN_H +#define HAVE_DEFINE_VEC_SAT_UNARY_VV_RUN_H + +int +main () +{ + unsigned i, k; + + for (i = 0; i < sizeof (DATA) / sizeof (DATA[0]); i++) + { + T *data = &DATA[i]; + + RUN_UNARY (data->out, data->in, N); + + for (k = 0; k < N; k++) + if (data->out[k] != data->expect[k]) + __builtin_abort (); + } + + return 0; +} + +#endif