1  /* PR target/88461 */
       2  /* { dg-do compile } */
       3  /* { dg-options "-O2 -mavx512vl -mavx512bw" } */
       4  /* { dg-final { scan-assembler-times "kmovw\[ \t]" 2 } } */
       5  
       6  #include <x86intrin.h>
       7  
       8  int
       9  foo (const __m128i *data, int a)
      10  {
      11    __m128i v = _mm_load_si128 (data);
      12    __mmask16 m = _mm_testn_epi16_mask (v, v);
      13    m = _kshiftli_mask16 (m, 1);
      14    m = _kandn_mask16 (m, a);
      15    return m;
      16  }