Lines Matching refs:SKX

3 …86-64 -mtriple=x86_64-apple-darwin -mcpu=skx | FileCheck %s --check-prefix=CHECK --check-prefix=SKX
42 ; SKX-LABEL: mask8:
43 ; SKX: ## BB#0:
44 ; SKX-NEXT: kmovb %edi, %k0
45 ; SKX-NEXT: knotb %k0, %k0
46 ; SKX-NEXT: kmovb %k0, %eax
47 ; SKX-NEXT: ## kill: %AL<def> %AL<kill> %EAX<kill>
48 ; SKX-NEXT: retq
63 ; SKX-LABEL: mask8_zext:
64 ; SKX: ## BB#0:
65 ; SKX-NEXT: kmovb %edi, %k0
66 ; SKX-NEXT: knotb %k0, %k0
67 ; SKX-NEXT: kmovb %k0, %eax
68 ; SKX-NEXT: retq
101 ; SKX-LABEL: mask8_mem:
102 ; SKX: ## BB#0:
103 ; SKX-NEXT: kmovb (%rdi), %k0
104 ; SKX-NEXT: knotb %k0, %k0
105 ; SKX-NEXT: kmovb %k0, (%rdi)
106 ; SKX-NEXT: retq
162 ; SKX-LABEL: shuf_test1:
163 ; SKX: ## BB#0:
164 ; SKX-NEXT: kmovw %edi, %k0
165 ; SKX-NEXT: kshiftrw $8, %k0, %k0
166 ; SKX-NEXT: kmovb %k0, %eax
167 ; SKX-NEXT: ## kill: %AL<def> %AL<kill> %EAX<kill>
168 ; SKX-NEXT: retq
228 ; SKX-LABEL: conv1:
229 ; SKX: ## BB#0: ## %entry
230 ; SKX-NEXT: kxnorw %k0, %k0, %k0
231 ; SKX-NEXT: kmovb %k0, (%rdi)
232 ; SKX-NEXT: movb $-2, -{{[0-9]+}}(%rsp)
233 ; SKX-NEXT: movb $-2, %al
234 ; SKX-NEXT: retq
259 ; SKX-LABEL: test4:
260 ; SKX: ## BB#0:
261 ; SKX-NEXT: vpcmpgtq %ymm3, %ymm2, %k0
262 ; SKX-NEXT: knotw %k0, %k1
263 ; SKX-NEXT: vpcmpgtq %ymm1, %ymm0, %k0 {%k1}
264 ; SKX-NEXT: vpmovm2d %k0, %xmm0
265 ; SKX-NEXT: retq
281 ; SKX-LABEL: test5:
282 ; SKX: ## BB#0:
283 ; SKX-NEXT: vpcmpgtq %xmm0, %xmm1, %k0
284 ; SKX-NEXT: knotw %k0, %k1
285 ; SKX-NEXT: vpcmpgtq %xmm3, %xmm2, %k0 {%k1}
286 ; SKX-NEXT: vpmovm2q %k0, %xmm0
287 ; SKX-NEXT: retq
319 ; SKX-LABEL: test7:
320 ; SKX: ## BB#0: ## %allocas
321 ; SKX-NEXT: vpsllw $15, %xmm0, %xmm0
322 ; SKX-NEXT: vpmovw2m %xmm0, %k0
323 ; SKX-NEXT: movb $85, %al
324 ; SKX-NEXT: kmovb %eax, %k1
325 ; SKX-NEXT: korb %k1, %k0, %k0
326 ; SKX-NEXT: ktestb %k0, %k0
327 ; SKX-NEXT: retq
357 ; SKX-LABEL: test8:
358 ; SKX: ## BB#0:
359 ; SKX-NEXT: vpxord %zmm2, %zmm2, %zmm2
360 ; SKX-NEXT: cmpl %esi, %edi
361 ; SKX-NEXT: jg LBB17_1
362 ; SKX-NEXT: ## BB#2:
363 ; SKX-NEXT: vpcmpltud %zmm2, %zmm1, %k0
364 ; SKX-NEXT: vpmovm2b %k0, %xmm0
365 ; SKX-NEXT: retq
366 ; SKX-NEXT: LBB17_1:
367 ; SKX-NEXT: vpcmpgtd %zmm2, %zmm0, %k0
368 ; SKX-NEXT: vpmovm2b %k0, %xmm0
369 ; SKX-NEXT: retq
395 ; SKX-LABEL: test9:
396 ; SKX: ## BB#0:
397 ; SKX-NEXT: cmpl %esi, %edi
398 ; SKX-NEXT: jg LBB18_1
399 ; SKX-NEXT: ## BB#2:
400 ; SKX-NEXT: vpsllw $7, %xmm1, %xmm0
401 ; SKX-NEXT: jmp LBB18_3
402 ; SKX-NEXT: LBB18_1:
403 ; SKX-NEXT: vpsllw $7, %xmm0, %xmm0
404 ; SKX-NEXT: LBB18_3:
405 ; SKX-NEXT: vpmovb2m %xmm0, %k0
406 ; SKX-NEXT: vpmovm2b %k0, %xmm0
407 ; SKX-NEXT: retq
427 ; SKX-LABEL: test11:
428 ; SKX: ## BB#0:
429 ; SKX-NEXT: cmpl %esi, %edi
430 ; SKX-NEXT: jg LBB20_1
431 ; SKX-NEXT: ## BB#2:
432 ; SKX-NEXT: vpslld $31, %xmm1, %xmm0
433 ; SKX-NEXT: jmp LBB20_3
434 ; SKX-NEXT: LBB20_1:
435 ; SKX-NEXT: vpslld $31, %xmm0, %xmm0
436 ; SKX-NEXT: LBB20_3:
437 ; SKX-NEXT: vptestmd %xmm0, %xmm0, %k0
438 ; SKX-NEXT: vpmovm2d %k0, %xmm0
439 ; SKX-NEXT: retq
485 ; SKX-LABEL: test15:
486 ; SKX: ## BB#0:
487 ; SKX-NEXT: cmpl %esi, %edi
488 ; SKX-NEXT: movw $21845, %ax ## imm = 0x5555
489 ; SKX-NEXT: movw $1, %cx
490 ; SKX-NEXT: cmovgw %ax, %cx
491 ; SKX-NEXT: kmovw %ecx, %k0
492 ; SKX-NEXT: vpmovm2b %k0, %xmm0
493 ; SKX-NEXT: retq
544 ; SKX-LABEL: test16:
545 ; SKX: ## BB#0:
546 ; SKX-NEXT: kmovq %rdi, %k0
547 ; SKX-NEXT: kxnorw %k0, %k0, %k1
548 ; SKX-NEXT: kshiftrw $15, %k1, %k1
549 ; SKX-NEXT: kshiftlq $5, %k1, %k1
550 ; SKX-NEXT: korq %k1, %k0, %k0
551 ; SKX-NEXT: vpmovm2b %k0, %zmm0
552 ; SKX-NEXT: retq
604 ; SKX-LABEL: test17:
605 ; SKX: ## BB#0:
606 ; SKX-NEXT: kmovq %rdi, %k0
607 ; SKX-NEXT: cmpl %edx, %esi
608 ; SKX-NEXT: setg %al
609 ; SKX-NEXT: kmovw %eax, %k1
610 ; SKX-NEXT: kshiftlq $5, %k1, %k1
611 ; SKX-NEXT: korq %k1, %k0, %k0
612 ; SKX-NEXT: vpmovm2b %k0, %zmm0
613 ; SKX-NEXT: retq
639 ; SKX-LABEL: test18:
640 ; SKX: ## BB#0:
641 ; SKX-NEXT: kmovb %edi, %k0
642 ; SKX-NEXT: kmovw %esi, %k1
643 ; SKX-NEXT: kshiftlw $6, %k1, %k2
644 ; SKX-NEXT: kshiftrw $15, %k2, %k2
645 ; SKX-NEXT: kshiftlw $7, %k1, %k1
646 ; SKX-NEXT: kshiftrw $15, %k1, %k1
647 ; SKX-NEXT: kshiftlb $7, %k1, %k1
648 ; SKX-NEXT: kshiftlb $6, %k2, %k2
649 ; SKX-NEXT: korb %k2, %k0, %k0
650 ; SKX-NEXT: korb %k1, %k0, %k0
651 ; SKX-NEXT: vpmovm2w %k0, %xmm0
652 ; SKX-NEXT: retq
675 ; SKX-LABEL: test21:
676 ; SKX: ## BB#0:
677 ; SKX-NEXT: vpsllw $7, %ymm1, %ymm1
678 ; SKX-NEXT: vpmovb2m %ymm1, %k1
679 ; SKX-NEXT: vmovdqu16 %zmm0, %zmm0 {%k1} {z}
680 ; SKX-NEXT: retq
695 ; SKX-LABEL: test22:
696 ; SKX: ## BB#0:
697 ; SKX-NEXT: vpslld $31, %xmm0, %xmm0
698 ; SKX-NEXT: vptestmd %xmm0, %xmm0, %k0
699 ; SKX-NEXT: kmovb %k0, (%rdi)
700 ; SKX-NEXT: retq
715 ; SKX-LABEL: test23:
716 ; SKX: ## BB#0:
717 ; SKX-NEXT: vpsllq $63, %xmm0, %xmm0
718 ; SKX-NEXT: vptestmq %xmm0, %xmm0, %k0
719 ; SKX-NEXT: kmovb %k0, (%rdi)
720 ; SKX-NEXT: retq
737 ; SKX-LABEL: store_v1i1:
738 ; SKX: ## BB#0:
739 ; SKX-NEXT: andl $1, %edi
740 ; SKX-NEXT: kmovw %edi, %k0
741 ; SKX-NEXT: kxnorw %k0, %k0, %k1
742 ; SKX-NEXT: kshiftrw $15, %k1, %k1
743 ; SKX-NEXT: kxorw %k1, %k0, %k0
744 ; SKX-NEXT: kmovb %k0, (%rsi)
745 ; SKX-NEXT: retq
761 ; SKX-LABEL: store_v2i1:
762 ; SKX: ## BB#0:
763 ; SKX-NEXT: vpsllq $63, %xmm0, %xmm0
764 ; SKX-NEXT: vptestmq %xmm0, %xmm0, %k0
765 ; SKX-NEXT: knotw %k0, %k0
766 ; SKX-NEXT: kmovb %k0, (%rdi)
767 ; SKX-NEXT: retq
784 ; SKX-LABEL: store_v4i1:
785 ; SKX: ## BB#0:
786 ; SKX-NEXT: vpslld $31, %xmm0, %xmm0
787 ; SKX-NEXT: vptestmd %xmm0, %xmm0, %k0
788 ; SKX-NEXT: knotw %k0, %k0
789 ; SKX-NEXT: kmovb %k0, (%rdi)
790 ; SKX-NEXT: retq
807 ; SKX-LABEL: store_v8i1:
808 ; SKX: ## BB#0:
809 ; SKX-NEXT: vpsllw $15, %xmm0, %xmm0
810 ; SKX-NEXT: vpmovw2m %xmm0, %k0
811 ; SKX-NEXT: knotb %k0, %k0
812 ; SKX-NEXT: kmovb %k0, (%rdi)
813 ; SKX-NEXT: retq
829 ; SKX-LABEL: store_v16i1:
830 ; SKX: ## BB#0:
831 ; SKX-NEXT: vpsllw $7, %xmm0, %xmm0
832 ; SKX-NEXT: vpmovb2m %xmm0, %k0
833 ; SKX-NEXT: knotw %k0, %k0
834 ; SKX-NEXT: kmovw %k0, (%rdi)
835 ; SKX-NEXT: retq
869 ; SKX-LABEL: f1:
870 ; SKX: ## BB#0: ## %entry
871 ; SKX-NEXT: movzbl {{.*}}(%rip), %edi
872 ; SKX-NEXT: movl %edi, %eax
873 ; SKX-NEXT: andl $1, %eax
874 ; SKX-NEXT: kmovw %eax, %k0
875 ; SKX-NEXT: kxnorw %k0, %k0, %k1
876 ; SKX-NEXT: kshiftrw $15, %k1, %k1
877 ; SKX-NEXT: kxorw %k1, %k0, %k0
878 ; SKX-NEXT: kmovb %k0, {{.*}}(%rip)
879 ; SKX-NEXT: xorl $1, %edi
880 ; SKX-NEXT: jmp _f2 ## TAILCALL
927 ; SKX-LABEL: test_build_vec_v32i1:
928 ; SKX: ## BB#0:
929 ; SKX-NEXT: movl $1497715861, %eax ## imm = 0x59455495
930 ; SKX-NEXT: kmovd %eax, %k1
931 ; SKX-NEXT: vmovdqu16 %zmm0, %zmm0 {%k1} {z}
932 ; SKX-NEXT: retq
944 ; SKX-LABEL: test_build_vec_v64i1:
945 ; SKX: ## BB#0:
946 ; SKX-NEXT: movabsq $6432645796886517060, %rax ## imm = 0x5945594549549544
947 ; SKX-NEXT: kmovq %rax, %k1
948 ; SKX-NEXT: vmovdqu8 %zmm0, %zmm0 {%k1} {z}
949 ; SKX-NEXT: retq
971 ; SKX-LABEL: ktest_1:
972 ; SKX: ## BB#0:
973 ; SKX-NEXT: vmovupd (%rdi), %zmm1
974 ; SKX-NEXT: vcmpltpd %zmm0, %zmm1, %k1
975 ; SKX-NEXT: vmovupd 8(%rdi), %zmm1 {%k1} {z}
976 ; SKX-NEXT: vcmpltpd %zmm1, %zmm0, %k0 {%k1}
977 ; SKX-NEXT: ktestb %k0, %k0
978 ; SKX-NEXT: je LBB41_2
979 ; SKX-NEXT: ## BB#1: ## %L1
980 ; SKX-NEXT: vmovapd %zmm0, (%rdi)
981 ; SKX-NEXT: retq
982 ; SKX-NEXT: LBB41_2: ## %L2
983 ; SKX-NEXT: vmovapd %zmm0, 8(%rdi)
984 ; SKX-NEXT: retq
1320 ; SKX-LABEL: ktest_2:
1321 ; SKX: ## BB#0:
1322 ; SKX-NEXT: vmovups 64(%rdi), %zmm2
1323 ; SKX-NEXT: vmovups (%rdi), %zmm3
1324 ; SKX-NEXT: vcmpltps %zmm0, %zmm3, %k1
1325 ; SKX-NEXT: vcmpltps %zmm1, %zmm2, %k2
1326 ; SKX-NEXT: kunpckwd %k1, %k2, %k0
1327 ; SKX-NEXT: vmovups 68(%rdi), %zmm2 {%k2} {z}
1328 ; SKX-NEXT: vmovups 4(%rdi), %zmm3 {%k1} {z}
1329 ; SKX-NEXT: vcmpltps %zmm3, %zmm0, %k1
1330 ; SKX-NEXT: vcmpltps %zmm2, %zmm1, %k2
1331 ; SKX-NEXT: kunpckwd %k1, %k2, %k1
1332 ; SKX-NEXT: kord %k1, %k0, %k0
1333 ; SKX-NEXT: ktestd %k0, %k0
1334 ; SKX-NEXT: je LBB42_2
1335 ; SKX-NEXT: ## BB#1: ## %L1
1336 ; SKX-NEXT: vmovaps %zmm0, (%rdi)
1337 ; SKX-NEXT: vmovaps %zmm1, 64(%rdi)
1338 ; SKX-NEXT: retq
1339 ; SKX-NEXT: LBB42_2: ## %L2
1340 ; SKX-NEXT: vmovaps %zmm0, 4(%rdi)
1341 ; SKX-NEXT: vmovaps %zmm1, 68(%rdi)
1342 ; SKX-NEXT: retq
1379 ; SKX-LABEL: load_8i1:
1380 ; SKX: ## BB#0:
1381 ; SKX-NEXT: kmovb (%rdi), %k0
1382 ; SKX-NEXT: vpmovm2q %k0, %zmm0
1383 ; SKX-NEXT: retq
1397 ; SKX-LABEL: load_16i1:
1398 ; SKX: ## BB#0:
1399 ; SKX-NEXT: kmovw (%rdi), %k0
1400 ; SKX-NEXT: vpmovm2d %k0, %zmm0
1401 ; SKX-NEXT: retq
1417 ; SKX-LABEL: load_2i1:
1418 ; SKX: ## BB#0:
1419 ; SKX-NEXT: kmovb (%rdi), %k0
1420 ; SKX-NEXT: vpmovm2q %k0, %xmm0
1421 ; SKX-NEXT: retq
1438 ; SKX-LABEL: load_4i1:
1439 ; SKX: ## BB#0:
1440 ; SKX-NEXT: kmovb (%rdi), %k0
1441 ; SKX-NEXT: vpmovm2d %k0, %xmm0
1442 ; SKX-NEXT: retq
1460 ; SKX-LABEL: load_32i1:
1461 ; SKX: ## BB#0:
1462 ; SKX-NEXT: kmovd (%rdi), %k0
1463 ; SKX-NEXT: vpmovm2w %k0, %zmm0
1464 ; SKX-NEXT: retq
1490 ; SKX-LABEL: load_64i1:
1491 ; SKX: ## BB#0:
1492 ; SKX-NEXT: kmovq (%rdi), %k0
1493 ; SKX-NEXT: vpmovm2b %k0, %zmm0
1494 ; SKX-NEXT: retq
1510 ; SKX-LABEL: store_8i1:
1511 ; SKX: ## BB#0:
1512 ; SKX-NEXT: vpsllw $15, %xmm0, %xmm0
1513 ; SKX-NEXT: vpmovw2m %xmm0, %k0
1514 ; SKX-NEXT: kmovb %k0, (%rdi)
1515 ; SKX-NEXT: retq
1530 ; SKX-LABEL: store_8i1_1:
1531 ; SKX: ## BB#0:
1532 ; SKX-NEXT: vpsllw $15, %xmm0, %xmm0
1533 ; SKX-NEXT: vpmovw2m %xmm0, %k0
1534 ; SKX-NEXT: kmovb %k0, (%rdi)
1535 ; SKX-NEXT: retq
1550 ; SKX-LABEL: store_16i1:
1551 ; SKX: ## BB#0:
1552 ; SKX-NEXT: vpsllw $7, %xmm0, %xmm0
1553 ; SKX-NEXT: vpmovb2m %xmm0, %k0
1554 ; SKX-NEXT: kmovw %k0, (%rdi)
1555 ; SKX-NEXT: retq
1574 ; SKX-LABEL: store_32i1:
1575 ; SKX: ## BB#0:
1576 ; SKX-NEXT: vpsllw $7, %ymm0, %ymm0
1577 ; SKX-NEXT: vpmovb2m %ymm0, %k0
1578 ; SKX-NEXT: kmovd %k0, (%rdi)
1579 ; SKX-NEXT: retq
1601 ; SKX-LABEL: store_32i1_1:
1602 ; SKX: ## BB#0:
1603 ; SKX-NEXT: vpsllw $15, %zmm0, %zmm0
1604 ; SKX-NEXT: vpmovw2m %zmm0, %k0
1605 ; SKX-NEXT: kmovd %k0, (%rdi)
1606 ; SKX-NEXT: retq
1939 ; SKX-LABEL: store_64i1:
1940 ; SKX: ## BB#0:
1941 ; SKX-NEXT: vpsllw $7, %zmm0, %zmm0
1942 ; SKX-NEXT: vpmovb2m %zmm0, %k0
1943 ; SKX-NEXT: kmovq %k0, (%rdi)
1944 ; SKX-NEXT: retq