aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/i386/pr88461.c
blob: 68349c197108cda164540d79146496915ef81d33 (plain)
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;
}