Lines Matching refs:SKX
3 …lc < %s -mtriple=x86_64-apple-darwin -mcpu=skx | FileCheck %s --check-prefix=ALL --check-prefix=SKX
14 ; SKX-LABEL: zext_8x8mem_to_8x16:
15 ; SKX: ## BB#0:
16 ; SKX-NEXT: vpsllw $15, %xmm0, %xmm0
17 ; SKX-NEXT: vpmovw2m %xmm0, %k1
18 ; SKX-NEXT: vpmovzxbw {{.*#+}} xmm0 {%k1} {z} = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,…
19 ; SKX-NEXT: retq
35 ; SKX-LABEL: sext_8x8mem_to_8x16:
36 ; SKX: ## BB#0:
37 ; SKX-NEXT: vpsllw $15, %xmm0, %xmm0
38 ; SKX-NEXT: vpmovw2m %xmm0, %k1
39 ; SKX-NEXT: vpmovsxbw (%rdi), %xmm0 {%k1} {z}
40 ; SKX-NEXT: retq
58 ; SKX-LABEL: zext_16x8mem_to_16x16:
59 ; SKX: ## BB#0:
60 ; SKX-NEXT: vpsllw $7, %xmm0, %xmm0
61 ; SKX-NEXT: vpmovb2m %xmm0, %k1
62 ; SKX-NEXT: vpmovzxbw {{.*#+}} ymm0 {%k1} {z} = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,…
63 ; SKX-NEXT: retq
80 ; SKX-LABEL: sext_16x8mem_to_16x16:
81 ; SKX: ## BB#0:
82 ; SKX-NEXT: vpsllw $7, %xmm0, %xmm0
83 ; SKX-NEXT: vpmovb2m %xmm0, %k1
84 ; SKX-NEXT: vpmovsxbw (%rdi), %ymm0 {%k1} {z}
85 ; SKX-NEXT: retq
111 ; SKX-LABEL: zext_16x8_to_16x16_mask:
112 ; SKX: ## BB#0:
113 ; SKX-NEXT: vpsllw $7, %xmm1, %xmm1
114 ; SKX-NEXT: vpmovb2m %xmm1, %k1
115 ; SKX-NEXT: vpmovzxbw {{.*#+}} ymm0 {%k1} {z} = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],z…
116 ; SKX-NEXT: retq
141 ; SKX-LABEL: sext_16x8_to_16x16_mask:
142 ; SKX: ## BB#0:
143 ; SKX-NEXT: vpsllw $7, %xmm1, %xmm1
144 ; SKX-NEXT: vpmovb2m %xmm1, %k1
145 ; SKX-NEXT: vpmovsxbw %xmm0, %ymm0 {%k1} {z}
146 ; SKX-NEXT: retq
169 ; SKX-LABEL: zext_32x8mem_to_32x16:
170 ; SKX: ## BB#0:
171 ; SKX-NEXT: vpsllw $7, %ymm0, %ymm0
172 ; SKX-NEXT: vpmovb2m %ymm0, %k1
173 ; SKX-NEXT: vpmovzxbw {{.*#+}} zmm0 {%k1} {z} = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,…
174 ; SKX-NEXT: retq
198 ; SKX-LABEL: sext_32x8mem_to_32x16:
199 ; SKX: ## BB#0:
200 ; SKX-NEXT: vpsllw $7, %ymm0, %ymm0
201 ; SKX-NEXT: vpmovb2m %ymm0, %k1
202 ; SKX-NEXT: vpmovsxbw (%rdi), %zmm0 {%k1} {z}
203 ; SKX-NEXT: retq
219 ; SKX-LABEL: zext_32x8_to_32x16:
220 ; SKX: ## BB#0:
221 ; SKX-NEXT: vpmovzxbw {{.*#+}} zmm0 = ymm0[0],zero,ymm0[1],zero,ymm0[2],zero,ymm0[3],zero,ymm0[4…
222 ; SKX-NEXT: retq
244 ; SKX-LABEL: zext_32x8_to_32x16_mask:
245 ; SKX: ## BB#0:
246 ; SKX-NEXT: vpsllw $7, %ymm1, %ymm1
247 ; SKX-NEXT: vpmovb2m %ymm1, %k1
248 ; SKX-NEXT: vpmovzxbw {{.*#+}} zmm0 {%k1} {z} = ymm0[0],zero,ymm0[1],zero,ymm0[2],zero,ymm0[3],z…
249 ; SKX-NEXT: retq
264 ; SKX-LABEL: sext_32x8_to_32x16:
265 ; SKX: ## BB#0:
266 ; SKX-NEXT: vpmovsxbw %ymm0, %zmm0
267 ; SKX-NEXT: retq
289 ; SKX-LABEL: sext_32x8_to_32x16_mask:
290 ; SKX: ## BB#0:
291 ; SKX-NEXT: vpsllw $7, %ymm1, %ymm1
292 ; SKX-NEXT: vpmovb2m %ymm1, %k1
293 ; SKX-NEXT: vpmovsxbw %ymm0, %zmm0 {%k1} {z}
294 ; SKX-NEXT: retq
309 ; SKX-LABEL: zext_4x8mem_to_4x32:
310 ; SKX: ## BB#0:
311 ; SKX-NEXT: vpslld $31, %xmm0, %xmm0
312 ; SKX-NEXT: vptestmd %xmm0, %xmm0, %k1
313 ; SKX-NEXT: vpmovzxbd {{.*#+}} xmm0 {%k1} {z} = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[…
314 ; SKX-NEXT: retq
330 ; SKX-LABEL: sext_4x8mem_to_4x32:
331 ; SKX: ## BB#0:
332 ; SKX-NEXT: vpslld $31, %xmm0, %xmm0
333 ; SKX-NEXT: vptestmd %xmm0, %xmm0, %k1
334 ; SKX-NEXT: vpmovsxbd (%rdi), %xmm0 {%k1} {z}
335 ; SKX-NEXT: retq
354 ; SKX-LABEL: zext_8x8mem_to_8x32:
355 ; SKX: ## BB#0:
356 ; SKX-NEXT: vpsllw $15, %xmm0, %xmm0
357 ; SKX-NEXT: vpmovw2m %xmm0, %k1
358 ; SKX-NEXT: vpmovzxbd {{.*#+}} ymm0 {%k1} {z} = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[…
359 ; SKX-NEXT: retq
378 ; SKX-LABEL: sext_8x8mem_to_8x32:
379 ; SKX: ## BB#0:
380 ; SKX-NEXT: vpsllw $15, %xmm0, %xmm0
381 ; SKX-NEXT: vpmovw2m %xmm0, %k1
382 ; SKX-NEXT: vpmovsxbd (%rdi), %ymm0 {%k1} {z}
383 ; SKX-NEXT: retq
399 ; SKX-LABEL: zext_16x8mem_to_16x32:
400 ; SKX: ## BB#0:
401 ; SKX-NEXT: vpsllw $7, %xmm0, %xmm0
402 ; SKX-NEXT: vpmovb2m %xmm0, %k1
403 ; SKX-NEXT: vpmovzxbd {{.*#+}} zmm0 {%k1} {z} = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[…
404 ; SKX-NEXT: retq
420 ; SKX-LABEL: sext_16x8mem_to_16x32:
421 ; SKX: ## BB#0:
422 ; SKX-NEXT: vpsllw $7, %xmm0, %xmm0
423 ; SKX-NEXT: vpmovb2m %xmm0, %k1
424 ; SKX-NEXT: vpmovsxbd (%rdi), %zmm0 {%k1} {z}
425 ; SKX-NEXT: retq
441 ; SKX-LABEL: zext_16x8_to_16x32_mask:
442 ; SKX: ## BB#0:
443 ; SKX-NEXT: vpsllw $7, %xmm1, %xmm1
444 ; SKX-NEXT: vpmovb2m %xmm1, %k1
445 ; SKX-NEXT: vpmovzxbd {{.*#+}} zmm0 {%k1} {z} = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xm…
446 ; SKX-NEXT: retq
461 ; SKX-LABEL: sext_16x8_to_16x32_mask:
462 ; SKX: ## BB#0:
463 ; SKX-NEXT: vpsllw $7, %xmm1, %xmm1
464 ; SKX-NEXT: vpmovb2m %xmm1, %k1
465 ; SKX-NEXT: vpmovsxbd %xmm0, %zmm0 {%k1} {z}
466 ; SKX-NEXT: retq
500 ; SKX-LABEL: zext_2x8mem_to_2x64:
501 ; SKX: ## BB#0:
502 ; SKX-NEXT: vpsllq $63, %xmm0, %xmm0
503 ; SKX-NEXT: vptestmq %xmm0, %xmm0, %k1
504 ; SKX-NEXT: vpmovzxbq {{.*#+}} xmm0 {%k1} {z} = mem[0],zero,zero,zero,zero,zero,zero,zero,mem[1]…
505 ; SKX-NEXT: retq
521 ; SKX-LABEL: sext_2x8mem_to_2x64mask:
522 ; SKX: ## BB#0:
523 ; SKX-NEXT: vpsllq $63, %xmm0, %xmm0
524 ; SKX-NEXT: vptestmq %xmm0, %xmm0, %k1
525 ; SKX-NEXT: vpmovsxbq (%rdi), %xmm0 {%k1} {z}
526 ; SKX-NEXT: retq
552 ; SKX-LABEL: zext_4x8mem_to_4x64:
553 ; SKX: ## BB#0:
554 ; SKX-NEXT: vpslld $31, %xmm0, %xmm0
555 ; SKX-NEXT: vptestmd %xmm0, %xmm0, %k1
556 ; SKX-NEXT: vpmovzxbq {{.*#+}} ymm0 {%k1} {z} = mem[0],zero,zero,zero,zero,zero,zero,zero,mem[1]…
557 ; SKX-NEXT: retq
574 ; SKX-LABEL: sext_4x8mem_to_4x64mask:
575 ; SKX: ## BB#0:
576 ; SKX-NEXT: vpslld $31, %xmm0, %xmm0
577 ; SKX-NEXT: vptestmd %xmm0, %xmm0, %k1
578 ; SKX-NEXT: vpmovsxbq (%rdi), %ymm0 {%k1} {z}
579 ; SKX-NEXT: retq
605 ; SKX-LABEL: zext_8x8mem_to_8x64:
606 ; SKX: ## BB#0:
607 ; SKX-NEXT: vpsllw $15, %xmm0, %xmm0
608 ; SKX-NEXT: vpmovw2m %xmm0, %k1
609 ; SKX-NEXT: vpmovzxbq {{.*#+}} zmm0 {%k1} {z} = mem[0],zero,zero,zero,zero,zero,zero,zero,mem[1]…
610 ; SKX-NEXT: retq
626 ; SKX-LABEL: sext_8x8mem_to_8x64mask:
627 ; SKX: ## BB#0:
628 ; SKX-NEXT: vpsllw $15, %xmm0, %xmm0
629 ; SKX-NEXT: vpmovw2m %xmm0, %k1
630 ; SKX-NEXT: vpmovsxbq (%rdi), %zmm0 {%k1} {z}
631 ; SKX-NEXT: retq
657 ; SKX-LABEL: zext_4x16mem_to_4x32:
658 ; SKX: ## BB#0:
659 ; SKX-NEXT: vpslld $31, %xmm0, %xmm0
660 ; SKX-NEXT: vptestmd %xmm0, %xmm0, %k1
661 ; SKX-NEXT: vpmovzxwd {{.*#+}} xmm0 {%k1} {z} = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
662 ; SKX-NEXT: retq
678 ; SKX-LABEL: sext_4x16mem_to_4x32mask:
679 ; SKX: ## BB#0:
680 ; SKX-NEXT: vpslld $31, %xmm0, %xmm0
681 ; SKX-NEXT: vptestmd %xmm0, %xmm0, %k1
682 ; SKX-NEXT: vpmovsxwd (%rdi), %xmm0 {%k1} {z}
683 ; SKX-NEXT: retq
713 ; SKX-LABEL: zext_8x16mem_to_8x32:
714 ; SKX: ## BB#0:
715 ; SKX-NEXT: vpsllw $15, %xmm0, %xmm0
716 ; SKX-NEXT: vpmovw2m %xmm0, %k1
717 ; SKX-NEXT: vpmovzxwd {{.*#+}} ymm0 {%k1} {z} = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,…
718 ; SKX-NEXT: retq
737 ; SKX-LABEL: sext_8x16mem_to_8x32mask:
738 ; SKX: ## BB#0:
739 ; SKX-NEXT: vpsllw $15, %xmm0, %xmm0
740 ; SKX-NEXT: vpmovw2m %xmm0, %k1
741 ; SKX-NEXT: vpmovsxwd (%rdi), %ymm0 {%k1} {z}
742 ; SKX-NEXT: retq
771 ; SKX-LABEL: zext_8x16_to_8x32mask:
772 ; SKX: ## BB#0:
773 ; SKX-NEXT: vpsllw $15, %xmm1, %xmm1
774 ; SKX-NEXT: vpmovw2m %xmm1, %k1
775 ; SKX-NEXT: vpmovzxwd {{.*#+}} ymm0 {%k1} {z} = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],z…
776 ; SKX-NEXT: retq
800 ; SKX-LABEL: zext_16x16mem_to_16x32:
801 ; SKX: ## BB#0:
802 ; SKX-NEXT: vpsllw $7, %xmm0, %xmm0
803 ; SKX-NEXT: vpmovb2m %xmm0, %k1
804 ; SKX-NEXT: vpmovzxwd {{.*#+}} zmm0 {%k1} {z} = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,…
805 ; SKX-NEXT: retq
821 ; SKX-LABEL: sext_16x16mem_to_16x32mask:
822 ; SKX: ## BB#0:
823 ; SKX-NEXT: vpsllw $7, %xmm0, %xmm0
824 ; SKX-NEXT: vpmovb2m %xmm0, %k1
825 ; SKX-NEXT: vpmovsxwd (%rdi), %zmm0 {%k1} {z}
826 ; SKX-NEXT: retq
851 ; SKX-LABEL: zext_16x16_to_16x32mask:
852 ; SKX: ## BB#0:
853 ; SKX-NEXT: vpsllw $7, %xmm1, %xmm1
854 ; SKX-NEXT: vpmovb2m %xmm1, %k1
855 ; SKX-NEXT: vpmovzxwd {{.*#+}} zmm0 {%k1} {z} = ymm0[0],zero,ymm0[1],zero,ymm0[2],zero,ymm0[3],z…
856 ; SKX-NEXT: retq
881 ; SKX-LABEL: zext_2x16mem_to_2x64:
882 ; SKX: ## BB#0:
883 ; SKX-NEXT: vpsllq $63, %xmm0, %xmm0
884 ; SKX-NEXT: vptestmq %xmm0, %xmm0, %k1
885 ; SKX-NEXT: vpmovzxwq {{.*#+}} xmm0 {%k1} {z} = mem[0],zero,zero,zero,mem[1],zero,zero,zero
886 ; SKX-NEXT: retq
903 ; SKX-LABEL: sext_2x16mem_to_2x64mask:
904 ; SKX: ## BB#0:
905 ; SKX-NEXT: vpsllq $63, %xmm0, %xmm0
906 ; SKX-NEXT: vptestmq %xmm0, %xmm0, %k1
907 ; SKX-NEXT: vpmovsxwq (%rdi), %xmm0 {%k1} {z}
908 ; SKX-NEXT: retq
935 ; SKX-LABEL: zext_4x16mem_to_4x64:
936 ; SKX: ## BB#0:
937 ; SKX-NEXT: vpslld $31, %xmm0, %xmm0
938 ; SKX-NEXT: vptestmd %xmm0, %xmm0, %k1
939 ; SKX-NEXT: vpmovzxwq {{.*#+}} ymm0 {%k1} {z} = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[…
940 ; SKX-NEXT: retq
957 ; SKX-LABEL: sext_4x16mem_to_4x64mask:
958 ; SKX: ## BB#0:
959 ; SKX-NEXT: vpslld $31, %xmm0, %xmm0
960 ; SKX-NEXT: vptestmd %xmm0, %xmm0, %k1
961 ; SKX-NEXT: vpmovsxwq (%rdi), %ymm0 {%k1} {z}
962 ; SKX-NEXT: retq
988 ; SKX-LABEL: zext_8x16mem_to_8x64:
989 ; SKX: ## BB#0:
990 ; SKX-NEXT: vpsllw $15, %xmm0, %xmm0
991 ; SKX-NEXT: vpmovw2m %xmm0, %k1
992 ; SKX-NEXT: vpmovzxwq {{.*#+}} zmm0 {%k1} {z} = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[…
993 ; SKX-NEXT: retq
1009 ; SKX-LABEL: sext_8x16mem_to_8x64mask:
1010 ; SKX: ## BB#0:
1011 ; SKX-NEXT: vpsllw $15, %xmm0, %xmm0
1012 ; SKX-NEXT: vpmovw2m %xmm0, %k1
1013 ; SKX-NEXT: vpmovsxwq (%rdi), %zmm0 {%k1} {z}
1014 ; SKX-NEXT: retq
1040 ; SKX-LABEL: zext_8x16_to_8x64mask:
1041 ; SKX: ## BB#0:
1042 ; SKX-NEXT: vpsllw $15, %xmm1, %xmm1
1043 ; SKX-NEXT: vpmovw2m %xmm1, %k1
1044 ; SKX-NEXT: vpmovzxwq {{.*#+}} zmm0 {%k1} {z} = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xm…
1045 ; SKX-NEXT: retq
1070 ; SKX-LABEL: zext_2x32mem_to_2x64:
1071 ; SKX: ## BB#0:
1072 ; SKX-NEXT: vpsllq $63, %xmm0, %xmm0
1073 ; SKX-NEXT: vptestmq %xmm0, %xmm0, %k1
1074 ; SKX-NEXT: vpmovzxdq {{.*#+}} xmm0 {%k1} {z} = mem[0],zero,mem[1],zero
1075 ; SKX-NEXT: retq
1092 ; SKX-LABEL: sext_2x32mem_to_2x64mask:
1093 ; SKX: ## BB#0:
1094 ; SKX-NEXT: vpsllq $63, %xmm0, %xmm0
1095 ; SKX-NEXT: vptestmq %xmm0, %xmm0, %k1
1096 ; SKX-NEXT: vpmovsxdq (%rdi), %xmm0 {%k1} {z}
1097 ; SKX-NEXT: retq
1124 ; SKX-LABEL: zext_4x32mem_to_4x64:
1125 ; SKX: ## BB#0:
1126 ; SKX-NEXT: vpslld $31, %xmm0, %xmm0
1127 ; SKX-NEXT: vptestmd %xmm0, %xmm0, %k1
1128 ; SKX-NEXT: vpmovzxdq {{.*#+}} ymm0 {%k1} {z} = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
1129 ; SKX-NEXT: retq
1146 ; SKX-LABEL: sext_4x32mem_to_4x64mask:
1147 ; SKX: ## BB#0:
1148 ; SKX-NEXT: vpslld $31, %xmm0, %xmm0
1149 ; SKX-NEXT: vptestmd %xmm0, %xmm0, %k1
1150 ; SKX-NEXT: vpmovsxdq (%rdi), %ymm0 {%k1} {z}
1151 ; SKX-NEXT: retq
1187 ; SKX-LABEL: zext_4x32_to_4x64mask:
1188 ; SKX: ## BB#0:
1189 ; SKX-NEXT: vpslld $31, %xmm1, %xmm1
1190 ; SKX-NEXT: vptestmd %xmm1, %xmm1, %k1
1191 ; SKX-NEXT: vpmovzxdq {{.*#+}} ymm0 {%k1} {z} = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],z…
1192 ; SKX-NEXT: retq
1207 ; SKX-LABEL: zext_8x32mem_to_8x64:
1208 ; SKX: ## BB#0:
1209 ; SKX-NEXT: vpsllw $15, %xmm0, %xmm0
1210 ; SKX-NEXT: vpmovw2m %xmm0, %k1
1211 ; SKX-NEXT: vpmovzxdq {{.*#+}} zmm0 {%k1} {z} = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,…
1212 ; SKX-NEXT: retq
1228 ; SKX-LABEL: sext_8x32mem_to_8x64mask:
1229 ; SKX: ## BB#0:
1230 ; SKX-NEXT: vpsllw $15, %xmm0, %xmm0
1231 ; SKX-NEXT: vpmovw2m %xmm0, %k1
1232 ; SKX-NEXT: vpmovsxdq (%rdi), %zmm0 {%k1} {z}
1233 ; SKX-NEXT: retq
1268 ; SKX-LABEL: zext_8x32_to_8x64mask:
1269 ; SKX: ## BB#0:
1270 ; SKX-NEXT: vpsllw $15, %xmm1, %xmm1
1271 ; SKX-NEXT: vpmovw2m %xmm1, %k1
1272 ; SKX-NEXT: vpmovzxdq {{.*#+}} zmm0 {%k1} {z} = ymm0[0],zero,ymm0[1],zero,ymm0[2],zero,ymm0[3],z…
1273 ; SKX-NEXT: retq
1314 ; SKX-LABEL: zext_8i1_to_8xi64:
1315 ; SKX: ## BB#0:
1316 ; SKX-NEXT: kmovb %edi, %k1
1317 ; SKX-NEXT: vpbroadcastq {{.*}}(%rip), %zmm0 {%k1} {z}
1318 ; SKX-NEXT: retq
1334 ; SKX-LABEL: trunc_16i8_to_16i1:
1335 ; SKX: ## BB#0:
1336 ; SKX-NEXT: vpsllw $7, %xmm0, %xmm0
1337 ; SKX-NEXT: vpmovb2m %xmm0, %k0
1338 ; SKX-NEXT: kmovw %k0, %eax
1339 ; SKX-NEXT: ## kill: %AX<def> %AX<kill> %EAX<kill>
1340 ; SKX-NEXT: retq
1367 ; SKX-LABEL: trunc_4i32_to_4i1:
1368 ; SKX: ## BB#0:
1369 ; SKX-NEXT: vpslld $31, %xmm0, %xmm0
1370 ; SKX-NEXT: vptestmd %xmm0, %xmm0, %k1
1371 ; SKX-NEXT: vpslld $31, %xmm1, %xmm0
1372 ; SKX-NEXT: vptestmd %xmm0, %xmm0, %k0 {%k1}
1373 ; SKX-NEXT: vpmovm2d %k0, %xmm0
1374 ; SKX-NEXT: retq
1393 ; SKX-LABEL: trunc_8i16_to_8i1:
1394 ; SKX: ## BB#0:
1395 ; SKX-NEXT: vpsllw $15, %xmm0, %xmm0
1396 ; SKX-NEXT: vpmovw2m %xmm0, %k0
1397 ; SKX-NEXT: kmovb %k0, %eax
1398 ; SKX-NEXT: ## kill: %AL<def> %AL<kill> %EAX<kill>
1399 ; SKX-NEXT: retq
1417 ; SKX-LABEL: sext_8i1_8i32:
1418 ; SKX: ## BB#0:
1419 ; SKX-NEXT: vpcmpgtd %ymm0, %ymm1, %k0
1420 ; SKX-NEXT: knotb %k0, %k0
1421 ; SKX-NEXT: vpmovm2d %k0, %ymm0
1422 ; SKX-NEXT: retq
1455 ; SKX-LABEL: sext_8i1_8i16:
1456 ; SKX: ## BB#0:
1457 ; SKX-NEXT: vpcmpgtd %ymm0, %ymm1, %k0
1458 ; SKX-NEXT: vpmovm2w %k0, %xmm0
1459 ; SKX-NEXT: retq
1473 ; SKX-LABEL: sext_16i1_16i32:
1474 ; SKX: ## BB#0:
1475 ; SKX-NEXT: vpcmpgtd %zmm0, %zmm1, %k0
1476 ; SKX-NEXT: vpmovm2d %k0, %zmm0
1477 ; SKX-NEXT: retq
1490 ; SKX-LABEL: sext_8i1_8i64:
1491 ; SKX: ## BB#0:
1492 ; SKX-NEXT: vpcmpgtd %ymm0, %ymm1, %k0
1493 ; SKX-NEXT: vpmovm2q %k0, %zmm0
1494 ; SKX-NEXT: retq
1816 ; SKX-LABEL: test21:
1817 ; SKX: ## BB#0:
1818 ; SKX-NEXT: vpsllw $7, %zmm2, %zmm2
1819 ; SKX-NEXT: vpmovb2m %zmm2, %k1
1820 ; SKX-NEXT: vmovdqu16 %zmm0, %zmm0 {%k1} {z}
1821 ; SKX-NEXT: kshiftrq $32, %k1, %k1
1822 ; SKX-NEXT: vmovdqu16 %zmm1, %zmm1 {%k1} {z}
1823 ; SKX-NEXT: retq
1908 ; SKX-LABEL: zext_64xi1_to_64xi8:
1909 ; SKX: ## BB#0:
1910 ; SKX-NEXT: vpcmpeqb %zmm1, %zmm0, %k1
1911 ; SKX-NEXT: vmovdqu8 {{.*}}(%rip), %zmm0 {%k1} {z}
1912 ; SKX-NEXT: retq
1927 ; SKX-LABEL: zext_32xi1_to_32xi16:
1928 ; SKX: ## BB#0:
1929 ; SKX-NEXT: vpcmpeqw %zmm1, %zmm0, %k1
1930 ; SKX-NEXT: vmovdqu16 {{.*}}(%rip), %zmm0 {%k1} {z}
1931 ; SKX-NEXT: retq
1944 ; SKX-LABEL: zext_16xi1_to_16xi16:
1945 ; SKX: ## BB#0:
1946 ; SKX-NEXT: vpcmpeqw %ymm1, %ymm0, %k1
1947 ; SKX-NEXT: vmovdqu16 {{.*}}(%rip), %ymm0 {%k1} {z}
1948 ; SKX-NEXT: retq
1968 ; SKX-LABEL: zext_32xi1_to_32xi8:
1969 ; SKX: ## BB#0:
1970 ; SKX-NEXT: vpcmpeqw %zmm1, %zmm0, %k1
1971 ; SKX-NEXT: vmovdqu8 {{.*}}(%rip), %ymm0 {%k1} {z}
1972 ; SKX-NEXT: retq
1988 ; SKX-LABEL: zext_4xi1_to_4x32:
1989 ; SKX: ## BB#0:
1990 ; SKX-NEXT: vmovdqa64 {{.*#+}} xmm2 = [255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0]
1991 ; SKX-NEXT: vpandq %xmm2, %xmm1, %xmm1
1992 ; SKX-NEXT: vpandq %xmm2, %xmm0, %xmm0
1993 ; SKX-NEXT: vpcmpeqd %xmm1, %xmm0, %k1
1994 ; SKX-NEXT: vpbroadcastd {{.*}}(%rip), %xmm0 {%k1} {z}
1995 ; SKX-NEXT: retq
2011 ; SKX-LABEL: zext_2xi1_to_2xi64:
2012 ; SKX: ## BB#0:
2013 ; SKX-NEXT: vmovdqa64 {{.*#+}} xmm2 = [255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0]
2014 ; SKX-NEXT: vpandq %xmm2, %xmm1, %xmm1
2015 ; SKX-NEXT: vpandq %xmm2, %xmm0, %xmm0
2016 ; SKX-NEXT: vpcmpeqq %xmm1, %xmm0, %k1
2017 ; SKX-NEXT: vmovdqa64 {{.*}}(%rip), %xmm0 {%k1} {z}
2018 ; SKX-NEXT: retq