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