1  /* { dg-do compile } */
       2  /* { dg-options "-Og -march=x86-64 -mavx512vl -fsanitize=thread -fstack-protector-all" } */
       3  
       4  typedef char __attribute__((__vector_size__(8))) C;
       5  typedef int __attribute__((__vector_size__(8))) U;
       6  typedef int __attribute__((__vector_size__(16))) V;
       7  typedef int __attribute__((__vector_size__(32))) W;
       8  typedef long long __attribute__((__vector_size__(64))) L;
       9  typedef _Float64 __attribute__((__vector_size__(16))) F;
      10  typedef _Float64 __attribute__((__vector_size__(64))) G;
      11  C c;
      12  int i;
      13  
      14  U foo0( W v256u32_0,
      15             W v256s32_0,
      16             V v128u64_0,
      17             V v128s64_0,
      18             W v256u64_0,
      19             W v256s64_0,
      20             L v512s64_0,
      21             W v256u128_0,
      22             W v256s128_0,
      23             V v128f32_0,
      24             W v256f32_0,
      25             F F_0,
      26             W v256f64_0,
      27             G G_0) {
      28    C U_1 = __builtin_ia32_pshufb(c, c);
      29    G_0 += __builtin_convertvector(v512s64_0, G);
      30    F F_1 = __builtin_shufflevector(F_0, G_0, 2, 2);
      31    W W_r = v256u32_0 + v256s32_0 + v256u64_0 + v256s64_0 + v256u128_0 +
      32                      v256s128_0 + v256f32_0 + v256f64_0;
      33    V V_r = ((union {
      34                        W a;
      35                        V b;
      36                      })W_r)
      37                          .b +
      38                      i + v128u64_0 + v128s64_0 + v128f32_0 +
      39                      (V)F_1;
      40    U U_r = ((union {
      41                      V a;
      42                      U b;
      43                    })V_r)
      44                        .b +
      45                    (U)U_1;
      46    return U_r;
      47  }