1  /* { dg-do compile } */
       2  /* { dg-options "-mavx512vl -O2" } */
       3  /* { dg-final { scan-assembler-times "vscatterqps\[ \\t\]+\[^\{\n\]*xmm\[0-9\]\[^\n\]*ymm\[0-9\]\[^\n\]*{%k\[1-7\]}(?:\n|\[ \\t\]+#)" 2 } } */
       4  /* { dg-final { scan-assembler-times "vscatterqps\[ \\t\]+\[^\{\n\]*xmm\[0-9\]\[^\n\]*xmm\[0-9\]\[^\n\]*{%k\[1-7\]}(?:\n|\[ \\t\]+#)" 2 } } */
       5  
       6  #include <immintrin.h>
       7  
       8  volatile __m128 src;
       9  volatile __m256i idx1;
      10  volatile __m128i idx2;
      11  volatile __mmask8 m8;
      12  float *addr;
      13  
      14  void extern
      15  avx512vl_test (void)
      16  {
      17    _mm256_i64scatter_ps (addr, idx1, src, 8);
      18    _mm256_mask_i64scatter_ps (addr, m8, idx1, src, 8);
      19  
      20    _mm_i64scatter_ps (addr, idx2, src, 8);
      21    _mm_mask_i64scatter_ps (addr, m8, idx2, src, 8);
      22  }