1  /* { dg-do run } */
       2  /* { dg-require-effective-target avx512f } */
       3  /* { dg-options "-O2 -mavx512f" } */
       4  
       5  #include "avx512f-check.h"
       6  
       7  static __m512i
       8  __attribute__((noinline))
       9  foo (short x)
      10  {
      11    return _mm512_set_epi16 (x, x, x, x, x, x, x, x,
      12  			   x, x, x, x, x, x, x, x,
      13  			   x, x, x, x, x, x, x, x,
      14  			   x, x, x, x, x, x, x, x);
      15  }
      16  
      17  static void
      18  avx512f_test (void)
      19  {
      20    short e = -45;
      21    short v[32];
      22    union512i_w u;
      23    int i;
      24  
      25    for (i = 0; i < ARRAY_SIZE (v); i++)
      26      v[i] = e;
      27    u.x = foo (e);
      28    if (check_union512i_w (u, v))
      29      abort ();
      30  }