/* PR target/70059 */
/* { dg-do run } */
/* { dg-require-effective-target avx512dq } */
/* { dg-options "-O2 -mavx512dq" } */

#include "avx512dq-check.h"

__attribute__((noinline, noclone)) __m512i
foo (__m256i a, __m256i b)
{
  __m512i r = _mm512_undefined_si512 ();
  r = _mm512_inserti32x8 (r, a, 0);
  r = _mm512_inserti32x8 (r, b, 1);
  return r;
}

static void
avx512dq_test (void)
{
  union256i_q a, b;
  union512i_q r;
  long long r_ref[8];
  int i;
  for (i = 0; i < 4; i++)
    {
      a.a[i] = 0x0101010101010101ULL * i;
      b.a[i] = 0x1010101010101010ULL * i;
      r_ref[i] = a.a[i];
      r_ref[i + 4] = b.a[i];
    }
  r.x = foo (a.x, b.x);
  check_union512i_q (r, r_ref);
}
