PR inline-asm/84742
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / avx512f-int2mask-1.c
blobc4fea4aafef1c3e94ff744065642dc1b5d2608c5
1 /* { dg-do run } */
2 /* { dg-options "-mavx512f -O2" } */
3 /* { dg-require-effective-target avx512f } */
5 #include "avx512f-check.h"
7 static void
8 avx512f_test (void)
10 __m512i a = _mm512_set_epi32 (1, 17, 2, 12, 4, 14, 6, 16,
11 8, 11, 10, 20, 12, 22, 14, 24);
12 __m512i b = _mm512_set_epi32 (0, 1, 11, 3, 13, 5, 15, 7,
13 17, 9, 19, 11, 21, 13, 23, 16);
14 __mmask16 c = _mm512_kmov (_mm512_int2mask (2 | 8));
15 __m512i d = _mm512_mask_mov_epi32 (a, c, b);
16 __m512i e = _mm512_set_epi32 (1, 17, 2, 12, 4, 14, 6, 16,
17 8, 11, 10, 20, 21, 22, 23, 24);
18 if (_mm512_mask2int (_mm512_cmpeq_epi32_mask (d, e)) != 0xffff)
19 __builtin_abort ();