1 /* { dg-do compile } */
2 /* { dg-options "-mavx512f -O2" } */
3 /* { dg-final { scan-assembler-times "vmovdqa32\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */
4 /* { dg-final { scan-assembler-times "vmovdqa32\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 } } */
5 /* { dg-final { scan-assembler-times "vmovdqa32\[ \\t\]+\[^\{\n\]*\\)\[^\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */
6 /* { dg-final { scan-assembler-times "vmovdqa32\[ \\t\]+\[^\{\n\]*\\)\[^\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 } } */
7 /* { dg-final { scan-assembler-times "vmovdqa32\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*\\)\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */
12 volatile __m512i x1
, x2
;
18 x1
= _mm512_mask_mov_epi32 (x1
, m
, x2
);
19 x1
= _mm512_maskz_mov_epi32 (m
, x2
);
21 x1
= _mm512_load_si512 (p
);
22 x1
= _mm512_load_epi32 (p
);
23 x1
= _mm512_mask_load_epi32 (x1
, m
, p
);
24 x1
= _mm512_maskz_load_epi32 (m
, p
);
26 _mm512_store_si512 (p
, x1
);
27 _mm512_store_epi32 (p
, x1
);
28 _mm512_mask_store_epi32 (p
, m
, x1
);