1 // RUN: %clang_cc1 %s -flax-vector-conversions=none -ffreestanding -triple=x86_64 -target-feature +avx10.2-256 \
2 // RUN: -Wno-invalid-feature-combination -emit-llvm -o - -Wall -Werror | FileCheck %s
3 // RUN: %clang_cc1 %s -flax-vector-conversions=none -ffreestanding -triple=i386 -target-feature +avx10.2-256 \
4 // RUN: -Wno-invalid-feature-combination -emit-llvm -o - -Wall -Werror | FileCheck %s
8 __m128i
test_mm_ipcvtnebf16_epi8(__m128bh __A
) {
9 // CHECK-LABEL: @test_mm_ipcvtnebf16_epi8(
10 // CHECK: @llvm.x86.avx10.vcvtnebf162ibs128
11 return _mm_ipcvtnebf16_epi8(__A
);
14 __m128i
test_mm_mask_ipcvtnebf16_epi8(__m128i __S
, __mmask8 __A
, __m128bh __B
) {
15 // CHECK-LABEL: @test_mm_mask_ipcvtnebf16_epi8(
16 // CHECK: @llvm.x86.avx10.vcvtnebf162ibs128
17 // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
18 return _mm_mask_ipcvtnebf16_epi8(__S
, __A
, __B
);
21 __m128i
test_mm_maskz_ipcvtnebf16_epi8(__mmask8 __A
, __m128bh __B
) {
22 // CHECK-LABEL: @test_mm_maskz_ipcvtnebf16_epi8(
23 // CHECK: @llvm.x86.avx10.vcvtnebf162ibs128
24 // CHECK: zeroinitializer
25 // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
26 return _mm_maskz_ipcvtnebf16_epi8(__A
, __B
);
29 __m256i
test_mm256_ipcvtnebf16_epi8(__m256bh __A
) {
30 // CHECK-LABEL: @test_mm256_ipcvtnebf16_epi8(
31 // CHECK: @llvm.x86.avx10.vcvtnebf162ibs256
32 return _mm256_ipcvtnebf16_epi8(__A
);
35 __m256i
test_mm256_mask_ipcvtnebf16_epi8(__m256i __S
, __mmask16 __A
, __m256bh __B
) {
36 // CHECK-LABEL: @test_mm256_mask_ipcvtnebf16_epi8(
37 // CHECK: @llvm.x86.avx10.vcvtnebf162ibs256
38 // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
39 return _mm256_mask_ipcvtnebf16_epi8(__S
, __A
, __B
);
42 __m256i
test_mm256_maskz_ipcvtnebf16_epi8(__mmask16 __A
, __m256bh __B
) {
43 // CHECK-LABEL: @test_mm256_maskz_ipcvtnebf16_epi8(
44 // CHECK: @llvm.x86.avx10.vcvtnebf162ibs256
45 // CHECK: zeroinitializer
46 // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
47 return _mm256_maskz_ipcvtnebf16_epi8(__A
, __B
);
50 __m128i
test_mm_ipcvtnebf16_epu8(__m128bh __A
) {
51 // CHECK-LABEL: @test_mm_ipcvtnebf16_epu8(
52 // CHECK: @llvm.x86.avx10.vcvtnebf162iubs128
53 return _mm_ipcvtnebf16_epu8(__A
);
56 __m128i
test_mm_mask_ipcvtnebf16_epu8(__m128i __S
, __mmask8 __A
, __m128bh __B
) {
57 // CHECK-LABEL: @test_mm_mask_ipcvtnebf16_epu8(
58 // CHECK: @llvm.x86.avx10.vcvtnebf162iubs128
59 // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
60 return _mm_mask_ipcvtnebf16_epu8(__S
, __A
, __B
);
63 __m128i
test_mm_maskz_ipcvtnebf16_epu8(__mmask8 __A
, __m128bh __B
) {
64 // CHECK-LABEL: @test_mm_maskz_ipcvtnebf16_epu8(
65 // CHECK: @llvm.x86.avx10.vcvtnebf162iubs128
66 // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
67 return _mm_maskz_ipcvtnebf16_epu8(__A
, __B
);
70 __m256i
test_mm256_ipcvtnebf16_epu8(__m256bh __A
) {
71 // CHECK-LABEL: @test_mm256_ipcvtnebf16_epu8(
72 // CHECK: @llvm.x86.avx10.vcvtnebf162iubs256
73 return _mm256_ipcvtnebf16_epu8(__A
);
76 __m256i
test_mm256_mask_ipcvtnebf16_epu8(__m256i __S
, __mmask16 __A
, __m256bh __B
) {
77 // CHECK-LABEL: @test_mm256_mask_ipcvtnebf16_epu8(
78 // CHECK: @llvm.x86.avx10.vcvtnebf162iubs256
79 // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
80 return _mm256_mask_ipcvtnebf16_epu8(__S
, __A
, __B
);
83 __m256i
test_mm256_maskz_ipcvtnebf16_epu8(__mmask16 __A
, __m256bh __B
) {
84 // CHECK-LABEL: @test_mm256_maskz_ipcvtnebf16_epu8(
85 // CHECK: @llvm.x86.avx10.vcvtnebf162iubs256
86 // CHECK: zeroinitializer
87 // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
88 return _mm256_maskz_ipcvtnebf16_epu8(__A
, __B
);
91 __m128i
test_mm_ipcvtph_epi8(__m128h __A
) {
92 // CHECK-LABEL: @test_mm_ipcvtph_epi8(
93 // CHECK: @llvm.x86.avx10.mask.vcvtph2ibs128
94 return _mm_ipcvtph_epi8(__A
);
97 __m128i
test_mm_mask_ipcvtph_epi8(__m128i __S
, __mmask8 __A
, __m128h __B
) {
98 // CHECK-LABEL: @test_mm_mask_ipcvtph_epi8(
99 // CHECK: @llvm.x86.avx10.mask.vcvtph2ibs128
100 return _mm_mask_ipcvtph_epi8(__S
, __A
, __B
);
103 __m128i
test_mm_maskz_ipcvtph_epi8(__mmask8 __A
, __m128h __B
) {
104 // CHECK-LABEL: @test_mm_maskz_ipcvtph_epi8(
105 // CHECK: @llvm.x86.avx10.mask.vcvtph2ibs128
106 return _mm_maskz_ipcvtph_epi8(__A
, __B
);
109 __m256i
test_mm256_ipcvtph_epi8(__m256h __A
) {
110 // CHECK-LABEL: @test_mm256_ipcvtph_epi8(
111 // CHECK: @llvm.x86.avx10.mask.vcvtph2ibs256
112 return _mm256_ipcvtph_epi8(__A
);
115 __m256i
test_mm256_mask_ipcvtph_epi8(__m256i __S
, __mmask16 __A
, __m256h __B
) {
116 // CHECK-LABEL: @test_mm256_mask_ipcvtph_epi8(
117 // CHECK: @llvm.x86.avx10.mask.vcvtph2ibs256
118 return _mm256_mask_ipcvtph_epi8(__S
, __A
, __B
);
121 __m256i
test_mm256_maskz_ipcvtph_epi8(__mmask16 __A
, __m256h __B
) {
122 // CHECK-LABEL: @test_mm256_maskz_ipcvtph_epi8(
123 // CHECK: @llvm.x86.avx10.mask.vcvtph2ibs256
124 return _mm256_maskz_ipcvtph_epi8(__A
, __B
);
127 __m256i
test_mm256_ipcvt_roundph_epi8(__m256h __A
) {
128 // CHECK-LABEL: @test_mm256_ipcvt_roundph_epi8(
129 // CHECK: @llvm.x86.avx10.mask.vcvtph2ibs256
130 return _mm256_ipcvt_roundph_epi8(__A
, _MM_FROUND_TO_ZERO
| _MM_FROUND_NO_EXC
);
133 __m256i
test_mm256_mask_ipcvt_roundph_epi8(__m256i __S
, __mmask16 __A
, __m256h __B
) {
134 // CHECK-LABEL: @test_mm256_mask_ipcvt_roundph_epi8(
135 // CHECK: @llvm.x86.avx10.mask.vcvtph2ibs256
136 return _mm256_mask_ipcvt_roundph_epi8(__S
, __A
, __B
, _MM_FROUND_TO_ZERO
| _MM_FROUND_NO_EXC
);
138 __m256i
test_mm256_maskz_ipcvt_roundph_epi8(__mmask16 __A
, __m256h __B
) {
139 // CHECK-LABEL: @test_mm256_maskz_ipcvt_roundph_epi8(
140 // CHECK: @llvm.x86.avx10.mask.vcvtph2ibs256
141 return _mm256_maskz_ipcvt_roundph_epi8(__A
, __B
, _MM_FROUND_TO_ZERO
| _MM_FROUND_NO_EXC
);
144 __m128i
test_mm_ipcvtph_epu8(__m128h __A
) {
145 // CHECK-LABEL: @test_mm_ipcvtph_epu8(
146 // CHECK: @llvm.x86.avx10.mask.vcvtph2iubs128
147 return _mm_ipcvtph_epu8(__A
);
150 __m128i
test_mm_mask_ipcvtph_epu8(__m128i __S
, __mmask8 __A
, __m128h __B
) {
151 // CHECK-LABEL: @test_mm_mask_ipcvtph_epu8(
152 // CHECK: @llvm.x86.avx10.mask.vcvtph2iubs128
153 return _mm_mask_ipcvtph_epu8(__S
, __A
, __B
);
156 __m128i
test_mm_maskz_ipcvtph_epu8(__mmask8 __A
, __m128h __B
) {
157 // CHECK-LABEL: @test_mm_maskz_ipcvtph_epu8(
158 // CHECK: @llvm.x86.avx10.mask.vcvtph2iubs128
159 return _mm_maskz_ipcvtph_epu8(__A
, __B
);
162 __m256i
test_mm256_ipcvtph_epu8(__m256h __A
) {
163 // CHECK-LABEL: @test_mm256_ipcvtph_epu8(
164 // CHECK: @llvm.x86.avx10.mask.vcvtph2iubs256
165 return _mm256_ipcvtph_epu8(__A
);
168 __m256i
test_mm256_mask_ipcvtph_epu8(__m256i __S
, __mmask16 __A
, __m256h __B
) {
169 // CHECK-LABEL: @test_mm256_mask_ipcvtph_epu8(
170 // CHECK: @llvm.x86.avx10.mask.vcvtph2iubs256
171 return _mm256_mask_ipcvtph_epu8(__S
, __A
, __B
);
174 __m256i
test_mm256_maskz_ipcvtph_epu8(__mmask16 __A
, __m256h __B
) {
175 // CHECK-LABEL: @test_mm256_maskz_ipcvtph_epu8(
176 // CHECK: @llvm.x86.avx10.mask.vcvtph2iubs256
177 return _mm256_maskz_ipcvtph_epu8(__A
, __B
);
180 __m256i
test_mm256_ipcvt_roundph_epu8(__m256h __A
) {
181 // CHECK-LABEL: @test_mm256_ipcvt_roundph_epu8(
182 // CHECK: @llvm.x86.avx10.mask.vcvtph2iubs256
183 return _mm256_ipcvt_roundph_epu8(__A
, _MM_FROUND_TO_ZERO
| _MM_FROUND_NO_EXC
);
186 __m256i
test_mm256_mask_ipcvt_roundph_epu8(__m256i __S
, __mmask16 __A
, __m256h __B
) {
187 // CHECK-LABEL: @test_mm256_mask_ipcvt_roundph_epu8(
188 // CHECK: @llvm.x86.avx10.mask.vcvtph2iubs256
189 return _mm256_mask_ipcvt_roundph_epu8(__S
, __A
, __B
, _MM_FROUND_TO_ZERO
| _MM_FROUND_NO_EXC
);
191 __m256i
test_mm256_maskz_ipcvt_roundph_epu8(__mmask16 __A
, __m256h __B
) {
192 // CHECK-LABEL: @test_mm256_maskz_ipcvt_roundph_epu8(
193 // CHECK: @llvm.x86.avx10.mask.vcvtph2iubs256
194 return _mm256_maskz_ipcvt_roundph_epu8(__A
, __B
, _MM_FROUND_TO_ZERO
| _MM_FROUND_NO_EXC
);
197 __m128i
test_mm_ipcvtps_epi8(__m128 __A
) {
198 // CHECK-LABEL: @test_mm_ipcvtps_epi8(
199 // CHECK: @llvm.x86.avx10.mask.vcvtps2ibs128
200 return _mm_ipcvtps_epi8(__A
);
203 __m128i
test_mm_mask_ipcvtps_epi8(__m128i __S
, __mmask8 __A
, __m128 __B
) {
204 // CHECK-LABEL: @test_mm_mask_ipcvtps_epi8(
205 // CHECK: @llvm.x86.avx10.mask.vcvtps2ibs128
206 return _mm_mask_ipcvtps_epi8(__S
, __A
, __B
);
209 __m128i
test_mm_maskz_ipcvtps_epi8(__mmask8 __A
, __m128 __B
) {
210 // CHECK-LABEL: @test_mm_maskz_ipcvtps_epi8(
211 // CHECK: @llvm.x86.avx10.mask.vcvtps2ibs128
212 return _mm_maskz_ipcvtps_epi8(__A
, __B
);
215 __m256i
test_mm256_ipcvtps_epi8(__m256 __A
) {
216 // CHECK-LABEL: @test_mm256_ipcvtps_epi8(
217 // CHECK: @llvm.x86.avx10.mask.vcvtps2ibs256
218 return _mm256_ipcvtps_epi8(__A
);
221 __m256i
test_mm256_mask_ipcvtps_epi8(__m256i __S
, __mmask8 __A
, __m256 __B
) {
222 // CHECK-LABEL: @test_mm256_mask_ipcvtps_epi8(
223 // CHECK: @llvm.x86.avx10.mask.vcvtps2ibs256
224 return _mm256_mask_ipcvtps_epi8(__S
, __A
, __B
);
227 __m256i
test_mm256_maskz_ipcvtps_epi8(__mmask8 __A
, __m256 __B
) {
228 // CHECK-LABEL: @test_mm256_maskz_ipcvtps_epi8(
229 // CHECK: @llvm.x86.avx10.mask.vcvtps2ibs256
230 return _mm256_maskz_ipcvtps_epi8(__A
, __B
);
233 __m256i
test_mm256_ipcvt_roundps_epi8(__m256 __A
) {
234 // CHECK-LABEL: @test_mm256_ipcvt_roundps_epi8(
235 // CHECK: @llvm.x86.avx10.mask.vcvtps2ibs256
236 return _mm256_ipcvt_roundps_epi8(__A
, _MM_FROUND_TO_ZERO
| _MM_FROUND_NO_EXC
);
239 __m256i
test_mm256_mask_ipcvt_roundps_epi8(__m256i __S
, __mmask8 __A
, __m256 __B
) {
240 // CHECK-LABEL: @test_mm256_mask_ipcvt_roundps_epi8(
241 // CHECK: @llvm.x86.avx10.mask.vcvtps2ibs256
242 return _mm256_mask_ipcvt_roundps_epi8(__S
, __A
, __B
, _MM_FROUND_TO_ZERO
| _MM_FROUND_NO_EXC
);
245 __m256i
test_mm256_maskz_ipcvt_roundps_epi8(__mmask8 __A
, __m256 __B
) {
246 // CHECK-LABEL: @test_mm256_maskz_ipcvt_roundps_epi8(
247 // CHECK: @llvm.x86.avx10.mask.vcvtps2ibs256
248 return _mm256_maskz_ipcvt_roundps_epi8(__A
, __B
, _MM_FROUND_TO_ZERO
| _MM_FROUND_NO_EXC
);
251 __m128i
test_mm_ipcvtps_epu8(__m128 __A
) {
252 // CHECK-LABEL: @test_mm_ipcvtps_epu8(
253 // CHECK: @llvm.x86.avx10.mask.vcvtps2iubs128
254 return _mm_ipcvtps_epu8(__A
);
257 __m128i
test_mm_mask_ipcvtps_epu8(__m128i __S
, __mmask8 __A
, __m128 __B
) {
258 // CHECK-LABEL: @test_mm_mask_ipcvtps_epu8(
259 // CHECK: @llvm.x86.avx10.mask.vcvtps2iubs128
260 return _mm_mask_ipcvtps_epu8(__S
, __A
, __B
);
263 __m128i
test_mm_maskz_ipcvtps_epu8(__mmask8 __A
, __m128 __B
) {
264 // CHECK-LABEL: @test_mm_maskz_ipcvtps_epu8(
265 // CHECK: @llvm.x86.avx10.mask.vcvtps2iubs128
266 return _mm_maskz_ipcvtps_epu8(__A
, __B
);
269 __m256i
test_mm256_ipcvtps_epu8(__m256 __A
) {
270 // CHECK-LABEL: @test_mm256_ipcvtps_epu8(
271 // CHECK: @llvm.x86.avx10.mask.vcvtps2iubs256
272 return _mm256_ipcvtps_epu8(__A
);
275 __m256i
test_mm256_mask_ipcvtps_epu8(__m256i __S
, __mmask8 __A
, __m256 __B
) {
276 // CHECK-LABEL: @test_mm256_mask_ipcvtps_epu8(
277 // CHECK: @llvm.x86.avx10.mask.vcvtps2iubs256
278 return _mm256_mask_ipcvtps_epu8(__S
, __A
, __B
);
281 __m256i
test_mm256_maskz_ipcvtps_epu8(__mmask8 __A
, __m256 __B
) {
282 // CHECK-LABEL: @test_mm256_maskz_ipcvtps_epu8(
283 // CHECK: @llvm.x86.avx10.mask.vcvtps2iubs256
284 return _mm256_maskz_ipcvtps_epu8(__A
, __B
);
287 __m256i
test_mm256_ipcvt_roundps_epu8(__m256 __A
) {
288 // CHECK-LABEL: @test_mm256_ipcvt_roundps_epu8(
289 // CHECK: @llvm.x86.avx10.mask.vcvtps2iubs256
290 return _mm256_ipcvt_roundps_epu8(__A
, _MM_FROUND_TO_ZERO
| _MM_FROUND_NO_EXC
);
293 __m256i
test_mm256_mask_ipcvt_roundps_epu8(__m256i __S
, __mmask8 __A
, __m256 __B
) {
294 // CHECK-LABEL: @test_mm256_mask_ipcvt_roundps_epu8(
295 // CHECK: @llvm.x86.avx10.mask.vcvtps2iubs256
296 return _mm256_mask_ipcvt_roundps_epu8(__S
, __A
, __B
, _MM_FROUND_TO_ZERO
| _MM_FROUND_NO_EXC
);
299 __m256i
test_mm256_maskz_ipcvt_roundps_epu8(__mmask8 __A
, __m256 __B
) {
300 // CHECK-LABEL: @test_mm256_maskz_ipcvt_roundps_epu8(
301 // CHECK: @llvm.x86.avx10.mask.vcvtps2iubs256
302 return _mm256_maskz_ipcvt_roundps_epu8(__A
, __B
, _MM_FROUND_TO_ZERO
| _MM_FROUND_NO_EXC
);
305 __m128i
test_mm_ipcvttnebf16_epi8(__m128bh __A
) {
306 // CHECK-LABEL: @test_mm_ipcvttnebf16_epi8(
307 // CHECK: @llvm.x86.avx10.vcvttnebf162ibs128
308 return _mm_ipcvttnebf16_epi8(__A
);
311 __m128i
test_mm_mask_ipcvttnebf16_epi8(__m128i __S
, __mmask8 __A
, __m128bh __B
) {
312 // CHECK-LABEL: @test_mm_mask_ipcvttnebf16_epi8(
313 // CHECK: @llvm.x86.avx10.vcvttnebf162ibs128
314 // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
315 return _mm_mask_ipcvttnebf16_epi8(__S
, __A
, __B
);
318 __m128i
test_mm_maskz_ipcvttnebf16_epi8(__mmask8 __A
, __m128bh __B
) {
319 // CHECK-LABEL: @test_mm_maskz_ipcvttnebf16_epi8(
320 // CHECK: @llvm.x86.avx10.vcvttnebf162ibs128
321 // CHECK: zeroinitializer
322 // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
323 return _mm_maskz_ipcvttnebf16_epi8(__A
, __B
);
326 __m256i
test_mm256_ipcvttnebf16_epi8(__m256bh __A
) {
327 // CHECK-LABEL: @test_mm256_ipcvttnebf16_epi8(
328 // CHECK: @llvm.x86.avx10.vcvttnebf162ibs256
329 return _mm256_ipcvttnebf16_epi8(__A
);
332 __m256i
test_mm256_mask_ipcvttnebf16_epi8(__m256i __S
, __mmask16 __A
, __m256bh __B
) {
333 // CHECK-LABEL: @test_mm256_mask_ipcvttnebf16_epi8(
334 // CHECK: @llvm.x86.avx10.vcvttnebf162ibs256
335 // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
336 return _mm256_mask_ipcvttnebf16_epi8(__S
, __A
, __B
);
339 __m256i
test_mm256_maskz_ipcvttnebf16_epi8(__mmask16 __A
, __m256bh __B
) {
340 // CHECK-LABEL: @test_mm256_maskz_ipcvttnebf16_epi8(
341 // CHECK: @llvm.x86.avx10.vcvttnebf162ibs256
342 // CHECK: zeroinitializer
343 // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
344 return _mm256_maskz_ipcvttnebf16_epi8(__A
, __B
);
347 __m128i
test_mm_ipcvttnebf16_epu8(__m128bh __A
) {
348 // CHECK-LABEL: @test_mm_ipcvttnebf16_epu8(
349 // CHECK: @llvm.x86.avx10.vcvttnebf162iubs128
350 return _mm_ipcvttnebf16_epu8(__A
);
353 __m128i
test_mm_mask_ipcvttnebf16_epu8(__m128i __S
, __mmask8 __A
, __m128bh __B
) {
354 // CHECK-LABEL: @test_mm_mask_ipcvttnebf16_epu8(
355 // CHECK: @llvm.x86.avx10.vcvttnebf162iubs128
356 // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
357 return _mm_mask_ipcvttnebf16_epu8(__S
, __A
, __B
);
360 __m128i
test_mm_maskz_ipcvttnebf16_epu8(__mmask8 __A
, __m128bh __B
) {
361 // CHECK-LABEL: @test_mm_maskz_ipcvttnebf16_epu8(
362 // CHECK: @llvm.x86.avx10.vcvttnebf162iubs128
363 // CHECK: zeroinitializer
364 // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
365 return _mm_maskz_ipcvttnebf16_epu8(__A
, __B
);
368 __m256i
test_mm256_ipcvttnebf16_epu8(__m256bh __A
) {
369 // CHECK-LABEL: @test_mm256_ipcvttnebf16_epu8(
370 // CHECK: @llvm.x86.avx10.vcvttnebf162iubs256
371 return _mm256_ipcvttnebf16_epu8(__A
);
374 __m256i
test_mm256_mask_ipcvttnebf16_epu8(__m256i __S
, __mmask16 __A
, __m256bh __B
) {
375 // CHECK-LABEL: @test_mm256_mask_ipcvttnebf16_epu8(
376 // CHECK: @llvm.x86.avx10.vcvttnebf162iubs256
377 // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
378 return _mm256_mask_ipcvttnebf16_epu8(__S
, __A
, __B
);
381 __m256i
test_mm256_maskz_ipcvttnebf16_epu8(__mmask16 __A
, __m256bh __B
) {
382 // CHECK-LABEL: @test_mm256_maskz_ipcvttnebf16_epu8(
383 // CHECK: @llvm.x86.avx10.vcvttnebf162iubs256
384 // CHECK: zeroinitializer
385 // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
386 return _mm256_maskz_ipcvttnebf16_epu8(__A
, __B
);
389 __m128i
test_mm_ipcvttph_epi8(__m128h __A
) {
390 // CHECK-LABEL: @test_mm_ipcvttph_epi8(
391 // CHECK: @llvm.x86.avx10.mask.vcvttph2ibs128
392 return _mm_ipcvttph_epi8(__A
);
395 __m128i
test_mm_mask_ipcvttph_epi8(__m128i __S
, __mmask8 __A
, __m128h __B
) {
396 // CHECK-LABEL: @test_mm_mask_ipcvttph_epi8(
397 // CHECK: @llvm.x86.avx10.mask.vcvttph2ibs128
398 return _mm_mask_ipcvttph_epi8(__S
, __A
, __B
);
401 __m128i
test_mm_maskz_ipcvttph_epi8(__mmask8 __A
, __m128h __B
) {
402 // CHECK-LABEL: @test_mm_maskz_ipcvttph_epi8(
403 // CHECK: @llvm.x86.avx10.mask.vcvttph2ibs128
404 return _mm_maskz_ipcvttph_epi8(__A
, __B
);
407 __m256i
test_mm256_ipcvttph_epi8(__m256h __A
) {
408 // CHECK-LABEL: @test_mm256_ipcvttph_epi8(
409 // CHECK: @llvm.x86.avx10.mask.vcvttph2ibs256
410 return _mm256_ipcvttph_epi8(__A
);
413 __m256i
test_mm256_mask_ipcvttph_epi8(__m256i __S
, __mmask16 __A
, __m256h __B
) {
414 // CHECK-LABEL: @test_mm256_mask_ipcvttph_epi8(
415 // CHECK: @llvm.x86.avx10.mask.vcvttph2ibs256
416 return _mm256_mask_ipcvttph_epi8(__S
, __A
, __B
);
419 __m256i
test_mm256_maskz_ipcvttph_epi8(__mmask16 __A
, __m256h __B
) {
420 // CHECK-LABEL: @test_mm256_maskz_ipcvttph_epi8(
421 // CHECK: @llvm.x86.avx10.mask.vcvttph2ibs256
422 return _mm256_maskz_ipcvttph_epi8(__A
, __B
);
425 __m256i
test_mm256_ipcvtt_roundph_epi8(__m256h __A
) {
426 // CHECK-LABEL: @test_mm256_ipcvtt_roundph_epi8(
427 // CHECK: @llvm.x86.avx10.mask.vcvttph2ibs256
428 return _mm256_ipcvtt_roundph_epi8(__A
, _MM_FROUND_NO_EXC
);
431 __m256i
test_mm256_mask_ipcvtt_roundph_epi8(__m256i __S
, __mmask16 __A
, __m256h __B
) {
432 // CHECK-LABEL: @test_mm256_mask_ipcvtt_roundph_epi8(
433 // CHECK: @llvm.x86.avx10.mask.vcvttph2ibs256
434 return _mm256_mask_ipcvtt_roundph_epi8(__S
, __A
, __B
, _MM_FROUND_NO_EXC
);
437 __m256i
test_mm256_maskz_ipcvtt_roundph_epi8(__mmask16 __A
, __m256h __B
) {
438 // CHECK-LABEL: @test_mm256_maskz_ipcvtt_roundph_epi8(
439 // CHECK: @llvm.x86.avx10.mask.vcvttph2ibs256
440 return _mm256_maskz_ipcvtt_roundph_epi8(__A
, __B
, _MM_FROUND_NO_EXC
);
443 __m128i
test_mm_ipcvttph_epu8(__m128h __A
) {
444 // CHECK-LABEL: @test_mm_ipcvttph_epu8(
445 // CHECK: @llvm.x86.avx10.mask.vcvttph2iubs128
446 return _mm_ipcvttph_epu8(__A
);
449 __m128i
test_mm_mask_ipcvttph_epu8(__m128i __S
, __mmask8 __A
, __m128h __B
) {
450 // CHECK-LABEL: @test_mm_mask_ipcvttph_epu8(
451 // CHECK: @llvm.x86.avx10.mask.vcvttph2iubs128
452 return _mm_mask_ipcvttph_epu8(__S
, __A
, __B
);
455 __m128i
test_mm_maskz_ipcvttph_epu8(__mmask8 __A
, __m128h __B
) {
456 // CHECK-LABEL: @test_mm_maskz_ipcvttph_epu8(
457 // CHECK: @llvm.x86.avx10.mask.vcvttph2iubs128
458 return _mm_maskz_ipcvttph_epu8(__A
, __B
);
461 __m256i
test_mm256_ipcvttph_epu8(__m256h __A
) {
462 // CHECK-LABEL: @test_mm256_ipcvttph_epu8(
463 // CHECK: @llvm.x86.avx10.mask.vcvttph2iubs256
464 return _mm256_ipcvttph_epu8(__A
);
467 __m256i
test_mm256_mask_ipcvttph_epu8(__m256i __S
, __mmask16 __A
, __m256h __B
) {
468 // CHECK-LABEL: @test_mm256_mask_ipcvttph_epu8(
469 // CHECK: @llvm.x86.avx10.mask.vcvttph2iubs256
470 return _mm256_mask_ipcvttph_epu8(__S
, __A
, __B
);
473 __m256i
test_mm256_maskz_ipcvttph_epu8(__mmask16 __A
, __m256h __B
) {
474 // CHECK-LABEL: @test_mm256_maskz_ipcvttph_epu8(
475 // CHECK: @llvm.x86.avx10.mask.vcvttph2iubs256
476 return _mm256_maskz_ipcvttph_epu8(__A
, __B
);
479 __m256i
test_mm256_ipcvtt_roundph_epu8(__m256h __A
) {
480 // CHECK-LABEL: @test_mm256_ipcvtt_roundph_epu8(
481 // CHECK: @llvm.x86.avx10.mask.vcvttph2iubs256
482 return _mm256_ipcvtt_roundph_epu8(__A
, _MM_FROUND_NO_EXC
);
485 __m256i
test_mm256_mask_ipcvtt_roundph_epu8(__m256i __S
, __mmask16 __A
, __m256h __B
) {
486 // CHECK-LABEL: @test_mm256_mask_ipcvtt_roundph_epu8(
487 // CHECK: @llvm.x86.avx10.mask.vcvttph2iubs256
488 return _mm256_mask_ipcvtt_roundph_epu8(__S
, __A
, __B
, _MM_FROUND_NO_EXC
);
491 __m256i
test_mm256_maskz_ipcvtt_roundph_epu8(__mmask16 __A
, __m256h __B
) {
492 // CHECK-LABEL: @test_mm256_maskz_ipcvtt_roundph_epu8(
493 // CHECK: @llvm.x86.avx10.mask.vcvttph2iubs256
494 return _mm256_maskz_ipcvtt_roundph_epu8(__A
, __B
, _MM_FROUND_NO_EXC
);
497 __m128i
test_mm_ipcvttps_epi8(__m128 __A
) {
498 // CHECK-LABEL: @test_mm_ipcvttps_epi8(
499 // CHECK: @llvm.x86.avx10.mask.vcvttps2ibs128
500 return _mm_ipcvttps_epi8(__A
);
503 __m128i
test_mm_mask_ipcvttps_epi8(__m128i __S
, __mmask8 __A
, __m128 __B
) {
504 // CHECK-LABEL: @test_mm_mask_ipcvttps_epi8(
505 // CHECK: @llvm.x86.avx10.mask.vcvttps2ibs128
506 return _mm_mask_ipcvttps_epi8(__S
, __A
, __B
);
509 __m128i
test_mm_maskz_ipcvttps_epi8(__mmask8 __A
, __m128 __B
) {
510 // CHECK-LABEL: @test_mm_maskz_ipcvttps_epi8(
511 // CHECK: @llvm.x86.avx10.mask.vcvttps2ibs128
512 return _mm_maskz_ipcvttps_epi8(__A
, __B
);
515 __m256i
test_mm256_ipcvttps_epi8(__m256 __A
) {
516 // CHECK-LABEL: @test_mm256_ipcvttps_epi8(
517 // CHECK: @llvm.x86.avx10.mask.vcvttps2ibs256
518 return _mm256_ipcvttps_epi8(__A
);
521 __m256i
test_mm256_mask_ipcvttps_epi8(__m256i __S
, __mmask8 __A
, __m256 __B
) {
522 // CHECK-LABEL: @test_mm256_mask_ipcvttps_epi8(
523 // CHECK: @llvm.x86.avx10.mask.vcvttps2ibs256
524 return _mm256_mask_ipcvttps_epi8(__S
, __A
, __B
);
527 __m256i
test_mm256_maskz_ipcvttps_epi8(__mmask8 __A
, __m256 __B
) {
528 // CHECK-LABEL: @test_mm256_maskz_ipcvttps_epi8(
529 // CHECK: @llvm.x86.avx10.mask.vcvttps2ibs256
530 return _mm256_maskz_ipcvttps_epi8(__A
, __B
);
533 __m256i
test_mm256_ipcvtt_roundps_epi8(__m256 __A
) {
534 // CHECK-LABEL: @test_mm256_ipcvtt_roundps_epi8(
535 // CHECK: @llvm.x86.avx10.mask.vcvttps2ibs256
536 return _mm256_ipcvtt_roundps_epi8(__A
, _MM_FROUND_NO_EXC
);
539 __m256i
test_mm256_mask_ipcvtt_roundps_epi8(__m256i __S
, __mmask8 __A
, __m256 __B
) {
540 // CHECK-LABEL: @test_mm256_mask_ipcvtt_roundps_epi8(
541 // CHECK: @llvm.x86.avx10.mask.vcvttps2ibs256
542 return _mm256_mask_ipcvtt_roundps_epi8(__S
, __A
, __B
, _MM_FROUND_NO_EXC
);
545 __m256i
test_mm256_maskz_ipcvtt_roundps_epi8(__mmask8 __A
, __m256 __B
) {
546 // CHECK-LABEL: @test_mm256_maskz_ipcvtt_roundps_epi8(
547 // CHECK: @llvm.x86.avx10.mask.vcvttps2ibs256
548 return _mm256_maskz_ipcvtt_roundps_epi8(__A
, __B
, _MM_FROUND_NO_EXC
);
551 __m128i
test_mm_ipcvttps_epu8(__m128 __A
) {
552 // CHECK-LABEL: @test_mm_ipcvttps_epu8(
553 // CHECK: @llvm.x86.avx10.mask.vcvttps2iubs128
554 return _mm_ipcvttps_epu8(__A
);
557 __m128i
test_mm_mask_ipcvttps_epu8(__m128i __S
, __mmask8 __A
, __m128 __B
) {
558 // CHECK-LABEL: @test_mm_mask_ipcvttps_epu8(
559 // CHECK: @llvm.x86.avx10.mask.vcvttps2iubs128
560 return _mm_mask_ipcvttps_epu8(__S
, __A
, __B
);
563 __m128i
test_mm_maskz_ipcvttps_epu8(__mmask8 __A
, __m128 __B
) {
564 // CHECK-LABEL: @test_mm_maskz_ipcvttps_epu8(
565 // CHECK: @llvm.x86.avx10.mask.vcvttps2iubs128
566 return _mm_maskz_ipcvttps_epu8(__A
, __B
);
569 __m256i
test_mm256_ipcvttps_epu8(__m256 __A
) {
570 // CHECK-LABEL: @test_mm256_ipcvttps_epu8(
571 // CHECK: @llvm.x86.avx10.mask.vcvttps2iubs256
572 return _mm256_ipcvttps_epu8(__A
);
575 __m256i
test_mm256_mask_ipcvttps_epu8(__m256i __S
, __mmask8 __A
, __m256 __B
) {
576 // CHECK-LABEL: @test_mm256_mask_ipcvttps_epu8(
577 // CHECK: @llvm.x86.avx10.mask.vcvttps2iubs256
578 return _mm256_mask_ipcvttps_epu8(__S
, __A
, __B
);
581 __m256i
test_mm256_maskz_ipcvttps_epu8(__mmask8 __A
, __m256 __B
) {
582 // CHECK-LABEL: @test_mm256_maskz_ipcvttps_epu8(
583 // CHECK: @llvm.x86.avx10.mask.vcvttps2iubs256
584 return _mm256_maskz_ipcvttps_epu8(__A
, __B
);
587 __m256i
test_mm256_ipcvtt_roundps_epu8(__m256 __A
) {
588 // CHECK-LABEL: @test_mm256_ipcvtt_roundps_epu8(
589 // CHECK: @llvm.x86.avx10.mask.vcvttps2iubs256
590 return _mm256_ipcvtt_roundps_epu8(__A
, _MM_FROUND_NO_EXC
);
593 __m256i
test_mm256_mask_ipcvtt_roundps_epu8(__m256i __S
, __mmask8 __A
, __m256 __B
) {
594 // CHECK-LABEL: @test_mm256_mask_ipcvtt_roundps_epu8(
595 // CHECK: @llvm.x86.avx10.mask.vcvttps2iubs256
596 return _mm256_mask_ipcvtt_roundps_epu8(__S
, __A
, __B
, _MM_FROUND_NO_EXC
);
599 __m256i
test_mm256_maskz_ipcvtt_roundps_epu8(__mmask8 __A
, __m256 __B
) {
600 // CHECK-LABEL: @test_mm256_maskz_ipcvtt_roundps_epu8(
601 // CHECK: @llvm.x86.avx10.mask.vcvttps2iubs256
602 return _mm256_maskz_ipcvtt_roundps_epu8(__A
, __B
, _MM_FROUND_NO_EXC
);