From: Pan Li <pan2...@intel.com> Move all the other files of scalar SAT to dir riscv/sat/.
The below test suites are passed for this patch. * The rv64gcv fully regression test. 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/sat_s_sub-1-i16.c: Move to... * gcc.target/riscv/sat/sat_s_sub-1-i16.c: ...here. * gcc.target/riscv/sat_s_sub-1-i32.c: Move to... * gcc.target/riscv/sat/sat_s_sub-1-i32.c: ...here. * gcc.target/riscv/sat_s_sub-1-i64.c: Move to... * gcc.target/riscv/sat/sat_s_sub-1-i64.c: ...here. * gcc.target/riscv/sat_s_sub-1-i8.c: Move to... * gcc.target/riscv/sat/sat_s_sub-1-i8.c: ...here. * gcc.target/riscv/sat_s_sub-2-i16.c: Move to... * gcc.target/riscv/sat/sat_s_sub-2-i16.c: ...here. * gcc.target/riscv/sat_s_sub-2-i32.c: Move to... * gcc.target/riscv/sat/sat_s_sub-2-i32.c: ...here. * gcc.target/riscv/sat_s_sub-2-i64.c: Move to... * gcc.target/riscv/sat/sat_s_sub-2-i64.c: ...here. * gcc.target/riscv/sat_s_sub-2-i8.c: Move to... * gcc.target/riscv/sat/sat_s_sub-2-i8.c: ...here. * gcc.target/riscv/sat_s_sub-3-i16.c: Move to... * gcc.target/riscv/sat/sat_s_sub-3-i16.c: ...here. * gcc.target/riscv/sat_s_sub-3-i32.c: Move to... * gcc.target/riscv/sat/sat_s_sub-3-i32.c: ...here. * gcc.target/riscv/sat_s_sub-3-i64.c: Move to... * gcc.target/riscv/sat/sat_s_sub-3-i64.c: ...here. * gcc.target/riscv/sat_s_sub-3-i8.c: Move to... * gcc.target/riscv/sat/sat_s_sub-3-i8.c: ...here. * gcc.target/riscv/sat_s_sub-4-i16.c: Move to... * gcc.target/riscv/sat/sat_s_sub-4-i16.c: ...here. * gcc.target/riscv/sat_s_sub-4-i32.c: Move to... * gcc.target/riscv/sat/sat_s_sub-4-i32.c: ...here. * gcc.target/riscv/sat_s_sub-4-i64.c: Move to... * gcc.target/riscv/sat/sat_s_sub-4-i64.c: ...here. * gcc.target/riscv/sat_s_sub-4-i8.c: Move to... * gcc.target/riscv/sat/sat_s_sub-4-i8.c: ...here. * gcc.target/riscv/sat_s_sub-run-1-i16.c: Move to... * gcc.target/riscv/sat/sat_s_sub-run-1-i16.c: ...here. * gcc.target/riscv/sat_s_sub-run-1-i32.c: Move to... * gcc.target/riscv/sat/sat_s_sub-run-1-i32.c: ...here. * gcc.target/riscv/sat_s_sub-run-1-i64.c: Move to... * gcc.target/riscv/sat/sat_s_sub-run-1-i64.c: ...here. * gcc.target/riscv/sat_s_sub-run-1-i8.c: Move to... * gcc.target/riscv/sat/sat_s_sub-run-1-i8.c: ...here. * gcc.target/riscv/sat_s_sub-run-2-i16.c: Move to... * gcc.target/riscv/sat/sat_s_sub-run-2-i16.c: ...here. * gcc.target/riscv/sat_s_sub-run-2-i32.c: Move to... * gcc.target/riscv/sat/sat_s_sub-run-2-i32.c: ...here. * gcc.target/riscv/sat_s_sub-run-2-i64.c: Move to... * gcc.target/riscv/sat/sat_s_sub-run-2-i64.c: ...here. * gcc.target/riscv/sat_s_sub-run-2-i8.c: Move to... * gcc.target/riscv/sat/sat_s_sub-run-2-i8.c: ...here. * gcc.target/riscv/sat_s_sub-run-3-i16.c: Move to... * gcc.target/riscv/sat/sat_s_sub-run-3-i16.c: ...here. * gcc.target/riscv/sat_s_sub-run-3-i32.c: Move to... * gcc.target/riscv/sat/sat_s_sub-run-3-i32.c: ...here. * gcc.target/riscv/sat_s_sub-run-3-i64.c: Move to... * gcc.target/riscv/sat/sat_s_sub-run-3-i64.c: ...here. * gcc.target/riscv/sat_s_sub-run-3-i8.c: Move to... * gcc.target/riscv/sat/sat_s_sub-run-3-i8.c: ...here. * gcc.target/riscv/sat_s_sub-run-4-i16.c: Move to... * gcc.target/riscv/sat/sat_s_sub-run-4-i16.c: ...here. * gcc.target/riscv/sat_s_sub-run-4-i32.c: Move to... * gcc.target/riscv/sat/sat_s_sub-run-4-i32.c: ...here. * gcc.target/riscv/sat_s_sub-run-4-i64.c: Move to... * gcc.target/riscv/sat/sat_s_sub-run-4-i64.c: ...here. * gcc.target/riscv/sat_s_sub-run-4-i8.c: Move to... * gcc.target/riscv/sat/sat_s_sub-run-4-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-1-i16-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-1-i16-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-1-i32-to-i16.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-1-i32-to-i16.c: ...here. * gcc.target/riscv/sat_s_trunc-1-i32-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-1-i32-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-1-i64-to-i16.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-1-i64-to-i16.c: ...here. * gcc.target/riscv/sat_s_trunc-1-i64-to-i32.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-1-i64-to-i32.c: ...here. * gcc.target/riscv/sat_s_trunc-1-i64-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-1-i64-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-2-i16-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-2-i16-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-2-i32-to-i16.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-2-i32-to-i16.c: ...here. * gcc.target/riscv/sat_s_trunc-2-i32-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-2-i32-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-2-i64-to-i16.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-2-i64-to-i16.c: ...here. * gcc.target/riscv/sat_s_trunc-2-i64-to-i32.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-2-i64-to-i32.c: ...here. * gcc.target/riscv/sat_s_trunc-2-i64-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-2-i64-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-3-i16-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-3-i16-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-3-i32-to-i16.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-3-i32-to-i16.c: ...here. * gcc.target/riscv/sat_s_trunc-3-i32-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-3-i32-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-3-i64-to-i16.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-3-i64-to-i16.c: ...here. * gcc.target/riscv/sat_s_trunc-3-i64-to-i32.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-3-i64-to-i32.c: ...here. * gcc.target/riscv/sat_s_trunc-3-i64-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-3-i64-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-4-i16-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-4-i16-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-4-i32-to-i16.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-4-i32-to-i16.c: ...here. * gcc.target/riscv/sat_s_trunc-4-i32-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-4-i32-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-4-i64-to-i16.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-4-i64-to-i16.c: ...here. * gcc.target/riscv/sat_s_trunc-4-i64-to-i32.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-4-i64-to-i32.c: ...here. * gcc.target/riscv/sat_s_trunc-4-i64-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-4-i64-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-5-i16-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-5-i16-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-5-i32-to-i16.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-5-i32-to-i16.c: ...here. * gcc.target/riscv/sat_s_trunc-5-i32-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-5-i32-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-5-i64-to-i16.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-5-i64-to-i16.c: ...here. * gcc.target/riscv/sat_s_trunc-5-i64-to-i32.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-5-i64-to-i32.c: ...here. * gcc.target/riscv/sat_s_trunc-5-i64-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-5-i64-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-6-i16-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-6-i16-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-6-i32-to-i16.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-6-i32-to-i16.c: ...here. * gcc.target/riscv/sat_s_trunc-6-i32-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-6-i32-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-6-i64-to-i16.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-6-i64-to-i16.c: ...here. * gcc.target/riscv/sat_s_trunc-6-i64-to-i32.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-6-i64-to-i32.c: ...here. * gcc.target/riscv/sat_s_trunc-6-i64-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-6-i64-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-7-i16-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-7-i16-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-7-i32-to-i16.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-7-i32-to-i16.c: ...here. * gcc.target/riscv/sat_s_trunc-7-i32-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-7-i32-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-7-i64-to-i16.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-7-i64-to-i16.c: ...here. * gcc.target/riscv/sat_s_trunc-7-i64-to-i32.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-7-i64-to-i32.c: ...here. * gcc.target/riscv/sat_s_trunc-7-i64-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-7-i64-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-8-i16-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-8-i16-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-8-i32-to-i16.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-8-i32-to-i16.c: ...here. * gcc.target/riscv/sat_s_trunc-8-i32-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-8-i32-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-8-i64-to-i16.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-8-i64-to-i16.c: ...here. * gcc.target/riscv/sat_s_trunc-8-i64-to-i32.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-8-i64-to-i32.c: ...here. * gcc.target/riscv/sat_s_trunc-8-i64-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-8-i64-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-run-1-i16-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-1-i16-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-run-1-i32-to-i16.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-1-i32-to-i16.c: ...here. * gcc.target/riscv/sat_s_trunc-run-1-i32-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-1-i32-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-run-1-i64-to-i16.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-1-i64-to-i16.c: ...here. * gcc.target/riscv/sat_s_trunc-run-1-i64-to-i32.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-1-i64-to-i32.c: ...here. * gcc.target/riscv/sat_s_trunc-run-1-i64-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-1-i64-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-run-2-i16-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-2-i16-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-run-2-i32-to-i16.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-2-i32-to-i16.c: ...here. * gcc.target/riscv/sat_s_trunc-run-2-i32-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-2-i32-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-run-2-i64-to-i16.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-2-i64-to-i16.c: ...here. * gcc.target/riscv/sat_s_trunc-run-2-i64-to-i32.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-2-i64-to-i32.c: ...here. * gcc.target/riscv/sat_s_trunc-run-2-i64-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-2-i64-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-run-3-i16-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-3-i16-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-run-3-i32-to-i16.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-3-i32-to-i16.c: ...here. * gcc.target/riscv/sat_s_trunc-run-3-i32-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-3-i32-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-run-3-i64-to-i16.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-3-i64-to-i16.c: ...here. * gcc.target/riscv/sat_s_trunc-run-3-i64-to-i32.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-3-i64-to-i32.c: ...here. * gcc.target/riscv/sat_s_trunc-run-3-i64-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-3-i64-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-run-4-i16-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-4-i16-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-run-4-i32-to-i16.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-4-i32-to-i16.c: ...here. * gcc.target/riscv/sat_s_trunc-run-4-i32-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-4-i32-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-run-4-i64-to-i16.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-4-i64-to-i16.c: ...here. * gcc.target/riscv/sat_s_trunc-run-4-i64-to-i32.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-4-i64-to-i32.c: ...here. * gcc.target/riscv/sat_s_trunc-run-4-i64-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-4-i64-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-run-5-i16-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-5-i16-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-run-5-i32-to-i16.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-5-i32-to-i16.c: ...here. * gcc.target/riscv/sat_s_trunc-run-5-i32-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-5-i32-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-run-5-i64-to-i16.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-5-i64-to-i16.c: ...here. * gcc.target/riscv/sat_s_trunc-run-5-i64-to-i32.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-5-i64-to-i32.c: ...here. * gcc.target/riscv/sat_s_trunc-run-5-i64-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-5-i64-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-run-6-i16-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-6-i16-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-run-6-i32-to-i16.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-6-i32-to-i16.c: ...here. * gcc.target/riscv/sat_s_trunc-run-6-i32-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-6-i32-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-run-6-i64-to-i16.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-6-i64-to-i16.c: ...here. * gcc.target/riscv/sat_s_trunc-run-6-i64-to-i32.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-6-i64-to-i32.c: ...here. * gcc.target/riscv/sat_s_trunc-run-6-i64-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-6-i64-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-run-7-i16-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-7-i16-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-run-7-i32-to-i16.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-7-i32-to-i16.c: ...here. * gcc.target/riscv/sat_s_trunc-run-7-i32-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-7-i32-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-run-7-i64-to-i16.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-7-i64-to-i16.c: ...here. * gcc.target/riscv/sat_s_trunc-run-7-i64-to-i32.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-7-i64-to-i32.c: ...here. * gcc.target/riscv/sat_s_trunc-run-7-i64-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-7-i64-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-run-8-i16-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-8-i16-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-run-8-i32-to-i16.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-8-i32-to-i16.c: ...here. * gcc.target/riscv/sat_s_trunc-run-8-i32-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-8-i32-to-i8.c: ...here. * gcc.target/riscv/sat_s_trunc-run-8-i64-to-i16.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-8-i64-to-i16.c: ...here. * gcc.target/riscv/sat_s_trunc-run-8-i64-to-i32.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-8-i64-to-i32.c: ...here. * gcc.target/riscv/sat_s_trunc-run-8-i64-to-i8.c: Move to... * gcc.target/riscv/sat/sat_s_trunc-run-8-i64-to-i8.c: ...here. * gcc.target/riscv/sat_arith.h: Removed. * gcc.target/riscv/sat_arith_data.h: Removed. Signed-off-by: Pan Li <pan2...@intel.com> --- .../riscv/{ => sat}/sat_s_sub-1-i16.c | 0 .../riscv/{ => sat}/sat_s_sub-1-i32.c | 0 .../riscv/{ => sat}/sat_s_sub-1-i64.c | 0 .../riscv/{ => sat}/sat_s_sub-1-i8.c | 0 .../riscv/{ => sat}/sat_s_sub-2-i16.c | 0 .../riscv/{ => sat}/sat_s_sub-2-i32.c | 0 .../riscv/{ => sat}/sat_s_sub-2-i64.c | 0 .../riscv/{ => sat}/sat_s_sub-2-i8.c | 0 .../riscv/{ => sat}/sat_s_sub-3-i16.c | 0 .../riscv/{ => sat}/sat_s_sub-3-i32.c | 0 .../riscv/{ => sat}/sat_s_sub-3-i64.c | 0 .../riscv/{ => sat}/sat_s_sub-3-i8.c | 0 .../riscv/{ => sat}/sat_s_sub-4-i16.c | 0 .../riscv/{ => sat}/sat_s_sub-4-i32.c | 0 .../riscv/{ => sat}/sat_s_sub-4-i64.c | 0 .../riscv/{ => sat}/sat_s_sub-4-i8.c | 0 .../riscv/{ => sat}/sat_s_sub-run-1-i16.c | 0 .../riscv/{ => sat}/sat_s_sub-run-1-i32.c | 0 .../riscv/{ => sat}/sat_s_sub-run-1-i64.c | 0 .../riscv/{ => sat}/sat_s_sub-run-1-i8.c | 0 .../riscv/{ => sat}/sat_s_sub-run-2-i16.c | 0 .../riscv/{ => sat}/sat_s_sub-run-2-i32.c | 0 .../riscv/{ => sat}/sat_s_sub-run-2-i64.c | 0 .../riscv/{ => sat}/sat_s_sub-run-2-i8.c | 0 .../riscv/{ => sat}/sat_s_sub-run-3-i16.c | 0 .../riscv/{ => sat}/sat_s_sub-run-3-i32.c | 0 .../riscv/{ => sat}/sat_s_sub-run-3-i64.c | 0 .../riscv/{ => sat}/sat_s_sub-run-3-i8.c | 0 .../riscv/{ => sat}/sat_s_sub-run-4-i16.c | 0 .../riscv/{ => sat}/sat_s_sub-run-4-i32.c | 0 .../riscv/{ => sat}/sat_s_sub-run-4-i64.c | 0 .../riscv/{ => sat}/sat_s_sub-run-4-i8.c | 0 .../riscv/{ => sat}/sat_s_trunc-1-i16-to-i8.c | 0 .../{ => sat}/sat_s_trunc-1-i32-to-i16.c | 0 .../riscv/{ => sat}/sat_s_trunc-1-i32-to-i8.c | 0 .../{ => sat}/sat_s_trunc-1-i64-to-i16.c | 0 .../{ => sat}/sat_s_trunc-1-i64-to-i32.c | 0 .../riscv/{ => sat}/sat_s_trunc-1-i64-to-i8.c | 0 .../riscv/{ => sat}/sat_s_trunc-2-i16-to-i8.c | 0 .../{ => sat}/sat_s_trunc-2-i32-to-i16.c | 0 .../riscv/{ => sat}/sat_s_trunc-2-i32-to-i8.c | 0 .../{ => sat}/sat_s_trunc-2-i64-to-i16.c | 0 .../{ => sat}/sat_s_trunc-2-i64-to-i32.c | 0 .../riscv/{ => sat}/sat_s_trunc-2-i64-to-i8.c | 0 .../riscv/{ => sat}/sat_s_trunc-3-i16-to-i8.c | 0 .../{ => sat}/sat_s_trunc-3-i32-to-i16.c | 0 .../riscv/{ => sat}/sat_s_trunc-3-i32-to-i8.c | 0 .../{ => sat}/sat_s_trunc-3-i64-to-i16.c | 0 .../{ => sat}/sat_s_trunc-3-i64-to-i32.c | 0 .../riscv/{ => sat}/sat_s_trunc-3-i64-to-i8.c | 0 .../riscv/{ => sat}/sat_s_trunc-4-i16-to-i8.c | 0 .../{ => sat}/sat_s_trunc-4-i32-to-i16.c | 0 .../riscv/{ => sat}/sat_s_trunc-4-i32-to-i8.c | 0 .../{ => sat}/sat_s_trunc-4-i64-to-i16.c | 0 .../{ => sat}/sat_s_trunc-4-i64-to-i32.c | 0 .../riscv/{ => sat}/sat_s_trunc-4-i64-to-i8.c | 0 .../riscv/{ => sat}/sat_s_trunc-5-i16-to-i8.c | 0 .../{ => sat}/sat_s_trunc-5-i32-to-i16.c | 0 .../riscv/{ => sat}/sat_s_trunc-5-i32-to-i8.c | 0 .../{ => sat}/sat_s_trunc-5-i64-to-i16.c | 0 .../{ => sat}/sat_s_trunc-5-i64-to-i32.c | 0 .../riscv/{ => sat}/sat_s_trunc-5-i64-to-i8.c | 0 .../riscv/{ => sat}/sat_s_trunc-6-i16-to-i8.c | 0 .../{ => sat}/sat_s_trunc-6-i32-to-i16.c | 0 .../riscv/{ => sat}/sat_s_trunc-6-i32-to-i8.c | 0 .../{ => sat}/sat_s_trunc-6-i64-to-i16.c | 0 .../{ => sat}/sat_s_trunc-6-i64-to-i32.c | 0 .../riscv/{ => sat}/sat_s_trunc-6-i64-to-i8.c | 0 .../riscv/{ => sat}/sat_s_trunc-7-i16-to-i8.c | 0 .../{ => sat}/sat_s_trunc-7-i32-to-i16.c | 0 .../riscv/{ => sat}/sat_s_trunc-7-i32-to-i8.c | 0 .../{ => sat}/sat_s_trunc-7-i64-to-i16.c | 0 .../{ => sat}/sat_s_trunc-7-i64-to-i32.c | 0 .../riscv/{ => sat}/sat_s_trunc-7-i64-to-i8.c | 0 .../riscv/{ => sat}/sat_s_trunc-8-i16-to-i8.c | 0 .../{ => sat}/sat_s_trunc-8-i32-to-i16.c | 0 .../riscv/{ => sat}/sat_s_trunc-8-i32-to-i8.c | 0 .../{ => sat}/sat_s_trunc-8-i64-to-i16.c | 0 .../{ => sat}/sat_s_trunc-8-i64-to-i32.c | 0 .../riscv/{ => sat}/sat_s_trunc-8-i64-to-i8.c | 0 .../{ => sat}/sat_s_trunc-run-1-i16-to-i8.c | 0 .../{ => sat}/sat_s_trunc-run-1-i32-to-i16.c | 0 .../{ => sat}/sat_s_trunc-run-1-i32-to-i8.c | 0 .../{ => sat}/sat_s_trunc-run-1-i64-to-i16.c | 0 .../{ => sat}/sat_s_trunc-run-1-i64-to-i32.c | 0 .../{ => sat}/sat_s_trunc-run-1-i64-to-i8.c | 0 .../{ => sat}/sat_s_trunc-run-2-i16-to-i8.c | 0 .../{ => sat}/sat_s_trunc-run-2-i32-to-i16.c | 0 .../{ => sat}/sat_s_trunc-run-2-i32-to-i8.c | 0 .../{ => sat}/sat_s_trunc-run-2-i64-to-i16.c | 0 .../{ => sat}/sat_s_trunc-run-2-i64-to-i32.c | 0 .../{ => sat}/sat_s_trunc-run-2-i64-to-i8.c | 0 .../{ => sat}/sat_s_trunc-run-3-i16-to-i8.c | 0 .../{ => sat}/sat_s_trunc-run-3-i32-to-i16.c | 0 .../{ => sat}/sat_s_trunc-run-3-i32-to-i8.c | 0 .../{ => sat}/sat_s_trunc-run-3-i64-to-i16.c | 0 .../{ => sat}/sat_s_trunc-run-3-i64-to-i32.c | 0 .../{ => sat}/sat_s_trunc-run-3-i64-to-i8.c | 0 .../{ => sat}/sat_s_trunc-run-4-i16-to-i8.c | 0 .../{ => sat}/sat_s_trunc-run-4-i32-to-i16.c | 0 .../{ => sat}/sat_s_trunc-run-4-i32-to-i8.c | 0 .../{ => sat}/sat_s_trunc-run-4-i64-to-i16.c | 0 .../{ => sat}/sat_s_trunc-run-4-i64-to-i32.c | 0 .../{ => sat}/sat_s_trunc-run-4-i64-to-i8.c | 0 .../{ => sat}/sat_s_trunc-run-5-i16-to-i8.c | 0 .../{ => sat}/sat_s_trunc-run-5-i32-to-i16.c | 0 .../{ => sat}/sat_s_trunc-run-5-i32-to-i8.c | 0 .../{ => sat}/sat_s_trunc-run-5-i64-to-i16.c | 0 .../{ => sat}/sat_s_trunc-run-5-i64-to-i32.c | 0 .../{ => sat}/sat_s_trunc-run-5-i64-to-i8.c | 0 .../{ => sat}/sat_s_trunc-run-6-i16-to-i8.c | 0 .../{ => sat}/sat_s_trunc-run-6-i32-to-i16.c | 0 .../{ => sat}/sat_s_trunc-run-6-i32-to-i8.c | 0 .../{ => sat}/sat_s_trunc-run-6-i64-to-i16.c | 0 .../{ => sat}/sat_s_trunc-run-6-i64-to-i32.c | 0 .../{ => sat}/sat_s_trunc-run-6-i64-to-i8.c | 0 .../{ => sat}/sat_s_trunc-run-7-i16-to-i8.c | 0 .../{ => sat}/sat_s_trunc-run-7-i32-to-i16.c | 0 .../{ => sat}/sat_s_trunc-run-7-i32-to-i8.c | 0 .../{ => sat}/sat_s_trunc-run-7-i64-to-i16.c | 0 .../{ => sat}/sat_s_trunc-run-7-i64-to-i32.c | 0 .../{ => sat}/sat_s_trunc-run-7-i64-to-i8.c | 0 .../{ => sat}/sat_s_trunc-run-8-i16-to-i8.c | 0 .../{ => sat}/sat_s_trunc-run-8-i32-to-i16.c | 0 .../{ => sat}/sat_s_trunc-run-8-i32-to-i8.c | 0 .../{ => sat}/sat_s_trunc-run-8-i64-to-i16.c | 0 .../{ => sat}/sat_s_trunc-run-8-i64-to-i32.c | 0 .../{ => sat}/sat_s_trunc-run-8-i64-to-i8.c | 0 gcc/testsuite/gcc.target/riscv/sat_arith.h | 605 ------------------ .../gcc.target/riscv/sat_arith_data.h | 375 ----------- 130 files changed, 980 deletions(-) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_sub-1-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_sub-1-i32.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_sub-1-i64.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_sub-1-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_sub-2-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_sub-2-i32.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_sub-2-i64.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_sub-2-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_sub-3-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_sub-3-i32.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_sub-3-i64.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_sub-3-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_sub-4-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_sub-4-i32.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_sub-4-i64.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_sub-4-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_sub-run-1-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_sub-run-1-i32.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_sub-run-1-i64.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_sub-run-1-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_sub-run-2-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_sub-run-2-i32.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_sub-run-2-i64.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_sub-run-2-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_sub-run-3-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_sub-run-3-i32.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_sub-run-3-i64.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_sub-run-3-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_sub-run-4-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_sub-run-4-i32.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_sub-run-4-i64.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_sub-run-4-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-1-i16-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-1-i32-to-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-1-i32-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-1-i64-to-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-1-i64-to-i32.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-1-i64-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-2-i16-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-2-i32-to-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-2-i32-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-2-i64-to-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-2-i64-to-i32.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-2-i64-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-3-i16-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-3-i32-to-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-3-i32-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-3-i64-to-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-3-i64-to-i32.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-3-i64-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-4-i16-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-4-i32-to-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-4-i32-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-4-i64-to-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-4-i64-to-i32.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-4-i64-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-5-i16-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-5-i32-to-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-5-i32-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-5-i64-to-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-5-i64-to-i32.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-5-i64-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-6-i16-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-6-i32-to-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-6-i32-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-6-i64-to-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-6-i64-to-i32.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-6-i64-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-7-i16-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-7-i32-to-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-7-i32-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-7-i64-to-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-7-i64-to-i32.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-7-i64-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-8-i16-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-8-i32-to-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-8-i32-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-8-i64-to-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-8-i64-to-i32.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-8-i64-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-1-i16-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-1-i32-to-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-1-i32-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-1-i64-to-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-1-i64-to-i32.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-1-i64-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-2-i16-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-2-i32-to-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-2-i32-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-2-i64-to-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-2-i64-to-i32.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-2-i64-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-3-i16-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-3-i32-to-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-3-i32-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-3-i64-to-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-3-i64-to-i32.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-3-i64-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-4-i16-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-4-i32-to-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-4-i32-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-4-i64-to-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-4-i64-to-i32.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-4-i64-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-5-i16-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-5-i32-to-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-5-i32-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-5-i64-to-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-5-i64-to-i32.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-5-i64-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-6-i16-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-6-i32-to-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-6-i32-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-6-i64-to-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-6-i64-to-i32.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-6-i64-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-7-i16-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-7-i32-to-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-7-i32-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-7-i64-to-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-7-i64-to-i32.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-7-i64-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-8-i16-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-8-i32-to-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-8-i32-to-i8.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-8-i64-to-i16.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-8-i64-to-i32.c (100%) rename gcc/testsuite/gcc.target/riscv/{ => sat}/sat_s_trunc-run-8-i64-to-i8.c (100%) delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_arith.h delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_arith_data.h diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_sub-1-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-1-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_sub-1-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-1-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_sub-1-i32.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-1-i32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_sub-1-i32.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-1-i32.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_sub-1-i64.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-1-i64.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_sub-1-i64.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-1-i64.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_sub-1-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-1-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_sub-1-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-1-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_sub-2-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-2-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_sub-2-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-2-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_sub-2-i32.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-2-i32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_sub-2-i32.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-2-i32.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_sub-2-i64.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-2-i64.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_sub-2-i64.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-2-i64.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_sub-2-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-2-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_sub-2-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-2-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_sub-3-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-3-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_sub-3-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-3-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_sub-3-i32.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-3-i32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_sub-3-i32.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-3-i32.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_sub-3-i64.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-3-i64.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_sub-3-i64.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-3-i64.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_sub-3-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-3-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_sub-3-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-3-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_sub-4-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-4-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_sub-4-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-4-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_sub-4-i32.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-4-i32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_sub-4-i32.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-4-i32.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_sub-4-i64.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-4-i64.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_sub-4-i64.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-4-i64.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_sub-4-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-4-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_sub-4-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-4-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_sub-run-1-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-run-1-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_sub-run-1-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-run-1-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_sub-run-1-i32.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-run-1-i32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_sub-run-1-i32.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-run-1-i32.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_sub-run-1-i64.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-run-1-i64.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_sub-run-1-i64.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-run-1-i64.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_sub-run-1-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-run-1-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_sub-run-1-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-run-1-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_sub-run-2-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-run-2-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_sub-run-2-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-run-2-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_sub-run-2-i32.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-run-2-i32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_sub-run-2-i32.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-run-2-i32.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_sub-run-2-i64.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-run-2-i64.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_sub-run-2-i64.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-run-2-i64.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_sub-run-2-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-run-2-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_sub-run-2-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-run-2-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_sub-run-3-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-run-3-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_sub-run-3-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-run-3-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_sub-run-3-i32.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-run-3-i32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_sub-run-3-i32.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-run-3-i32.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_sub-run-3-i64.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-run-3-i64.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_sub-run-3-i64.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-run-3-i64.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_sub-run-3-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-run-3-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_sub-run-3-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-run-3-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_sub-run-4-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-run-4-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_sub-run-4-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-run-4-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_sub-run-4-i32.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-run-4-i32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_sub-run-4-i32.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-run-4-i32.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_sub-run-4-i64.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-run-4-i64.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_sub-run-4-i64.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-run-4-i64.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_sub-run-4-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-run-4-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_sub-run-4-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_sub-run-4-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-1-i16-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-1-i16-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-1-i16-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-1-i16-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-1-i32-to-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-1-i32-to-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-1-i32-to-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-1-i32-to-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-1-i32-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-1-i32-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-1-i32-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-1-i32-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-1-i64-to-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-1-i64-to-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-1-i64-to-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-1-i64-to-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-1-i64-to-i32.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-1-i64-to-i32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-1-i64-to-i32.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-1-i64-to-i32.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-1-i64-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-1-i64-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-1-i64-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-1-i64-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-2-i16-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-2-i16-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-2-i16-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-2-i16-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-2-i32-to-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-2-i32-to-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-2-i32-to-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-2-i32-to-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-2-i32-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-2-i32-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-2-i32-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-2-i32-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-2-i64-to-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-2-i64-to-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-2-i64-to-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-2-i64-to-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-2-i64-to-i32.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-2-i64-to-i32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-2-i64-to-i32.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-2-i64-to-i32.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-2-i64-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-2-i64-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-2-i64-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-2-i64-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-3-i16-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-3-i16-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-3-i16-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-3-i16-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-3-i32-to-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-3-i32-to-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-3-i32-to-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-3-i32-to-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-3-i32-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-3-i32-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-3-i32-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-3-i32-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-3-i64-to-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-3-i64-to-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-3-i64-to-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-3-i64-to-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-3-i64-to-i32.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-3-i64-to-i32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-3-i64-to-i32.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-3-i64-to-i32.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-3-i64-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-3-i64-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-3-i64-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-3-i64-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-4-i16-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-4-i16-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-4-i16-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-4-i16-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-4-i32-to-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-4-i32-to-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-4-i32-to-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-4-i32-to-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-4-i32-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-4-i32-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-4-i32-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-4-i32-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-4-i64-to-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-4-i64-to-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-4-i64-to-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-4-i64-to-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-4-i64-to-i32.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-4-i64-to-i32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-4-i64-to-i32.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-4-i64-to-i32.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-4-i64-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-4-i64-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-4-i64-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-4-i64-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-5-i16-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-5-i16-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-5-i16-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-5-i16-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-5-i32-to-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-5-i32-to-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-5-i32-to-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-5-i32-to-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-5-i32-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-5-i32-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-5-i32-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-5-i32-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-5-i64-to-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-5-i64-to-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-5-i64-to-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-5-i64-to-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-5-i64-to-i32.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-5-i64-to-i32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-5-i64-to-i32.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-5-i64-to-i32.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-5-i64-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-5-i64-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-5-i64-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-5-i64-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-6-i16-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-6-i16-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-6-i16-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-6-i16-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-6-i32-to-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-6-i32-to-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-6-i32-to-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-6-i32-to-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-6-i32-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-6-i32-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-6-i32-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-6-i32-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-6-i64-to-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-6-i64-to-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-6-i64-to-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-6-i64-to-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-6-i64-to-i32.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-6-i64-to-i32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-6-i64-to-i32.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-6-i64-to-i32.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-6-i64-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-6-i64-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-6-i64-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-6-i64-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-7-i16-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-7-i16-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-7-i16-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-7-i16-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-7-i32-to-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-7-i32-to-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-7-i32-to-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-7-i32-to-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-7-i32-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-7-i32-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-7-i32-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-7-i32-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-7-i64-to-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-7-i64-to-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-7-i64-to-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-7-i64-to-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-7-i64-to-i32.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-7-i64-to-i32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-7-i64-to-i32.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-7-i64-to-i32.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-7-i64-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-7-i64-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-7-i64-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-7-i64-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-8-i16-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-8-i16-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-8-i16-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-8-i16-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-8-i32-to-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-8-i32-to-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-8-i32-to-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-8-i32-to-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-8-i32-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-8-i32-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-8-i32-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-8-i32-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-8-i64-to-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-8-i64-to-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-8-i64-to-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-8-i64-to-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-8-i64-to-i32.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-8-i64-to-i32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-8-i64-to-i32.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-8-i64-to-i32.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-8-i64-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-8-i64-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-8-i64-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-8-i64-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-1-i16-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-1-i16-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-1-i16-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-1-i16-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-1-i32-to-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-1-i32-to-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-1-i32-to-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-1-i32-to-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-1-i32-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-1-i32-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-1-i32-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-1-i32-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-1-i64-to-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-1-i64-to-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-1-i64-to-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-1-i64-to-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-1-i64-to-i32.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-1-i64-to-i32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-1-i64-to-i32.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-1-i64-to-i32.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-1-i64-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-1-i64-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-1-i64-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-1-i64-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-2-i16-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-2-i16-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-2-i16-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-2-i16-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-2-i32-to-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-2-i32-to-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-2-i32-to-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-2-i32-to-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-2-i32-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-2-i32-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-2-i32-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-2-i32-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-2-i64-to-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-2-i64-to-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-2-i64-to-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-2-i64-to-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-2-i64-to-i32.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-2-i64-to-i32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-2-i64-to-i32.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-2-i64-to-i32.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-2-i64-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-2-i64-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-2-i64-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-2-i64-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-3-i16-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-3-i16-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-3-i16-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-3-i16-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-3-i32-to-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-3-i32-to-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-3-i32-to-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-3-i32-to-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-3-i32-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-3-i32-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-3-i32-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-3-i32-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-3-i64-to-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-3-i64-to-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-3-i64-to-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-3-i64-to-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-3-i64-to-i32.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-3-i64-to-i32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-3-i64-to-i32.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-3-i64-to-i32.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-3-i64-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-3-i64-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-3-i64-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-3-i64-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-4-i16-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-4-i16-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-4-i16-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-4-i16-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-4-i32-to-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-4-i32-to-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-4-i32-to-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-4-i32-to-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-4-i32-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-4-i32-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-4-i32-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-4-i32-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-4-i64-to-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-4-i64-to-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-4-i64-to-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-4-i64-to-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-4-i64-to-i32.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-4-i64-to-i32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-4-i64-to-i32.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-4-i64-to-i32.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-4-i64-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-4-i64-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-4-i64-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-4-i64-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-5-i16-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-5-i16-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-5-i16-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-5-i16-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-5-i32-to-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-5-i32-to-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-5-i32-to-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-5-i32-to-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-5-i32-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-5-i32-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-5-i32-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-5-i32-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-5-i64-to-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-5-i64-to-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-5-i64-to-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-5-i64-to-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-5-i64-to-i32.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-5-i64-to-i32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-5-i64-to-i32.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-5-i64-to-i32.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-5-i64-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-5-i64-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-5-i64-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-5-i64-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-6-i16-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-6-i16-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-6-i16-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-6-i16-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-6-i32-to-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-6-i32-to-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-6-i32-to-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-6-i32-to-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-6-i32-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-6-i32-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-6-i32-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-6-i32-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-6-i64-to-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-6-i64-to-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-6-i64-to-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-6-i64-to-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-6-i64-to-i32.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-6-i64-to-i32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-6-i64-to-i32.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-6-i64-to-i32.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-6-i64-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-6-i64-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-6-i64-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-6-i64-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-7-i16-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-7-i16-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-7-i16-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-7-i16-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-7-i32-to-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-7-i32-to-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-7-i32-to-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-7-i32-to-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-7-i32-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-7-i32-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-7-i32-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-7-i32-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-7-i64-to-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-7-i64-to-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-7-i64-to-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-7-i64-to-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-7-i64-to-i32.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-7-i64-to-i32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-7-i64-to-i32.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-7-i64-to-i32.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-7-i64-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-7-i64-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-7-i64-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-7-i64-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-8-i16-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-8-i16-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-8-i16-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-8-i16-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-8-i32-to-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-8-i32-to-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-8-i32-to-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-8-i32-to-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-8-i32-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-8-i32-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-8-i32-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-8-i32-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-8-i64-to-i16.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-8-i64-to-i16.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-8-i64-to-i16.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-8-i64-to-i16.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-8-i64-to-i32.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-8-i64-to-i32.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-8-i64-to-i32.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-8-i64-to-i32.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-8-i64-to-i8.c b/gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-8-i64-to-i8.c similarity index 100% rename from gcc/testsuite/gcc.target/riscv/sat_s_trunc-run-8-i64-to-i8.c rename to gcc/testsuite/gcc.target/riscv/sat/sat_s_trunc-run-8-i64-to-i8.c diff --git a/gcc/testsuite/gcc.target/riscv/sat_arith.h b/gcc/testsuite/gcc.target/riscv/sat_arith.h deleted file mode 100644 index c8a135a5f0f..00000000000 --- a/gcc/testsuite/gcc.target/riscv/sat_arith.h +++ /dev/null @@ -1,605 +0,0 @@ -#ifndef HAVE_SAT_ARITH -#define HAVE_SAT_ARITH - -#include <stdint-gcc.h> -#include <stdbool.h> - -/******************************************************************************/ -/* Saturation Add (unsigned and signed) */ -/******************************************************************************/ -#define DEF_SAT_U_ADD_FMT_1(T) \ -T __attribute__((noinline)) \ -sat_u_add_##T##_fmt_1 (T x, T y) \ -{ \ - return (x + y) | (-(T)((T)(x + y) < x)); \ -} - -#define DEF_SAT_U_ADD_FMT_2(T) \ -T __attribute__((noinline)) \ -sat_u_add_##T##_fmt_2 (T x, T y) \ -{ \ - return (T)(x + y) >= x ? (x + y) : -1; \ -} - -#define DEF_SAT_U_ADD_FMT_3(T) \ -T __attribute__((noinline)) \ -sat_u_add_##T##_fmt_3 (T x, T y) \ -{ \ - T ret; \ - T overflow = __builtin_add_overflow (x, y, &ret); \ - return (T)(-overflow) | ret; \ -} - -#define DEF_SAT_U_ADD_FMT_4(T) \ -T __attribute__((noinline)) \ -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_5(T) \ -T __attribute__((noinline)) \ -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_6(T) \ -T __attribute__((noinline)) \ -sat_u_add_##T##_fmt_6 (T x, T y) \ -{ \ - return (T)(x + y) < x ? -1 : (x + y); \ -} - -#define RUN_SAT_U_ADD_FMT_1(T, x, y) sat_u_add_##T##_fmt_1(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_3(T, x, y) sat_u_add_##T##_fmt_3(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_5(T, x, y) sat_u_add_##T##_fmt_5(x, y) -#define RUN_SAT_U_ADD_FMT_6(T, x, y) sat_u_add_##T##_fmt_6(x, y) - -#define DEF_SAT_U_ADD_IMM_FMT_1(T, IMM) \ -T __attribute__((noinline)) \ -sat_u_add_imm##IMM##_##T##_fmt_1 (T x) \ -{ \ - return (T)(x + IMM) >= x ? (x + IMM) : -1; \ -} - -#define DEF_SAT_U_ADD_IMM_FMT_2(T, IMM) \ -T __attribute__((noinline)) \ -sat_u_add_imm##IMM##_##T##_fmt_2 (T x) \ -{ \ - return (T)(x + IMM) < x ? -1 : (x + IMM); \ -} - -#define DEF_SAT_U_ADD_IMM_FMT_3(T, IMM) \ -T __attribute__((noinline)) \ -sat_u_add_imm##IMM##_##T##_fmt_3 (T x) \ -{ \ - T ret; \ - return __builtin_add_overflow (x, IMM, &ret) ? -1 : ret; \ -} - -#define DEF_SAT_U_ADD_IMM_FMT_4(T, IMM) \ -T __attribute__((noinline)) \ -sat_u_add_imm##IMM##_##T##_fmt_4 (T x) \ -{ \ - T ret; \ - return __builtin_add_overflow (x, IMM, &ret) == 0 ? ret : -1; \ -} - -#define DEF_SAT_U_ADD_IMM_TYPE_CHECK_FMT_1(T, IMM) \ -T __attribute__((noinline)) \ -sat_u_add_imm_type_check##_##T##_fmt_1 (T x) \ -{ \ - T ret; \ - return __builtin_add_overflow (x, IMM, &ret) ? -1 : ret; \ -} - -#define DEF_SAT_U_ADD_IMM_TYPE_CHECK_FMT_2(T, IMM) \ -T __attribute__((noinline)) \ -sat_u_add_imm_type_check##_##T##_fmt_2 (T x) \ -{ \ - T ret; \ - return __builtin_add_overflow (x, IMM, &ret) == 0 ? ret : -1; \ -} - -#define RUN_SAT_U_ADD_IMM_FMT_1(T, x, IMM, expect) \ - if (sat_u_add_imm##IMM##_##T##_fmt_1(x) != expect) __builtin_abort () - -#define RUN_SAT_U_ADD_IMM_FMT_2(T, x, IMM, expect) \ - if (sat_u_add_imm##IMM##_##T##_fmt_2(x) != expect) __builtin_abort () - -#define RUN_SAT_U_ADD_IMM_FMT_3(T, x, IMM, expect) \ - if (sat_u_add_imm##IMM##_##T##_fmt_3(x) != expect) __builtin_abort () - -#define RUN_SAT_U_ADD_IMM_FMT_4(T, x, IMM, expect) \ - if (sat_u_add_imm##IMM##_##T##_fmt_4(x) != expect) __builtin_abort () - -#define DEF_SAT_S_ADD_FMT_1(T, UT, MIN, MAX) \ -T __attribute__((noinline)) \ -sat_s_add_##T##_fmt_1 (T x, T y) \ -{ \ - T sum = (UT)x + (UT)y; \ - return (x ^ y) < 0 \ - ? sum \ - : (sum ^ x) >= 0 \ - ? sum \ - : x < 0 ? MIN : MAX; \ -} -#define DEF_SAT_S_ADD_FMT_1_WRAP(T, UT, MIN, MAX) \ - DEF_SAT_S_ADD_FMT_1(T, UT, MIN, MAX) - -#define DEF_SAT_S_ADD_FMT_2(T, UT, MIN, MAX) \ -T __attribute__((noinline)) \ -sat_s_add_##T##_fmt_2 (T x, T y) \ -{ \ - T sum = (UT)x + (UT)y; \ - if ((x ^ y) < 0 || (sum ^ x) >= 0) \ - return sum; \ - return x < 0 ? MIN : MAX; \ -} -#define DEF_SAT_S_ADD_FMT_2_WRAP(T, UT, MIN, MAX) \ - DEF_SAT_S_ADD_FMT_2(T, UT, MIN, MAX) - -#define DEF_SAT_S_ADD_FMT_3(T, UT, MIN, MAX) \ -T __attribute__((noinline)) \ -sat_s_add_##T##_fmt_3 (T x, T y) \ -{ \ - T sum; \ - bool overflow = __builtin_add_overflow (x, y, &sum); \ - return overflow ? x < 0 ? MIN : MAX : sum; \ -} -#define DEF_SAT_S_ADD_FMT_3_WRAP(T, UT, MIN, MAX) \ - DEF_SAT_S_ADD_FMT_3(T, UT, MIN, MAX) - -#define DEF_SAT_S_ADD_FMT_4(T, UT, MIN, MAX) \ -T __attribute__((noinline)) \ -sat_s_add_##T##_fmt_4 (T x, T y) \ -{ \ - T sum; \ - bool overflow = __builtin_add_overflow (x, y, &sum); \ - return !overflow ? sum : x < 0 ? MIN : MAX; \ -} -#define DEF_SAT_S_ADD_FMT_4_WRAP(T, UT, MIN, MAX) \ - DEF_SAT_S_ADD_FMT_4(T, UT, MIN, MAX) - -#define RUN_SAT_S_ADD_FMT_1(T, x, y) sat_s_add_##T##_fmt_1(x, y) -#define RUN_SAT_S_ADD_FMT_1_WRAP(T, x, y) RUN_SAT_S_ADD_FMT_1(T, x, y) - -#define RUN_SAT_S_ADD_FMT_2(T, x, y) sat_s_add_##T##_fmt_2(x, y) -#define RUN_SAT_S_ADD_FMT_2_WRAP(T, x, y) RUN_SAT_S_ADD_FMT_2(T, x, y) - -#define RUN_SAT_S_ADD_FMT_3(T, x, y) sat_s_add_##T##_fmt_3(x, y) -#define RUN_SAT_S_ADD_FMT_3_WRAP(T, x, y) RUN_SAT_S_ADD_FMT_3(T, x, y) - -#define RUN_SAT_S_ADD_FMT_4(T, x, y) sat_s_add_##T##_fmt_4(x, y) -#define RUN_SAT_S_ADD_FMT_4_WRAP(T, x, y) RUN_SAT_S_ADD_FMT_4(T, x, y) - -#define DEF_SAT_S_ADD_IMM_FMT_1(INDEX, T, UT, IMM, MIN, MAX) \ -T __attribute__((noinline)) \ -sat_s_add_imm_##T##_fmt_1##_##INDEX (T x) \ -{ \ - T sum = (UT)x + (UT)IMM; \ - return (x ^ IMM) < 0 \ - ? sum \ - : (sum ^ x) >= 0 \ - ? sum \ - : x < 0 ? MIN : MAX; \ -} - -#define RUN_SAT_S_ADD_IMM_FMT_1(INDEX, T, x, expect) \ - if (sat_s_add_imm##_##T##_fmt_1##_##INDEX(x) != expect) __builtin_abort () - -/******************************************************************************/ -/* Saturation Sub (Unsigned and Signed) */ -/******************************************************************************/ -#define DEF_SAT_U_SUB_FMT_1(T) \ -T __attribute__((noinline)) \ -sat_u_sub_##T##_fmt_1 (T x, T y) \ -{ \ - return (x - y) & (-(T)(x >= y)); \ -} - -#define DEF_SAT_U_SUB_FMT_2(T) \ -T __attribute__((noinline)) \ -sat_u_sub_##T##_fmt_2 (T x, T y) \ -{ \ - return (x - y) & (-(T)(x > y)); \ -} - -#define DEF_SAT_U_SUB_FMT_3(T) \ -T __attribute__((noinline)) \ -sat_u_sub_##T##_fmt_3 (T x, T y) \ -{ \ - return x > y ? x - y : 0; \ -} - -#define DEF_SAT_U_SUB_FMT_4(T) \ -T __attribute__((noinline)) \ -sat_u_sub_##T##_fmt_4 (T x, T y) \ -{ \ - return x >= y ? x - y : 0; \ -} - -#define DEF_SAT_U_SUB_FMT_5(T) \ -T __attribute__((noinline)) \ -sat_u_sub_##T##_fmt_5 (T x, T y) \ -{ \ - return x < y ? 0 : x - y; \ -} - -#define DEF_SAT_U_SUB_FMT_6(T) \ -T __attribute__((noinline)) \ -sat_u_sub_##T##_fmt_6 (T x, T y) \ -{ \ - return x <= y ? 0 : x - y; \ -} - -#define DEF_SAT_U_SUB_FMT_7(T) \ -T __attribute__((noinline)) \ -sat_u_sub_##T##_fmt_7 (T x, T y) \ -{ \ - T ret; \ - T overflow = __builtin_sub_overflow (x, y, &ret); \ - return ret & (T)(overflow - 1); \ -} - -#define DEF_SAT_U_SUB_FMT_8(T) \ -T __attribute__((noinline)) \ -sat_u_sub_##T##_fmt_8 (T x, T y) \ -{ \ - T ret; \ - T overflow = __builtin_sub_overflow (x, y, &ret); \ - return ret & (T)-(!overflow); \ -} - -#define DEF_SAT_U_SUB_FMT_9(T) \ -T __attribute__((noinline)) \ -sat_u_sub_##T##_fmt_9 (T x, T y) \ -{ \ - T ret; \ - T overflow = __builtin_sub_overflow (x, y, &ret); \ - return overflow ? 0 : ret; \ -} - -#define DEF_SAT_U_SUB_FMT_10(T) \ -T __attribute__((noinline)) \ -sat_u_sub_##T##_fmt_10 (T x, T y) \ -{ \ - T ret; \ - T overflow = __builtin_sub_overflow (x, y, &ret); \ - return !overflow ? ret : 0; \ -} - -#define DEF_SAT_U_SUB_FMT_11(T) \ -T __attribute__((noinline)) \ -sat_u_sub_##T##_fmt_11 (T x, T y) \ -{ \ - T ret; \ - bool overflow = __builtin_sub_overflow (x, y, &ret); \ - return overflow ? 0 : ret; \ -} - -#define DEF_SAT_U_SUB_FMT_12(T) \ -T __attribute__((noinline)) \ -sat_u_sub_##T##_fmt_12 (T x, T y) \ -{ \ - T ret; \ - bool overflow = __builtin_sub_overflow (x, y, &ret); \ - return !overflow ? ret : 0; \ -} - -#define DEF_SAT_U_SUB_IMM_FMT_1(T, IMM) \ -T __attribute__((noinline)) \ -sat_u_sub_imm##IMM##_##T##_fmt_1 (T y) \ -{ \ - return (T)IMM >= y ? (T)IMM - y : 0; \ -} - -#define DEF_SAT_U_SUB_IMM_FMT_2(T, IMM) \ -T __attribute__((noinline)) \ -sat_u_sub_imm##IMM##_##T##_fmt_2 (T x) \ -{ \ - return x >= (T)IMM ? x - (T)IMM : 0; \ -} - -#define DEF_SAT_U_SUB_IMM_FMT_3(T, IMM) \ -T __attribute__((noinline)) \ -sat_u_sub_imm##IMM##_##T##_fmt_3 (T y) \ -{ \ - return (T)IMM > y ? (T)IMM - y : 0; \ -} - -#define DEF_SAT_U_SUB_IMM_FMT_4(T, IMM) \ -T __attribute__((noinline)) \ -sat_u_sub_imm##IMM##_##T##_fmt_4 (T x) \ -{ \ - return x > (T)IMM ? x - (T)IMM : 0; \ -} - -#define RUN_SAT_U_SUB_FMT_1(T, x, y) sat_u_sub_##T##_fmt_1(x, y) -#define RUN_SAT_U_SUB_FMT_2(T, x, y) sat_u_sub_##T##_fmt_2(x, y) -#define RUN_SAT_U_SUB_FMT_3(T, x, y) sat_u_sub_##T##_fmt_3(x, y) -#define RUN_SAT_U_SUB_FMT_4(T, x, y) sat_u_sub_##T##_fmt_4(x, y) -#define RUN_SAT_U_SUB_FMT_5(T, x, y) sat_u_sub_##T##_fmt_5(x, y) -#define RUN_SAT_U_SUB_FMT_6(T, x, y) sat_u_sub_##T##_fmt_6(x, y) -#define RUN_SAT_U_SUB_FMT_7(T, x, y) sat_u_sub_##T##_fmt_7(x, y) -#define RUN_SAT_U_SUB_FMT_8(T, x, y) sat_u_sub_##T##_fmt_8(x, y) -#define RUN_SAT_U_SUB_FMT_9(T, x, y) sat_u_sub_##T##_fmt_9(x, y) -#define RUN_SAT_U_SUB_FMT_10(T, x, y) sat_u_sub_##T##_fmt_10(x, y) -#define RUN_SAT_U_SUB_FMT_11(T, x, y) sat_u_sub_##T##_fmt_11(x, y) -#define RUN_SAT_U_SUB_FMT_12(T, x, y) sat_u_sub_##T##_fmt_12(x, y) - -#define RUN_SAT_U_SUB_IMM_FMT_1(T, IMM, y, expect) \ - if (sat_u_sub_imm##IMM##_##T##_fmt_1(y) != expect) __builtin_abort () -#define RUN_SAT_U_SUB_IMM_FMT_2(T, x, IMM, expect) \ - if (sat_u_sub_imm##IMM##_##T##_fmt_2(x) != expect) __builtin_abort () -#define RUN_SAT_U_SUB_IMM_FMT_3(T, IMM, y, expect) \ - if (sat_u_sub_imm##IMM##_##T##_fmt_3(y) != expect) __builtin_abort () -#define RUN_SAT_U_SUB_IMM_FMT_4(T, x, IMM, expect) \ - if (sat_u_sub_imm##IMM##_##T##_fmt_4(x) != expect) __builtin_abort () - -#define DEF_SAT_U_SUB_IMM_TYPE_CHECK_FMT_1(INDEX, T, IMM) \ -T __attribute__((noinline)) \ -sat_u_sub_imm_type_check##_##INDEX##_##T##_fmt_1 (T y) \ -{ \ - return IMM >= y ? IMM - y : 0; \ -} - -#define DEF_SAT_U_SUB_IMM_TYPE_CHECK_FMT_2(INDEX, T, IMM) \ -T __attribute__((noinline)) \ -sat_u_sub_imm_type_check##_##INDEX##_##T##_fmt_2 (T y) \ -{ \ - return IMM > y ? IMM - y : 0; \ -} - -#define DEF_SAT_U_SUB_IMM_TYPE_CHECK_FMT_3(INDEX, T, IMM) \ -T __attribute__((noinline)) \ -sat_u_sub_imm_type_check##_##INDEX##_##T##_fmt_3 (T x) \ -{ \ - return x >= IMM ? x - IMM : 0; \ -} - -#define DEF_SAT_U_SUB_IMM_TYPE_CHECK_FMT_4(INDEX, T, IMM) \ -T __attribute__((noinline)) \ -sat_u_sub_imm_type_check##_##INDEX##_##T##_fmt_4 (T x) \ -{ \ - return x > IMM ? x - IMM : 0; \ -} - -#define DEF_SAT_S_SUB_FMT_1(T, UT, MIN, MAX) \ -T __attribute__((noinline)) \ -sat_s_sub_##T##_fmt_1 (T x, T y) \ -{ \ - T minus = (UT)x - (UT)y; \ - return (x ^ y) >= 0 \ - ? minus \ - : (minus ^ x) >= 0 \ - ? minus \ - : x < 0 ? MIN : MAX; \ -} -#define DEF_SAT_S_SUB_FMT_1_WRAP(T, UT, MIN, MAX) \ - DEF_SAT_S_SUB_FMT_1(T, UT, MIN, MAX) - -#define DEF_SAT_S_SUB_FMT_2(T, UT, MIN, MAX) \ -T __attribute__((noinline)) \ -sat_s_sub_##T##_fmt_2 (T x, T y) \ -{ \ - T minus = (UT)x - (UT)y; \ - if ((x ^ y) >= 0 || (minus ^ x) >= 0) \ - return minus; \ - return x < 0 ? MIN : MAX; \ -} -#define DEF_SAT_S_SUB_FMT_2_WRAP(T, UT, MIN, MAX) \ - DEF_SAT_S_SUB_FMT_2(T, UT, MIN, MAX) - -#define DEF_SAT_S_SUB_FMT_3(T, UT, MIN, MAX) \ -T __attribute__((noinline)) \ -sat_s_sub_##T##_fmt_3 (T x, T y) \ -{ \ - T minus; \ - bool overflow = __builtin_sub_overflow (x, y, &minus); \ - return overflow ? x < 0 ? MIN : MAX : minus; \ -} -#define DEF_SAT_S_SUB_FMT_3_WRAP(T, UT, MIN, MAX) \ - DEF_SAT_S_SUB_FMT_3(T, UT, MIN, MAX) - -#define DEF_SAT_S_SUB_FMT_4(T, UT, MIN, MAX) \ -T __attribute__((noinline)) \ -sat_s_sub_##T##_fmt_4 (T x, T y) \ -{ \ - T minus; \ - bool overflow = __builtin_sub_overflow (x, y, &minus); \ - return !overflow ? minus : x < 0 ? MIN : MAX; \ -} -#define DEF_SAT_S_SUB_FMT_4_WRAP(T, UT, MIN, MAX) \ - DEF_SAT_S_SUB_FMT_4(T, UT, MIN, MAX) - -#define RUN_SAT_S_SUB_FMT_1(T, x, y) sat_s_sub_##T##_fmt_1(x, y) -#define RUN_SAT_S_SUB_FMT_1_WRAP(T, x, y) RUN_SAT_S_SUB_FMT_1(T, x, y) - -#define RUN_SAT_S_SUB_FMT_2(T, x, y) sat_s_sub_##T##_fmt_2(x, y) -#define RUN_SAT_S_SUB_FMT_2_WRAP(T, x, y) RUN_SAT_S_SUB_FMT_2(T, x, y) - -#define RUN_SAT_S_SUB_FMT_3(T, x, y) sat_s_sub_##T##_fmt_3(x, y) -#define RUN_SAT_S_SUB_FMT_3_WRAP(T, x, y) RUN_SAT_S_SUB_FMT_3(T, x, y) - -#define RUN_SAT_S_SUB_FMT_4(T, x, y) sat_s_sub_##T##_fmt_4(x, y) -#define RUN_SAT_S_SUB_FMT_4_WRAP(T, x, y) RUN_SAT_S_SUB_FMT_4(T, x, y) - -/******************************************************************************/ -/* Saturation Truncate (unsigned and signed) */ -/******************************************************************************/ - -#define DEF_SAT_U_TRUNC_FMT_1(NT, WT) \ -NT __attribute__((noinline)) \ -sat_u_trunc_##WT##_to_##NT##_fmt_1 (WT x) \ -{ \ - bool overflow = x > (WT)(NT)(-1); \ - return ((NT)x) | (NT)-overflow; \ -} -#define DEF_SAT_U_TRUNC_FMT_1_WRAP(NT, WT) DEF_SAT_U_TRUNC_FMT_1(NT, WT) - -#define DEF_SAT_U_TRUNC_FMT_2(NT, WT) \ -NT __attribute__((noinline)) \ -sat_u_trunc_##WT##_to_##NT##_fmt_2 (WT x) \ -{ \ - WT max = (WT)(NT)-1; \ - return x > max ? (NT) max : (NT)x; \ -} -#define DEF_SAT_U_TRUNC_FMT_2_WRAP(NT, WT) DEF_SAT_U_TRUNC_FMT_2(NT, WT) - -#define DEF_SAT_U_TRUNC_FMT_3(NT, WT) \ -NT __attribute__((noinline)) \ -sat_u_trunc_##WT##_to_##NT##_fmt_3 (WT x) \ -{ \ - WT max = (WT)(NT)-1; \ - return x <= max ? (NT)x : (NT) max; \ -} -#define DEF_SAT_U_TRUNC_FMT_3_WRAP(NT, WT) DEF_SAT_U_TRUNC_FMT_3(NT, WT) - -#define DEF_SAT_U_TRUNC_FMT_4(NT, WT) \ -NT __attribute__((noinline)) \ -sat_u_trunc_##WT##_to_##NT##_fmt_4 (WT x) \ -{ \ - bool not_overflow = x <= (WT)(NT)(-1); \ - return ((NT)x) | (NT)((NT)not_overflow - 1); \ -} -#define DEF_SAT_U_TRUNC_FMT_4_WRAP(NT, WT) DEF_SAT_U_TRUNC_FMT_4(NT, WT) - -#define RUN_SAT_U_TRUNC_FMT_1(NT, WT, x) sat_u_trunc_##WT##_to_##NT##_fmt_1 (x) -#define RUN_SAT_U_TRUNC_FMT_1_WRAP(NT, WT, x) RUN_SAT_U_TRUNC_FMT_1(NT, WT, x) - -#define RUN_SAT_U_TRUNC_FMT_2(NT, WT, x) sat_u_trunc_##WT##_to_##NT##_fmt_2 (x) -#define RUN_SAT_U_TRUNC_FMT_2_WRAP(NT, WT, x) RUN_SAT_U_TRUNC_FMT_2(NT, WT, x) - -#define RUN_SAT_U_TRUNC_FMT_3(NT, WT, x) sat_u_trunc_##WT##_to_##NT##_fmt_3 (x) -#define RUN_SAT_U_TRUNC_FMT_3_WRAP(NT, WT, x) RUN_SAT_U_TRUNC_FMT_3(NT, WT, x) - -#define RUN_SAT_U_TRUNC_FMT_4(NT, WT, x) sat_u_trunc_##WT##_to_##NT##_fmt_4 (x) -#define RUN_SAT_U_TRUNC_FMT_4_WRAP(NT, WT, x) RUN_SAT_U_TRUNC_FMT_4(NT, WT, x) - -#define DEF_SAT_S_TRUNC_FMT_1(NT, WT, NT_MIN, NT_MAX) \ -NT __attribute__((noinline)) \ -sat_s_trunc_##WT##_to_##NT##_fmt_1 (WT x) \ -{ \ - NT trunc = (NT)x; \ - return (WT)NT_MIN <= x && x <= (WT)NT_MAX \ - ? trunc \ - : x < 0 ? NT_MIN : NT_MAX; \ -} -#define DEF_SAT_S_TRUNC_FMT_1_WRAP(NT, WT, NT_MIN, NT_MAX) \ - DEF_SAT_S_TRUNC_FMT_1(NT, WT, NT_MIN, NT_MAX) - -#define DEF_SAT_S_TRUNC_FMT_2(NT, WT, NT_MIN, NT_MAX) \ -NT __attribute__((noinline)) \ -sat_s_trunc_##WT##_to_##NT##_fmt_2 (WT x) \ -{ \ - NT trunc = (NT)x; \ - return (WT)NT_MIN < x && x < (WT)NT_MAX \ - ? trunc \ - : x < 0 ? NT_MIN : NT_MAX; \ -} -#define DEF_SAT_S_TRUNC_FMT_2_WRAP(NT, WT, NT_MIN, NT_MAX) \ - DEF_SAT_S_TRUNC_FMT_2(NT, WT, NT_MIN, NT_MAX) - -#define DEF_SAT_S_TRUNC_FMT_3(NT, WT, NT_MIN, NT_MAX) \ -NT __attribute__((noinline)) \ -sat_s_trunc_##WT##_to_##NT##_fmt_3 (WT x) \ -{ \ - NT trunc = (NT)x; \ - return (WT)NT_MIN < x && x <= (WT)NT_MAX \ - ? trunc \ - : x < 0 ? NT_MIN : NT_MAX; \ -} -#define DEF_SAT_S_TRUNC_FMT_3_WRAP(NT, WT, NT_MIN, NT_MAX) \ - DEF_SAT_S_TRUNC_FMT_3(NT, WT, NT_MIN, NT_MAX) - -#define DEF_SAT_S_TRUNC_FMT_4(NT, WT, NT_MIN, NT_MAX) \ -NT __attribute__((noinline)) \ -sat_s_trunc_##WT##_to_##NT##_fmt_4 (WT x) \ -{ \ - NT trunc = (NT)x; \ - return (WT)NT_MIN <= x && x < (WT)NT_MAX \ - ? trunc \ - : x < 0 ? NT_MIN : NT_MAX; \ -} -#define DEF_SAT_S_TRUNC_FMT_4_WRAP(NT, WT, NT_MIN, NT_MAX) \ - DEF_SAT_S_TRUNC_FMT_4(NT, WT, NT_MIN, NT_MAX) - -#define DEF_SAT_S_TRUNC_FMT_5(NT, WT, NT_MIN, NT_MAX) \ -NT __attribute__((noinline)) \ -sat_s_trunc_##WT##_to_##NT##_fmt_5 (WT x) \ -{ \ - NT trunc = (NT)x; \ - return (WT)NT_MIN > x || x > (WT)NT_MAX \ - ? x < 0 ? NT_MIN : NT_MAX \ - : trunc; \ -} -#define DEF_SAT_S_TRUNC_FMT_5_WRAP(NT, WT, NT_MIN, NT_MAX) \ - DEF_SAT_S_TRUNC_FMT_5(NT, WT, NT_MIN, NT_MAX) - -#define DEF_SAT_S_TRUNC_FMT_6(NT, WT, NT_MIN, NT_MAX) \ -NT __attribute__((noinline)) \ -sat_s_trunc_##WT##_to_##NT##_fmt_6 (WT x) \ -{ \ - NT trunc = (NT)x; \ - return (WT)NT_MIN >= x || x > (WT)NT_MAX \ - ? x < 0 ? NT_MIN : NT_MAX \ - : trunc; \ -} -#define DEF_SAT_S_TRUNC_FMT_6_WRAP(NT, WT, NT_MIN, NT_MAX) \ - DEF_SAT_S_TRUNC_FMT_6(NT, WT, NT_MIN, NT_MAX) - -#define DEF_SAT_S_TRUNC_FMT_7(NT, WT, NT_MIN, NT_MAX) \ -NT __attribute__((noinline)) \ -sat_s_trunc_##WT##_to_##NT##_fmt_7 (WT x) \ -{ \ - NT trunc = (NT)x; \ - return (WT)NT_MIN >= x || x >= (WT)NT_MAX \ - ? x < 0 ? NT_MIN : NT_MAX \ - : trunc; \ -} -#define DEF_SAT_S_TRUNC_FMT_7_WRAP(NT, WT, NT_MIN, NT_MAX) \ - DEF_SAT_S_TRUNC_FMT_7(NT, WT, NT_MIN, NT_MAX) - -#define DEF_SAT_S_TRUNC_FMT_8(NT, WT, NT_MIN, NT_MAX) \ -NT __attribute__((noinline)) \ -sat_s_trunc_##WT##_to_##NT##_fmt_8 (WT x) \ -{ \ - NT trunc = (NT)x; \ - return (WT)NT_MIN > x || x >= (WT)NT_MAX \ - ? x < 0 ? NT_MIN : NT_MAX \ - : trunc; \ -} -#define DEF_SAT_S_TRUNC_FMT_8_WRAP(NT, WT, NT_MIN, NT_MAX) \ - DEF_SAT_S_TRUNC_FMT_8(NT, WT, NT_MIN, NT_MAX) - -#define RUN_SAT_S_TRUNC_FMT_1(NT, WT, x) sat_s_trunc_##WT##_to_##NT##_fmt_1 (x) -#define RUN_SAT_S_TRUNC_FMT_1_WRAP(NT, WT, x) RUN_SAT_S_TRUNC_FMT_1(NT, WT, x) - -#define RUN_SAT_S_TRUNC_FMT_2(NT, WT, x) sat_s_trunc_##WT##_to_##NT##_fmt_2 (x) -#define RUN_SAT_S_TRUNC_FMT_2_WRAP(NT, WT, x) RUN_SAT_S_TRUNC_FMT_2(NT, WT, x) - -#define RUN_SAT_S_TRUNC_FMT_3(NT, WT, x) sat_s_trunc_##WT##_to_##NT##_fmt_3 (x) -#define RUN_SAT_S_TRUNC_FMT_3_WRAP(NT, WT, x) RUN_SAT_S_TRUNC_FMT_3(NT, WT, x) - -#define RUN_SAT_S_TRUNC_FMT_4(NT, WT, x) sat_s_trunc_##WT##_to_##NT##_fmt_4 (x) -#define RUN_SAT_S_TRUNC_FMT_4_WRAP(NT, WT, x) RUN_SAT_S_TRUNC_FMT_4(NT, WT, x) - -#define RUN_SAT_S_TRUNC_FMT_5(NT, WT, x) sat_s_trunc_##WT##_to_##NT##_fmt_5 (x) -#define RUN_SAT_S_TRUNC_FMT_5_WRAP(NT, WT, x) RUN_SAT_S_TRUNC_FMT_5(NT, WT, x) - -#define RUN_SAT_S_TRUNC_FMT_6(NT, WT, x) sat_s_trunc_##WT##_to_##NT##_fmt_6 (x) -#define RUN_SAT_S_TRUNC_FMT_6_WRAP(NT, WT, x) RUN_SAT_S_TRUNC_FMT_6(NT, WT, x) - -#define RUN_SAT_S_TRUNC_FMT_7(NT, WT, x) sat_s_trunc_##WT##_to_##NT##_fmt_7 (x) -#define RUN_SAT_S_TRUNC_FMT_7_WRAP(NT, WT, x) RUN_SAT_S_TRUNC_FMT_7(NT, WT, x) - -#define RUN_SAT_S_TRUNC_FMT_8(NT, WT, x) sat_s_trunc_##WT##_to_##NT##_fmt_8 (x) -#define RUN_SAT_S_TRUNC_FMT_8_WRAP(NT, WT, x) RUN_SAT_S_TRUNC_FMT_8(NT, WT, x) - -#endif diff --git a/gcc/testsuite/gcc.target/riscv/sat_arith_data.h b/gcc/testsuite/gcc.target/riscv/sat_arith_data.h deleted file mode 100644 index 9f9f7d0bcd1..00000000000 --- a/gcc/testsuite/gcc.target/riscv/sat_arith_data.h +++ /dev/null @@ -1,375 +0,0 @@ -#ifndef HAVE_DEFINED_SAT_ARITH_DATA_H -#define HAVE_DEFINED_SAT_ARITH_DATA_H - -#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) \ - { \ - T1 to; \ - T2 from; \ - }; - -#define TEST_BINARY_STRUCT_NAME(T, NAME) test_##T##_##NAME##_s -#define TEST_BINARY_STRUCT_DECL(T, NAME) struct TEST_BINARY_STRUCT_NAME(T, NAME) -#define TEST_BINARY_STRUCT(T, NAME) \ - struct TEST_BINARY_STRUCT_NAME(T, NAME) \ - { \ - T a, b; \ - T expect; \ - }; - -#define TEST_UNARY_DATA(T1, T2) t_##T1##_##T2##_s -#define TEST_UNARY_DATA_WRAP(T1, T2) TEST_UNARY_DATA(T1, T2) - -#define TEST_BINARY_DATA(T, NAME) t_##T##_##NAME##_s -#define TEST_BINARY_DATA_WRAP(T, NAME) TEST_BINARY_DATA(T, NAME) - -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_BINARY_STRUCT (int8_t, ssadd) -TEST_BINARY_STRUCT (int16_t, ssadd) -TEST_BINARY_STRUCT (int32_t, ssadd) -TEST_BINARY_STRUCT (int64_t, ssadd) - -TEST_BINARY_STRUCT (int8_t, sssub) -TEST_BINARY_STRUCT (int16_t, sssub) -TEST_BINARY_STRUCT (int32_t, sssub) -TEST_BINARY_STRUCT (int64_t, sssub) - -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) - -TEST_UNARY_STRUCT_DECL(uint8_t, uint16_t) \ - TEST_UNARY_DATA(uint8_t, uint16_t)[] = -{ - { 0, 0}, - { 2, 2}, - {254, 254}, - {255, 255}, - {255, 256}, - {255, 65534}, - {255, 65535}, -}; - -TEST_UNARY_STRUCT_DECL(uint8_t, uint32_t) \ - TEST_UNARY_DATA(uint8_t, uint32_t)[] = -{ - { 0, 0}, - { 2, 2}, - {254, 254}, - {255, 255}, - {255, 256}, - {255, 65534}, - {255, 65535}, - {255, 65536}, - {255, 4294967294}, - {255, 4294967295}, -}; - -TEST_UNARY_STRUCT_DECL(uint8_t, uint64_t) \ - TEST_UNARY_DATA(uint8_t, uint64_t)[] = -{ - { 0, 0}, - { 2, 2}, - {254, 254}, - {255, 255}, - {255, 256}, - {255, 65534}, - {255, 65535}, - {255, 65536}, - {255, 4294967294}, - {255, 4294967295}, - {255, 4294967296}, - {255, 18446744073709551614u}, - {255, 18446744073709551615u}, -}; - -TEST_UNARY_STRUCT_DECL(uint16_t, uint32_t) \ - TEST_UNARY_DATA(uint16_t, uint32_t)[] = -{ - { 0, 0}, - { 5, 5}, - {65534, 65534}, - {65535, 65535}, - {65535, 65536}, - {65535, 4294967294}, - {65535, 4294967295}, -}; - -TEST_UNARY_STRUCT_DECL(uint16_t, uint64_t) \ - TEST_UNARY_DATA(uint16_t, uint64_t)[] = -{ - { 0, 0}, - { 5, 5}, - {65534, 65534}, - {65535, 65535}, - {65535, 65536}, - {65535, 4294967294}, - {65535, 4294967295}, - {65535, 4294967296}, - {65535, 18446744073709551614u}, - {65535, 18446744073709551615u}, -}; - -TEST_UNARY_STRUCT_DECL(uint32_t, uint64_t) \ - TEST_UNARY_DATA(uint32_t, uint64_t)[] = -{ - { 0, 0}, - { 9, 9}, - {4294967294, 4294967294}, - {4294967295, 4294967295}, - {4294967295, 4294967296}, - {4294967295, 18446744073709551614u}, - {4294967295, 18446744073709551615u}, -}; - -TEST_UNARY_STRUCT_DECL(int8_t, int16_t) \ - TEST_UNARY_DATA(int8_t, int16_t)[] = -{ - { 0, 0}, - { -2, -2}, - { 127, 128}, - { 127, 258}, - {-128, -128}, - {-128, -129}, - {-128, -257}, - { 127, 32767}, - {-128, -32768}, -}; - -TEST_UNARY_STRUCT_DECL(int8_t, int32_t) \ - TEST_UNARY_DATA(int8_t, int32_t)[] = -{ - { 0, 0}, - { -2, -2}, - { 127, 128}, - { 127, 258}, - {-128, -128}, - {-128, -129}, - {-128, -257}, - { 127, 32767}, - {-128, -32768}, - { 127, 65536}, - {-128, -65537}, - { 127, 2147483647}, - {-128, -2147483648}, -}; - -TEST_UNARY_STRUCT_DECL(int8_t, int64_t) \ - TEST_UNARY_DATA(int8_t, int64_t)[] = -{ - { 0, 0}, - { -2, -2}, - { 127, 128}, - { 127, 258}, - {-128, -128}, - {-128, -129}, - {-128, -257}, - { 127, 32767}, - {-128, -32768}, - { 127, 65536}, - {-128, -65537}, - { 127, 2147483647}, - {-128, -2147483648}, - { 127, 2147483648ll}, - {-128, -2147483649ll}, - { 127, 9223372036854775807ll}, - {-128, -9223372036854775808ull}, -}; - -TEST_UNARY_STRUCT_DECL(int16_t, int32_t) \ - TEST_UNARY_DATA(int16_t, int32_t)[] = -{ - { 0, 0}, - { -2, -2}, - { 32767, 32768}, - { 32767, 65538}, - {-32768, -32768}, - {-32768, -32769}, - {-32768, -65539}, - { 32767, 32767}, - {-32768, -32768}, - { 32767, 65536}, - {-32768, -65537}, - { 32767, 2147483647}, - {-32768, -2147483648}, -}; - -TEST_UNARY_STRUCT_DECL(int16_t, int64_t) \ - TEST_UNARY_DATA(int16_t, int64_t)[] = -{ - { 0, 0}, - { -2, -2}, - { 32767, 32768}, - { 32767, 65538}, - {-32768, -32768}, - {-32768, -32769}, - {-32768, -65539}, - { 32767, 32767}, - {-32768, -32768}, - { 32767, 65536}, - {-32768, -65537}, - { 32767, 2147483647}, - {-32768, -2147483648}, -}; - -TEST_UNARY_STRUCT_DECL(int32_t, int64_t) \ - TEST_UNARY_DATA(int32_t, int64_t)[] = -{ - { 0, 0}, - { -2, -2}, - { 2147483647, 2147483648ll}, - {-2147483648, -2147483648}, - { 2147483647, 2147483648}, - {-2147483648, -2147483649ll}, - { 2147483647, 9223372036854775807ll}, - {-2147483648, -9223372036854775808ull}, -}; - -TEST_BINARY_STRUCT_DECL(int8_t, ssadd) TEST_BINARY_DATA(int8_t, ssadd)[] = -{ - { 0, 0, 0}, - { 2, 2, 4}, - { 126, 1, 127}, - { 127, 1, 127}, - { 127, 127, 127}, - { -7, -4, -11}, - {-128, -1, -128}, - {-127, -1, -128}, - {-128, -128, -128}, - {-128, 127, -1}, - {-127, 127, 0}, - {-122, 105, -17}, - {-122, 125, 3}, -}; - -TEST_BINARY_STRUCT_DECL(int16_t, ssadd) TEST_BINARY_DATA(int16_t, ssadd)[] = -{ - { 0, 0, 0}, - { 2, 2, 4}, - { 32766, 1, 32767}, - { 32767, 1, 32767}, - { 32767, 32767, 32767}, - { -7, -4, -11}, - {-32768, -1, -32768}, - {-32767, -1, -32768}, - {-32768, -32768, -32768}, - {-32768, 32767, -1}, - {-32767, 32767, 0}, - {-32732, 32712, -20}, - {-32732, 32734, 2}, -}; - -TEST_BINARY_STRUCT_DECL(int32_t, ssadd) TEST_BINARY_DATA(int32_t, ssadd)[] = -{ - { 0, 0, 0}, - { 2, 2, 4}, - { 2147483646, 1, 2147483647}, - { 2147483647, 1, 2147483647}, - { 2147483647, 2147483647, 2147483647}, - { -7, -4, -11}, - {-2147483648, -1, -2147483648}, - {-2147483647, -1, -2147483648}, - {-2147483648, -2147483648, -2147483648}, - {-2147483648, 2147483647, -1}, - {-2147483647, 2147483647, 0}, - {-2147483613, 2147483601, -12}, - {-2147483613, 2147483637, 24}, -}; - -TEST_BINARY_STRUCT_DECL(int64_t, ssadd) TEST_BINARY_DATA(int64_t, ssadd)[] = -{ - { 0, 0, 0}, - { 2, 2, 4}, - { 9223372036854775806ll, 1, 9223372036854775807ll}, - { 9223372036854775807ll, 1, 9223372036854775807ll}, - { 9223372036854775807ll, 9223372036854775807ll, 9223372036854775807ll}, - { -7, -4, -11}, - {-9223372036854775808ull, -1, -9223372036854775808ull}, - { -9223372036854775807ll, -1, -9223372036854775808ull}, - {-9223372036854775808ull, -9223372036854775808ull, -9223372036854775808ull}, - {-9223372036854775808ull, 9223372036854775807ll, -1}, - { -9223372036854775807ll, 9223372036854775807ll, 0}, - { -9223372036854775803ll, 9223372036854775800ll, -3}, - { -9223372036854775803ll, 9223372036854775805ll, 2}, -}; - -TEST_BINARY_STRUCT_DECL(int8_t, sssub) TEST_BINARY_DATA(int8_t, sssub)[] = -{ - { 0, 0, 0}, - { 2, 4, -2}, - { 126, -1, 127}, - { 127, -1, 127}, - { 127, -127, 127}, - { -7, -4, -3}, - {-127, 1, -128}, - {-128, 1, -128}, - {-128, 127, -128}, - {-128, -127, -1}, - {-124, -127, 3}, - {-125, -120, -5}, - { 126, 120, 6}, -}; - -TEST_BINARY_STRUCT_DECL(int16_t, sssub) TEST_BINARY_DATA(int16_t, sssub)[] = -{ - { 0, 0, 0}, - { 2, 4, -2}, - { 32766, -1, 32767}, - { 32767, -1, 32767}, - { 32767, -32767, 32767}, - { -7, -4, -3}, - {-32767, 1, -32768}, - {-32768, 1, -32768}, - {-32768, 32767, -32768}, - {-32768, -32767, -1}, - {-32764, -32767, 3}, - {-32765, -32760, -5}, - { 32766, 32760, 6}, -}; - -TEST_BINARY_STRUCT_DECL(int32_t, sssub) TEST_BINARY_DATA(int32_t, sssub)[] = -{ - { 0, 0, 0}, - { 2, 4, -2}, - { 2147483646, -1, 2147483647}, - { 2147483647, -1, 2147483647}, - { 2147483647, -2147483647, 2147483647}, - { -7, -4, -3}, - {-2147483647, 1, -2147483648}, - {-2147483648, 1, -2147483648}, - {-2147483648, 2147483647, -2147483648}, - {-2147483648, -2147483647, -1}, - {-2147483644, -2147483647, 3}, - {-2147483645, -2147483640, -5}, - { 2147483646, 2147483640, 6}, -}; - -TEST_BINARY_STRUCT_DECL(int64_t, sssub) TEST_BINARY_DATA(int64_t, sssub)[] = -{ - { 0, 0, 0}, - { 2, 4, -2}, - { 9223372036854775806ll, -1, 9223372036854775807ll}, - { 9223372036854775807ll, -1, 9223372036854775807ll}, - { 9223372036854775807ll, -9223372036854775807ll, 9223372036854775807ll}, - { -7, -4, -3}, - { -9223372036854775807ll, 1, -9223372036854775808ull}, - {-9223372036854775808ull, 1, -9223372036854775808ull}, - {-9223372036854775808ull, 9223372036854775807ll, -9223372036854775808ull}, - {-9223372036854775808ull, -9223372036854775807ll, -1}, - { -9223372036854775804ll, -9223372036854775807ll, 3}, - { -9223372036854775805ll, -9223372036854775800ll, -5}, - { 9223372036854775806ll, 9223372036854775800ll, 6}, -}; - -#endif -- 2.43.0