• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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