https://gcc.gnu.org/g:4abd0af79f88e671153cec6f0532489f2672c07d

commit r15-5623-g4abd0af79f88e671153cec6f0532489f2672c07d
Author: Pan Li <pan2...@intel.com>
Date:   Thu Nov 21 14:30:45 2024 +0800

    RISC-V: Rearrange the test files for vector SAT_TRUNC [NFC]
    
    The test files of vector SAT_TRUNC only has numbers as the suffix.
    Rearrange the file name to -{form number}-{target-type}.  For example,
    test form 3 for uint32_t SAT_TRUNC will have -3-u32.c for asm check
    and -run-3-u32.c for the run test.
    
    Meanwhile, moved all related test files to riscv/rvv/autovec/sat/.
    
    It is test only patch and obvious up to a point, will commit it
    directly if no comments in next 48H.
    
    gcc/testsuite/ChangeLog:
    
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_data.h: Merge the
            same file name under autovec/unop.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-2.c: Move to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u16.c: ...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-3.c: Move to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u32.c: ...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-4.c: Move to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u64.c: ...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-1.c: Move to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u8.c: ...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-6.c: Move to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u16.c: ...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-7.c: Move to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u32.c: ...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-8.c: Move to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u64.c: ...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-5.c: Move to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u8.c: ...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-10.c: Move to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u16.c: ...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-11.c: Move to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u32.c: ...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-12.c: Move to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u64.c: ...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-9.c: Move to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u8.c: ...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-14.c: Move to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u16.c: ...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-15.c: Move to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u32.c: ...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-16.c: Move to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u64.c: ...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-13.c: Move to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u8.c: ...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-18.c: Move to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u16.c: ...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-19.c: Move to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u32.c: ...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-20.c: Move to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u64.c: ...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-17.c: Move to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u8.c: ...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-22.c: Move to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u16.c: ...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-23.c: Move to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u32.c: ...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-24.c: Move to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u64.c: ...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-21.c: Move to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u8.c: ...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-2.c: Move 
to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u16.c: 
...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-21.c: Move 
to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u32.c: 
...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-22.c: Move 
to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u64.c: 
...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-1.c: Move 
to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u8.c: 
...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-24.c: Move 
to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u16.c: 
...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-7.c: Move 
to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u32.c: 
...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-8.c: Move 
to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u64.c: 
...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-23.c: Move 
to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u8.c: 
...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-10.c: Move 
to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u16.c: 
...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-11.c: Move 
to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u32.c: 
...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-12.c: Move 
to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u64.c: 
...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-9.c: Move 
to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u8.c: 
...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-14.c: Move 
to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u16.c: 
...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-15.c: Move 
to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u32.c: 
...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-16.c: Move 
to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u64.c: 
...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-13.c: Move 
to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u8.c: 
...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-18.c: Move 
to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u16.c: 
...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-19.c: Move 
to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u32.c: 
...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-20.c: Move 
to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u64.c: 
...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-17.c: Move 
to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u8.c: 
...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-4.c: Move 
to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u16.c: 
...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-5.c: Move 
to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u32.c: 
...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-6.c: Move 
to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u64.c: 
...here.
            * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-3.c: Move 
to...
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u8.c: 
...here.
            * gcc.target/riscv/rvv/autovec/sat/vec_sat_unary_vv_run.h: New test.
    
    Signed-off-by: Pan Li <pan2...@intel.com>

