1 /* PR target/79932 */
2 /* { dg-do compile } */
3 /* { dg-options "-O0 -mavx512vl" } */
4 
5 #include <x86intrin.h>
6 
7 __m256i a, b;
8 __m128i c, d;
9 __mmask32 e, f[64];
10 
11 void
foo(void)12 foo (void)
13 {
14   f[0] = _mm256_cmpge_epi32_mask (a, b);
15   f[1] = _mm256_cmpge_epi64_mask (a, b);
16   f[2] = _mm256_cmpge_epu32_mask (a, b);
17   f[3] = _mm256_cmpge_epu64_mask (a, b);
18   f[4] = _mm256_cmple_epi32_mask (a, b);
19   f[5] = _mm256_cmple_epi64_mask (a, b);
20   f[6] = _mm256_cmple_epu32_mask (a, b);
21   f[7] = _mm256_cmple_epu64_mask (a, b);
22   f[8] = _mm256_cmplt_epi32_mask (a, b);
23   f[9] = _mm256_cmplt_epi64_mask (a, b);
24   f[10] = _mm256_cmplt_epu32_mask (a, b);
25   f[11] = _mm256_cmplt_epu64_mask (a, b);
26   f[12] = _mm256_cmpneq_epi32_mask (a, b);
27   f[13] = _mm256_cmpneq_epi64_mask (a, b);
28   f[14] = _mm256_cmpneq_epu32_mask (a, b);
29   f[15] = _mm256_cmpneq_epu64_mask (a, b);
30   f[16] = _mm256_mask_cmpge_epi32_mask (e, a, b);
31   f[17] = _mm256_mask_cmpge_epi64_mask (e, a, b);
32   f[18] = _mm256_mask_cmpge_epu32_mask (e, a, b);
33   f[19] = _mm256_mask_cmpge_epu64_mask (e, a, b);
34   f[20] = _mm256_mask_cmple_epi32_mask (e, a, b);
35   f[21] = _mm256_mask_cmple_epi64_mask (e, a, b);
36   f[22] = _mm256_mask_cmple_epu32_mask (e, a, b);
37   f[23] = _mm256_mask_cmple_epu64_mask (e, a, b);
38   f[24] = _mm256_mask_cmplt_epi32_mask (e, a, b);
39   f[25] = _mm256_mask_cmplt_epi64_mask (e, a, b);
40   f[26] = _mm256_mask_cmplt_epu32_mask (e, a, b);
41   f[27] = _mm256_mask_cmplt_epu64_mask (e, a, b);
42   f[28] = _mm256_mask_cmpneq_epi32_mask (e, a, b);
43   f[29] = _mm256_mask_cmpneq_epi64_mask (e, a, b);
44   f[30] = _mm256_mask_cmpneq_epu32_mask (e, a, b);
45   f[31] = _mm256_mask_cmpneq_epu64_mask (e, a, b);
46   f[32] = _mm_cmpge_epi32_mask (c, d);
47   f[33] = _mm_cmpge_epi64_mask (c, d);
48   f[34] = _mm_cmpge_epu32_mask (c, d);
49   f[35] = _mm_cmpge_epu64_mask (c, d);
50   f[36] = _mm_cmple_epi32_mask (c, d);
51   f[37] = _mm_cmple_epi64_mask (c, d);
52   f[38] = _mm_cmple_epu32_mask (c, d);
53   f[39] = _mm_cmple_epu64_mask (c, d);
54   f[40] = _mm_cmplt_epi32_mask (c, d);
55   f[41] = _mm_cmplt_epi64_mask (c, d);
56   f[42] = _mm_cmplt_epu32_mask (c, d);
57   f[43] = _mm_cmplt_epu64_mask (c, d);
58   f[44] = _mm_cmpneq_epi32_mask (c, d);
59   f[45] = _mm_cmpneq_epi64_mask (c, d);
60   f[46] = _mm_cmpneq_epu32_mask (c, d);
61   f[47] = _mm_cmpneq_epu64_mask (c, d);
62   f[48] = _mm_mask_cmpge_epi32_mask (e, c, d);
63   f[49] = _mm_mask_cmpge_epi64_mask (e, c, d);
64   f[50] = _mm_mask_cmpge_epu32_mask (e, c, d);
65   f[51] = _mm_mask_cmpge_epu64_mask (e, c, d);
66   f[52] = _mm_mask_cmple_epi32_mask (e, c, d);
67   f[53] = _mm_mask_cmple_epi64_mask (e, c, d);
68   f[54] = _mm_mask_cmple_epu32_mask (e, c, d);
69   f[55] = _mm_mask_cmple_epu64_mask (e, c, d);
70   f[56] = _mm_mask_cmplt_epi32_mask (e, c, d);
71   f[57] = _mm_mask_cmplt_epi64_mask (e, c, d);
72   f[58] = _mm_mask_cmplt_epu32_mask (e, c, d);
73   f[59] = _mm_mask_cmplt_epu64_mask (e, c, d);
74   f[60] = _mm_mask_cmpneq_epi32_mask (e, c, d);
75   f[61] = _mm_mask_cmpneq_epi64_mask (e, c, d);
76   f[62] = _mm_mask_cmpneq_epu32_mask (e, c, d);
77   f[63] = _mm_mask_cmpneq_epu64_mask (e, c, d);
78 }
79