Lines Matching refs:SKX
5 …arwin -mattr=avx512f,avx512bw,avx512vl < %s | FileCheck %s --check-prefix=AVX512 --check-prefix=SKX
206 ; SKX-LABEL: test5:
207 ; SKX: ## BB#0:
208 ; SKX-NEXT: vpxord %ymm2, %ymm2, %ymm2
209 ; SKX-NEXT: vpcmpeqd %ymm2, %ymm0, %k1
210 ; SKX-NEXT: vmovupd (%rdi), %zmm1 {%k1}
211 ; SKX-NEXT: vmovaps %zmm1, %zmm0
212 ; SKX-NEXT: retq
235 ; SKX-LABEL: test6:
236 ; SKX: ## BB#0:
237 ; SKX-NEXT: vpxord %xmm2, %xmm2, %xmm2
238 ; SKX-NEXT: vpcmpeqq %xmm2, %xmm0, %k1
239 ; SKX-NEXT: vmovupd (%rdi), %xmm1 {%k1}
240 ; SKX-NEXT: vmovaps %zmm1, %zmm0
241 ; SKX-NEXT: retq
264 ; SKX-LABEL: test7:
265 ; SKX: ## BB#0:
266 ; SKX-NEXT: vpxord %xmm2, %xmm2, %xmm2
267 ; SKX-NEXT: vpcmpeqd %xmm2, %xmm0, %k1
268 ; SKX-NEXT: vmovups (%rdi), %xmm1 {%k1}
269 ; SKX-NEXT: vmovaps %zmm1, %zmm0
270 ; SKX-NEXT: retq
301 ; SKX-LABEL: test8:
302 ; SKX: ## BB#0:
303 ; SKX-NEXT: vpxord %xmm2, %xmm2, %xmm2
304 ; SKX-NEXT: vpcmpeqd %xmm2, %xmm0, %k1
305 ; SKX-NEXT: vmovdqu32 (%rdi), %xmm1 {%k1}
306 ; SKX-NEXT: vmovaps %zmm1, %zmm0
307 ; SKX-NEXT: retq
335 ; SKX-LABEL: test9:
336 ; SKX: ## BB#0:
337 ; SKX-NEXT: vpxord %xmm2, %xmm2, %xmm2
338 ; SKX-NEXT: vpcmpeqd %xmm2, %xmm0, %k1
339 ; SKX-NEXT: vmovdqu32 %xmm1, (%rdi) {%k1}
340 ; SKX-NEXT: retq
377 ; SKX-LABEL: test10:
378 ; SKX: ## BB#0:
379 ; SKX-NEXT: vpxord %xmm2, %xmm2, %xmm2
380 ; SKX-NEXT: vpcmpeqd %xmm2, %xmm0, %k1
381 ; SKX-NEXT: vmovapd (%rdi), %ymm1 {%k1}
382 ; SKX-NEXT: vmovaps %zmm1, %zmm0
383 ; SKX-NEXT: retq
417 ; SKX-LABEL: test10b:
418 ; SKX: ## BB#0:
419 ; SKX-NEXT: vpxord %xmm1, %xmm1, %xmm1
420 ; SKX-NEXT: vpcmpeqd %xmm1, %xmm0, %k1
421 ; SKX-NEXT: vmovapd (%rdi), %ymm0 {%k1} {z}
422 ; SKX-NEXT: retq
460 ; SKX-LABEL: test11a:
461 ; SKX: ## BB#0:
462 ; SKX-NEXT: vpxord %ymm2, %ymm2, %ymm2
463 ; SKX-NEXT: vpcmpeqd %ymm2, %ymm0, %k1
464 ; SKX-NEXT: vmovaps (%rdi), %ymm1 {%k1}
465 ; SKX-NEXT: vmovaps %zmm1, %zmm0
466 ; SKX-NEXT: retq
507 ; SKX-LABEL: test11b:
508 ; SKX: ## BB#0:
509 ; SKX-NEXT: vpsllw $15, %xmm0, %xmm0
510 ; SKX-NEXT: vpmovw2m %xmm0, %k1
511 ; SKX-NEXT: vmovdqu32 (%rdi), %ymm1 {%k1}
512 ; SKX-NEXT: vmovaps %zmm1, %zmm0
513 ; SKX-NEXT: retq
550 ; SKX-LABEL: test11c:
551 ; SKX: ## BB#0:
552 ; SKX-NEXT: vpsllw $15, %xmm0, %xmm0
553 ; SKX-NEXT: vpmovw2m %xmm0, %k1
554 ; SKX-NEXT: vmovaps (%rdi), %ymm0 {%k1} {z}
555 ; SKX-NEXT: retq
592 ; SKX-LABEL: test11d:
593 ; SKX: ## BB#0:
594 ; SKX-NEXT: vpsllw $15, %xmm0, %xmm0
595 ; SKX-NEXT: vpmovw2m %xmm0, %k1
596 ; SKX-NEXT: vmovdqu32 (%rdi), %ymm0 {%k1} {z}
597 ; SKX-NEXT: retq
633 ; SKX-LABEL: test12:
634 ; SKX: ## BB#0:
635 ; SKX-NEXT: vpxord %ymm2, %ymm2, %ymm2
636 ; SKX-NEXT: vpcmpeqd %ymm2, %ymm0, %k1
637 ; SKX-NEXT: vmovdqu32 %ymm1, (%rdi) {%k1}
638 ; SKX-NEXT: retq
713 ; SKX-LABEL: test14:
714 ; SKX: ## BB#0:
715 ; SKX-NEXT: vpxord %xmm2, %xmm2, %xmm2
716 ; SKX-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3]
717 ; SKX-NEXT: vpcmpeqq %xmm2, %xmm0, %k0
718 ; SKX-NEXT: kshiftlw $14, %k0, %k0
719 ; SKX-NEXT: kshiftrw $14, %k0, %k1
720 ; SKX-NEXT: vmovups %xmm1, (%rdi) {%k1}
721 ; SKX-NEXT: retq
761 ; SKX-LABEL: test15:
762 ; SKX: ## BB#0:
763 ; SKX-NEXT: vpxord %xmm2, %xmm2, %xmm2
764 ; SKX-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3]
765 ; SKX-NEXT: vpcmpeqq %xmm2, %xmm0, %k1
766 ; SKX-NEXT: vpmovqd %xmm1, (%rdi) {%k1}
767 ; SKX-NEXT: retq
807 ; SKX-LABEL: test16:
808 ; SKX: ## BB#0:
809 ; SKX-NEXT: vpxord %xmm2, %xmm2, %xmm2
810 ; SKX-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3]
811 ; SKX-NEXT: vpcmpeqq %xmm2, %xmm0, %k0
812 ; SKX-NEXT: kshiftlw $14, %k0, %k0
813 ; SKX-NEXT: kshiftrw $14, %k0, %k1
814 ; SKX-NEXT: vmovups (%rdi), %xmm1 {%k1}
815 ; SKX-NEXT: vmovaps %zmm1, %zmm0
816 ; SKX-NEXT: retq
862 ; SKX-LABEL: test17:
863 ; SKX: ## BB#0:
864 ; SKX-NEXT: vpxord %xmm2, %xmm2, %xmm2
865 ; SKX-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3]
866 ; SKX-NEXT: vpcmpeqq %xmm2, %xmm0, %k0
867 ; SKX-NEXT: kshiftlw $14, %k0, %k0
868 ; SKX-NEXT: kshiftrw $14, %k0, %k1
869 ; SKX-NEXT: vpshufd {{.*#+}} xmm0 = xmm1[0,2,2,3]
870 ; SKX-NEXT: vmovdqu32 (%rdi), %xmm0 {%k1}
871 ; SKX-NEXT: vpmovsxdq %xmm0, %xmm0
872 ; SKX-NEXT: retq
909 ; SKX-LABEL: test18:
910 ; SKX: ## BB#0:
911 ; SKX-NEXT: vpxord %xmm1, %xmm1, %xmm1
912 ; SKX-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2],xmm1[3]
913 ; SKX-NEXT: vpcmpeqq %xmm1, %xmm0, %k0
914 ; SKX-NEXT: kshiftlw $14, %k0, %k0
915 ; SKX-NEXT: kshiftrw $14, %k0, %k1
916 ; SKX-NEXT: vmovups (%rdi), %xmm0 {%k1} {z}
917 ; SKX-NEXT: retq
935 ; SKX-LABEL: load_all:
936 ; SKX: ## BB#0:
937 ; SKX-NEXT: kxnorw %k0, %k0, %k1
938 ; SKX-NEXT: vmovups (%rdi), %xmm0 {%k1} {z}
939 ; SKX-NEXT: retq
962 ; SKX-LABEL: mload_constmask_v4f32:
963 ; SKX: ## BB#0:
964 ; SKX-NEXT: movb $13, %al
965 ; SKX-NEXT: kmovw %eax, %k1
966 ; SKX-NEXT: vmovups (%rdi), %xmm0 {%k1}
967 ; SKX-NEXT: retq
996 ; SKX-LABEL: mload_constmask_v4i32:
997 ; SKX: ## BB#0:
998 ; SKX-NEXT: movb $14, %al
999 ; SKX-NEXT: kmovw %eax, %k1
1000 ; SKX-NEXT: vmovdqu32 (%rdi), %xmm0 {%k1}
1001 ; SKX-NEXT: retq
1025 ; SKX-LABEL: mload_constmask_v8f32:
1026 ; SKX: ## BB#0:
1027 ; SKX-NEXT: movb $7, %al
1028 ; SKX-NEXT: kmovw %eax, %k1
1029 ; SKX-NEXT: vmovups (%rdi), %ymm0 {%k1}
1030 ; SKX-NEXT: retq
1050 ; SKX-LABEL: mload_constmask_v4f64:
1051 ; SKX: ## BB#0:
1052 ; SKX-NEXT: movb $7, %al
1053 ; SKX-NEXT: kmovw %eax, %k1
1054 ; SKX-NEXT: vmovupd (%rdi), %ymm0 {%k1}
1055 ; SKX-NEXT: retq
1082 ; SKX-LABEL: mload_constmask_v8i32:
1083 ; SKX: ## BB#0:
1084 ; SKX-NEXT: movb $-121, %al
1085 ; SKX-NEXT: kmovw %eax, %k1
1086 ; SKX-NEXT: vmovdqu32 (%rdi), %ymm0 {%k1}
1087 ; SKX-NEXT: retq
1110 ; SKX-LABEL: mload_constmask_v4i64:
1111 ; SKX: ## BB#0:
1112 ; SKX-NEXT: movb $9, %al
1113 ; SKX-NEXT: kmovw %eax, %k1
1114 ; SKX-NEXT: vmovdqu64 (%rdi), %ymm0 {%k1}
1115 ; SKX-NEXT: retq
1154 ; SKX-LABEL: mload_constmask_v4f64_undef_passthrough:
1155 ; SKX: ## BB#0:
1156 ; SKX-NEXT: movb $7, %al
1157 ; SKX-NEXT: kmovw %eax, %k1
1158 ; SKX-NEXT: vmovupd (%rdi), %ymm0 {%k1} {z}
1159 ; SKX-NEXT: retq
1183 ; SKX-LABEL: mload_constmask_v4i64_undef_passthrough:
1184 ; SKX: ## BB#0:
1185 ; SKX-NEXT: movb $6, %al
1186 ; SKX-NEXT: kmovw %eax, %k1
1187 ; SKX-NEXT: vmovdqu64 (%rdi), %ymm0 {%k1} {z}
1188 ; SKX-NEXT: retq
1212 ; SKX-LABEL: test21:
1213 ; SKX: ## BB#0:
1214 ; SKX-NEXT: kxnorw %k0, %k0, %k1
1215 ; SKX-NEXT: vmovdqu32 %xmm1, (%rdi) {%k1}
1216 ; SKX-NEXT: retq
1270 ; SKX-LABEL: one_mask_bit_set3:
1271 ; SKX: ## BB#0:
1272 ; SKX-NEXT: vextracti32x4 $1, %ymm0, %xmm0
1273 ; SKX-NEXT: vmovq %xmm0, 16(%rdi)
1274 ; SKX-NEXT: retq
1295 ; SKX-LABEL: one_mask_bit_set4:
1296 ; SKX: ## BB#0:
1297 ; SKX-NEXT: vextractf32x4 $1, %ymm0, %xmm0
1298 ; SKX-NEXT: vmovhpd %xmm0, 24(%rdi)
1299 ; SKX-NEXT: retq
1379 ; SKX-LABEL: load_one_mask_bit_set3:
1380 ; SKX: ## BB#0:
1381 ; SKX-NEXT: vextracti32x4 $1, %ymm0, %xmm1
1382 ; SKX-NEXT: vpinsrq $0, 16(%rdi), %xmm1, %xmm1
1383 ; SKX-NEXT: vinserti32x4 $1, %xmm1, %ymm0, %ymm0
1384 ; SKX-NEXT: retq
1406 ; SKX-LABEL: load_one_mask_bit_set4:
1407 ; SKX: ## BB#0:
1408 ; SKX-NEXT: vextractf32x4 $1, %ymm0, %xmm1
1409 ; SKX-NEXT: vmovhpd {{.*#+}} xmm1 = xmm1[0],mem[0]
1410 ; SKX-NEXT: vinsertf32x4 $1, %xmm1, %ymm0, %ymm0
1411 ; SKX-NEXT: retq
1599 ; SKX-LABEL: test24:
1600 ; SKX: ## BB#0:
1601 ; SKX-NEXT: vpsllw $7, %xmm0, %xmm0
1602 ; SKX-NEXT: vpmovb2m %xmm0, %k1
1603 ; SKX-NEXT: vmovdqu64 (%rdi), %zmm0 {%k1} {z}
1604 ; SKX-NEXT: kshiftrw $8, %k1, %k1
1605 ; SKX-NEXT: vmovdqu64 64(%rdi), %zmm1 {%k1} {z}
1606 ; SKX-NEXT: retq
1690 ; SKX-LABEL: test_store_16i64:
1691 ; SKX: ## BB#0:
1692 ; SKX-NEXT: vpsllw $7, %xmm0, %xmm0
1693 ; SKX-NEXT: vpmovb2m %xmm0, %k1
1694 ; SKX-NEXT: vmovdqu64 %zmm1, (%rdi) {%k1}
1695 ; SKX-NEXT: kshiftrw $8, %k1, %k1
1696 ; SKX-NEXT: vmovdqu64 %zmm2, 64(%rdi) {%k1}
1697 ; SKX-NEXT: retq
1782 ; SKX-LABEL: test_store_16f64:
1783 ; SKX: ## BB#0:
1784 ; SKX-NEXT: vpsllw $7, %xmm0, %xmm0
1785 ; SKX-NEXT: vpmovb2m %xmm0, %k1
1786 ; SKX-NEXT: vmovupd %zmm1, (%rdi) {%k1}
1787 ; SKX-NEXT: kshiftrw $8, %k1, %k1
1788 ; SKX-NEXT: vmovupd %zmm2, 64(%rdi) {%k1}
1789 ; SKX-NEXT: retq
1884 ; SKX-LABEL: test_load_16i64:
1885 ; SKX: ## BB#0:
1886 ; SKX-NEXT: vpsllw $7, %xmm0, %xmm0
1887 ; SKX-NEXT: vpmovb2m %xmm0, %k1
1888 ; SKX-NEXT: vmovdqu64 (%rdi), %zmm1 {%k1}
1889 ; SKX-NEXT: kshiftrw $8, %k1, %k1
1890 ; SKX-NEXT: vmovdqu64 64(%rdi), %zmm2 {%k1}
1891 ; SKX-NEXT: vmovaps %zmm1, %zmm0
1892 ; SKX-NEXT: vmovaps %zmm2, %zmm1
1893 ; SKX-NEXT: retq
1988 ; SKX-LABEL: test_load_16f64:
1989 ; SKX: ## BB#0:
1990 ; SKX-NEXT: vpsllw $7, %xmm0, %xmm0
1991 ; SKX-NEXT: vpmovb2m %xmm0, %k1
1992 ; SKX-NEXT: vmovupd (%rdi), %zmm1 {%k1}
1993 ; SKX-NEXT: kshiftrw $8, %k1, %k1
1994 ; SKX-NEXT: vmovupd 64(%rdi), %zmm2 {%k1}
1995 ; SKX-NEXT: vmovaps %zmm1, %zmm0
1996 ; SKX-NEXT: vmovaps %zmm2, %zmm1
1997 ; SKX-NEXT: retq
2213 ; SKX-LABEL: test_load_32f64:
2214 ; SKX: ## BB#0:
2215 ; SKX-NEXT: vpsllw $7, %ymm0, %ymm0
2216 ; SKX-NEXT: vpmovb2m %ymm0, %k1
2217 ; SKX-NEXT: vmovupd (%rdi), %zmm1 {%k1}
2218 ; SKX-NEXT: kshiftrd $16, %k1, %k2
2219 ; SKX-NEXT: vmovupd 128(%rdi), %zmm3 {%k2}
2220 ; SKX-NEXT: kshiftrw $8, %k1, %k1
2221 ; SKX-NEXT: vmovupd 64(%rdi), %zmm2 {%k1}
2222 ; SKX-NEXT: kshiftrw $8, %k2, %k1
2223 ; SKX-NEXT: vmovupd 192(%rdi), %zmm4 {%k1}
2224 ; SKX-NEXT: vmovaps %zmm1, %zmm0
2225 ; SKX-NEXT: vmovaps %zmm2, %zmm1
2226 ; SKX-NEXT: vmovaps %zmm3, %zmm2
2227 ; SKX-NEXT: vmovaps %zmm4, %zmm3
2228 ; SKX-NEXT: retq
2482 ; SKX-LABEL: test_mask_load_16xi8:
2483 ; SKX: ## BB#0:
2484 ; SKX-NEXT: vpsllw $7, %xmm0, %xmm0
2485 ; SKX-NEXT: vpmovb2m %xmm0, %k1
2486 ; SKX-NEXT: vmovdqu8 (%rdi), %xmm0 {%k1} {z}
2487 ; SKX-NEXT: retq
3252 ; SKX-LABEL: test_mask_load_32xi8:
3253 ; SKX: ## BB#0:
3254 ; SKX-NEXT: vpsllw $7, %ymm0, %ymm0
3255 ; SKX-NEXT: vpmovb2m %ymm0, %k1
3256 ; SKX-NEXT: vmovdqu8 (%rdi), %ymm0 {%k1} {z}
3257 ; SKX-NEXT: retq
5536 ; SKX-LABEL: test_mask_load_64xi8:
5537 ; SKX: ## BB#0:
5538 ; SKX-NEXT: vpsllw $7, %zmm0, %zmm0
5539 ; SKX-NEXT: vpmovb2m %zmm0, %k1
5540 ; SKX-NEXT: vmovdqu8 (%rdi), %zmm1 {%k1}
5541 ; SKX-NEXT: vmovaps %zmm1, %zmm0
5542 ; SKX-NEXT: retq
5689 ; SKX-LABEL: test_mask_load_8xi16:
5690 ; SKX: ## BB#0:
5691 ; SKX-NEXT: vpsllw $15, %xmm0, %xmm0
5692 ; SKX-NEXT: vpmovw2m %xmm0, %k1
5693 ; SKX-NEXT: vmovdqu16 (%rdi), %xmm0 {%k1} {z}
5694 ; SKX-NEXT: retq
6127 ; SKX-LABEL: test_mask_load_16xi16:
6128 ; SKX: ## BB#0:
6129 ; SKX-NEXT: vpsllw $7, %xmm0, %xmm0
6130 ; SKX-NEXT: vpmovb2m %xmm0, %k1
6131 ; SKX-NEXT: vmovdqu16 (%rdi), %ymm0 {%k1} {z}
6132 ; SKX-NEXT: retq
6910 ; SKX-LABEL: test_mask_load_32xi16:
6911 ; SKX: ## BB#0:
6912 ; SKX-NEXT: vpsllw $7, %ymm0, %ymm0
6913 ; SKX-NEXT: vpmovb2m %ymm0, %k1
6914 ; SKX-NEXT: vmovdqu16 (%rdi), %zmm1 {%k1}
6915 ; SKX-NEXT: vmovaps %zmm1, %zmm0
6916 ; SKX-NEXT: retq
7158 ; SKX-LABEL: test_mask_store_16xi8:
7159 ; SKX: ## BB#0:
7160 ; SKX-NEXT: vpsllw $7, %xmm0, %xmm0
7161 ; SKX-NEXT: vpmovb2m %xmm0, %k1
7162 ; SKX-NEXT: vmovdqu8 %xmm1, (%rdi) {%k1}
7163 ; SKX-NEXT: retq
7811 ; SKX-LABEL: test_mask_store_32xi8:
7812 ; SKX: ## BB#0:
7813 ; SKX-NEXT: vpsllw $7, %ymm0, %ymm0
7814 ; SKX-NEXT: vpmovb2m %ymm0, %k1
7815 ; SKX-NEXT: vmovdqu8 %ymm1, (%rdi) {%k1}
7816 ; SKX-NEXT: retq
9215 ; SKX-LABEL: test_mask_store_64xi8:
9216 ; SKX: ## BB#0:
9217 ; SKX-NEXT: vpsllw $7, %zmm0, %zmm0
9218 ; SKX-NEXT: vpmovb2m %zmm0, %k1
9219 ; SKX-NEXT: vmovdqu8 %zmm1, (%rdi) {%k1}
9220 ; SKX-NEXT: retq
9352 ; SKX-LABEL: test_mask_store_8xi16:
9353 ; SKX: ## BB#0:
9354 ; SKX-NEXT: vpsllw $15, %xmm0, %xmm0
9355 ; SKX-NEXT: vpmovw2m %xmm0, %k1
9356 ; SKX-NEXT: vmovdqu16 %xmm1, (%rdi) {%k1}
9357 ; SKX-NEXT: retq
9731 ; SKX-LABEL: test_mask_store_16xi16:
9732 ; SKX: ## BB#0:
9733 ; SKX-NEXT: vpsllw $7, %xmm0, %xmm0
9734 ; SKX-NEXT: vpmovb2m %xmm0, %k1
9735 ; SKX-NEXT: vmovdqu16 %ymm1, (%rdi) {%k1}
9736 ; SKX-NEXT: retq
10396 ; SKX-LABEL: test_mask_store_32xi16:
10397 ; SKX: ## BB#0:
10398 ; SKX-NEXT: vpsllw $7, %ymm0, %ymm0
10399 ; SKX-NEXT: vpmovb2m %ymm0, %k1
10400 ; SKX-NEXT: vmovdqu16 %zmm1, (%rdi) {%k1}
10401 ; SKX-NEXT: retq