1 // RUN: %clang_cc1 %s -triple=x86_64-apple-darwin -target-feature +avx512bw -emit-llvm -o - -Werror | FileCheck %s
2 // RUN: %clang_cc1 %s -triple=x86_64-apple-darwin -target-feature +avx512bw -fno-signed-char -emit-llvm -o - -Werror | FileCheck %s
3
4 // Don't include mm_malloc.h, it's system specific.
5 #define __MM_MALLOC_H
6
7 #include <immintrin.h>
8
test_mm512_cmpeq_epi8_mask(__m512i __a,__m512i __b)9 __mmask64 test_mm512_cmpeq_epi8_mask(__m512i __a, __m512i __b) {
10 // CHECK-LABEL: @test_mm512_cmpeq_epi8_mask
11 // CHECK: @llvm.x86.avx512.mask.pcmpeq.b.512
12 return (__mmask64)_mm512_cmpeq_epi8_mask(__a, __b);
13 }
14
test_mm512_mask_cmpeq_epi8_mask(__mmask64 __u,__m512i __a,__m512i __b)15 __mmask64 test_mm512_mask_cmpeq_epi8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
16 // CHECK-LABEL: @test_mm512_mask_cmpeq_epi8_mask
17 // CHECK: @llvm.x86.avx512.mask.pcmpeq.b.512
18 return (__mmask64)_mm512_mask_cmpeq_epi8_mask(__u, __a, __b);
19 }
20
test_mm512_cmpeq_epi16_mask(__m512i __a,__m512i __b)21 __mmask32 test_mm512_cmpeq_epi16_mask(__m512i __a, __m512i __b) {
22 // CHECK-LABEL: @test_mm512_cmpeq_epi16_mask
23 // CHECK: @llvm.x86.avx512.mask.pcmpeq.w.512
24 return (__mmask32)_mm512_cmpeq_epi16_mask(__a, __b);
25 }
26
test_mm512_mask_cmpeq_epi16_mask(__mmask32 __u,__m512i __a,__m512i __b)27 __mmask32 test_mm512_mask_cmpeq_epi16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
28 // CHECK-LABEL: @test_mm512_mask_cmpeq_epi16_mask
29 // CHECK: @llvm.x86.avx512.mask.pcmpeq.w.512
30 return (__mmask32)_mm512_mask_cmpeq_epi16_mask(__u, __a, __b);
31 }
32
test_mm512_cmpgt_epi8_mask(__m512i __a,__m512i __b)33 __mmask64 test_mm512_cmpgt_epi8_mask(__m512i __a, __m512i __b) {
34 // CHECK-LABEL: @test_mm512_cmpgt_epi8_mask
35 // CHECK: @llvm.x86.avx512.mask.pcmpgt.b.512
36 return (__mmask64)_mm512_cmpgt_epi8_mask(__a, __b);
37 }
38
test_mm512_mask_cmpgt_epi8_mask(__mmask64 __u,__m512i __a,__m512i __b)39 __mmask64 test_mm512_mask_cmpgt_epi8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
40 // CHECK-LABEL: @test_mm512_mask_cmpgt_epi8_mask
41 // CHECK: @llvm.x86.avx512.mask.pcmpgt.b.512
42 return (__mmask64)_mm512_mask_cmpgt_epi8_mask(__u, __a, __b);
43 }
44
test_mm512_cmpgt_epi16_mask(__m512i __a,__m512i __b)45 __mmask32 test_mm512_cmpgt_epi16_mask(__m512i __a, __m512i __b) {
46 // CHECK-LABEL: @test_mm512_cmpgt_epi16_mask
47 // CHECK: @llvm.x86.avx512.mask.pcmpgt.w.512
48 return (__mmask32)_mm512_cmpgt_epi16_mask(__a, __b);
49 }
50
test_mm512_mask_cmpgt_epi16_mask(__mmask32 __u,__m512i __a,__m512i __b)51 __mmask32 test_mm512_mask_cmpgt_epi16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
52 // CHECK-LABEL: @test_mm512_mask_cmpgt_epi16_mask
53 // CHECK: @llvm.x86.avx512.mask.pcmpgt.w.512
54 return (__mmask32)_mm512_mask_cmpgt_epi16_mask(__u, __a, __b);
55 }
56
test_mm512_cmpeq_epu8_mask(__m512i __a,__m512i __b)57 __mmask64 test_mm512_cmpeq_epu8_mask(__m512i __a, __m512i __b) {
58 // CHECK-LABEL: @test_mm512_cmpeq_epu8_mask
59 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i32 0, i64 -1)
60 return (__mmask64)_mm512_cmpeq_epu8_mask(__a, __b);
61 }
62
test_mm512_mask_cmpeq_epu8_mask(__mmask64 __u,__m512i __a,__m512i __b)63 __mmask64 test_mm512_mask_cmpeq_epu8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
64 // CHECK-LABEL: @test_mm512_mask_cmpeq_epu8_mask
65 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i32 0, i64 {{.*}})
66 return (__mmask64)_mm512_mask_cmpeq_epu8_mask(__u, __a, __b);
67 }
68
test_mm512_cmpeq_epu16_mask(__m512i __a,__m512i __b)69 __mmask32 test_mm512_cmpeq_epu16_mask(__m512i __a, __m512i __b) {
70 // CHECK-LABEL: @test_mm512_cmpeq_epu16_mask
71 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i32 0, i32 -1)
72 return (__mmask32)_mm512_cmpeq_epu16_mask(__a, __b);
73 }
74
test_mm512_mask_cmpeq_epu16_mask(__mmask32 __u,__m512i __a,__m512i __b)75 __mmask32 test_mm512_mask_cmpeq_epu16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
76 // CHECK-LABEL: @test_mm512_mask_cmpeq_epu16_mask
77 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i32 0, i32 {{.*}})
78 return (__mmask32)_mm512_mask_cmpeq_epu16_mask(__u, __a, __b);
79 }
80
test_mm512_cmpgt_epu8_mask(__m512i __a,__m512i __b)81 __mmask64 test_mm512_cmpgt_epu8_mask(__m512i __a, __m512i __b) {
82 // CHECK-LABEL: @test_mm512_cmpgt_epu8_mask
83 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i32 6, i64 -1)
84 return (__mmask64)_mm512_cmpgt_epu8_mask(__a, __b);
85 }
86
test_mm512_mask_cmpgt_epu8_mask(__mmask64 __u,__m512i __a,__m512i __b)87 __mmask64 test_mm512_mask_cmpgt_epu8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
88 // CHECK-LABEL: @test_mm512_mask_cmpgt_epu8_mask
89 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i32 6, i64 {{.*}})
90 return (__mmask64)_mm512_mask_cmpgt_epu8_mask(__u, __a, __b);
91 }
92
test_mm512_cmpgt_epu16_mask(__m512i __a,__m512i __b)93 __mmask32 test_mm512_cmpgt_epu16_mask(__m512i __a, __m512i __b) {
94 // CHECK-LABEL: @test_mm512_cmpgt_epu16_mask
95 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i32 6, i32 -1)
96 return (__mmask32)_mm512_cmpgt_epu16_mask(__a, __b);
97 }
98
test_mm512_mask_cmpgt_epu16_mask(__mmask32 __u,__m512i __a,__m512i __b)99 __mmask32 test_mm512_mask_cmpgt_epu16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
100 // CHECK-LABEL: @test_mm512_mask_cmpgt_epu16_mask
101 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i32 6, i32 {{.*}})
102 return (__mmask32)_mm512_mask_cmpgt_epu16_mask(__u, __a, __b);
103 }
104
test_mm512_cmpge_epi8_mask(__m512i __a,__m512i __b)105 __mmask64 test_mm512_cmpge_epi8_mask(__m512i __a, __m512i __b) {
106 // CHECK-LABEL: @test_mm512_cmpge_epi8_mask
107 // CHECK: @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i32 5, i64 -1)
108 return (__mmask64)_mm512_cmpge_epi8_mask(__a, __b);
109 }
110
test_mm512_mask_cmpge_epi8_mask(__mmask64 __u,__m512i __a,__m512i __b)111 __mmask64 test_mm512_mask_cmpge_epi8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
112 // CHECK-LABEL: @test_mm512_mask_cmpge_epi8_mask
113 // CHECK: @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i32 5, i64 {{.*}})
114 return (__mmask64)_mm512_mask_cmpge_epi8_mask(__u, __a, __b);
115 }
116
test_mm512_cmpge_epu8_mask(__m512i __a,__m512i __b)117 __mmask64 test_mm512_cmpge_epu8_mask(__m512i __a, __m512i __b) {
118 // CHECK-LABEL: @test_mm512_cmpge_epu8_mask
119 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i32 5, i64 -1)
120 return (__mmask64)_mm512_cmpge_epu8_mask(__a, __b);
121 }
122
test_mm512_mask_cmpge_epu8_mask(__mmask64 __u,__m512i __a,__m512i __b)123 __mmask64 test_mm512_mask_cmpge_epu8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
124 // CHECK-LABEL: @test_mm512_mask_cmpge_epu8_mask
125 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i32 5, i64 {{.*}})
126 return (__mmask64)_mm512_mask_cmpge_epu8_mask(__u, __a, __b);
127 }
128
test_mm512_cmpge_epi16_mask(__m512i __a,__m512i __b)129 __mmask32 test_mm512_cmpge_epi16_mask(__m512i __a, __m512i __b) {
130 // CHECK-LABEL: @test_mm512_cmpge_epi16_mask
131 // CHECK: @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i32 5, i32 -1)
132 return (__mmask32)_mm512_cmpge_epi16_mask(__a, __b);
133 }
134
test_mm512_mask_cmpge_epi16_mask(__mmask32 __u,__m512i __a,__m512i __b)135 __mmask32 test_mm512_mask_cmpge_epi16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
136 // CHECK-LABEL: @test_mm512_mask_cmpge_epi16_mask
137 // CHECK: @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i32 5, i32 {{.*}})
138 return (__mmask32)_mm512_mask_cmpge_epi16_mask(__u, __a, __b);
139 }
140
test_mm512_cmpge_epu16_mask(__m512i __a,__m512i __b)141 __mmask32 test_mm512_cmpge_epu16_mask(__m512i __a, __m512i __b) {
142 // CHECK-LABEL: @test_mm512_cmpge_epu16_mask
143 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i32 5, i32 -1)
144 return (__mmask32)_mm512_cmpge_epu16_mask(__a, __b);
145 }
146
test_mm512_mask_cmpge_epu16_mask(__mmask32 __u,__m512i __a,__m512i __b)147 __mmask32 test_mm512_mask_cmpge_epu16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
148 // CHECK-LABEL: @test_mm512_mask_cmpge_epu16_mask
149 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i32 5, i32 {{.*}})
150 return (__mmask32)_mm512_mask_cmpge_epu16_mask(__u, __a, __b);
151 }
152
test_mm512_cmple_epi8_mask(__m512i __a,__m512i __b)153 __mmask64 test_mm512_cmple_epi8_mask(__m512i __a, __m512i __b) {
154 // CHECK-LABEL: @test_mm512_cmple_epi8_mask
155 // CHECK: @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i32 2, i64 -1)
156 return (__mmask64)_mm512_cmple_epi8_mask(__a, __b);
157 }
158
test_mm512_mask_cmple_epi8_mask(__mmask64 __u,__m512i __a,__m512i __b)159 __mmask64 test_mm512_mask_cmple_epi8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
160 // CHECK-LABEL: @test_mm512_mask_cmple_epi8_mask
161 // CHECK: @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i32 2, i64 {{.*}})
162 return (__mmask64)_mm512_mask_cmple_epi8_mask(__u, __a, __b);
163 }
164
test_mm512_cmple_epu8_mask(__m512i __a,__m512i __b)165 __mmask64 test_mm512_cmple_epu8_mask(__m512i __a, __m512i __b) {
166 // CHECK-LABEL: @test_mm512_cmple_epu8_mask
167 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i32 2, i64 -1)
168 return (__mmask64)_mm512_cmple_epu8_mask(__a, __b);
169 }
170
test_mm512_mask_cmple_epu8_mask(__mmask64 __u,__m512i __a,__m512i __b)171 __mmask64 test_mm512_mask_cmple_epu8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
172 // CHECK-LABEL: @test_mm512_mask_cmple_epu8_mask
173 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i32 2, i64 {{.*}})
174 return (__mmask64)_mm512_mask_cmple_epu8_mask(__u, __a, __b);
175 }
176
test_mm512_cmple_epi16_mask(__m512i __a,__m512i __b)177 __mmask32 test_mm512_cmple_epi16_mask(__m512i __a, __m512i __b) {
178 // CHECK-LABEL: @test_mm512_cmple_epi16_mask
179 // CHECK: @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i32 2, i32 -1)
180 return (__mmask32)_mm512_cmple_epi16_mask(__a, __b);
181 }
182
test_mm512_mask_cmple_epi16_mask(__mmask32 __u,__m512i __a,__m512i __b)183 __mmask32 test_mm512_mask_cmple_epi16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
184 // CHECK-LABEL: @test_mm512_mask_cmple_epi16_mask
185 // CHECK: @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i32 2, i32 {{.*}})
186 return (__mmask32)_mm512_mask_cmple_epi16_mask(__u, __a, __b);
187 }
188
test_mm512_cmple_epu16_mask(__m512i __a,__m512i __b)189 __mmask32 test_mm512_cmple_epu16_mask(__m512i __a, __m512i __b) {
190 // CHECK-LABEL: @test_mm512_cmple_epu16_mask
191 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i32 2, i32 -1)
192 return (__mmask32)_mm512_cmple_epu16_mask(__a, __b);
193 }
194
test_mm512_mask_cmple_epu16_mask(__mmask32 __u,__m512i __a,__m512i __b)195 __mmask32 test_mm512_mask_cmple_epu16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
196 // CHECK-LABEL: @test_mm512_mask_cmple_epu16_mask
197 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i32 2, i32 {{.*}})
198 return (__mmask32)_mm512_mask_cmple_epu16_mask(__u, __a, __b);
199 }
200
test_mm512_cmplt_epi8_mask(__m512i __a,__m512i __b)201 __mmask64 test_mm512_cmplt_epi8_mask(__m512i __a, __m512i __b) {
202 // CHECK-LABEL: @test_mm512_cmplt_epi8_mask
203 // CHECK: @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i32 1, i64 -1)
204 return (__mmask64)_mm512_cmplt_epi8_mask(__a, __b);
205 }
206
test_mm512_mask_cmplt_epi8_mask(__mmask64 __u,__m512i __a,__m512i __b)207 __mmask64 test_mm512_mask_cmplt_epi8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
208 // CHECK-LABEL: @test_mm512_mask_cmplt_epi8_mask
209 // CHECK: @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i32 1, i64 {{.*}})
210 return (__mmask64)_mm512_mask_cmplt_epi8_mask(__u, __a, __b);
211 }
212
test_mm512_cmplt_epu8_mask(__m512i __a,__m512i __b)213 __mmask64 test_mm512_cmplt_epu8_mask(__m512i __a, __m512i __b) {
214 // CHECK-LABEL: @test_mm512_cmplt_epu8_mask
215 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i32 1, i64 -1)
216 return (__mmask64)_mm512_cmplt_epu8_mask(__a, __b);
217 }
218
test_mm512_mask_cmplt_epu8_mask(__mmask64 __u,__m512i __a,__m512i __b)219 __mmask64 test_mm512_mask_cmplt_epu8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
220 // CHECK-LABEL: @test_mm512_mask_cmplt_epu8_mask
221 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i32 1, i64 {{.*}})
222 return (__mmask64)_mm512_mask_cmplt_epu8_mask(__u, __a, __b);
223 }
224
test_mm512_cmplt_epi16_mask(__m512i __a,__m512i __b)225 __mmask32 test_mm512_cmplt_epi16_mask(__m512i __a, __m512i __b) {
226 // CHECK-LABEL: @test_mm512_cmplt_epi16_mask
227 // CHECK: @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i32 1, i32 -1)
228 return (__mmask32)_mm512_cmplt_epi16_mask(__a, __b);
229 }
230
test_mm512_mask_cmplt_epi16_mask(__mmask32 __u,__m512i __a,__m512i __b)231 __mmask32 test_mm512_mask_cmplt_epi16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
232 // CHECK-LABEL: @test_mm512_mask_cmplt_epi16_mask
233 // CHECK: @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i32 1, i32 {{.*}})
234 return (__mmask32)_mm512_mask_cmplt_epi16_mask(__u, __a, __b);
235 }
236
test_mm512_cmplt_epu16_mask(__m512i __a,__m512i __b)237 __mmask32 test_mm512_cmplt_epu16_mask(__m512i __a, __m512i __b) {
238 // CHECK-LABEL: @test_mm512_cmplt_epu16_mask
239 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i32 1, i32 -1)
240 return (__mmask32)_mm512_cmplt_epu16_mask(__a, __b);
241 }
242
test_mm512_mask_cmplt_epu16_mask(__mmask32 __u,__m512i __a,__m512i __b)243 __mmask32 test_mm512_mask_cmplt_epu16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
244 // CHECK-LABEL: @test_mm512_mask_cmplt_epu16_mask
245 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i32 1, i32 {{.*}})
246 return (__mmask32)_mm512_mask_cmplt_epu16_mask(__u, __a, __b);
247 }
248
test_mm512_cmpneq_epi8_mask(__m512i __a,__m512i __b)249 __mmask64 test_mm512_cmpneq_epi8_mask(__m512i __a, __m512i __b) {
250 // CHECK-LABEL: @test_mm512_cmpneq_epi8_mask
251 // CHECK: @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i32 4, i64 -1)
252 return (__mmask64)_mm512_cmpneq_epi8_mask(__a, __b);
253 }
254
test_mm512_mask_cmpneq_epi8_mask(__mmask64 __u,__m512i __a,__m512i __b)255 __mmask64 test_mm512_mask_cmpneq_epi8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
256 // CHECK-LABEL: @test_mm512_mask_cmpneq_epi8_mask
257 // CHECK: @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i32 4, i64 {{.*}})
258 return (__mmask64)_mm512_mask_cmpneq_epi8_mask(__u, __a, __b);
259 }
260
test_mm512_cmpneq_epu8_mask(__m512i __a,__m512i __b)261 __mmask64 test_mm512_cmpneq_epu8_mask(__m512i __a, __m512i __b) {
262 // CHECK-LABEL: @test_mm512_cmpneq_epu8_mask
263 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i32 4, i64 -1)
264 return (__mmask64)_mm512_cmpneq_epu8_mask(__a, __b);
265 }
266
test_mm512_mask_cmpneq_epu8_mask(__mmask64 __u,__m512i __a,__m512i __b)267 __mmask64 test_mm512_mask_cmpneq_epu8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
268 // CHECK-LABEL: @test_mm512_mask_cmpneq_epu8_mask
269 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i32 4, i64 {{.*}})
270 return (__mmask64)_mm512_mask_cmpneq_epu8_mask(__u, __a, __b);
271 }
272
test_mm512_cmpneq_epi16_mask(__m512i __a,__m512i __b)273 __mmask32 test_mm512_cmpneq_epi16_mask(__m512i __a, __m512i __b) {
274 // CHECK-LABEL: @test_mm512_cmpneq_epi16_mask
275 // CHECK: @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i32 4, i32 -1)
276 return (__mmask32)_mm512_cmpneq_epi16_mask(__a, __b);
277 }
278
test_mm512_mask_cmpneq_epi16_mask(__mmask32 __u,__m512i __a,__m512i __b)279 __mmask32 test_mm512_mask_cmpneq_epi16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
280 // CHECK-LABEL: @test_mm512_mask_cmpneq_epi16_mask
281 // CHECK: @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i32 4, i32 {{.*}})
282 return (__mmask32)_mm512_mask_cmpneq_epi16_mask(__u, __a, __b);
283 }
284
test_mm512_cmpneq_epu16_mask(__m512i __a,__m512i __b)285 __mmask32 test_mm512_cmpneq_epu16_mask(__m512i __a, __m512i __b) {
286 // CHECK-LABEL: @test_mm512_cmpneq_epu16_mask
287 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i32 4, i32 -1)
288 return (__mmask32)_mm512_cmpneq_epu16_mask(__a, __b);
289 }
290
test_mm512_mask_cmpneq_epu16_mask(__mmask32 __u,__m512i __a,__m512i __b)291 __mmask32 test_mm512_mask_cmpneq_epu16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
292 // CHECK-LABEL: @test_mm512_mask_cmpneq_epu16_mask
293 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i32 4, i32 {{.*}})
294 return (__mmask32)_mm512_mask_cmpneq_epu16_mask(__u, __a, __b);
295 }
296
test_mm512_cmp_epi8_mask(__m512i __a,__m512i __b)297 __mmask64 test_mm512_cmp_epi8_mask(__m512i __a, __m512i __b) {
298 // CHECK-LABEL: @test_mm512_cmp_epi8_mask
299 // CHECK: @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i32 7, i64 -1)
300 return (__mmask64)_mm512_cmp_epi8_mask(__a, __b, 7);
301 }
302
test_mm512_mask_cmp_epi8_mask(__mmask64 __u,__m512i __a,__m512i __b)303 __mmask64 test_mm512_mask_cmp_epi8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
304 // CHECK-LABEL: @test_mm512_mask_cmp_epi8_mask
305 // CHECK: @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i32 7, i64 {{.*}})
306 return (__mmask64)_mm512_mask_cmp_epi8_mask(__u, __a, __b, 7);
307 }
308
test_mm512_cmp_epu8_mask(__m512i __a,__m512i __b)309 __mmask64 test_mm512_cmp_epu8_mask(__m512i __a, __m512i __b) {
310 // CHECK-LABEL: @test_mm512_cmp_epu8_mask
311 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i32 7, i64 -1)
312 return (__mmask64)_mm512_cmp_epu8_mask(__a, __b, 7);
313 }
314
test_mm512_mask_cmp_epu8_mask(__mmask64 __u,__m512i __a,__m512i __b)315 __mmask64 test_mm512_mask_cmp_epu8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
316 // CHECK-LABEL: @test_mm512_mask_cmp_epu8_mask
317 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i32 7, i64 {{.*}})
318 return (__mmask64)_mm512_mask_cmp_epu8_mask(__u, __a, __b, 7);
319 }
320
test_mm512_cmp_epi16_mask(__m512i __a,__m512i __b)321 __mmask32 test_mm512_cmp_epi16_mask(__m512i __a, __m512i __b) {
322 // CHECK-LABEL: @test_mm512_cmp_epi16_mask
323 // CHECK: @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i32 7, i32 -1)
324 return (__mmask32)_mm512_cmp_epi16_mask(__a, __b, 7);
325 }
326
test_mm512_mask_cmp_epi16_mask(__mmask32 __u,__m512i __a,__m512i __b)327 __mmask32 test_mm512_mask_cmp_epi16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
328 // CHECK-LABEL: @test_mm512_mask_cmp_epi16_mask
329 // CHECK: @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i32 7, i32 {{.*}})
330 return (__mmask32)_mm512_mask_cmp_epi16_mask(__u, __a, __b, 7);
331 }
332
test_mm512_cmp_epu16_mask(__m512i __a,__m512i __b)333 __mmask32 test_mm512_cmp_epu16_mask(__m512i __a, __m512i __b) {
334 // CHECK-LABEL: @test_mm512_cmp_epu16_mask
335 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i32 7, i32 -1)
336 return (__mmask32)_mm512_cmp_epu16_mask(__a, __b, 7);
337 }
338
test_mm512_mask_cmp_epu16_mask(__mmask32 __u,__m512i __a,__m512i __b)339 __mmask32 test_mm512_mask_cmp_epu16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
340 // CHECK-LABEL: @test_mm512_mask_cmp_epu16_mask
341 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i32 7, i32 {{.*}})
342 return (__mmask32)_mm512_mask_cmp_epu16_mask(__u, __a, __b, 7);
343 }
344
test_mm512_add_epi8(__m512i __A,__m512i __B)345 __m512i test_mm512_add_epi8 (__m512i __A, __m512i __B) {
346 //CHECK-LABEL: @test_mm512_add_epi8
347 //CHECK: add <64 x i8>
348 return _mm512_add_epi8(__A,__B);
349 }
350
test_mm512_mask_add_epi8(__m512i __W,__mmask64 __U,__m512i __A,__m512i __B)351 __m512i test_mm512_mask_add_epi8 (__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) {
352 //CHECK-LABEL: @test_mm512_mask_add_epi8
353 //CHECK: @llvm.x86.avx512.mask.padd.b.512
354 return _mm512_mask_add_epi8(__W, __U, __A, __B);
355 }
356
test_mm512_maskz_add_epi8(__mmask64 __U,__m512i __A,__m512i __B)357 __m512i test_mm512_maskz_add_epi8 (__mmask64 __U, __m512i __A, __m512i __B) {
358 //CHECK-LABEL: @test_mm512_maskz_add_epi8
359 //CHECK: @llvm.x86.avx512.mask.padd.b.512
360 return _mm512_maskz_add_epi8(__U, __A, __B);
361 }
362
test_mm512_sub_epi8(__m512i __A,__m512i __B)363 __m512i test_mm512_sub_epi8 (__m512i __A, __m512i __B) {
364 //CHECK-LABEL: @test_mm512_sub_epi8
365 //CHECK: sub <64 x i8>
366 return _mm512_sub_epi8(__A, __B);
367 }
368
test_mm512_mask_sub_epi8(__m512i __W,__mmask64 __U,__m512i __A,__m512i __B)369 __m512i test_mm512_mask_sub_epi8 (__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) {
370 //CHECK-LABEL: @test_mm512_mask_sub_epi8
371 //CHECK: @llvm.x86.avx512.mask.psub.b.512
372 return _mm512_mask_sub_epi8(__W, __U, __A, __B);
373 }
374
test_mm512_maskz_sub_epi8(__mmask64 __U,__m512i __A,__m512i __B)375 __m512i test_mm512_maskz_sub_epi8 (__mmask64 __U, __m512i __A, __m512i __B) {
376 //CHECK-LABEL: @test_mm512_maskz_sub_epi8
377 //CHECK: @llvm.x86.avx512.mask.psub.b.512
378 return _mm512_maskz_sub_epi8(__U, __A, __B);
379 }
380
test_mm512_add_epi16(__m512i __A,__m512i __B)381 __m512i test_mm512_add_epi16 (__m512i __A, __m512i __B) {
382 //CHECK-LABEL: @test_mm512_add_epi16
383 //CHECK: add <32 x i16>
384 return _mm512_add_epi16(__A, __B);
385 }
386
test_mm512_mask_add_epi16(__m512i __W,__mmask32 __U,__m512i __A,__m512i __B)387 __m512i test_mm512_mask_add_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
388 //CHECK-LABEL: @test_mm512_mask_add_epi16
389 //CHECK: @llvm.x86.avx512.mask.padd.w.512
390 return _mm512_mask_add_epi16(__W, __U, __A, __B);
391 }
392
test_mm512_maskz_add_epi16(__mmask32 __U,__m512i __A,__m512i __B)393 __m512i test_mm512_maskz_add_epi16 (__mmask32 __U, __m512i __A, __m512i __B) {
394 //CHECK-LABEL: @test_mm512_maskz_add_epi16
395 //CHECK: @llvm.x86.avx512.mask.padd.w.512
396 return _mm512_maskz_add_epi16(__U, __A, __B);
397 }
398
test_mm512_sub_epi16(__m512i __A,__m512i __B)399 __m512i test_mm512_sub_epi16 (__m512i __A, __m512i __B) {
400 //CHECK-LABEL: @test_mm512_sub_epi16
401 //CHECK: sub <32 x i16>
402 return _mm512_sub_epi16(__A, __B);
403 }
404
test_mm512_mask_sub_epi16(__m512i __W,__mmask32 __U,__m512i __A,__m512i __B)405 __m512i test_mm512_mask_sub_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
406 //CHECK-LABEL: @test_mm512_mask_sub_epi16
407 //CHECK: @llvm.x86.avx512.mask.psub.w.512
408 return _mm512_mask_sub_epi16(__W, __U, __A, __B);
409 }
410
test_mm512_maskz_sub_epi16(__mmask32 __U,__m512i __A,__m512i __B)411 __m512i test_mm512_maskz_sub_epi16 (__mmask32 __U, __m512i __A, __m512i __B) {
412 //CHECK-LABEL: @test_mm512_maskz_sub_epi16
413 //CHECK: @llvm.x86.avx512.mask.psub.w.512
414 return _mm512_maskz_sub_epi16(__U, __A, __B);
415 }
416
test_mm512_mullo_epi16(__m512i __A,__m512i __B)417 __m512i test_mm512_mullo_epi16 (__m512i __A, __m512i __B) {
418 //CHECK-LABEL: @test_mm512_mullo_epi16
419 //CHECK: mul <32 x i16>
420 return _mm512_mullo_epi16(__A, __B);
421 }
422
test_mm512_mask_mullo_epi16(__m512i __W,__mmask32 __U,__m512i __A,__m512i __B)423 __m512i test_mm512_mask_mullo_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
424 //CHECK-LABEL: @test_mm512_mask_mullo_epi16
425 //CHECK: @llvm.x86.avx512.mask.pmull.w.512
426 return _mm512_mask_mullo_epi16(__W, __U, __A, __B);
427 }
428
test_mm512_maskz_mullo_epi16(__mmask32 __U,__m512i __A,__m512i __B)429 __m512i test_mm512_maskz_mullo_epi16 (__mmask32 __U, __m512i __A, __m512i __B) {
430 //CHECK-LABEL: @test_mm512_maskz_mullo_epi16
431 //CHECK: @llvm.x86.avx512.mask.pmull.w.512
432 return _mm512_maskz_mullo_epi16(__U, __A, __B);
433 }
434
test_mm512_mask_blend_epi8(__mmask64 __U,__m512i __A,__m512i __W)435 __m512i test_mm512_mask_blend_epi8(__mmask64 __U, __m512i __A, __m512i __W) {
436 // CHECK-LABEL: @test_mm512_mask_blend_epi8
437 // CHECK: @llvm.x86.avx512.mask.blend.b.512
438 return _mm512_mask_blend_epi8(__U,__A,__W);
439 }
test_mm512_mask_blend_epi16(__mmask32 __U,__m512i __A,__m512i __W)440 __m512i test_mm512_mask_blend_epi16(__mmask32 __U, __m512i __A, __m512i __W) {
441 // CHECK-LABEL: @test_mm512_mask_blend_epi16
442 // CHECK: @llvm.x86.avx512.mask.blend.w.512
443 return _mm512_mask_blend_epi16(__U,__A,__W);
444 }
test_mm512_abs_epi8(__m512i __A)445 __m512i test_mm512_abs_epi8(__m512i __A) {
446 // CHECK-LABEL: @test_mm512_abs_epi8
447 // CHECK: @llvm.x86.avx512.mask.pabs.b.512
448 return _mm512_abs_epi8(__A);
449 }
test_mm512_mask_abs_epi8(__m512i __W,__mmask64 __U,__m512i __A)450 __m512i test_mm512_mask_abs_epi8(__m512i __W, __mmask64 __U, __m512i __A) {
451 // CHECK-LABEL: @test_mm512_mask_abs_epi8
452 // CHECK: @llvm.x86.avx512.mask.pabs.b.512
453 return _mm512_mask_abs_epi8(__W,__U,__A);
454 }
test_mm512_maskz_abs_epi8(__mmask64 __U,__m512i __A)455 __m512i test_mm512_maskz_abs_epi8(__mmask64 __U, __m512i __A) {
456 // CHECK-LABEL: @test_mm512_maskz_abs_epi8
457 // CHECK: @llvm.x86.avx512.mask.pabs.b.512
458 return _mm512_maskz_abs_epi8(__U,__A);
459 }
test_mm512_abs_epi16(__m512i __A)460 __m512i test_mm512_abs_epi16(__m512i __A) {
461 // CHECK-LABEL: @test_mm512_abs_epi16
462 // CHECK: @llvm.x86.avx512.mask.pabs.w.512
463 return _mm512_abs_epi16(__A);
464 }
test_mm512_mask_abs_epi16(__m512i __W,__mmask32 __U,__m512i __A)465 __m512i test_mm512_mask_abs_epi16(__m512i __W, __mmask32 __U, __m512i __A) {
466 // CHECK-LABEL: @test_mm512_mask_abs_epi16
467 // CHECK: @llvm.x86.avx512.mask.pabs.w.512
468 return _mm512_mask_abs_epi16(__W,__U,__A);
469 }
test_mm512_maskz_abs_epi16(__mmask32 __U,__m512i __A)470 __m512i test_mm512_maskz_abs_epi16(__mmask32 __U, __m512i __A) {
471 // CHECK-LABEL: @test_mm512_maskz_abs_epi16
472 // CHECK: @llvm.x86.avx512.mask.pabs.w.512
473 return _mm512_maskz_abs_epi16(__U,__A);
474 }
test_mm512_packs_epi32(__m512i __A,__m512i __B)475 __m512i test_mm512_packs_epi32(__m512i __A, __m512i __B) {
476 // CHECK-LABEL: @test_mm512_packs_epi32
477 // CHECK: @llvm.x86.avx512.mask.packssdw.512
478 return _mm512_packs_epi32(__A,__B);
479 }
test_mm512_maskz_packs_epi32(__mmask32 __M,__m512i __A,__m512i __B)480 __m512i test_mm512_maskz_packs_epi32(__mmask32 __M, __m512i __A, __m512i __B) {
481 // CHECK-LABEL: @test_mm512_maskz_packs_epi32
482 // CHECK: @llvm.x86.avx512.mask.packssdw.512
483 return _mm512_maskz_packs_epi32(__M,__A,__B);
484 }
test_mm512_mask_packs_epi32(__m512i __W,__mmask32 __M,__m512i __A,__m512i __B)485 __m512i test_mm512_mask_packs_epi32(__m512i __W, __mmask32 __M, __m512i __A, __m512i __B) {
486 // CHECK-LABEL: @test_mm512_mask_packs_epi32
487 // CHECK: @llvm.x86.avx512.mask.packssdw.512
488 return _mm512_mask_packs_epi32(__W,__M,__A,__B);
489 }
test_mm512_packs_epi16(__m512i __A,__m512i __B)490 __m512i test_mm512_packs_epi16(__m512i __A, __m512i __B) {
491 // CHECK-LABEL: @test_mm512_packs_epi16
492 // CHECK: @llvm.x86.avx512.mask.packsswb.512
493 return _mm512_packs_epi16(__A,__B);
494 }
test_mm512_mask_packs_epi16(__m512i __W,__mmask64 __M,__m512i __A,__m512i __B)495 __m512i test_mm512_mask_packs_epi16(__m512i __W, __mmask64 __M, __m512i __A, __m512i __B) {
496 // CHECK-LABEL: @test_mm512_mask_packs_epi16
497 // CHECK: @llvm.x86.avx512.mask.packsswb.512
498 return _mm512_mask_packs_epi16(__W,__M,__A,__B);
499 }
test_mm512_maskz_packs_epi16(__mmask64 __M,__m512i __A,__m512i __B)500 __m512i test_mm512_maskz_packs_epi16(__mmask64 __M, __m512i __A, __m512i __B) {
501 // CHECK-LABEL: @test_mm512_maskz_packs_epi16
502 // CHECK: @llvm.x86.avx512.mask.packsswb.512
503 return _mm512_maskz_packs_epi16(__M,__A,__B);
504 }
test_mm512_packus_epi32(__m512i __A,__m512i __B)505 __m512i test_mm512_packus_epi32(__m512i __A, __m512i __B) {
506 // CHECK-LABEL: @test_mm512_packus_epi32
507 // CHECK: @llvm.x86.avx512.mask.packusdw.512
508 return _mm512_packus_epi32(__A,__B);
509 }
test_mm512_maskz_packus_epi32(__mmask32 __M,__m512i __A,__m512i __B)510 __m512i test_mm512_maskz_packus_epi32(__mmask32 __M, __m512i __A, __m512i __B) {
511 // CHECK-LABEL: @test_mm512_maskz_packus_epi32
512 // CHECK: @llvm.x86.avx512.mask.packusdw.512
513 return _mm512_maskz_packus_epi32(__M,__A,__B);
514 }
test_mm512_mask_packus_epi32(__m512i __W,__mmask32 __M,__m512i __A,__m512i __B)515 __m512i test_mm512_mask_packus_epi32(__m512i __W, __mmask32 __M, __m512i __A, __m512i __B) {
516 // CHECK-LABEL: @test_mm512_mask_packus_epi32
517 // CHECK: @llvm.x86.avx512.mask.packusdw.512
518 return _mm512_mask_packus_epi32(__W,__M,__A,__B);
519 }
test_mm512_packus_epi16(__m512i __A,__m512i __B)520 __m512i test_mm512_packus_epi16(__m512i __A, __m512i __B) {
521 // CHECK-LABEL: @test_mm512_packus_epi16
522 // CHECK: @llvm.x86.avx512.mask.packuswb.512
523 return _mm512_packus_epi16(__A,__B);
524 }
test_mm512_mask_packus_epi16(__m512i __W,__mmask64 __M,__m512i __A,__m512i __B)525 __m512i test_mm512_mask_packus_epi16(__m512i __W, __mmask64 __M, __m512i __A, __m512i __B) {
526 // CHECK-LABEL: @test_mm512_mask_packus_epi16
527 // CHECK: @llvm.x86.avx512.mask.packuswb.512
528 return _mm512_mask_packus_epi16(__W,__M,__A,__B);
529 }
test_mm512_maskz_packus_epi16(__mmask64 __M,__m512i __A,__m512i __B)530 __m512i test_mm512_maskz_packus_epi16(__mmask64 __M, __m512i __A, __m512i __B) {
531 // CHECK-LABEL: @test_mm512_maskz_packus_epi16
532 // CHECK: @llvm.x86.avx512.mask.packuswb.512
533 return _mm512_maskz_packus_epi16(__M,__A,__B);
534 }
test_mm512_adds_epi8(__m512i __A,__m512i __B)535 __m512i test_mm512_adds_epi8(__m512i __A, __m512i __B) {
536 // CHECK-LABEL: @test_mm512_adds_epi8
537 // CHECK: @llvm.x86.avx512.mask.padds.b.512
538 return _mm512_adds_epi8(__A,__B);
539 }
test_mm512_mask_adds_epi8(__m512i __W,__mmask64 __U,__m512i __A,__m512i __B)540 __m512i test_mm512_mask_adds_epi8(__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) {
541 // CHECK-LABEL: @test_mm512_mask_adds_epi8
542 // CHECK: @llvm.x86.avx512.mask.padds.b.512
543 return _mm512_mask_adds_epi8(__W,__U,__A,__B);
544 }
test_mm512_maskz_adds_epi8(__mmask64 __U,__m512i __A,__m512i __B)545 __m512i test_mm512_maskz_adds_epi8(__mmask64 __U, __m512i __A, __m512i __B) {
546 // CHECK-LABEL: @test_mm512_maskz_adds_epi8
547 // CHECK: @llvm.x86.avx512.mask.padds.b.512
548 return _mm512_maskz_adds_epi8(__U,__A,__B);
549 }
test_mm512_adds_epi16(__m512i __A,__m512i __B)550 __m512i test_mm512_adds_epi16(__m512i __A, __m512i __B) {
551 // CHECK-LABEL: @test_mm512_adds_epi16
552 // CHECK: @llvm.x86.avx512.mask.padds.w.512
553 return _mm512_adds_epi16(__A,__B);
554 }
test_mm512_mask_adds_epi16(__m512i __W,__mmask32 __U,__m512i __A,__m512i __B)555 __m512i test_mm512_mask_adds_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
556 // CHECK-LABEL: @test_mm512_mask_adds_epi16
557 // CHECK: @llvm.x86.avx512.mask.padds.w.512
558 return _mm512_mask_adds_epi16(__W,__U,__A,__B);
559 }
test_mm512_maskz_adds_epi16(__mmask32 __U,__m512i __A,__m512i __B)560 __m512i test_mm512_maskz_adds_epi16(__mmask32 __U, __m512i __A, __m512i __B) {
561 // CHECK-LABEL: @test_mm512_maskz_adds_epi16
562 // CHECK: @llvm.x86.avx512.mask.padds.w.512
563 return _mm512_maskz_adds_epi16(__U,__A,__B);
564 }
test_mm512_adds_epu8(__m512i __A,__m512i __B)565 __m512i test_mm512_adds_epu8(__m512i __A, __m512i __B) {
566 // CHECK-LABEL: @test_mm512_adds_epu8
567 // CHECK: @llvm.x86.avx512.mask.paddus.b.512
568 return _mm512_adds_epu8(__A,__B);
569 }
test_mm512_mask_adds_epu8(__m512i __W,__mmask64 __U,__m512i __A,__m512i __B)570 __m512i test_mm512_mask_adds_epu8(__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) {
571 // CHECK-LABEL: @test_mm512_mask_adds_epu8
572 // CHECK: @llvm.x86.avx512.mask.paddus.b.512
573 return _mm512_mask_adds_epu8(__W,__U,__A,__B);
574 }
test_mm512_maskz_adds_epu8(__mmask64 __U,__m512i __A,__m512i __B)575 __m512i test_mm512_maskz_adds_epu8(__mmask64 __U, __m512i __A, __m512i __B) {
576 // CHECK-LABEL: @test_mm512_maskz_adds_epu8
577 // CHECK: @llvm.x86.avx512.mask.paddus.b.512
578 return _mm512_maskz_adds_epu8(__U,__A,__B);
579 }
test_mm512_adds_epu16(__m512i __A,__m512i __B)580 __m512i test_mm512_adds_epu16(__m512i __A, __m512i __B) {
581 // CHECK-LABEL: @test_mm512_adds_epu16
582 // CHECK: @llvm.x86.avx512.mask.paddus.w.512
583 return _mm512_adds_epu16(__A,__B);
584 }
test_mm512_mask_adds_epu16(__m512i __W,__mmask32 __U,__m512i __A,__m512i __B)585 __m512i test_mm512_mask_adds_epu16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
586 // CHECK-LABEL: @test_mm512_mask_adds_epu16
587 // CHECK: @llvm.x86.avx512.mask.paddus.w.512
588 return _mm512_mask_adds_epu16(__W,__U,__A,__B);
589 }
test_mm512_maskz_adds_epu16(__mmask32 __U,__m512i __A,__m512i __B)590 __m512i test_mm512_maskz_adds_epu16(__mmask32 __U, __m512i __A, __m512i __B) {
591 // CHECK-LABEL: @test_mm512_maskz_adds_epu16
592 // CHECK: @llvm.x86.avx512.mask.paddus.w.512
593 return _mm512_maskz_adds_epu16(__U,__A,__B);
594 }
test_mm512_avg_epu8(__m512i __A,__m512i __B)595 __m512i test_mm512_avg_epu8(__m512i __A, __m512i __B) {
596 // CHECK-LABEL: @test_mm512_avg_epu8
597 // CHECK: @llvm.x86.avx512.mask.pavg.b.512
598 return _mm512_avg_epu8(__A,__B);
599 }
test_mm512_mask_avg_epu8(__m512i __W,__mmask64 __U,__m512i __A,__m512i __B)600 __m512i test_mm512_mask_avg_epu8(__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) {
601 // CHECK-LABEL: @test_mm512_mask_avg_epu8
602 // CHECK: @llvm.x86.avx512.mask.pavg.b.512
603 return _mm512_mask_avg_epu8(__W,__U,__A,__B);
604 }
test_mm512_maskz_avg_epu8(__mmask64 __U,__m512i __A,__m512i __B)605 __m512i test_mm512_maskz_avg_epu8(__mmask64 __U, __m512i __A, __m512i __B) {
606 // CHECK-LABEL: @test_mm512_maskz_avg_epu8
607 // CHECK: @llvm.x86.avx512.mask.pavg.b.512
608 return _mm512_maskz_avg_epu8(__U,__A,__B);
609 }
test_mm512_avg_epu16(__m512i __A,__m512i __B)610 __m512i test_mm512_avg_epu16(__m512i __A, __m512i __B) {
611 // CHECK-LABEL: @test_mm512_avg_epu16
612 // CHECK: @llvm.x86.avx512.mask.pavg.w.512
613 return _mm512_avg_epu16(__A,__B);
614 }
test_mm512_mask_avg_epu16(__m512i __W,__mmask32 __U,__m512i __A,__m512i __B)615 __m512i test_mm512_mask_avg_epu16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
616 // CHECK-LABEL: @test_mm512_mask_avg_epu16
617 // CHECK: @llvm.x86.avx512.mask.pavg.w.512
618 return _mm512_mask_avg_epu16(__W,__U,__A,__B);
619 }
test_mm512_maskz_avg_epu16(__mmask32 __U,__m512i __A,__m512i __B)620 __m512i test_mm512_maskz_avg_epu16(__mmask32 __U, __m512i __A, __m512i __B) {
621 // CHECK-LABEL: @test_mm512_maskz_avg_epu16
622 // CHECK: @llvm.x86.avx512.mask.pavg.w.512
623 return _mm512_maskz_avg_epu16(__U,__A,__B);
624 }
test_mm512_max_epi8(__m512i __A,__m512i __B)625 __m512i test_mm512_max_epi8(__m512i __A, __m512i __B) {
626 // CHECK-LABEL: @test_mm512_max_epi8
627 // CHECK: @llvm.x86.avx512.mask.pmaxs.b.512
628 return _mm512_max_epi8(__A,__B);
629 }
test_mm512_maskz_max_epi8(__mmask64 __M,__m512i __A,__m512i __B)630 __m512i test_mm512_maskz_max_epi8(__mmask64 __M, __m512i __A, __m512i __B) {
631 // CHECK-LABEL: @test_mm512_maskz_max_epi8
632 // CHECK: @llvm.x86.avx512.mask.pmaxs.b.512
633 return _mm512_maskz_max_epi8(__M,__A,__B);
634 }
test_mm512_mask_max_epi8(__m512i __W,__mmask64 __M,__m512i __A,__m512i __B)635 __m512i test_mm512_mask_max_epi8(__m512i __W, __mmask64 __M, __m512i __A, __m512i __B) {
636 // CHECK-LABEL: @test_mm512_mask_max_epi8
637 // CHECK: @llvm.x86.avx512.mask.pmaxs.b.512
638 return _mm512_mask_max_epi8(__W,__M,__A,__B);
639 }
test_mm512_max_epi16(__m512i __A,__m512i __B)640 __m512i test_mm512_max_epi16(__m512i __A, __m512i __B) {
641 // CHECK-LABEL: @test_mm512_max_epi16
642 // CHECK: @llvm.x86.avx512.mask.pmaxs.w.512
643 return _mm512_max_epi16(__A,__B);
644 }
test_mm512_maskz_max_epi16(__mmask32 __M,__m512i __A,__m512i __B)645 __m512i test_mm512_maskz_max_epi16(__mmask32 __M, __m512i __A, __m512i __B) {
646 // CHECK-LABEL: @test_mm512_maskz_max_epi16
647 // CHECK: @llvm.x86.avx512.mask.pmaxs.w.512
648 return _mm512_maskz_max_epi16(__M,__A,__B);
649 }
test_mm512_mask_max_epi16(__m512i __W,__mmask32 __M,__m512i __A,__m512i __B)650 __m512i test_mm512_mask_max_epi16(__m512i __W, __mmask32 __M, __m512i __A, __m512i __B) {
651 // CHECK-LABEL: @test_mm512_mask_max_epi16
652 // CHECK: @llvm.x86.avx512.mask.pmaxs.w.512
653 return _mm512_mask_max_epi16(__W,__M,__A,__B);
654 }
test_mm512_max_epu8(__m512i __A,__m512i __B)655 __m512i test_mm512_max_epu8(__m512i __A, __m512i __B) {
656 // CHECK-LABEL: @test_mm512_max_epu8
657 // CHECK: @llvm.x86.avx512.mask.pmaxu.b.512
658 return _mm512_max_epu8(__A,__B);
659 }
test_mm512_maskz_max_epu8(__mmask64 __M,__m512i __A,__m512i __B)660 __m512i test_mm512_maskz_max_epu8(__mmask64 __M, __m512i __A, __m512i __B) {
661 // CHECK-LABEL: @test_mm512_maskz_max_epu8
662 // CHECK: @llvm.x86.avx512.mask.pmaxu.b.512
663 return _mm512_maskz_max_epu8(__M,__A,__B);
664 }
test_mm512_mask_max_epu8(__m512i __W,__mmask64 __M,__m512i __A,__m512i __B)665 __m512i test_mm512_mask_max_epu8(__m512i __W, __mmask64 __M, __m512i __A, __m512i __B) {
666 // CHECK-LABEL: @test_mm512_mask_max_epu8
667 // CHECK: @llvm.x86.avx512.mask.pmaxu.b.512
668 return _mm512_mask_max_epu8(__W,__M,__A,__B);
669 }
test_mm512_max_epu16(__m512i __A,__m512i __B)670 __m512i test_mm512_max_epu16(__m512i __A, __m512i __B) {
671 // CHECK-LABEL: @test_mm512_max_epu16
672 // CHECK: @llvm.x86.avx512.mask.pmaxu.w.512
673 return _mm512_max_epu16(__A,__B);
674 }
test_mm512_maskz_max_epu16(__mmask32 __M,__m512i __A,__m512i __B)675 __m512i test_mm512_maskz_max_epu16(__mmask32 __M, __m512i __A, __m512i __B) {
676 // CHECK-LABEL: @test_mm512_maskz_max_epu16
677 // CHECK: @llvm.x86.avx512.mask.pmaxu.w.512
678 return _mm512_maskz_max_epu16(__M,__A,__B);
679 }
test_mm512_mask_max_epu16(__m512i __W,__mmask32 __M,__m512i __A,__m512i __B)680 __m512i test_mm512_mask_max_epu16(__m512i __W, __mmask32 __M, __m512i __A, __m512i __B) {
681 // CHECK-LABEL: @test_mm512_mask_max_epu16
682 // CHECK: @llvm.x86.avx512.mask.pmaxu.w.512
683 return _mm512_mask_max_epu16(__W,__M,__A,__B);
684 }
test_mm512_min_epi8(__m512i __A,__m512i __B)685 __m512i test_mm512_min_epi8(__m512i __A, __m512i __B) {
686 // CHECK-LABEL: @test_mm512_min_epi8
687 // CHECK: @llvm.x86.avx512.mask.pmins.b.512
688 return _mm512_min_epi8(__A,__B);
689 }
test_mm512_maskz_min_epi8(__mmask64 __M,__m512i __A,__m512i __B)690 __m512i test_mm512_maskz_min_epi8(__mmask64 __M, __m512i __A, __m512i __B) {
691 // CHECK-LABEL: @test_mm512_maskz_min_epi8
692 // CHECK: @llvm.x86.avx512.mask.pmins.b.512
693 return _mm512_maskz_min_epi8(__M,__A,__B);
694 }
test_mm512_mask_min_epi8(__m512i __W,__mmask64 __M,__m512i __A,__m512i __B)695 __m512i test_mm512_mask_min_epi8(__m512i __W, __mmask64 __M, __m512i __A, __m512i __B) {
696 // CHECK-LABEL: @test_mm512_mask_min_epi8
697 // CHECK: @llvm.x86.avx512.mask.pmins.b.512
698 return _mm512_mask_min_epi8(__W,__M,__A,__B);
699 }
test_mm512_min_epi16(__m512i __A,__m512i __B)700 __m512i test_mm512_min_epi16(__m512i __A, __m512i __B) {
701 // CHECK-LABEL: @test_mm512_min_epi16
702 // CHECK: @llvm.x86.avx512.mask.pmins.w.512
703 return _mm512_min_epi16(__A,__B);
704 }
test_mm512_maskz_min_epi16(__mmask32 __M,__m512i __A,__m512i __B)705 __m512i test_mm512_maskz_min_epi16(__mmask32 __M, __m512i __A, __m512i __B) {
706 // CHECK-LABEL: @test_mm512_maskz_min_epi16
707 // CHECK: @llvm.x86.avx512.mask.pmins.w.512
708 return _mm512_maskz_min_epi16(__M,__A,__B);
709 }
test_mm512_mask_min_epi16(__m512i __W,__mmask32 __M,__m512i __A,__m512i __B)710 __m512i test_mm512_mask_min_epi16(__m512i __W, __mmask32 __M, __m512i __A, __m512i __B) {
711 // CHECK-LABEL: @test_mm512_mask_min_epi16
712 // CHECK: @llvm.x86.avx512.mask.pmins.w.512
713 return _mm512_mask_min_epi16(__W,__M,__A,__B);
714 }
test_mm512_min_epu8(__m512i __A,__m512i __B)715 __m512i test_mm512_min_epu8(__m512i __A, __m512i __B) {
716 // CHECK-LABEL: @test_mm512_min_epu8
717 // CHECK: @llvm.x86.avx512.mask.pminu.b.512
718 return _mm512_min_epu8(__A,__B);
719 }
test_mm512_maskz_min_epu8(__mmask64 __M,__m512i __A,__m512i __B)720 __m512i test_mm512_maskz_min_epu8(__mmask64 __M, __m512i __A, __m512i __B) {
721 // CHECK-LABEL: @test_mm512_maskz_min_epu8
722 // CHECK: @llvm.x86.avx512.mask.pminu.b.512
723 return _mm512_maskz_min_epu8(__M,__A,__B);
724 }
test_mm512_mask_min_epu8(__m512i __W,__mmask64 __M,__m512i __A,__m512i __B)725 __m512i test_mm512_mask_min_epu8(__m512i __W, __mmask64 __M, __m512i __A, __m512i __B) {
726 // CHECK-LABEL: @test_mm512_mask_min_epu8
727 // CHECK: @llvm.x86.avx512.mask.pminu.b.512
728 return _mm512_mask_min_epu8(__W,__M,__A,__B);
729 }
test_mm512_min_epu16(__m512i __A,__m512i __B)730 __m512i test_mm512_min_epu16(__m512i __A, __m512i __B) {
731 // CHECK-LABEL: @test_mm512_min_epu16
732 // CHECK: @llvm.x86.avx512.mask.pminu.w.512
733 return _mm512_min_epu16(__A,__B);
734 }
test_mm512_maskz_min_epu16(__mmask32 __M,__m512i __A,__m512i __B)735 __m512i test_mm512_maskz_min_epu16(__mmask32 __M, __m512i __A, __m512i __B) {
736 // CHECK-LABEL: @test_mm512_maskz_min_epu16
737 // CHECK: @llvm.x86.avx512.mask.pminu.w.512
738 return _mm512_maskz_min_epu16(__M,__A,__B);
739 }
test_mm512_mask_min_epu16(__m512i __W,__mmask32 __M,__m512i __A,__m512i __B)740 __m512i test_mm512_mask_min_epu16(__m512i __W, __mmask32 __M, __m512i __A, __m512i __B) {
741 // CHECK-LABEL: @test_mm512_mask_min_epu16
742 // CHECK: @llvm.x86.avx512.mask.pminu.w.512
743 return _mm512_mask_min_epu16(__W,__M,__A,__B);
744 }
test_mm512_shuffle_epi8(__m512i __A,__m512i __B)745 __m512i test_mm512_shuffle_epi8(__m512i __A, __m512i __B) {
746 // CHECK-LABEL: @test_mm512_shuffle_epi8
747 // CHECK: @llvm.x86.avx512.mask.pshuf.b.512
748 return _mm512_shuffle_epi8(__A,__B);
749 }
test_mm512_mask_shuffle_epi8(__m512i __W,__mmask64 __U,__m512i __A,__m512i __B)750 __m512i test_mm512_mask_shuffle_epi8(__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) {
751 // CHECK-LABEL: @test_mm512_mask_shuffle_epi8
752 // CHECK: @llvm.x86.avx512.mask.pshuf.b.512
753 return _mm512_mask_shuffle_epi8(__W,__U,__A,__B);
754 }
test_mm512_maskz_shuffle_epi8(__mmask64 __U,__m512i __A,__m512i __B)755 __m512i test_mm512_maskz_shuffle_epi8(__mmask64 __U, __m512i __A, __m512i __B) {
756 // CHECK-LABEL: @test_mm512_maskz_shuffle_epi8
757 // CHECK: @llvm.x86.avx512.mask.pshuf.b.512
758 return _mm512_maskz_shuffle_epi8(__U,__A,__B);
759 }
test_mm512_subs_epi8(__m512i __A,__m512i __B)760 __m512i test_mm512_subs_epi8(__m512i __A, __m512i __B) {
761 // CHECK-LABEL: @test_mm512_subs_epi8
762 // CHECK: @llvm.x86.avx512.mask.psubs.b.512
763 return _mm512_subs_epi8(__A,__B);
764 }
test_mm512_mask_subs_epi8(__m512i __W,__mmask64 __U,__m512i __A,__m512i __B)765 __m512i test_mm512_mask_subs_epi8(__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) {
766 // CHECK-LABEL: @test_mm512_mask_subs_epi8
767 // CHECK: @llvm.x86.avx512.mask.psubs.b.512
768 return _mm512_mask_subs_epi8(__W,__U,__A,__B);
769 }
test_mm512_maskz_subs_epi8(__mmask64 __U,__m512i __A,__m512i __B)770 __m512i test_mm512_maskz_subs_epi8(__mmask64 __U, __m512i __A, __m512i __B) {
771 // CHECK-LABEL: @test_mm512_maskz_subs_epi8
772 // CHECK: @llvm.x86.avx512.mask.psubs.b.512
773 return _mm512_maskz_subs_epi8(__U,__A,__B);
774 }
test_mm512_subs_epi16(__m512i __A,__m512i __B)775 __m512i test_mm512_subs_epi16(__m512i __A, __m512i __B) {
776 // CHECK-LABEL: @test_mm512_subs_epi16
777 // CHECK: @llvm.x86.avx512.mask.psubs.w.512
778 return _mm512_subs_epi16(__A,__B);
779 }
test_mm512_mask_subs_epi16(__m512i __W,__mmask32 __U,__m512i __A,__m512i __B)780 __m512i test_mm512_mask_subs_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
781 // CHECK-LABEL: @test_mm512_mask_subs_epi16
782 // CHECK: @llvm.x86.avx512.mask.psubs.w.512
783 return _mm512_mask_subs_epi16(__W,__U,__A,__B);
784 }
test_mm512_maskz_subs_epi16(__mmask32 __U,__m512i __A,__m512i __B)785 __m512i test_mm512_maskz_subs_epi16(__mmask32 __U, __m512i __A, __m512i __B) {
786 // CHECK-LABEL: @test_mm512_maskz_subs_epi16
787 // CHECK: @llvm.x86.avx512.mask.psubs.w.512
788 return _mm512_maskz_subs_epi16(__U,__A,__B);
789 }
test_mm512_subs_epu8(__m512i __A,__m512i __B)790 __m512i test_mm512_subs_epu8(__m512i __A, __m512i __B) {
791 // CHECK-LABEL: @test_mm512_subs_epu8
792 // CHECK: @llvm.x86.avx512.mask.psubus.b.512
793 return _mm512_subs_epu8(__A,__B);
794 }
test_mm512_mask_subs_epu8(__m512i __W,__mmask64 __U,__m512i __A,__m512i __B)795 __m512i test_mm512_mask_subs_epu8(__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) {
796 // CHECK-LABEL: @test_mm512_mask_subs_epu8
797 // CHECK: @llvm.x86.avx512.mask.psubus.b.512
798 return _mm512_mask_subs_epu8(__W,__U,__A,__B);
799 }
test_mm512_maskz_subs_epu8(__mmask64 __U,__m512i __A,__m512i __B)800 __m512i test_mm512_maskz_subs_epu8(__mmask64 __U, __m512i __A, __m512i __B) {
801 // CHECK-LABEL: @test_mm512_maskz_subs_epu8
802 // CHECK: @llvm.x86.avx512.mask.psubus.b.512
803 return _mm512_maskz_subs_epu8(__U,__A,__B);
804 }
test_mm512_subs_epu16(__m512i __A,__m512i __B)805 __m512i test_mm512_subs_epu16(__m512i __A, __m512i __B) {
806 // CHECK-LABEL: @test_mm512_subs_epu16
807 // CHECK: @llvm.x86.avx512.mask.psubus.w.512
808 return _mm512_subs_epu16(__A,__B);
809 }
test_mm512_mask_subs_epu16(__m512i __W,__mmask32 __U,__m512i __A,__m512i __B)810 __m512i test_mm512_mask_subs_epu16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
811 // CHECK-LABEL: @test_mm512_mask_subs_epu16
812 // CHECK: @llvm.x86.avx512.mask.psubus.w.512
813 return _mm512_mask_subs_epu16(__W,__U,__A,__B);
814 }
test_mm512_maskz_subs_epu16(__mmask32 __U,__m512i __A,__m512i __B)815 __m512i test_mm512_maskz_subs_epu16(__mmask32 __U, __m512i __A, __m512i __B) {
816 // CHECK-LABEL: @test_mm512_maskz_subs_epu16
817 // CHECK: @llvm.x86.avx512.mask.psubus.w.512
818 return _mm512_maskz_subs_epu16(__U,__A,__B);
819 }
test_mm512_mask2_permutex2var_epi16(__m512i __A,__m512i __I,__mmask32 __U,__m512i __B)820 __m512i test_mm512_mask2_permutex2var_epi16(__m512i __A, __m512i __I, __mmask32 __U, __m512i __B) {
821 // CHECK-LABEL: @test_mm512_mask2_permutex2var_epi16
822 // CHECK: @llvm.x86.avx512.mask.vpermi2var.hi.512
823 return _mm512_mask2_permutex2var_epi16(__A,__I,__U,__B);
824 }
test_mm512_permutex2var_epi16(__m512i __A,__m512i __I,__m512i __B)825 __m512i test_mm512_permutex2var_epi16(__m512i __A, __m512i __I, __m512i __B) {
826 // CHECK-LABEL: @test_mm512_permutex2var_epi16
827 // CHECK: @llvm.x86.avx512.mask.vpermt2var.hi.512
828 return _mm512_permutex2var_epi16(__A,__I,__B);
829 }
test_mm512_mask_permutex2var_epi16(__m512i __A,__mmask32 __U,__m512i __I,__m512i __B)830 __m512i test_mm512_mask_permutex2var_epi16(__m512i __A, __mmask32 __U, __m512i __I, __m512i __B) {
831 // CHECK-LABEL: @test_mm512_mask_permutex2var_epi16
832 // CHECK: @llvm.x86.avx512.mask.vpermt2var.hi.512
833 return _mm512_mask_permutex2var_epi16(__A,__U,__I,__B);
834 }
test_mm512_maskz_permutex2var_epi16(__mmask32 __U,__m512i __A,__m512i __I,__m512i __B)835 __m512i test_mm512_maskz_permutex2var_epi16(__mmask32 __U, __m512i __A, __m512i __I, __m512i __B) {
836 // CHECK-LABEL: @test_mm512_maskz_permutex2var_epi16
837 // CHECK: @llvm.x86.avx512.maskz.vpermt2var.hi.512
838 return _mm512_maskz_permutex2var_epi16(__U,__A,__I,__B);
839 }
840
test_mm512_mulhrs_epi16(__m512i __A,__m512i __B)841 __m512i test_mm512_mulhrs_epi16(__m512i __A, __m512i __B) {
842 // CHECK-LABEL: @test_mm512_mulhrs_epi16
843 // CHECK: @llvm.x86.avx512.mask.pmul.hr.sw.512
844 return _mm512_mulhrs_epi16(__A,__B);
845 }
test_mm512_mask_mulhrs_epi16(__m512i __W,__mmask32 __U,__m512i __A,__m512i __B)846 __m512i test_mm512_mask_mulhrs_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
847 // CHECK-LABEL: @test_mm512_mask_mulhrs_epi16
848 // CHECK: @llvm.x86.avx512.mask.pmul.hr.sw.512
849 return _mm512_mask_mulhrs_epi16(__W,__U,__A,__B);
850 }
test_mm512_maskz_mulhrs_epi16(__mmask32 __U,__m512i __A,__m512i __B)851 __m512i test_mm512_maskz_mulhrs_epi16(__mmask32 __U, __m512i __A, __m512i __B) {
852 // CHECK-LABEL: @test_mm512_maskz_mulhrs_epi16
853 // CHECK: @llvm.x86.avx512.mask.pmul.hr.sw.512
854 return _mm512_maskz_mulhrs_epi16(__U,__A,__B);
855 }
test_mm512_mulhi_epi16(__m512i __A,__m512i __B)856 __m512i test_mm512_mulhi_epi16(__m512i __A, __m512i __B) {
857 // CHECK-LABEL: @test_mm512_mulhi_epi16
858 // CHECK: @llvm.x86.avx512.mask.pmulh.w.512
859 return _mm512_mulhi_epi16(__A,__B);
860 }
test_mm512_mask_mulhi_epi16(__m512i __W,__mmask32 __U,__m512i __A,__m512i __B)861 __m512i test_mm512_mask_mulhi_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
862 // CHECK-LABEL: @test_mm512_mask_mulhi_epi16
863 // CHECK: @llvm.x86.avx512.mask.pmulh.w.512
864 return _mm512_mask_mulhi_epi16(__W,__U,__A,__B);
865 }
test_mm512_maskz_mulhi_epi16(__mmask32 __U,__m512i __A,__m512i __B)866 __m512i test_mm512_maskz_mulhi_epi16(__mmask32 __U, __m512i __A, __m512i __B) {
867 // CHECK-LABEL: @test_mm512_maskz_mulhi_epi16
868 // CHECK: @llvm.x86.avx512.mask.pmulh.w.512
869 return _mm512_maskz_mulhi_epi16(__U,__A,__B);
870 }
test_mm512_mulhi_epu16(__m512i __A,__m512i __B)871 __m512i test_mm512_mulhi_epu16(__m512i __A, __m512i __B) {
872 // CHECK-LABEL: @test_mm512_mulhi_epu16
873 // CHECK: @llvm.x86.avx512.mask.pmulhu.w.512
874 return _mm512_mulhi_epu16(__A,__B);
875 }
test_mm512_mask_mulhi_epu16(__m512i __W,__mmask32 __U,__m512i __A,__m512i __B)876 __m512i test_mm512_mask_mulhi_epu16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
877 // CHECK-LABEL: @test_mm512_mask_mulhi_epu16
878 // CHECK: @llvm.x86.avx512.mask.pmulhu.w.512
879 return _mm512_mask_mulhi_epu16(__W,__U,__A,__B);
880 }
test_mm512_maskz_mulhi_epu16(__mmask32 __U,__m512i __A,__m512i __B)881 __m512i test_mm512_maskz_mulhi_epu16(__mmask32 __U, __m512i __A, __m512i __B) {
882 // CHECK-LABEL: @test_mm512_maskz_mulhi_epu16
883 // CHECK: @llvm.x86.avx512.mask.pmulhu.w.512
884 return _mm512_maskz_mulhi_epu16(__U,__A,__B);
885 }
886
test_mm512_maddubs_epi16(__m512i __X,__m512i __Y)887 __m512i test_mm512_maddubs_epi16(__m512i __X, __m512i __Y) {
888 // CHECK-LABEL: @test_mm512_maddubs_epi16
889 // CHECK: @llvm.x86.avx512.mask.pmaddubs.w.512
890 return _mm512_maddubs_epi16(__X,__Y);
891 }
test_mm512_mask_maddubs_epi16(__m512i __W,__mmask32 __U,__m512i __X,__m512i __Y)892 __m512i test_mm512_mask_maddubs_epi16(__m512i __W, __mmask32 __U, __m512i __X, __m512i __Y) {
893 // CHECK-LABEL: @test_mm512_mask_maddubs_epi16
894 // CHECK: @llvm.x86.avx512.mask.pmaddubs.w.512
895 return _mm512_mask_maddubs_epi16(__W,__U,__X,__Y);
896 }
test_mm512_maskz_maddubs_epi16(__mmask32 __U,__m512i __X,__m512i __Y)897 __m512i test_mm512_maskz_maddubs_epi16(__mmask32 __U, __m512i __X, __m512i __Y) {
898 // CHECK-LABEL: @test_mm512_maskz_maddubs_epi16
899 // CHECK: @llvm.x86.avx512.mask.pmaddubs.w.512
900 return _mm512_maskz_maddubs_epi16(__U,__X,__Y);
901 }
test_mm512_madd_epi16(__m512i __A,__m512i __B)902 __m512i test_mm512_madd_epi16(__m512i __A, __m512i __B) {
903 // CHECK-LABEL: @test_mm512_madd_epi16
904 // CHECK: @llvm.x86.avx512.mask.pmaddw.d.512
905 return _mm512_madd_epi16(__A,__B);
906 }
test_mm512_mask_madd_epi16(__m512i __W,__mmask16 __U,__m512i __A,__m512i __B)907 __m512i test_mm512_mask_madd_epi16(__m512i __W, __mmask16 __U, __m512i __A, __m512i __B) {
908 // CHECK-LABEL: @test_mm512_mask_madd_epi16
909 // CHECK: @llvm.x86.avx512.mask.pmaddw.d.512
910 return _mm512_mask_madd_epi16(__W,__U,__A,__B);
911 }
test_mm512_maskz_madd_epi16(__mmask16 __U,__m512i __A,__m512i __B)912 __m512i test_mm512_maskz_madd_epi16(__mmask16 __U, __m512i __A, __m512i __B) {
913 // CHECK-LABEL: @test_mm512_maskz_madd_epi16
914 // CHECK: @llvm.x86.avx512.mask.pmaddw.d.512
915 return _mm512_maskz_madd_epi16(__U,__A,__B);
916 }
917
test_mm512_cvtsepi16_epi8(__m512i __A)918 __m256i test_mm512_cvtsepi16_epi8(__m512i __A) {
919 // CHECK-LABEL: @test_mm512_cvtsepi16_epi8
920 // CHECK: @llvm.x86.avx512.mask.pmovs.wb.512
921 return _mm512_cvtsepi16_epi8(__A);
922 }
923
test_mm512_mask_cvtsepi16_epi8(__m256i __O,__mmask32 __M,__m512i __A)924 __m256i test_mm512_mask_cvtsepi16_epi8(__m256i __O, __mmask32 __M, __m512i __A) {
925 // CHECK-LABEL: @test_mm512_mask_cvtsepi16_epi8
926 // CHECK: @llvm.x86.avx512.mask.pmovs.wb.512
927 return _mm512_mask_cvtsepi16_epi8(__O, __M, __A);
928 }
929
test_mm512_maskz_cvtsepi16_epi8(__mmask32 __M,__m512i __A)930 __m256i test_mm512_maskz_cvtsepi16_epi8(__mmask32 __M, __m512i __A) {
931 // CHECK-LABEL: @test_mm512_maskz_cvtsepi16_epi8
932 // CHECK: @llvm.x86.avx512.mask.pmovs.wb.512
933 return _mm512_maskz_cvtsepi16_epi8(__M, __A);
934 }
935
test_mm512_cvtusepi16_epi8(__m512i __A)936 __m256i test_mm512_cvtusepi16_epi8(__m512i __A) {
937 // CHECK-LABEL: @test_mm512_cvtusepi16_epi8
938 // CHECK: @llvm.x86.avx512.mask.pmovus.wb.512
939 return _mm512_cvtusepi16_epi8(__A);
940 }
941
test_mm512_mask_cvtusepi16_epi8(__m256i __O,__mmask32 __M,__m512i __A)942 __m256i test_mm512_mask_cvtusepi16_epi8(__m256i __O, __mmask32 __M, __m512i __A) {
943 // CHECK-LABEL: @test_mm512_mask_cvtusepi16_epi8
944 // CHECK: @llvm.x86.avx512.mask.pmovus.wb.512
945 return _mm512_mask_cvtusepi16_epi8(__O, __M, __A);
946 }
947
test_mm512_maskz_cvtusepi16_epi8(__mmask32 __M,__m512i __A)948 __m256i test_mm512_maskz_cvtusepi16_epi8(__mmask32 __M, __m512i __A) {
949 // CHECK-LABEL: @test_mm512_maskz_cvtusepi16_epi8
950 // CHECK: @llvm.x86.avx512.mask.pmovus.wb.512
951 return _mm512_maskz_cvtusepi16_epi8(__M, __A);
952 }
953
test_mm512_cvtepi16_epi8(__m512i __A)954 __m256i test_mm512_cvtepi16_epi8(__m512i __A) {
955 // CHECK-LABEL: @test_mm512_cvtepi16_epi8
956 // CHECK: @llvm.x86.avx512.mask.pmov.wb.512
957 return _mm512_cvtepi16_epi8(__A);
958 }
959
test_mm512_mask_cvtepi16_epi8(__m256i __O,__mmask32 __M,__m512i __A)960 __m256i test_mm512_mask_cvtepi16_epi8(__m256i __O, __mmask32 __M, __m512i __A) {
961 // CHECK-LABEL: @test_mm512_mask_cvtepi16_epi8
962 // CHECK: @llvm.x86.avx512.mask.pmov.wb.512
963 return _mm512_mask_cvtepi16_epi8(__O, __M, __A);
964 }
965
test_mm512_maskz_cvtepi16_epi8(__mmask32 __M,__m512i __A)966 __m256i test_mm512_maskz_cvtepi16_epi8(__mmask32 __M, __m512i __A) {
967 // CHECK-LABEL: @test_mm512_maskz_cvtepi16_epi8
968 // CHECK: @llvm.x86.avx512.mask.pmov.wb.512
969 return _mm512_maskz_cvtepi16_epi8(__M, __A);
970 }
971
test_mm512_unpackhi_epi8(__m512i __A,__m512i __B)972 __m512i test_mm512_unpackhi_epi8(__m512i __A, __m512i __B) {
973 // CHECK-LABEL: @test_mm512_unpackhi_epi8
974 // CHECK: @llvm.x86.avx512.mask.punpckhb.w.512
975 return _mm512_unpackhi_epi8(__A, __B);
976 }
977
test_mm512_mask_unpackhi_epi8(__m512i __W,__mmask64 __U,__m512i __A,__m512i __B)978 __m512i test_mm512_mask_unpackhi_epi8(__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) {
979 // CHECK-LABEL: @test_mm512_mask_unpackhi_epi8
980 // CHECK: @llvm.x86.avx512.mask.punpckhb.w.512
981 return _mm512_mask_unpackhi_epi8(__W, __U, __A, __B);
982 }
983
test_mm512_maskz_unpackhi_epi8(__mmask64 __U,__m512i __A,__m512i __B)984 __m512i test_mm512_maskz_unpackhi_epi8(__mmask64 __U, __m512i __A, __m512i __B) {
985 // CHECK-LABEL: @test_mm512_maskz_unpackhi_epi8
986 // CHECK: @llvm.x86.avx512.mask.punpckhb.w.512
987 return _mm512_maskz_unpackhi_epi8(__U, __A, __B);
988 }
989
test_mm512_unpackhi_epi16(__m512i __A,__m512i __B)990 __m512i test_mm512_unpackhi_epi16(__m512i __A, __m512i __B) {
991 // CHECK-LABEL: @test_mm512_unpackhi_epi16
992 // CHECK: @llvm.x86.avx512.mask.punpckhw.d.512
993 return _mm512_unpackhi_epi16(__A, __B);
994 }
995
test_mm512_mask_unpackhi_epi16(__m512i __W,__mmask32 __U,__m512i __A,__m512i __B)996 __m512i test_mm512_mask_unpackhi_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
997 // CHECK-LABEL: @test_mm512_mask_unpackhi_epi16
998 // CHECK: @llvm.x86.avx512.mask.punpckhw.d.512
999 return _mm512_mask_unpackhi_epi16(__W, __U, __A, __B);
1000 }
1001
test_mm512_maskz_unpackhi_epi16(__mmask32 __U,__m512i __A,__m512i __B)1002 __m512i test_mm512_maskz_unpackhi_epi16(__mmask32 __U, __m512i __A, __m512i __B) {
1003 // CHECK-LABEL: @test_mm512_maskz_unpackhi_epi16
1004 // CHECK: @llvm.x86.avx512.mask.punpckhw.d.512
1005 return _mm512_maskz_unpackhi_epi16(__U, __A, __B);
1006 }
1007
test_mm512_unpacklo_epi8(__m512i __A,__m512i __B)1008 __m512i test_mm512_unpacklo_epi8(__m512i __A, __m512i __B) {
1009 // CHECK-LABEL: @test_mm512_unpacklo_epi8
1010 // CHECK: @llvm.x86.avx512.mask.punpcklb.w.512
1011 return _mm512_unpacklo_epi8(__A, __B);
1012 }
1013
test_mm512_mask_unpacklo_epi8(__m512i __W,__mmask64 __U,__m512i __A,__m512i __B)1014 __m512i test_mm512_mask_unpacklo_epi8(__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) {
1015 // CHECK-LABEL: @test_mm512_mask_unpacklo_epi8
1016 // CHECK: @llvm.x86.avx512.mask.punpcklb.w.512
1017 return _mm512_mask_unpacklo_epi8(__W, __U, __A, __B);
1018 }
1019
test_mm512_maskz_unpacklo_epi8(__mmask64 __U,__m512i __A,__m512i __B)1020 __m512i test_mm512_maskz_unpacklo_epi8(__mmask64 __U, __m512i __A, __m512i __B) {
1021 // CHECK-LABEL: @test_mm512_maskz_unpacklo_epi8
1022 // CHECK: @llvm.x86.avx512.mask.punpcklb.w.512
1023 return _mm512_maskz_unpacklo_epi8(__U, __A, __B);
1024 }
1025
test_mm512_unpacklo_epi16(__m512i __A,__m512i __B)1026 __m512i test_mm512_unpacklo_epi16(__m512i __A, __m512i __B) {
1027 // CHECK-LABEL: @test_mm512_unpacklo_epi16
1028 // CHECK: @llvm.x86.avx512.mask.punpcklw.d.512
1029 return _mm512_unpacklo_epi16(__A, __B);
1030 }
1031
test_mm512_mask_unpacklo_epi16(__m512i __W,__mmask32 __U,__m512i __A,__m512i __B)1032 __m512i test_mm512_mask_unpacklo_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
1033 // CHECK-LABEL: @test_mm512_mask_unpacklo_epi16
1034 // CHECK: @llvm.x86.avx512.mask.punpcklw.d.512
1035 return _mm512_mask_unpacklo_epi16(__W, __U, __A, __B);
1036 }
1037
test_mm512_maskz_unpacklo_epi16(__mmask32 __U,__m512i __A,__m512i __B)1038 __m512i test_mm512_maskz_unpacklo_epi16(__mmask32 __U, __m512i __A, __m512i __B) {
1039 // CHECK-LABEL: @test_mm512_maskz_unpacklo_epi16
1040 // CHECK: @llvm.x86.avx512.mask.punpcklw.d.512
1041 return _mm512_maskz_unpacklo_epi16(__U, __A, __B);
1042 }
1043
1044