(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
pr96377-4.c
       1  /* { dg-do compile { target aarch64*-*-* } } */
       2  /* { dg-options "-flax-vector-conversions" } */
       3  
       4  typedef int v4si __attribute__((vector_size(16)));
       5  typedef short v8hi __attribute__((vector_size(16)));
       6  
       7  struct s { v8hi x; v4si y; };
       8  union u1 { v8hi x; v4si y; };
       9  union u2 { v4si s; v8hi y; };
      10  
      11  void
      12  foo (__Int32x4_t i, __Int16x8_t h)
      13  {
      14    struct s x1 = { i, i };
      15    struct s x2 = { h, h };
      16    struct s x3 = { i, h };
      17    struct s x4 = { h, i };
      18  
      19    union u1 y1 = { i };
      20    union u1 y2 = { h };
      21    union u2 y3 = { i };
      22    union u2 y4 = { h };
      23  
      24    v4si z1[] = { i, i };
      25    v4si z2[] = { i, h };
      26    v4si z3[] = { h, i };
      27    v4si z4[] = { h, h };
      28    v8hi z5[] = { i, i };
      29    v8hi z6[] = { i, h };
      30    v8hi z7[] = { h, i };
      31    v8hi z8[] = { h, h };
      32  }