1  /* { dg-do compile { target { ! ia32 } } } */
       2  /* { dg-options "-mavx512f -O2" } */
       3  /* { dg-final { scan-assembler-times {(?n)vmovd[ \t]+} 3 } } */
       4  /* { dg-final { scan-assembler-not {(?n)movq[ \t]+} } } */
       5  
       6  #include<immintrin.h>
       7  
       8  __m128i
       9  foo1 (int* p)
      10  {
      11    return _mm_set_epi64x (0, (unsigned int) ((*(__m32_u *)p)[0]));
      12  }
      13  
      14  __m256i
      15  foo3 (int* p)
      16  {
      17    return _mm256_set_epi64x (0, 0, 0, (unsigned int) ((*(__m32_u *)p)[0]));
      18  }
      19  
      20  __m512i
      21  foo5 (int* p)
      22  {
      23    return _mm512_set_epi64 (0, 0, 0, 0, 0, 0, 0,
      24  			   (unsigned int) ((*(__m32_u *)p)[0]));
      25  }