blob: 9446d467f78ef34c5ce41d37b6997855385f8f00 [file] [log] [blame]
Stephen Hines176edba2014-12-01 14:53:08 -08001// RUN: %clang_cc1 %s -O0 -triple=x86_64-apple-darwin -ffreestanding -target-feature +avx512f -target-feature +avx512vl -emit-llvm -o - -Werror | FileCheck %s
2
3#include <immintrin.h>
4
5__mmask8 test_mm256_cmpeq_epi32_mask(__m256i __a, __m256i __b) {
6 // CHECK-LABEL: @test_mm256_cmpeq_epi32_mask
7 // CHECK: @llvm.x86.avx512.mask.pcmpeq.d.256
8 return (__mmask8)_mm256_cmpeq_epi32_mask(__a, __b);
9}
10
11__mmask8 test_mm256_mask_cmpeq_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
12 // CHECK-LABEL: @test_mm256_mask_cmpeq_epi32_mask
13 // CHECK: @llvm.x86.avx512.mask.pcmpeq.d.256
14 return (__mmask8)_mm256_mask_cmpeq_epi32_mask(__u, __a, __b);
15}
16
17__mmask8 test_mm_cmpeq_epi32_mask(__m128i __a, __m128i __b) {
18 // CHECK-LABEL: @test_mm_cmpeq_epi32_mask
19 // CHECK: @llvm.x86.avx512.mask.pcmpeq.d.128
20 return (__mmask8)_mm_cmpeq_epi32_mask(__a, __b);
21}
22
23__mmask8 test_mm_mask_cmpeq_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
24 // CHECK-LABEL: @test_mm_mask_cmpeq_epi32_mask
25 // CHECK: @llvm.x86.avx512.mask.pcmpeq.d.128
26 return (__mmask8)_mm_mask_cmpeq_epi32_mask(__u, __a, __b);
27}
28
29__mmask8 test_mm256_cmpeq_epi64_mask(__m256i __a, __m256i __b) {
30 // CHECK-LABEL: @test_mm256_cmpeq_epi64_mask
31 // CHECK: @llvm.x86.avx512.mask.pcmpeq.q.256
32 return (__mmask8)_mm256_cmpeq_epi64_mask(__a, __b);
33}
34
35__mmask8 test_mm256_mask_cmpeq_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
36 // CHECK-LABEL: @test_mm256_mask_cmpeq_epi64_mask
37 // CHECK: @llvm.x86.avx512.mask.pcmpeq.q.256
38 return (__mmask8)_mm256_mask_cmpeq_epi64_mask(__u, __a, __b);
39}
40
41__mmask8 test_mm_cmpeq_epi64_mask(__m128i __a, __m128i __b) {
42 // CHECK-LABEL: @test_mm_cmpeq_epi64_mask
43 // CHECK: @llvm.x86.avx512.mask.pcmpeq.q.128
44 return (__mmask8)_mm_cmpeq_epi64_mask(__a, __b);
45}
46
47__mmask8 test_mm_mask_cmpeq_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
48 // CHECK-LABEL: @test_mm_mask_cmpeq_epi64_mask
49 // CHECK: @llvm.x86.avx512.mask.pcmpeq.q.128
50 return (__mmask8)_mm_mask_cmpeq_epi64_mask(__u, __a, __b);
51}
Stephen Hines0e2c34f2015-03-23 12:09:02 -070052
53__mmask8 test_mm256_cmpgt_epi32_mask(__m256i __a, __m256i __b) {
54 // CHECK-LABEL: @test_mm256_cmpgt_epi32_mask
55 // CHECK: @llvm.x86.avx512.mask.pcmpgt.d.256
56 return (__mmask8)_mm256_cmpgt_epi32_mask(__a, __b);
57}
58
59__mmask8 test_mm256_mask_cmpgt_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
60 // CHECK-LABEL: @test_mm256_mask_cmpgt_epi32_mask
61 // CHECK: @llvm.x86.avx512.mask.pcmpgt.d.256
62 return (__mmask8)_mm256_mask_cmpgt_epi32_mask(__u, __a, __b);
63}
64
65__mmask8 test_mm_cmpgt_epi32_mask(__m128i __a, __m128i __b) {
66 // CHECK-LABEL: @test_mm_cmpgt_epi32_mask
67 // CHECK: @llvm.x86.avx512.mask.pcmpgt.d.128
68 return (__mmask8)_mm_cmpgt_epi32_mask(__a, __b);
69}
70
71__mmask8 test_mm_mask_cmpgt_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
72 // CHECK-LABEL: @test_mm_mask_cmpgt_epi32_mask
73 // CHECK: @llvm.x86.avx512.mask.pcmpgt.d.128
74 return (__mmask8)_mm_mask_cmpgt_epi32_mask(__u, __a, __b);
75}
76
77__mmask8 test_mm256_cmpgt_epi64_mask(__m256i __a, __m256i __b) {
78 // CHECK-LABEL: @test_mm256_cmpgt_epi64_mask
79 // CHECK: @llvm.x86.avx512.mask.pcmpgt.q.256
80 return (__mmask8)_mm256_cmpgt_epi64_mask(__a, __b);
81}
82
83__mmask8 test_mm256_mask_cmpgt_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
84 // CHECK-LABEL: @test_mm256_mask_cmpgt_epi64_mask
85 // CHECK: @llvm.x86.avx512.mask.pcmpgt.q.256
86 return (__mmask8)_mm256_mask_cmpgt_epi64_mask(__u, __a, __b);
87}
88
89__mmask8 test_mm_cmpgt_epi64_mask(__m128i __a, __m128i __b) {
90 // CHECK-LABEL: @test_mm_cmpgt_epi64_mask
91 // CHECK: @llvm.x86.avx512.mask.pcmpgt.q.128
92 return (__mmask8)_mm_cmpgt_epi64_mask(__a, __b);
93}
94
95__mmask8 test_mm_mask_cmpgt_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
96 // CHECK-LABEL: @test_mm_mask_cmpgt_epi64_mask
97 // CHECK: @llvm.x86.avx512.mask.pcmpgt.q.128
98 return (__mmask8)_mm_mask_cmpgt_epi64_mask(__u, __a, __b);
99}
100
101__mmask8 test_mm_cmpeq_epu32_mask(__m128i __a, __m128i __b) {
102 // CHECK-LABEL: @test_mm_cmpeq_epu32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700103 // CHECK: @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 0, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700104 return (__mmask8)_mm_cmpeq_epu32_mask(__a, __b);
105}
106
107__mmask8 test_mm_mask_cmpeq_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
108 // CHECK-LABEL: @test_mm_mask_cmpeq_epu32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700109 // CHECK: @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 0, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700110 return (__mmask8)_mm_mask_cmpeq_epu32_mask(__u, __a, __b);
111}
112
113__mmask8 test_mm_cmpeq_epu64_mask(__m128i __a, __m128i __b) {
114 // CHECK-LABEL: @test_mm_cmpeq_epu64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700115 // CHECK: @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 0, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700116 return (__mmask8)_mm_cmpeq_epu64_mask(__a, __b);
117}
118
119__mmask8 test_mm_mask_cmpeq_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
120 // CHECK-LABEL: @test_mm_mask_cmpeq_epu64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700121 // CHECK: @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 0, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700122 return (__mmask8)_mm_mask_cmpeq_epu64_mask(__u, __a, __b);
123}
124
125__mmask8 test_mm_cmpge_epi32_mask(__m128i __a, __m128i __b) {
126 // CHECK-LABEL: @test_mm_cmpge_epi32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700127 // CHECK: @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 5, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700128 return (__mmask8)_mm_cmpge_epi32_mask(__a, __b);
129}
130
131__mmask8 test_mm_mask_cmpge_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
132 // CHECK-LABEL: @test_mm_mask_cmpge_epi32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700133 // CHECK: @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 5, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700134 return (__mmask8)_mm_mask_cmpge_epi32_mask(__u, __a, __b);
135}
136
137__mmask8 test_mm_cmpge_epi64_mask(__m128i __a, __m128i __b) {
138 // CHECK-LABEL: @test_mm_cmpge_epi64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700139 // CHECK: @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 5, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700140 return (__mmask8)_mm_cmpge_epi64_mask(__a, __b);
141}
142
143__mmask8 test_mm_mask_cmpge_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
144 // CHECK-LABEL: @test_mm_mask_cmpge_epi64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700145 // CHECK: @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 5, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700146 return (__mmask8)_mm_mask_cmpge_epi64_mask(__u, __a, __b);
147}
148
149__mmask8 test_mm256_cmpge_epi32_mask(__m256i __a, __m256i __b) {
150 // CHECK-LABEL: @test_mm256_cmpge_epi32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700151 // CHECK: @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 5, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700152 return (__mmask8)_mm256_cmpge_epi32_mask(__a, __b);
153}
154
155__mmask8 test_mm256_mask_cmpge_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
156 // CHECK-LABEL: @test_mm256_mask_cmpge_epi32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700157 // CHECK: @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 5, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700158 return (__mmask8)_mm256_mask_cmpge_epi32_mask(__u, __a, __b);
159}
160
161__mmask8 test_mm256_cmpge_epi64_mask(__m256i __a, __m256i __b) {
162 // CHECK-LABEL: @test_mm256_cmpge_epi64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700163 // CHECK: @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 5, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700164 return (__mmask8)_mm256_cmpge_epi64_mask(__a, __b);
165}
166
167__mmask8 test_mm256_mask_cmpge_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
168 // CHECK-LABEL: @test_mm256_mask_cmpge_epi64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700169 // CHECK: @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 5, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700170 return (__mmask8)_mm256_mask_cmpge_epi64_mask(__u, __a, __b);
171}
172
173__mmask8 test_mm_cmpge_epu32_mask(__m128i __a, __m128i __b) {
174 // CHECK-LABEL: @test_mm_cmpge_epu32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700175 // CHECK: @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 5, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700176 return (__mmask8)_mm_cmpge_epu32_mask(__a, __b);
177}
178
179__mmask8 test_mm_mask_cmpge_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
180 // CHECK-LABEL: @test_mm_mask_cmpge_epu32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700181 // CHECK: @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 5, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700182 return (__mmask8)_mm_mask_cmpge_epu32_mask(__u, __a, __b);
183}
184
185__mmask8 test_mm_cmpge_epu64_mask(__m128i __a, __m128i __b) {
186 // CHECK-LABEL: @test_mm_cmpge_epu64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700187 // CHECK: @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 5, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700188 return (__mmask8)_mm_cmpge_epu64_mask(__a, __b);
189}
190
191__mmask8 test_mm_mask_cmpge_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
192 // CHECK-LABEL: @test_mm_mask_cmpge_epu64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700193 // CHECK: @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 5, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700194 return (__mmask8)_mm_mask_cmpge_epu64_mask(__u, __a, __b);
195}
196
197__mmask8 test_mm256_cmpge_epu32_mask(__m256i __a, __m256i __b) {
198 // CHECK-LABEL: @test_mm256_cmpge_epu32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700199 // CHECK: @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 5, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700200 return (__mmask8)_mm256_cmpge_epu32_mask(__a, __b);
201}
202
203__mmask8 test_mm256_mask_cmpge_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
204 // CHECK-LABEL: @test_mm256_mask_cmpge_epu32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700205 // CHECK: @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 5, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700206 return (__mmask8)_mm256_mask_cmpge_epu32_mask(__u, __a, __b);
207}
208
209__mmask8 test_mm256_cmpge_epu64_mask(__m256i __a, __m256i __b) {
210 // CHECK-LABEL: @test_mm256_cmpge_epu64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700211 // CHECK: @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 5, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700212 return (__mmask8)_mm256_cmpge_epu64_mask(__a, __b);
213}
214
215__mmask8 test_mm256_mask_cmpge_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
216 // CHECK-LABEL: @test_mm256_mask_cmpge_epu64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700217 // CHECK: @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 5, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700218 return (__mmask8)_mm256_mask_cmpge_epu64_mask(__u, __a, __b);
219}
220
221__mmask8 test_mm_cmpgt_epu32_mask(__m128i __a, __m128i __b) {
222 // CHECK-LABEL: @test_mm_cmpgt_epu32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700223 // CHECK: @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 6, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700224 return (__mmask8)_mm_cmpgt_epu32_mask(__a, __b);
225}
226
227__mmask8 test_mm_mask_cmpgt_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
228 // CHECK-LABEL: @test_mm_mask_cmpgt_epu32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700229 // CHECK: @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 6, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700230 return (__mmask8)_mm_mask_cmpgt_epu32_mask(__u, __a, __b);
231}
232
233__mmask8 test_mm_cmpgt_epu64_mask(__m128i __a, __m128i __b) {
234 // CHECK-LABEL: @test_mm_cmpgt_epu64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700235 // CHECK: @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 6, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700236 return (__mmask8)_mm_cmpgt_epu64_mask(__a, __b);
237}
238
239__mmask8 test_mm_mask_cmpgt_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
240 // CHECK-LABEL: @test_mm_mask_cmpgt_epu64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700241 // CHECK: @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 6, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700242 return (__mmask8)_mm_mask_cmpgt_epu64_mask(__u, __a, __b);
243}
244
245__mmask8 test_mm256_cmpgt_epu32_mask(__m256i __a, __m256i __b) {
246 // CHECK-LABEL: @test_mm256_cmpgt_epu32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700247 // CHECK: @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 6, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700248 return (__mmask8)_mm256_cmpgt_epu32_mask(__a, __b);
249}
250
251__mmask8 test_mm256_mask_cmpgt_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
252 // CHECK-LABEL: @test_mm256_mask_cmpgt_epu32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700253 // CHECK: @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 6, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700254 return (__mmask8)_mm256_mask_cmpgt_epu32_mask(__u, __a, __b);
255}
256
257__mmask8 test_mm256_cmpgt_epu64_mask(__m256i __a, __m256i __b) {
258 // CHECK-LABEL: @test_mm256_cmpgt_epu64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700259 // CHECK: @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 6, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700260 return (__mmask8)_mm256_cmpgt_epu64_mask(__a, __b);
261}
262
263__mmask8 test_mm256_mask_cmpgt_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
264 // CHECK-LABEL: @test_mm256_mask_cmpgt_epu64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700265 // CHECK: @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 6, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700266 return (__mmask8)_mm256_mask_cmpgt_epu64_mask(__u, __a, __b);
267}
268
269__mmask8 test_mm_cmple_epi32_mask(__m128i __a, __m128i __b) {
270 // CHECK-LABEL: @test_mm_cmple_epi32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700271 // CHECK: @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 2, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700272 return (__mmask8)_mm_cmple_epi32_mask(__a, __b);
273}
274
275__mmask8 test_mm_mask_cmple_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
276 // CHECK-LABEL: @test_mm_mask_cmple_epi32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700277 // CHECK: @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 2, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700278 return (__mmask8)_mm_mask_cmple_epi32_mask(__u, __a, __b);
279}
280
281__mmask8 test_mm_cmple_epi64_mask(__m128i __a, __m128i __b) {
282 // CHECK-LABEL: @test_mm_cmple_epi64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700283 // CHECK: @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 2, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700284 return (__mmask8)_mm_cmple_epi64_mask(__a, __b);
285}
286
287__mmask8 test_mm_mask_cmple_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
288 // CHECK-LABEL: @test_mm_mask_cmple_epi64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700289 // CHECK: @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 2, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700290 return (__mmask8)_mm_mask_cmple_epi64_mask(__u, __a, __b);
291}
292
293__mmask8 test_mm256_cmple_epi32_mask(__m256i __a, __m256i __b) {
294 // CHECK-LABEL: @test_mm256_cmple_epi32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700295 // CHECK: @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 2, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700296 return (__mmask8)_mm256_cmple_epi32_mask(__a, __b);
297}
298
299__mmask8 test_mm256_mask_cmple_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
300 // CHECK-LABEL: @test_mm256_mask_cmple_epi32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700301 // CHECK: @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 2, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700302 return (__mmask8)_mm256_mask_cmple_epi32_mask(__u, __a, __b);
303}
304
305__mmask8 test_mm256_cmple_epi64_mask(__m256i __a, __m256i __b) {
306 // CHECK-LABEL: @test_mm256_cmple_epi64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700307 // CHECK: @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 2, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700308 return (__mmask8)_mm256_cmple_epi64_mask(__a, __b);
309}
310
311__mmask8 test_mm256_mask_cmple_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
312 // CHECK-LABEL: @test_mm256_mask_cmple_epi64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700313 // CHECK: @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 2, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700314 return (__mmask8)_mm256_mask_cmple_epi64_mask(__u, __a, __b);
315}
316
317__mmask8 test_mm_cmple_epu32_mask(__m128i __a, __m128i __b) {
318 // CHECK-LABEL: @test_mm_cmple_epu32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700319 // CHECK: @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 2, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700320 return (__mmask8)_mm_cmple_epu32_mask(__a, __b);
321}
322
323__mmask8 test_mm_mask_cmple_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
324 // CHECK-LABEL: @test_mm_mask_cmple_epu32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700325 // CHECK: @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 2, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700326 return (__mmask8)_mm_mask_cmple_epu32_mask(__u, __a, __b);
327}
328
329__mmask8 test_mm_cmple_epu64_mask(__m128i __a, __m128i __b) {
330 // CHECK-LABEL: @test_mm_cmple_epu64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700331 // CHECK: @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 2, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700332 return (__mmask8)_mm_cmple_epu64_mask(__a, __b);
333}
334
335__mmask8 test_mm_mask_cmple_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
336 // CHECK-LABEL: @test_mm_mask_cmple_epu64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700337 // CHECK: @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 2, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700338 return (__mmask8)_mm_mask_cmple_epu64_mask(__u, __a, __b);
339}
340
341__mmask8 test_mm256_cmple_epu32_mask(__m256i __a, __m256i __b) {
342 // CHECK-LABEL: @test_mm256_cmple_epu32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700343 // CHECK: @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 2, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700344 return (__mmask8)_mm256_cmple_epu32_mask(__a, __b);
345}
346
347__mmask8 test_mm256_mask_cmple_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
348 // CHECK-LABEL: @test_mm256_mask_cmple_epu32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700349 // CHECK: @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 2, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700350 return (__mmask8)_mm256_mask_cmple_epu32_mask(__u, __a, __b);
351}
352
353__mmask8 test_mm256_cmple_epu64_mask(__m256i __a, __m256i __b) {
354 // CHECK-LABEL: @test_mm256_cmple_epu64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700355 // CHECK: @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 2, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700356 return (__mmask8)_mm256_cmple_epu64_mask(__a, __b);
357}
358
359__mmask8 test_mm256_mask_cmple_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
360 // CHECK-LABEL: @test_mm256_mask_cmple_epu64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700361 // CHECK: @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 2, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700362 return (__mmask8)_mm256_mask_cmple_epu64_mask(__u, __a, __b);
363}
364
365__mmask8 test_mm_cmplt_epi32_mask(__m128i __a, __m128i __b) {
366 // CHECK-LABEL: @test_mm_cmplt_epi32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700367 // CHECK: @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 1, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700368 return (__mmask8)_mm_cmplt_epi32_mask(__a, __b);
369}
370
371__mmask8 test_mm_mask_cmplt_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
372 // CHECK-LABEL: @test_mm_mask_cmplt_epi32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700373 // CHECK: @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 1, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700374 return (__mmask8)_mm_mask_cmplt_epi32_mask(__u, __a, __b);
375}
376
377__mmask8 test_mm_cmplt_epi64_mask(__m128i __a, __m128i __b) {
378 // CHECK-LABEL: @test_mm_cmplt_epi64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700379 // CHECK: @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 1, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700380 return (__mmask8)_mm_cmplt_epi64_mask(__a, __b);
381}
382
383__mmask8 test_mm_mask_cmplt_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
384 // CHECK-LABEL: @test_mm_mask_cmplt_epi64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700385 // CHECK: @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 1, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700386 return (__mmask8)_mm_mask_cmplt_epi64_mask(__u, __a, __b);
387}
388
389__mmask8 test_mm256_cmplt_epi32_mask(__m256i __a, __m256i __b) {
390 // CHECK-LABEL: @test_mm256_cmplt_epi32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700391 // CHECK: @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 1, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700392 return (__mmask8)_mm256_cmplt_epi32_mask(__a, __b);
393}
394
395__mmask8 test_mm256_mask_cmplt_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
396 // CHECK-LABEL: @test_mm256_mask_cmplt_epi32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700397 // CHECK: @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 1, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700398 return (__mmask8)_mm256_mask_cmplt_epi32_mask(__u, __a, __b);
399}
400
401__mmask8 test_mm256_cmplt_epi64_mask(__m256i __a, __m256i __b) {
402 // CHECK-LABEL: @test_mm256_cmplt_epi64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700403 // CHECK: @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 1, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700404 return (__mmask8)_mm256_cmplt_epi64_mask(__a, __b);
405}
406
407__mmask8 test_mm256_mask_cmplt_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
408 // CHECK-LABEL: @test_mm256_mask_cmplt_epi64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700409 // CHECK: @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 1, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700410 return (__mmask8)_mm256_mask_cmplt_epi64_mask(__u, __a, __b);
411}
412
413__mmask8 test_mm_cmplt_epu32_mask(__m128i __a, __m128i __b) {
414 // CHECK-LABEL: @test_mm_cmplt_epu32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700415 // CHECK: @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 1, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700416 return (__mmask8)_mm_cmplt_epu32_mask(__a, __b);
417}
418
419__mmask8 test_mm_mask_cmplt_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
420 // CHECK-LABEL: @test_mm_mask_cmplt_epu32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700421 // CHECK: @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 1, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700422 return (__mmask8)_mm_mask_cmplt_epu32_mask(__u, __a, __b);
423}
424
425__mmask8 test_mm_cmplt_epu64_mask(__m128i __a, __m128i __b) {
426 // CHECK-LABEL: @test_mm_cmplt_epu64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700427 // CHECK: @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 1, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700428 return (__mmask8)_mm_cmplt_epu64_mask(__a, __b);
429}
430
431__mmask8 test_mm_mask_cmplt_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
432 // CHECK-LABEL: @test_mm_mask_cmplt_epu64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700433 // CHECK: @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 1, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700434 return (__mmask8)_mm_mask_cmplt_epu64_mask(__u, __a, __b);
435}
436
437__mmask8 test_mm256_cmplt_epu32_mask(__m256i __a, __m256i __b) {
438 // CHECK-LABEL: @test_mm256_cmplt_epu32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700439 // CHECK: @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 1, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700440 return (__mmask8)_mm256_cmplt_epu32_mask(__a, __b);
441}
442
443__mmask8 test_mm256_mask_cmplt_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
444 // CHECK-LABEL: @test_mm256_mask_cmplt_epu32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700445 // CHECK: @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 1, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700446 return (__mmask8)_mm256_mask_cmplt_epu32_mask(__u, __a, __b);
447}
448
449__mmask8 test_mm256_cmplt_epu64_mask(__m256i __a, __m256i __b) {
450 // CHECK-LABEL: @test_mm256_cmplt_epu64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700451 // CHECK: @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 1, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700452 return (__mmask8)_mm256_cmplt_epu64_mask(__a, __b);
453}
454
455__mmask8 test_mm256_mask_cmplt_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
456 // CHECK-LABEL: @test_mm256_mask_cmplt_epu64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700457 // CHECK: @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 1, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700458 return (__mmask8)_mm256_mask_cmplt_epu64_mask(__u, __a, __b);
459}
460
461__mmask8 test_mm_cmpneq_epi32_mask(__m128i __a, __m128i __b) {
462 // CHECK-LABEL: @test_mm_cmpneq_epi32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700463 // CHECK: @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 4, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700464 return (__mmask8)_mm_cmpneq_epi32_mask(__a, __b);
465}
466
467__mmask8 test_mm_mask_cmpneq_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
468 // CHECK-LABEL: @test_mm_mask_cmpneq_epi32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700469 // CHECK: @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 4, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700470 return (__mmask8)_mm_mask_cmpneq_epi32_mask(__u, __a, __b);
471}
472
473__mmask8 test_mm_cmpneq_epi64_mask(__m128i __a, __m128i __b) {
474 // CHECK-LABEL: @test_mm_cmpneq_epi64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700475 // CHECK: @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 4, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700476 return (__mmask8)_mm_cmpneq_epi64_mask(__a, __b);
477}
478
479__mmask8 test_mm_mask_cmpneq_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
480 // CHECK-LABEL: @test_mm_mask_cmpneq_epi64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700481 // CHECK: @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 4, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700482 return (__mmask8)_mm_mask_cmpneq_epi64_mask(__u, __a, __b);
483}
484
485__mmask8 test_mm256_cmpneq_epi32_mask(__m256i __a, __m256i __b) {
486 // CHECK-LABEL: @test_mm256_cmpneq_epi32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700487 // CHECK: @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 4, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700488 return (__mmask8)_mm256_cmpneq_epi32_mask(__a, __b);
489}
490
491__mmask8 test_mm256_mask_cmpneq_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
492 // CHECK-LABEL: @test_mm256_mask_cmpneq_epi32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700493 // CHECK: @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 4, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700494 return (__mmask8)_mm256_mask_cmpneq_epi32_mask(__u, __a, __b);
495}
496
497__mmask8 test_mm256_cmpneq_epi64_mask(__m256i __a, __m256i __b) {
498 // CHECK-LABEL: @test_mm256_cmpneq_epi64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700499 // CHECK: @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 4, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700500 return (__mmask8)_mm256_cmpneq_epi64_mask(__a, __b);
501}
502
503__mmask8 test_mm256_mask_cmpneq_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
504 // CHECK-LABEL: @test_mm256_mask_cmpneq_epi64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700505 // CHECK: @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 4, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700506 return (__mmask8)_mm256_mask_cmpneq_epi64_mask(__u, __a, __b);
507}
508
509__mmask8 test_mm_cmpneq_epu32_mask(__m128i __a, __m128i __b) {
510 // CHECK-LABEL: @test_mm_cmpneq_epu32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700511 // CHECK: @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 4, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700512 return (__mmask8)_mm_cmpneq_epu32_mask(__a, __b);
513}
514
515__mmask8 test_mm_mask_cmpneq_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
516 // CHECK-LABEL: @test_mm_mask_cmpneq_epu32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700517 // CHECK: @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 4, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700518 return (__mmask8)_mm_mask_cmpneq_epu32_mask(__u, __a, __b);
519}
520
521__mmask8 test_mm_cmpneq_epu64_mask(__m128i __a, __m128i __b) {
522 // CHECK-LABEL: @test_mm_cmpneq_epu64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700523 // CHECK: @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 4, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700524 return (__mmask8)_mm_cmpneq_epu64_mask(__a, __b);
525}
526
527__mmask8 test_mm_mask_cmpneq_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
528 // CHECK-LABEL: @test_mm_mask_cmpneq_epu64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700529 // CHECK: @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 4, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700530 return (__mmask8)_mm_mask_cmpneq_epu64_mask(__u, __a, __b);
531}
532
533__mmask8 test_mm256_cmpneq_epu32_mask(__m256i __a, __m256i __b) {
534 // CHECK-LABEL: @test_mm256_cmpneq_epu32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700535 // CHECK: @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 4, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700536 return (__mmask8)_mm256_cmpneq_epu32_mask(__a, __b);
537}
538
539__mmask8 test_mm256_mask_cmpneq_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
540 // CHECK-LABEL: @test_mm256_mask_cmpneq_epu32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700541 // CHECK: @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 4, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700542 return (__mmask8)_mm256_mask_cmpneq_epu32_mask(__u, __a, __b);
543}
544
545__mmask8 test_mm256_cmpneq_epu64_mask(__m256i __a, __m256i __b) {
546 // CHECK-LABEL: @test_mm256_cmpneq_epu64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700547 // CHECK: @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 4, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700548 return (__mmask8)_mm256_cmpneq_epu64_mask(__a, __b);
549}
550
551__mmask8 test_mm256_mask_cmpneq_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
552 // CHECK-LABEL: @test_mm256_mask_cmpneq_epu64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700553 // CHECK: @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 4, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700554 return (__mmask8)_mm256_mask_cmpneq_epu64_mask(__u, __a, __b);
555}
556
557__mmask8 test_mm_cmp_epi32_mask(__m128i __a, __m128i __b) {
558 // CHECK-LABEL: @test_mm_cmp_epi32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700559 // CHECK: @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 7, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700560 return (__mmask8)_mm_cmp_epi32_mask(__a, __b, 7);
561}
562
563__mmask8 test_mm_mask_cmp_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
564 // CHECK-LABEL: @test_mm_mask_cmp_epi32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700565 // CHECK: @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 7, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700566 return (__mmask8)_mm_mask_cmp_epi32_mask(__u, __a, __b, 7);
567}
568
569__mmask8 test_mm_cmp_epi64_mask(__m128i __a, __m128i __b) {
570 // CHECK-LABEL: @test_mm_cmp_epi64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700571 // CHECK: @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 7, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700572 return (__mmask8)_mm_cmp_epi64_mask(__a, __b, 7);
573}
574
575__mmask8 test_mm_mask_cmp_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
576 // CHECK-LABEL: @test_mm_mask_cmp_epi64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700577 // CHECK: @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 7, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700578 return (__mmask8)_mm_mask_cmp_epi64_mask(__u, __a, __b, 7);
579}
580
581__mmask8 test_mm256_cmp_epi32_mask(__m256i __a, __m256i __b) {
582 // CHECK-LABEL: @test_mm256_cmp_epi32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700583 // CHECK: @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 7, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700584 return (__mmask8)_mm256_cmp_epi32_mask(__a, __b, 7);
585}
586
587__mmask8 test_mm256_mask_cmp_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
588 // CHECK-LABEL: @test_mm256_mask_cmp_epi32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700589 // CHECK: @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 7, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700590 return (__mmask8)_mm256_mask_cmp_epi32_mask(__u, __a, __b, 7);
591}
592
593__mmask8 test_mm256_cmp_epi64_mask(__m256i __a, __m256i __b) {
594 // CHECK-LABEL: @test_mm256_cmp_epi64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700595 // CHECK: @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 7, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700596 return (__mmask8)_mm256_cmp_epi64_mask(__a, __b, 7);
597}
598
599__mmask8 test_mm256_mask_cmp_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
600 // CHECK-LABEL: @test_mm256_mask_cmp_epi64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700601 // CHECK: @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 7, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700602 return (__mmask8)_mm256_mask_cmp_epi64_mask(__u, __a, __b, 7);
603}
604
605__mmask8 test_mm_cmp_epu32_mask(__m128i __a, __m128i __b) {
606 // CHECK-LABEL: @test_mm_cmp_epu32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700607 // CHECK: @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 7, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700608 return (__mmask8)_mm_cmp_epu32_mask(__a, __b, 7);
609}
610
611__mmask8 test_mm_mask_cmp_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
612 // CHECK-LABEL: @test_mm_mask_cmp_epu32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700613 // CHECK: @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 7, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700614 return (__mmask8)_mm_mask_cmp_epu32_mask(__u, __a, __b, 7);
615}
616
617__mmask8 test_mm_cmp_epu64_mask(__m128i __a, __m128i __b) {
618 // CHECK-LABEL: @test_mm_cmp_epu64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700619 // CHECK: @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 7, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700620 return (__mmask8)_mm_cmp_epu64_mask(__a, __b, 7);
621}
622
623__mmask8 test_mm_mask_cmp_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
624 // CHECK-LABEL: @test_mm_mask_cmp_epu64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700625 // CHECK: @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 7, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700626 return (__mmask8)_mm_mask_cmp_epu64_mask(__u, __a, __b, 7);
627}
628
629__mmask8 test_mm256_cmp_epu32_mask(__m256i __a, __m256i __b) {
630 // CHECK-LABEL: @test_mm256_cmp_epu32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700631 // CHECK: @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 7, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700632 return (__mmask8)_mm256_cmp_epu32_mask(__a, __b, 7);
633}
634
635__mmask8 test_mm256_mask_cmp_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
636 // CHECK-LABEL: @test_mm256_mask_cmp_epu32_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700637 // CHECK: @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 7, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700638 return (__mmask8)_mm256_mask_cmp_epu32_mask(__u, __a, __b, 7);
639}
640
641__mmask8 test_mm256_cmp_epu64_mask(__m256i __a, __m256i __b) {
642 // CHECK-LABEL: @test_mm256_cmp_epu64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700643 // CHECK: @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 7, i8 -1)
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700644 return (__mmask8)_mm256_cmp_epu64_mask(__a, __b, 7);
645}
646
647__mmask8 test_mm256_mask_cmp_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
648 // CHECK-LABEL: @test_mm256_mask_cmp_epu64_mask
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700649 // CHECK: @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 7, i8 {{.*}})
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700650 return (__mmask8)_mm256_mask_cmp_epu64_mask(__u, __a, __b, 7);
651}
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700652
653__m512i test_mm512_maskz_andnot_epi32 (__mmask16 __k,__m512i __A, __m512i __B) {
654 //CHECK-LABEL: @test_mm512_maskz_andnot_epi32
655 //CHECK: @llvm.x86.avx512.mask.pandn.d.512
656 return _mm512_maskz_andnot_epi32(__k,__A,__B);
657}
658
659__m512i test_mm512_mask_andnot_epi32 (__mmask16 __k,__m512i __A, __m512i __B, __m512i __src) {
660 //CHECK-LABEL: @test_mm512_mask_andnot_epi32
661 //CHECK: @llvm.x86.avx512.mask.pandn.d.512
662 return _mm512_mask_andnot_epi32(__src,__k,__A,__B);
663}
664
665__m512i test_mm512_andnot_epi32(__m512i __A, __m512i __B) {
666 //CHECK-LABEL: @test_mm512_andnot_epi32
667 //CHECK: @llvm.x86.avx512.mask.pandn.d.512
668 return _mm512_andnot_epi32(__A,__B);
669}
670
671__m512i test_mm512_maskz_andnot_epi64 (__mmask8 __k,__m512i __A, __m512i __B) {
672 //CHECK-LABEL: @test_mm512_maskz_andnot_epi64
673 //CHECK: @llvm.x86.avx512.mask.pandn.q.512
674 return _mm512_maskz_andnot_epi64(__k,__A,__B);
675}
676
677__m512i test_mm512_mask_andnot_epi64 (__mmask8 __k,__m512i __A, __m512i __B, __m512i __src) {
678 //CHECK-LABEL: @test_mm512_mask_andnot_epi64
679 //CHECK: @llvm.x86.avx512.mask.pandn.q.512
680 return _mm512_mask_andnot_epi64(__src,__k,__A,__B);
681}
682
683__m512i test_mm512_andnot_epi64(__m512i __A, __m512i __B) {
684 //CHECK-LABEL: @test_mm512_andnot_epi64
685 //CHECK: @llvm.x86.avx512.mask.pandn.q.512
686 return _mm512_andnot_epi64(__A,__B);
687}
688
689__m256i test_mm256_mask_add_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
690 __m256i __B) {
691 //CHECK-LABEL: @test_mm256_mask_add_epi32
692 //CHECK: @llvm.x86.avx512.mask.padd.d.256
693 return _mm256_mask_add_epi32(__W, __U, __A, __B);
694}
695
696__m256i test_mm256_maskz_add_epi32 (__mmask8 __U, __m256i __A, __m256i __B) {
697 //CHECK-LABEL: @test_mm256_maskz_add_epi32
698 //CHECK: @llvm.x86.avx512.mask.padd.d.256
699 return _mm256_maskz_add_epi32(__U, __A, __B);
700}
701
702__m256i test_mm256_mask_add_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
703 __m256i __B) {
704 //CHECK-LABEL: @test_mm256_mask_add_epi64
705 //CHECK: @llvm.x86.avx512.mask.padd.q.256
706 return _mm256_mask_add_epi64(__W,__U,__A,__B);
707}
708
709__m256i test_mm256_maskz_add_epi64 (__mmask8 __U, __m256i __A, __m256i __B) {
710 //CHECK-LABEL: @test_mm256_maskz_add_epi64
711 //CHECK: @llvm.x86.avx512.mask.padd.q.256
712 return _mm256_maskz_add_epi64 (__U,__A,__B);
713}
714
715__m256i test_mm256_mask_sub_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
716 __m256i __B) {
717 //CHECK-LABEL: @test_mm256_mask_sub_epi32
718 //CHECK: @llvm.x86.avx512.mask.psub.d.256
719 return _mm256_mask_sub_epi32 (__W,__U,__A,__B);
720}
721
722__m256i test_mm256_maskz_sub_epi32 (__mmask8 __U, __m256i __A, __m256i __B) {
723 //CHECK-LABEL: @test_mm256_maskz_sub_epi32
724 //CHECK: @llvm.x86.avx512.mask.psub.d.256
725 return _mm256_maskz_sub_epi32 (__U,__A,__B);
726}
727
728__m256i test_mm256_mask_sub_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
729 __m256i __B) {
730 //CHECK-LABEL: @test_mm256_mask_sub_epi64
731 //CHECK: @llvm.x86.avx512.mask.psub.q.256
732 return _mm256_mask_sub_epi64 (__W,__U,__A,__B);
733}
734
735__m256i test_mm256_maskz_sub_epi64 (__mmask8 __U, __m256i __A, __m256i __B) {
736 //CHECK-LABEL: @test_mm256_maskz_sub_epi64
737 //CHECK: @llvm.x86.avx512.mask.psub.q.256
738 return _mm256_maskz_sub_epi64 (__U,__A,__B);
739}
740
741__m128i test_mm_mask_add_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
742 __m128i __B) {
743 //CHECK-LABEL: @test_mm_mask_add_epi32
744 //CHECK: @llvm.x86.avx512.mask.padd.d.128
745 return _mm_mask_add_epi32(__W,__U,__A,__B);
746}
747
748
749__m128i test_mm_maskz_add_epi32 (__mmask8 __U, __m128i __A, __m128i __B) {
750 //CHECK-LABEL: @test_mm_maskz_add_epi32
751 //CHECK: @llvm.x86.avx512.mask.padd.d.128
752 return _mm_maskz_add_epi32 (__U,__A,__B);
753}
754
755__m128i test_mm_mask_add_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
756 __m128i __B) {
757//CHECK-LABEL: @test_mm_mask_add_epi64
758 //CHECK: @llvm.x86.avx512.mask.padd.q.128
759 return _mm_mask_add_epi64 (__W,__U,__A,__B);
760}
761
762__m128i test_mm_maskz_add_epi64 (__mmask8 __U, __m128i __A, __m128i __B) {
763 //CHECK-LABEL: @test_mm_maskz_add_epi64
764 //CHECK: @llvm.x86.avx512.mask.padd.q.128
765 return _mm_maskz_add_epi64 (__U,__A,__B);
766}
767
768__m128i test_mm_mask_sub_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
769 __m128i __B) {
770 //CHECK-LABEL: @test_mm_mask_sub_epi32
771 //CHECK: @llvm.x86.avx512.mask.psub.d.128
772 return _mm_mask_sub_epi32(__W, __U, __A, __B);
773}
774
775__m128i test_mm_maskz_sub_epi32 (__mmask8 __U, __m128i __A, __m128i __B) {
776 //CHECK-LABEL: @test_mm_maskz_sub_epi32
777 //CHECK: @llvm.x86.avx512.mask.psub.d.128
778 return _mm_maskz_sub_epi32(__U, __A, __B);
779}
780
781__m128i test_mm_mask_sub_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
782 __m128i __B) {
783 //CHECK-LABEL: @test_mm_mask_sub_epi64
784 //CHECK: @llvm.x86.avx512.mask.psub.q.128
785 return _mm_mask_sub_epi64 (__W, __U, __A, __B);
786}
787
788__m128i test_mm_maskz_sub_epi64 (__mmask8 __U, __m128i __A, __m128i __B) {
789 //CHECK-LABEL: @test_mm_maskz_sub_epi64
790 //CHECK: @llvm.x86.avx512.mask.psub.q.128
791 return _mm_maskz_sub_epi64 (__U, __A, __B);
792}
793
794__m256i test_mm256_mask_mul_epi32 (__m256i __W, __mmask8 __M, __m256i __X,
795 __m256i __Y) {
796 //CHECK-LABEL: @test_mm256_mask_mul_epi32
797 //CHECK: @llvm.x86.avx512.mask.pmul.dq.256
798 return _mm256_mask_mul_epi32(__W, __M, __X, __Y);
799}
800
801__m256i test_mm256_maskz_mul_epi32 (__mmask8 __M, __m256i __X, __m256i __Y) {
802 //CHECK-LABEL: @test_mm256_maskz_mul_epi32
803 //CHECK: @llvm.x86.avx512.mask.pmul.dq.256
804 return _mm256_maskz_mul_epi32(__M, __X, __Y);
805}
806
807
808__m128i test_mm_mask_mul_epi32 (__m128i __W, __mmask8 __M, __m128i __X,
809 __m128i __Y) {
810 //CHECK-LABEL: @test_mm_mask_mul_epi32
811 //CHECK: @llvm.x86.avx512.mask.pmul.dq.128
812 return _mm_mask_mul_epi32(__W, __M, __X, __Y);
813}
814
815__m128i test_mm_maskz_mul_epi32 (__mmask8 __M, __m128i __X, __m128i __Y) {
816 //CHECK-LABEL: @test_mm_maskz_mul_epi32
817 //CHECK: @llvm.x86.avx512.mask.pmul.dq.128
818 return _mm_maskz_mul_epi32(__M, __X, __Y);
819}
820
821__m256i test_mm256_mask_mul_epu32 (__m256i __W, __mmask8 __M, __m256i __X,
822 __m256i __Y) {
823 //CHECK-LABEL: @test_mm256_mask_mul_epu32
824 //CHECK: @llvm.x86.avx512.mask.pmulu.dq.256
825 return _mm256_mask_mul_epu32(__W, __M, __X, __Y);
826}
827
828__m256i test_mm256_maskz_mul_epu32 (__mmask8 __M, __m256i __X, __m256i __Y) {
829 //CHECK-LABEL: @test_mm256_maskz_mul_epu32
830 //CHECK: @llvm.x86.avx512.mask.pmulu.dq.256
831 return _mm256_maskz_mul_epu32(__M, __X, __Y);
832}
833
834__m128i test_mm_mask_mul_epu32 (__m128i __W, __mmask8 __M, __m128i __X,
835 __m128i __Y) {
836 //CHECK-LABEL: @test_mm_mask_mul_epu32
837 //CHECK: @llvm.x86.avx512.mask.pmulu.dq.128
838 return _mm_mask_mul_epu32(__W, __M, __X, __Y);
839}
840
841__m128i test_mm_maskz_mul_epu32 (__mmask8 __M, __m128i __X, __m128i __Y) {
842 //CHECK-LABEL: @test_mm_maskz_mul_epu32
843 //CHECK: @llvm.x86.avx512.mask.pmulu.dq.128
844 return _mm_maskz_mul_epu32(__M, __X, __Y);
845}
846
847__m128i test_mm_maskz_mullo_epi32 (__mmask8 __M, __m128i __A, __m128i __B) {
848 //CHECK-LABEL: @test_mm_maskz_mullo_epi32
849 //CHECK: @llvm.x86.avx512.mask.pmull.d.128
850 return _mm_maskz_mullo_epi32(__M, __A, __B);
851}
852
853__m128i test_mm_mask_mullo_epi32 (__m128i __W, __mmask8 __M, __m128i __A,
854 __m128i __B) {
855 //CHECK-LABEL: @test_mm_mask_mullo_epi32
856 //CHECK: @llvm.x86.avx512.mask.pmull.d.128
857 return _mm_mask_mullo_epi32(__W, __M, __A, __B);
858}
859
860__m256i test_mm256_maskz_mullo_epi32 (__mmask8 __M, __m256i __A, __m256i __B) {
861 //CHECK-LABEL: @test_mm256_maskz_mullo_epi32
862 //CHECK: @llvm.x86.avx512.mask.pmull.d.256
863 return _mm256_maskz_mullo_epi32(__M, __A, __B);
864}
865
866__m256i test_mm256_mask_mullo_epi32 (__m256i __W, __mmask8 __M, __m256i __A,
867 __m256i __B) {
868 //CHECK-LABEL: @test_mm256_mask_mullo_epi32
869 //CHECK: @llvm.x86.avx512.mask.pmull.d.256
870 return _mm256_mask_mullo_epi32(__W, __M, __A, __B);
871}
872
873__m256i test_mm256_mask_and_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
874 __m256i __B) {
875 //CHECK-LABEL: @test_mm256_mask_and_epi32
876 //CHECK: @llvm.x86.avx512.mask.pand.d.256
877 return _mm256_mask_and_epi32(__W, __U, __A, __B);
878}
879
880__m256i test_mm256_maskz_and_epi32 (__mmask8 __U, __m256i __A, __m256i __B) {
881 //CHECK-LABEL: @test_mm256_maskz_and_epi32
882 //CHECK: @llvm.x86.avx512.mask.pand.d.256
883 return _mm256_maskz_and_epi32(__U, __A, __B);
884}
885
886__m128i test_mm_mask_and_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
887 //CHECK-LABEL: @test_mm_mask_and_epi32
888 //CHECK: @llvm.x86.avx512.mask.pand.d.128
889 return _mm_mask_and_epi32(__W, __U, __A, __B);
890}
891
892__m128i test_mm_maskz_and_epi32 (__mmask8 __U, __m128i __A, __m128i __B) {
893 //CHECK-LABEL: @test_mm_maskz_and_epi32
894 //CHECK: @llvm.x86.avx512.mask.pand.d.128
895 return _mm_maskz_and_epi32(__U, __A, __B);
896}
897
898__m256i test_mm256_mask_andnot_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
899 __m256i __B) {
900 //CHECK-LABEL: @test_mm256_mask_andnot_epi32
901 //CHECK: @llvm.x86.avx512.mask.pandn.d.256
902 return _mm256_mask_andnot_epi32(__W, __U, __A, __B);
903}
904
905__m256i test_mm256_maskz_andnot_epi32 (__mmask8 __U, __m256i __A, __m256i __B) {
906 //CHECK-LABEL: @test_mm256_maskz_andnot_epi32
907 //CHECK: @llvm.x86.avx512.mask.pandn.d.256
908 return _mm256_maskz_andnot_epi32(__U, __A, __B);
909}
910
911__m128i test_mm_mask_andnot_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
912 __m128i __B) {
913 //CHECK-LABEL: @test_mm_mask_andnot_epi32
914 //CHECK: @llvm.x86.avx512.mask.pandn.d.128
915 return _mm_mask_andnot_epi32(__W, __U, __A, __B);
916}
917
918__m128i test_mm_maskz_andnot_epi32 (__mmask8 __U, __m128i __A, __m128i __B) {
919 //CHECK-LABEL: @test_mm_maskz_andnot_epi32
920 //CHECK: @llvm.x86.avx512.mask.pandn.d.128
921 return _mm_maskz_andnot_epi32(__U, __A, __B);
922}
923
924__m256i test_mm256_mask_or_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
925 __m256i __B) {
926 //CHECK-LABEL: @test_mm256_mask_or_epi32
927 //CHECK: @llvm.x86.avx512.mask.por.d.256
928 return _mm256_mask_or_epi32(__W, __U, __A, __B);
929}
930
931 __m256i test_mm256_maskz_or_epi32 (__mmask8 __U, __m256i __A, __m256i __B) {
932 //CHECK-LABEL: @test_mm256_maskz_or_epi32
933 //CHECK: @llvm.x86.avx512.mask.por.d.256
934 return _mm256_maskz_or_epi32(__U, __A, __B);
935}
936
937 __m128i test_mm_mask_or_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
938 //CHECK-LABEL: @test_mm_mask_or_epi32
939 //CHECK: @llvm.x86.avx512.mask.por.d.128
940 return _mm_mask_or_epi32(__W, __U, __A, __B);
941}
942
943__m128i test_mm_maskz_or_epi32 (__mmask8 __U, __m128i __A, __m128i __B) {
944 //CHECK-LABEL: @test_mm_maskz_or_epi32
945 //CHECK: @llvm.x86.avx512.mask.por.d.128
946 return _mm_maskz_or_epi32(__U, __A, __B);
947}
948
949__m256i test_mm256_mask_xor_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
950 __m256i __B) {
951 //CHECK-LABEL: @test_mm256_mask_xor_epi32
952 //CHECK: @llvm.x86.avx512.mask.pxor.d.256
953 return _mm256_mask_xor_epi32(__W, __U, __A, __B);
954}
955
956__m256i test_mm256_maskz_xor_epi32 (__mmask8 __U, __m256i __A, __m256i __B) {
957 //CHECK-LABEL: @test_mm256_maskz_xor_epi32
958 //CHECK: @llvm.x86.avx512.mask.pxor.d.256
959 return _mm256_maskz_xor_epi32(__U, __A, __B);
960}
961
962__m128i test_mm_mask_xor_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
963 __m128i __B) {
964 //CHECK-LABEL: @test_mm_mask_xor_epi32
965 //CHECK: @llvm.x86.avx512.mask.pxor.d.128
966 return _mm_mask_xor_epi32(__W, __U, __A, __B);
967}
968
969__m128i test_mm_maskz_xor_epi32 (__mmask8 __U, __m128i __A, __m128i __B) {
970 //CHECK-LABEL: @test_mm_maskz_xor_epi32
971 //CHECK: @llvm.x86.avx512.mask.pxor.d.128
972 return _mm_maskz_xor_epi32(__U, __A, __B);
973}
974
975__m256i test_mm256_mask_and_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
976 __m256i __B) {
977 //CHECK-LABEL: @test_mm256_mask_and_epi64
978 //CHECK: @llvm.x86.avx512.mask.pand.q.256
979 return _mm256_mask_and_epi64(__W, __U, __A, __B);
980}
981
982__m256i test_mm256_maskz_and_epi64 (__mmask8 __U, __m256i __A, __m256i __B) {
983 //CHECK-LABEL: @test_mm256_maskz_and_epi64
984 //CHECK: @llvm.x86.avx512.mask.pand.q.256
985 return _mm256_maskz_and_epi64(__U, __A, __B);
986}
987
988__m128i test_mm_mask_and_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
989 __m128i __B) {
990 //CHECK-LABEL: @test_mm_mask_and_epi64
991 //CHECK: @llvm.x86.avx512.mask.pand.q.128
992 return _mm_mask_and_epi64(__W,__U, __A, __B);
993}
994
995__m128i test_mm_maskz_and_epi64 (__mmask8 __U, __m128i __A, __m128i __B) {
996 //CHECK-LABEL: @test_mm_maskz_and_epi64
997 //CHECK: @llvm.x86.avx512.mask.pand.q.128
998 return _mm_maskz_and_epi64(__U, __A, __B);
999}
1000
1001__m256i test_mm256_mask_andnot_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
1002 __m256i __B) {
1003 //CHECK-LABEL: @test_mm256_mask_andnot_epi64
1004 //CHECK: @llvm.x86.avx512.mask.pandn.q.256
1005 return _mm256_mask_andnot_epi64(__W, __U, __A, __B);
1006}
1007
1008__m256i test_mm256_maskz_andnot_epi64 (__mmask8 __U, __m256i __A, __m256i __B) {
1009 //CHECK-LABEL: @test_mm256_maskz_andnot_epi64
1010 //CHECK: @llvm.x86.avx512.mask.pandn.q.256
1011 return _mm256_maskz_andnot_epi64(__U, __A, __B);
1012}
1013
1014__m128i test_mm_mask_andnot_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
1015 __m128i __B) {
1016 //CHECK-LABEL: @test_mm_mask_andnot_epi64
1017 //CHECK: @llvm.x86.avx512.mask.pandn.q.128
1018 return _mm_mask_andnot_epi64(__W,__U, __A, __B);
1019}
1020
1021__m128i test_mm_maskz_andnot_epi64 (__mmask8 __U, __m128i __A, __m128i __B) {
1022 //CHECK-LABEL: @test_mm_maskz_andnot_epi64
1023 //CHECK: @llvm.x86.avx512.mask.pandn.q.128
1024 return _mm_maskz_andnot_epi64(__U, __A, __B);
1025}
1026
1027__m256i test_mm256_mask_or_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
1028 __m256i __B) {
1029 //CHECK-LABEL: @test_mm256_mask_or_epi64
1030 //CHECK: @llvm.x86.avx512.mask.por.q.256
1031 return _mm256_mask_or_epi64(__W,__U, __A, __B);
1032}
1033
1034__m256i test_mm256_maskz_or_epi64 (__mmask8 __U, __m256i __A, __m256i __B) {
1035 //CHECK-LABEL: @test_mm256_maskz_or_epi64
1036 //CHECK: @llvm.x86.avx512.mask.por.q.256
1037 return _mm256_maskz_or_epi64(__U, __A, __B);
1038}
1039
1040__m128i test_mm_mask_or_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
1041 //CHECK-LABEL: @test_mm_mask_or_epi64
1042 //CHECK: @llvm.x86.avx512.mask.por.q.128
1043 return _mm_mask_or_epi64(__W, __U, __A, __B);
1044}
1045
1046__m128i test_mm_maskz_or_epi64 (__mmask8 __U, __m128i __A, __m128i __B) {
1047//CHECK-LABEL: @test_mm_maskz_or_epi64
1048 //CHECK: @llvm.x86.avx512.mask.por.q.128
1049 return _mm_maskz_or_epi64( __U, __A, __B);
1050}
1051
1052__m256i test_mm256_mask_xor_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
1053 __m256i __B) {
1054 //CHECK-LABEL: @test_mm256_mask_xor_epi64
1055 //CHECK: @llvm.x86.avx512.mask.pxor.q.256
1056 return _mm256_mask_xor_epi64(__W,__U, __A, __B);
1057}
1058
1059__m256i test_mm256_maskz_xor_epi64 (__mmask8 __U, __m256i __A, __m256i __B) {
1060 //CHECK-LABEL: @test_mm256_maskz_xor_epi64
1061 //CHECK: @llvm.x86.avx512.mask.pxor.q.256
1062 return _mm256_maskz_xor_epi64(__U, __A, __B);
1063}
1064
1065__m128i test_mm_mask_xor_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
1066 //CHECK-LABEL: @test_mm_mask_xor_epi64
1067 //CHECK: @llvm.x86.avx512.mask.pxor.q.128
1068 return _mm_mask_xor_epi64(__W, __U, __A, __B);
1069}
1070
1071__m128i test_mm_maskz_xor_epi64 (__mmask8 __U, __m128i __A, __m128i __B) {
1072 //CHECK-LABEL: @test_mm_maskz_xor_epi64
1073 //CHECK: @llvm.x86.avx512.mask.pxor.q.128
1074 return _mm_maskz_xor_epi64( __U, __A, __B);
1075}
1076
1077__mmask8 test_mm256_cmp_ps_mask(__m256 __A, __m256 __B) {
1078 // CHECK-LABEL: @test_mm256_cmp_ps_mask
1079 // CHECK: @llvm.x86.avx512.mask.cmp.ps.256
1080 return (__mmask8)_mm256_cmp_ps_mask(__A, __B, 0);
1081}
1082
1083__mmask8 test_mm256_mask_cmp_ps_mask(__mmask8 m, __m256 __A, __m256 __B) {
1084 // CHECK-LABEL: @test_mm256_mask_cmp_ps_mask
1085 // CHECK: @llvm.x86.avx512.mask.cmp.ps.256
1086 return _mm256_mask_cmp_ps_mask(m, __A, __B, 0);
1087}
1088
1089__mmask8 test_mm128_cmp_ps_mask(__m128 __A, __m128 __B) {
1090 // CHECK-LABEL: @test_mm128_cmp_ps_mask
1091 // CHECK: @llvm.x86.avx512.mask.cmp.ps.128
1092 return (__mmask8)_mm128_cmp_ps_mask(__A, __B, 0);
1093}
1094
1095__mmask8 test_mm128_mask_cmp_ps_mask(__mmask8 m, __m128 __A, __m128 __B) {
1096 // CHECK-LABEL: @test_mm128_mask_cmp_ps_mask
1097 // CHECK: @llvm.x86.avx512.mask.cmp.ps.128
1098 return _mm128_mask_cmp_ps_mask(m, __A, __B, 0);
1099}
1100
1101__mmask8 test_mm256_cmp_pd_mask(__m256d __A, __m256d __B) {
1102 // CHECK-LABEL: @test_mm256_cmp_pd_mask
1103 // CHECK: @llvm.x86.avx512.mask.cmp.pd.256
1104 return (__mmask8)_mm256_cmp_pd_mask(__A, __B, 0);
1105}
1106
1107__mmask8 test_mm256_mask_cmp_pd_mask(__mmask8 m, __m256d __A, __m256d __B) {
1108 // CHECK-LABEL: @test_mm256_mask_cmp_pd_mask
1109 // CHECK: @llvm.x86.avx512.mask.cmp.pd.256
1110 return _mm256_mask_cmp_pd_mask(m, __A, __B, 0);
1111}
1112
1113__mmask8 test_mm128_cmp_pd_mask(__m128d __A, __m128d __B) {
1114 // CHECK-LABEL: @test_mm128_cmp_pd_mask
1115 // CHECK: @llvm.x86.avx512.mask.cmp.pd.128
1116 return (__mmask8)_mm128_cmp_pd_mask(__A, __B, 0);
1117}
1118
1119__mmask8 test_mm128_mask_cmp_pd_mask(__mmask8 m, __m128d __A, __m128d __B) {
1120 // CHECK-LABEL: @test_mm128_mask_cmp_pd_mask
1121 // CHECK: @llvm.x86.avx512.mask.cmp.pd.128
1122 return _mm128_mask_cmp_pd_mask(m, __A, __B, 0);
1123}