Diff:
---
 .../riscv/rvv/autovec/sat/vec_sat_data.h           | 675 +++++++++++++++++++++
 .../vec_sat_u_trunc-1-u16.c}                       |   0
 .../vec_sat_u_trunc-1-u32.c}                       |   0
 .../vec_sat_u_trunc-1-u64.c}                       |   0
 .../vec_sat_u_trunc-1-u8.c}                        |   0
 .../vec_sat_u_trunc-2-u16.c}                       |   0
 .../vec_sat_u_trunc-2-u32.c}                       |   0
 .../vec_sat_u_trunc-2-u64.c}                       |   0
 .../vec_sat_u_trunc-2-u8.c}                        |   0
 .../vec_sat_u_trunc-3-u16.c}                       |   0
 .../vec_sat_u_trunc-3-u32.c}                       |   0
 .../vec_sat_u_trunc-3-u64.c}                       |   0
 .../vec_sat_u_trunc-3-u8.c}                        |   0
 .../vec_sat_u_trunc-4-u16.c}                       |   0
 .../vec_sat_u_trunc-4-u32.c}                       |   0
 .../vec_sat_u_trunc-4-u64.c}                       |   0
 .../vec_sat_u_trunc-4-u8.c}                        |   0
 .../vec_sat_u_trunc-5-u16.c}                       |   0
 .../vec_sat_u_trunc-5-u32.c}                       |   0
 .../vec_sat_u_trunc-5-u64.c}                       |   0
 .../vec_sat_u_trunc-5-u8.c}                        |   0
 .../vec_sat_u_trunc-6-u16.c}                       |   0
 .../vec_sat_u_trunc-6-u32.c}                       |   0
 .../vec_sat_u_trunc-6-u64.c}                       |   0
 .../vec_sat_u_trunc-6-u8.c}                        |   0
 .../vec_sat_u_trunc-run-1-u16.c}                   |   0
 .../vec_sat_u_trunc-run-1-u32.c}                   |   0
 .../vec_sat_u_trunc-run-1-u64.c}                   |   0
 .../vec_sat_u_trunc-run-1-u8.c}                    |   0
 .../vec_sat_u_trunc-run-2-u16.c}                   |   0
 .../vec_sat_u_trunc-run-2-u32.c}                   |   0
 .../vec_sat_u_trunc-run-2-u64.c}                   |   0
 .../vec_sat_u_trunc-run-2-u8.c}                    |   0
 .../vec_sat_u_trunc-run-3-u16.c}                   |   0
 .../vec_sat_u_trunc-run-3-u32.c}                   |   0
 .../vec_sat_u_trunc-run-3-u64.c}                   |   0
 .../vec_sat_u_trunc-run-3-u8.c}                    |   0
 .../vec_sat_u_trunc-run-4-u16.c}                   |   0
 .../vec_sat_u_trunc-run-4-u32.c}                   |   0
 .../vec_sat_u_trunc-run-4-u64.c}                   |   0
 .../vec_sat_u_trunc-run-4-u8.c}                    |   0
 .../vec_sat_u_trunc-run-5-u16.c}                   |   0
 .../vec_sat_u_trunc-run-5-u32.c}                   |   0
 .../vec_sat_u_trunc-run-5-u64.c}                   |   0
 .../vec_sat_u_trunc-run-5-u8.c}                    |   0
 .../vec_sat_u_trunc-run-6-u16.c}                   |   0
 .../vec_sat_u_trunc-run-6-u32.c}                   |   0
 .../vec_sat_u_trunc-run-6-u64.c}                   |   0
 .../vec_sat_u_trunc-run-6-u8.c}                    |   0
 .../riscv/rvv/autovec/sat/vec_sat_unary_vv_run.h   |  23 +
 50 files changed, 698 insertions(+)

diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_data.h 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_data.h
index bcb4a3f3f1d6..3db7a5c7d289 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_data.h
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_data.h
@@ -4,6 +4,33 @@
 #define N 16
 #define TEST_UNARY_DATA(T, NAME) test_##T##_##NAME##_data
 #define TEST_UNARY_DATA_WRAP(T, NAME) TEST_UNARY_DATA(T, NAME)
+#define TEST_UNARY_STRUCT_NAME(T1, T2) test_##T1##_##T2##_s
+#define TEST_UNARY_STRUCT_DECL(T1, T2) struct TEST_UNARY_STRUCT_NAME(T1, T2)
+#define TEST_UNARY_STRUCT(T1, T2)       \
+  struct TEST_UNARY_STRUCT_NAME(T1, T2) \
+    {                                   \
+      T2 in[N];                         \
+      T1 expect[N];                     \
+      T1 out[N];                        \
+    };
+
+TEST_UNARY_STRUCT(uint8_t, uint16_t)
+TEST_UNARY_STRUCT(uint8_t, uint32_t)
+TEST_UNARY_STRUCT(uint8_t, uint64_t)
+
+TEST_UNARY_STRUCT(uint16_t, uint32_t)
+TEST_UNARY_STRUCT(uint16_t, uint64_t)
+
+TEST_UNARY_STRUCT(uint32_t, uint64_t)
+
+TEST_UNARY_STRUCT(int8_t, int16_t)
+TEST_UNARY_STRUCT(int8_t, int32_t)
+TEST_UNARY_STRUCT(int8_t, int64_t)
+
+TEST_UNARY_STRUCT(int16_t, int32_t)
+TEST_UNARY_STRUCT(int16_t, int64_t)
+
+TEST_UNARY_STRUCT(int32_t, int64_t)
 
 uint8_t TEST_UNARY_DATA(uint8_t, sat_u_add_imm)[][2][N] =
 {
@@ -1102,4 +1129,652 @@ int64_t TEST_BINARY_DATA_NAME(int64_t, int64_t, 
sssub)[][3][N] =
   },
 };
 
