1  /* PR target/100648.  */
       2  /* { dg-do compile } */
       3  /* { dg-options "-O2 -mavx512vl -mavx512bw -masm=att" } */
       4  /* { dg-final { scan-assembler-times "\tvpblendvb\t" 2 } } */
       5  /* { dg-final { scan-assembler-not "\tvpcmpeq" } } */
       6  /* { dg-final { scan-assembler-not "\tvpandn" } } */
       7  #include <x86intrin.h>
       8  
       9  __m256i
      10  f1 (__m256i a, __m256i b, __m256i mask)
      11  {
      12    return _mm256_blendv_epi8(a, b, 
      13      _mm256_andnot_si256(mask, _mm256_set1_epi8(255)));
      14  }
      15  
      16  __m128i
      17  f2 (__m128i a, __m128i b, __m128i mask)
      18  {
      19    return _mm_blendv_epi8(a, b, 
      20      _mm_andnot_si128(mask, _mm_set1_epi8(255)));
      21  }