+TEST_UNARY_STRUCT_DECL(uint8_t, uint16_t) \
+  TEST_UNARY_DATA(uint8_t, uint16_t)[] =
+{
+  {
+    {
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+    },
+    {
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+    },
+  },
+  {
+    {
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+    },
+    {
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+    },
+  },
+  {
+    {
+      254, 255, 256, 257,
+      254, 255, 256, 257,
+      254, 255, 256, 257,
+      254, 255, 256, 257,
+    },
+    {
+      254, 255, 255, 255,
+      254, 255, 255, 255,
+      254, 255, 255, 255,
+      254, 255, 255, 255,
+    },
+  },
+  {
+    {
+      65534, 65535, 650, 24,
+      65534, 65535, 650, 24,
+      65534, 65535, 650, 24,
+      65534, 65535, 650, 24,
+    },
+    {
+        255,   255, 255, 24,
+        255,   255, 255, 24,
+        255,   255, 255, 24,
+        255,   255, 255, 24,
+    },
+  },
+};
+
+TEST_UNARY_STRUCT_DECL(uint8_t, uint32_t) \
+  TEST_UNARY_DATA(uint8_t, uint32_t)[] =
+{
+  {
+    {
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+    },
+    {
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+    },
+  },
+  {
+    {
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+    },
+    {
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+    },
+  },
+  {
+    {
+      254, 255, 256, 257,
+      254, 255, 256, 257,
+      254, 255, 256, 257,
+      254, 255, 256, 257,
+    },
+    {
+      254, 255, 255, 255,
+      254, 255, 255, 255,
+      254, 255, 255, 255,
+      254, 255, 255, 255,
+    },
+  },
+  {
+    {
+      65534, 65535, 65536, 4294967291,
+      65534, 65535, 65537, 4294967292,
+      65534, 65535, 65538, 4294967293,
+      65534, 65535, 65539, 4294967294,
+    },
+    {
+        255,   255,   255,        255,
+        255,   255,   255,        255,
+        255,   255,   255,        255,
+        255,   255,   255,        255,
+    },
+  },
+};
+
+TEST_UNARY_STRUCT_DECL(uint8_t, uint64_t) \
+  TEST_UNARY_DATA(uint8_t, uint64_t)[] =
+{
+  {
+    {
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+    },
+    {
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+    },
+  },
+  {
+    {
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+    },
+    {
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+    },
+  },
+  {
+    {
+      254, 255, 256, 257,
+      254, 255, 256, 257,
+      254, 255, 256, 257,
+      254, 255, 256, 257,
+    },
+    {
+      254, 255, 255, 255,
+      254, 255, 255, 255,
+      254, 255, 255, 255,
+      254, 255, 255, 255,
+    },
+  },
+  {
+    {
+      65534, 65535, 4294967292,            4294967296,
+      65534, 65536, 4294967293, 18446744073709551613u,
+      65534, 65537, 4294967294, 18446744073709551614u,
+      65534, 65538, 4294967295, 18446744073709551615u,
+    },
+    {
+        255,   255,        255,                   255,
+        255,   255,        255,                   255,
+        255,   255,        255,                   255,
+        255,   255,        255,                   255,
+    },
+  },
+};
+
+TEST_UNARY_STRUCT_DECL(uint16_t, uint32_t) \
+  TEST_UNARY_DATA(uint16_t, uint32_t)[] =
+{
+  {
+    {
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+    },
+    {
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+    },
+  },
+  {
+    {
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+    },
+    {
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+    },
+  },
+  {
+    {
+      65534, 65535, 65536, 65537,
+      65534, 65535, 65536, 65537,
+      65534, 65535, 65536, 65537,
+      65534, 65535, 65536, 65537,
+    },
+    {
+      65534, 65535, 65535, 65535,
+      65534, 65535, 65535, 65535,
+      65534, 65535, 65535, 65535,
+      65534, 65535, 65535, 65535,
+    },
+  },
+  {
+    {
+      65534, 65535, 4294967295, 4294967291,
+      65534, 65535, 4294967295, 4294967292,
+      65534, 65535, 4294967295, 4294967293,
+      65534, 65535, 4294967295, 4294967294,
+    },
+    {
+      65534, 65535,      65535,      65535,
+      65534, 65535,      65535,      65535,
+      65534, 65535,      65535,      65535,
+      65534, 65535,      65535,      65535,
+    },
+  },
+};
+
+TEST_UNARY_STRUCT_DECL(uint16_t, uint64_t) \
+  TEST_UNARY_DATA(uint16_t, uint64_t)[] =
+{
+  {
+    {
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+    },
+    {
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+    },
+  },
+  {
+    {
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+    },
+    {
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+    },
+  },
+  {
+    {
+      65534, 65535, 65536, 65537,
+      65534, 65535, 65536, 65537,
+      65534, 65535, 65536, 65537,
+      65534, 65535, 65536, 65537,
+    },
+    {
+      65534, 65535, 65535, 65535,
+      65534, 65535, 65535, 65535,
+      65534, 65535, 65535, 65535,
+      65534, 65535, 65535, 65535,
+    },
+  },
+  {
+    {
+      65534, 65535, 4294967294,            4294967298,
+      65534, 65536, 4294967295, 18446744073709551613u,
+      65534, 65537, 4294967296, 18446744073709551614u,
+      65534, 65538, 4294967297, 18446744073709551615u,
+    },
+    {
+      65534, 65535,      65535,                 65535,
+      65534, 65535,      65535,                 65535,
+      65534, 65535,      65535,                 65535,
+      65534, 65535,      65535,                 65535,
+    },
+  },
+};
+
+TEST_UNARY_STRUCT_DECL(uint32_t, uint64_t) \
+  TEST_UNARY_DATA(uint32_t, uint64_t)[] =
+{
+  {
+    {
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+    },
+    {
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+      0, 0, 0, 0,
+    },
+  },
+  {
+    {
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+    },
+    {
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+      1, 2, 3, 4,
+    },
+  },
+  {
+    {
+      65534, 65535, 65536, 65537,
+      65534, 65535, 65536, 65537,
+      65534, 65535, 65536, 65537,
+      65534, 65535, 65536, 65537,
+    },
+    {
+      65534, 65535, 65536, 65537,
+      65534, 65535, 65536, 65537,
+      65534, 65535, 65536, 65537,
+      65534, 65535, 65536, 65537,
+    },
+  },
+  {
+    {
+      65534, 65535, 4294967294,            4294967298,
+      65534, 65536, 4294967295, 18446744073709551613u,
+      65534, 65537, 4294967296, 18446744073709551614u,
+      65534, 65538, 4294967297, 18446744073709551615u,
+    },
+    {
+      65534, 65535, 4294967294,            4294967295,
+      65534, 65536, 4294967295,            4294967295,
+      65534, 65537, 4294967295,            4294967295,
+      65534, 65538, 4294967295,            4294967295,
+    },
+  },
+};
+
+TEST_UNARY_STRUCT_DECL(int8_t, int16_t) \
+  TEST_UNARY_DATA(int8_t, int16_t)[] =
+{
+  {
+    {
+      0,  0,  0,  0,
+     -1, -1, -1, -1,
+      1,  1,  1,  1,
+      2,  2,  2,  2,
+    },
+    {
+      0,  0,  0,  0,
+     -1, -1, -1, -1,
+      1,  1,  1,  1,
+      2,  2,  2,  2,
+    },
+  },
+  {
+    {
+       127,  127,  127,  127,
+       128,  128,  128,  128,
+      -128, -128, -128, -128,
+      -129, -129, -129, -129,
+    },
+    {
+       127,  127,  127,  127,
+       127,  127,  127,  127,
+      -128, -128, -128, -128,
+      -128, -128, -128, -128,
+    },
+  },
+  {
+    {
+       32766,  32766,  32766,  32766,
+       32767,  32767,  32767,  32767,
+      -32767, -32767, -32767, -32767,
+      -32768, -32768, -32768, -32768,
+    },
+    {
+       127,  127,  127,  127,
+       127,  127,  127,  127,
+      -128, -128, -128, -128,
+      -128, -128, -128, -128,
+    },
+  },
+};
+
+TEST_UNARY_STRUCT_DECL(int8_t, int32_t) \
+  TEST_UNARY_DATA(int8_t, int32_t)[] =
+{
+  {
+    {
+      0,  0,  0,  0,
+     -1, -1, -1, -1,
+      1,  1,  1,  1,
+      2,  2,  2,  2,
+    },
+    {
+      0,  0,  0,  0,
+     -1, -1, -1, -1,
+      1,  1,  1,  1,
+      2,  2,  2,  2,
+    },
+  },
+  {
+    {
+       127,  127,  127,  127,
+       128,  128,  128,  128,
+      -128, -128, -128, -128,
+      -129, -129, -129, -129,
+    },
+    {
+       127,  127,  127,  127,
+       127,  127,  127,  127,
+      -128, -128, -128, -128,
+      -128, -128, -128, -128,
+    },
+  },
+  {
+    {
+       2147483646,  2147483646,  2147483646,  2147483646,
+       2147483647,  2147483647,  2147483647,  2147483647,
+      -2147483647, -2147483647, -2147483647, -2147483647,
+      -2147483648, -2147483648, -2147483648, -2147483648,
+    },
+    {
+       127,  127,  127,  127,
+       127,  127,  127,  127,
+      -128, -128, -128, -128,
+      -128, -128, -128, -128,
+    },
+  },
+};
+
+TEST_UNARY_STRUCT_DECL(int8_t, int64_t) \
+  TEST_UNARY_DATA(int8_t, int64_t)[] =
+{
+  {
+    {
+      0,  0,  0,  0,
+     -1, -1, -1, -1,
+      1,  1,  1,  1,
+      2,  2,  2,  2,
+    },
+    {
+      0,  0,  0,  0,
+     -1, -1, -1, -1,
+      1,  1,  1,  1,
+      2,  2,  2,  2,
+    },
+  },
+  {
+    {
+       127,  127,  127,  127,
+       128,  128,  128,  128,
+      -128, -128, -128, -128,
+      -129, -129, -129, -129,
+    },
+    {
+       127,  127,  127,  127,
+       127,  127,  127,  127,
+      -128, -128, -128, -128,
+      -128, -128, -128, -128,
+    },
+  },
+  {
+    {
+        9223372036854775806ll,   9223372036854775806ll,   
9223372036854775806ll,   9223372036854775806ll,
+        9223372036854775807ll,   9223372036854775807ll,   
9223372036854775807ll,   9223372036854775807ll,
+       -9223372036854775807ll,  -9223372036854775807ll,  
-9223372036854775807ll,  -9223372036854775807ll,
+      -9223372036854775808ull, -9223372036854775808ull, 
-9223372036854775808ull, -9223372036854775808ull,
+    },
+    {
+       127,  127,  127,  127,
+       127,  127,  127,  127,
+      -128, -128, -128, -128,
+      -128, -128, -128, -128,
+    },
+  },
+};
+
+TEST_UNARY_STRUCT_DECL(int16_t, int32_t) \
+  TEST_UNARY_DATA(int16_t, int32_t)[] =
+{
+  {
+    {
+      0,  0,  0,  0,
+     -1, -1, -1, -1,
+      1,  1,  1,  1,
+      2,  2,  2,  2,
+    },
+    {
+      0,  0,  0,  0,
+     -1, -1, -1, -1,
+      1,  1,  1,  1,
+      2,  2,  2,  2,
+    },
+  },
+  {
+    {
+       32767,  32767,  32767,  32767,
+       32768,  32768,  32768,  32768,
+      -32768, -32768, -32768, -32768,
+      -32769, -32769, -32769, -32769,
+    },
+    {
+       32767,  32767,  32767,  32767,
+       32767,  32767,  32767,  32767,
+      -32768, -32768, -32768, -32768,
+      -32768, -32768, -32768, -32768,
+    },
+  },
+  {
+    {
+       2147483646,  2147483646,  2147483646,  2147483646,
+       2147483647,  2147483647,  2147483647,  2147483647,
+      -2147483647, -2147483647, -2147483647, -2147483647,
+      -2147483648, -2147483648, -2147483648, -2147483648,
+    },
+    {
+       32767,  32767,  32767,  32767,
+       32767,  32767,  32767,  32767,
+      -32768, -32768, -32768, -32768,
+      -32768, -32768, -32768, -32768,
+    },
+  },
+};
+
+TEST_UNARY_STRUCT_DECL(int16_t, int64_t) \
+  TEST_UNARY_DATA(int16_t, int64_t)[] =
+{
+  {
+    {
+      0,  0,  0,  0,
+     -1, -1, -1, -1,
+      1,  1,  1,  1,
+      2,  2,  2,  2,
+    },
+    {
+      0,  0,  0,  0,
+     -1, -1, -1, -1,
+      1,  1,  1,  1,
+      2,  2,  2,  2,
+    },
+  },
+  {
+    {
+       32767,  32767,  32767,  32767,
+       32768,  32768,  32768,  32768,
+      -32768, -32768, -32768, -32768,
+      -32769, -32769, -32769, -32769,
+    },
+    {
+       32767,  32767,  32767,  32767,
+       32767,  32767,  32767,  32767,
+      -32768, -32768, -32768, -32768,
+      -32768, -32768, -32768, -32768,
+    },
+  },
+  {
+    {
+        9223372036854775806ll,   9223372036854775806ll,   
9223372036854775806ll,   9223372036854775806ll,
+        9223372036854775807ll,   9223372036854775807ll,   
9223372036854775807ll,   9223372036854775807ll,
+       -9223372036854775807ll,  -9223372036854775807ll,  
-9223372036854775807ll,  -9223372036854775807ll,
+      -9223372036854775808ull, -9223372036854775808ull, 
-9223372036854775808ull, -9223372036854775808ull,
+    },
+    {
+       32767,  32767,  32767,  32767,
+       32767,  32767,  32767,  32767,
+      -32768, -32768, -32768, -32768,
+      -32768, -32768, -32768, -32768,
+    },
+  },
+};
+
+TEST_UNARY_STRUCT_DECL(int32_t, int64_t) \
+  TEST_UNARY_DATA(int32_t, int64_t)[] =
+{
+  {
+    {
+      0,  0,  0,  0,
+     -1, -1, -1, -1,
+      1,  1,  1,  1,
+      2,  2,  2,  2,
+    },
+    {
+      0,  0,  0,  0,
+     -1, -1, -1, -1,
+      1,  1,  1,  1,
+      2,  2,  2,  2,
+    },
+  },
+  {
+    {
+       2147483647,  2147483647,  2147483647,  2147483647,
+       2147483648,  2147483648,  2147483648,  2147483648,
+      -2147483648, -2147483648, -2147483648, -2147483648,
+      -2147483649, -2147483649, -2147483649, -2147483649,
+    },
+    {
+       2147483647,  2147483647,  2147483647,  2147483647,
+       2147483647,  2147483647,  2147483647,  2147483647,
+      -2147483648, -2147483648, -2147483648, -2147483648,
+      -2147483648, -2147483648, -2147483648, -2147483648,
+    },
+  },
+  {
+    {
+        9223372036854775806ll,   9223372036854775806ll,   
9223372036854775806ll,   9223372036854775806ll,
+        9223372036854775807ll,   9223372036854775807ll,   
9223372036854775807ll,   9223372036854775807ll,
+       -9223372036854775807ll,  -9223372036854775807ll,  
-9223372036854775807ll,  -9223372036854775807ll,
+      -9223372036854775808ull, -9223372036854775808ull, 
-9223372036854775808ull, -9223372036854775808ull,
+    },
+    {
+       2147483647,  2147483647,  2147483647,  2147483647,
+       2147483647,  2147483647,  2147483647,  2147483647,
+      -2147483648, -2147483648, -2147483648, -2147483648,
+      -2147483648, -2147483648, -2147483648, -2147483648,
+    },
+  },
+};
+
 #endif
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-2.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u16.c
similarity index 100%
rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-2.c
rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u16.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-3.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u32.c
similarity index 100%
rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-3.c
rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u32.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-4.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u64.c
similarity index 100%
rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-4.c
rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u64.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-1.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u8.c
similarity index 100%
rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-1.c
rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u8.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-6.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u16.c
similarity index 100%
rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-6.c
rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u16.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-7.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u32.c
similarity index 100%
rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-7.c
rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u32.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-8.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u64.c
similarity index 100%
rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-8.c
rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u64.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-5.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u8.c
similarity index 100%
rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-5.c
rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u8.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-10.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u16.c
similarity index 100%
rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-10.c
rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u16.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-11.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u32.c
similarity index 100%
rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-11.c
rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u32.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-12.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u64.c
similarity index 100%
rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-12.c
rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u64.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-9.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u8.c
similarity index 100%
rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-9.c
rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u8.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-14.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u16.c
similarity index 100%
rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-14.c
rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u16.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-15.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u32.c
similarity index 100%
rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-15.c
rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u32.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-16.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u64.c
similarity index 100%
rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-16.c
rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u64.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-13.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u8.c
similarity index 100%
rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-13.c
rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u8.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-18.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u16.c
similarity index 100%
rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-18.c
rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u16.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-19.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u32.c
similarity index 100%
rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-19.c
rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u32.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-20.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u64.c
similarity index 100%
rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-20.c
rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u64.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-17.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u8.c
similarity index 100%
rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-17.c
rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u8.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-22.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u16.c
similarity index 100%
rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-22.c
rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u16.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-23.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u32.c
similarity index 100%
rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-23.c
rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u32.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-24.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u64.c
similarity index 100%
rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-24.c
rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u64.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-21.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u8.c
similarity index 100%
rename from gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-21.c
rename to gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u8.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-2.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u16.c
similarity index 100%
rename from 
gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-2.c
rename to 
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u16.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-21.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u32.c
similarity index 100%
rename from 
gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-21.c
rename to 
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u32.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-22.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u64.c
similarity index 100%
rename from 
gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-22.c
rename to 
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u64.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-1.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u8.c
similarity index 100%
rename from 
gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-1.c
rename to 
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u8.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-24.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u16.c
similarity index 100%
rename from 
gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-24.c
rename to 
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u16.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-7.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u32.c
similarity index 100%
rename from 
gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-7.c
rename to 
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u32.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-8.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u64.c
similarity index 100%
rename from 
gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-8.c
rename to 
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u64.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-23.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u8.c
similarity index 100%
rename from 
gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-23.c
rename to 
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u8.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-10.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u16.c
similarity index 100%
rename from 
gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-10.c
rename to 
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u16.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-11.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u32.c
similarity index 100%
rename from 
gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-11.c
rename to 
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u32.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-12.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u64.c
similarity index 100%
rename from 
gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-12.c
rename to 
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u64.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-9.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u8.c
similarity index 100%
rename from 
gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-9.c
rename to 
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u8.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-14.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u16.c
similarity index 100%
rename from 
gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-14.c
rename to 
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u16.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-15.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u32.c
similarity index 100%
rename from 
gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-15.c
rename to 
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u32.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-16.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u64.c
similarity index 100%
rename from 
gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-16.c
rename to 
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u64.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-13.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u8.c
similarity index 100%
rename from 
gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-13.c
rename to 
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u8.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-18.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u16.c
similarity index 100%
rename from 
gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-18.c
rename to 
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u16.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-19.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u32.c
similarity index 100%
rename from 
gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-19.c
rename to 
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u32.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-20.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u64.c
similarity index 100%
rename from 
gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-20.c
rename to 
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u64.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-17.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u8.c
similarity index 100%
rename from 
gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-17.c
rename to 
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u8.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-4.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u16.c
similarity index 100%
rename from 
gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-4.c
rename to 
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u16.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-5.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u32.c
similarity index 100%
rename from 
gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-5.c
rename to 
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u32.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-6.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u64.c
similarity index 100%
rename from 
gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-6.c
rename to 
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u64.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-3.c 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u8.c
similarity index 100%
rename from 
gcc/testsuite/gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-3.c
rename to 
gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u8.c
diff --git 
a/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_unary_vv_run.h 
b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_unary_vv_run.h
new file mode 100644
index 000000000000..e731e9f3f715
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/sat/vec_sat_unary_vv_run.h
@@ -0,0 +1,23 @@
+#ifndef HAVE_DEFINE_VEC_SAT_UNARY_VV_RUN_H
+#define HAVE_DEFINE_VEC_SAT_UNARY_VV_RUN_H
+
+int
+main ()
+{
+  unsigned i, k;
+
+  for (i = 0; i < sizeof (DATA) / sizeof (DATA[0]); i++)
+    {
+      T *data = &DATA[i];
+
+      RUN_UNARY (data->out, data->in, N);
+
+      for (k = 0; k < N; k++)
+       if (data->out[k] != data->expect[k])
+         __builtin_abort ();
+    }
+
+  return 0;
+}
+
+#endif

Reply via email to