llvm.org GIT mirror llvm / 58140e4
[X86] Updated test checks script to generalise LCPI symbol refs The script now replace '.LCPI888_8' style asm symbols with the {{\.LCPI.*}} re pattern - this helps stop hardcoded symbols in 32-bit x86 tests changing with every edit of the file Refreshed some tests to demonstrate the new check git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@272488 91177308-0d34-0410-b5e6-96231b3b80d8 Simon Pilgrim 3 years ago
10 changed file(s) with 64 addition(s) and 58 deletion(s). Raw diff Collapse all Expand all
214214 ; X32-SSE-NEXT: movdqa {{.*#+}} xmm2 = [32,32,32,32]
215215 ; X32-SSE-NEXT: psubd %xmm1, %xmm2
216216 ; X32-SSE-NEXT: pslld $23, %xmm1
217 ; X32-SSE-NEXT: paddd .LCPI1_1, %xmm1
217 ; X32-SSE-NEXT: paddd {{\.LCPI.*}}, %xmm1
218218 ; X32-SSE-NEXT: cvttps2dq %xmm1, %xmm1
219219 ; X32-SSE-NEXT: pshufd {{.*#+}} xmm3 = xmm1[1,1,3,3]
220220 ; X32-SSE-NEXT: pmuludq %xmm0, %xmm1
666666 ; X32-SSE-NEXT: pcmpgtb %xmm1, %xmm2
667667 ; X32-SSE-NEXT: movdqa %xmm0, %xmm5
668668 ; X32-SSE-NEXT: psllw $4, %xmm5
669 ; X32-SSE-NEXT: pand .LCPI3_1, %xmm5
669 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm5
670670 ; X32-SSE-NEXT: pand %xmm2, %xmm5
671671 ; X32-SSE-NEXT: pandn %xmm0, %xmm2
672672 ; X32-SSE-NEXT: por %xmm5, %xmm2
676676 ; X32-SSE-NEXT: movdqa %xmm5, %xmm6
677677 ; X32-SSE-NEXT: pandn %xmm2, %xmm6
678678 ; X32-SSE-NEXT: psllw $2, %xmm2
679 ; X32-SSE-NEXT: pand .LCPI3_2, %xmm2
679 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm2
680680 ; X32-SSE-NEXT: pand %xmm5, %xmm2
681681 ; X32-SSE-NEXT: por %xmm6, %xmm2
682682 ; X32-SSE-NEXT: paddb %xmm1, %xmm1
692692 ; X32-SSE-NEXT: movdqa %xmm5, %xmm6
693693 ; X32-SSE-NEXT: pandn %xmm0, %xmm6
694694 ; X32-SSE-NEXT: psrlw $4, %xmm0
695 ; X32-SSE-NEXT: pand .LCPI3_3, %xmm0
695 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0
696696 ; X32-SSE-NEXT: pand %xmm5, %xmm0
697697 ; X32-SSE-NEXT: por %xmm6, %xmm0
698698 ; X32-SSE-NEXT: paddb %xmm4, %xmm4
701701 ; X32-SSE-NEXT: movdqa %xmm5, %xmm6
702702 ; X32-SSE-NEXT: pandn %xmm0, %xmm6
703703 ; X32-SSE-NEXT: psrlw $2, %xmm0
704 ; X32-SSE-NEXT: pand .LCPI3_4, %xmm0
704 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0
705705 ; X32-SSE-NEXT: pand %xmm5, %xmm0
706706 ; X32-SSE-NEXT: por %xmm6, %xmm0
707707 ; X32-SSE-NEXT: paddb %xmm4, %xmm4
709709 ; X32-SSE-NEXT: movdqa %xmm3, %xmm4
710710 ; X32-SSE-NEXT: pandn %xmm0, %xmm4
711711 ; X32-SSE-NEXT: psrlw $1, %xmm0
712 ; X32-SSE-NEXT: pand .LCPI3_5, %xmm0
712 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0
713713 ; X32-SSE-NEXT: pand %xmm3, %xmm0
714714 ; X32-SSE-NEXT: por %xmm4, %xmm0
715715 ; X32-SSE-NEXT: por %xmm1, %xmm0
11901190 ; X32-SSE-NEXT: pcmpgtb %xmm3, %xmm1
11911191 ; X32-SSE-NEXT: movdqa %xmm0, %xmm4
11921192 ; X32-SSE-NEXT: psllw $4, %xmm4
1193 ; X32-SSE-NEXT: pand .LCPI7_1, %xmm4
1193 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm4
11941194 ; X32-SSE-NEXT: pand %xmm1, %xmm4
11951195 ; X32-SSE-NEXT: pandn %xmm0, %xmm1
11961196 ; X32-SSE-NEXT: por %xmm4, %xmm1
12001200 ; X32-SSE-NEXT: movdqa %xmm4, %xmm5
12011201 ; X32-SSE-NEXT: pandn %xmm1, %xmm5
12021202 ; X32-SSE-NEXT: psllw $2, %xmm1
1203 ; X32-SSE-NEXT: pand .LCPI7_2, %xmm1
1203 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm1
12041204 ; X32-SSE-NEXT: pand %xmm4, %xmm1
12051205 ; X32-SSE-NEXT: por %xmm5, %xmm1
12061206 ; X32-SSE-NEXT: paddb %xmm3, %xmm3
12171217 ; X32-SSE-NEXT: movdqa %xmm5, %xmm6
12181218 ; X32-SSE-NEXT: pandn %xmm0, %xmm6
12191219 ; X32-SSE-NEXT: psrlw $4, %xmm0
1220 ; X32-SSE-NEXT: pand .LCPI7_4, %xmm0
1220 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0
12211221 ; X32-SSE-NEXT: pand %xmm5, %xmm0
12221222 ; X32-SSE-NEXT: por %xmm6, %xmm0
12231223 ; X32-SSE-NEXT: paddb %xmm4, %xmm4
12261226 ; X32-SSE-NEXT: movdqa %xmm5, %xmm6
12271227 ; X32-SSE-NEXT: pandn %xmm0, %xmm6
12281228 ; X32-SSE-NEXT: psrlw $2, %xmm0
1229 ; X32-SSE-NEXT: pand .LCPI7_5, %xmm0
1229 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0
12301230 ; X32-SSE-NEXT: pand %xmm5, %xmm0
12311231 ; X32-SSE-NEXT: por %xmm6, %xmm0
12321232 ; X32-SSE-NEXT: paddb %xmm4, %xmm4
12341234 ; X32-SSE-NEXT: movdqa %xmm2, %xmm4
12351235 ; X32-SSE-NEXT: pandn %xmm0, %xmm4
12361236 ; X32-SSE-NEXT: psrlw $1, %xmm0
1237 ; X32-SSE-NEXT: pand .LCPI7_6, %xmm0
1237 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0
12381238 ; X32-SSE-NEXT: pand %xmm2, %xmm0
12391239 ; X32-SSE-NEXT: por %xmm4, %xmm0
12401240 ; X32-SSE-NEXT: por %xmm3, %xmm0
13811381 ; X32-SSE: # BB#0:
13821382 ; X32-SSE-NEXT: movdqa %xmm0, %xmm1
13831383 ; X32-SSE-NEXT: psllw $4, %xmm1
1384 ; X32-SSE-NEXT: pand .LCPI11_0, %xmm1
1384 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm1
13851385 ; X32-SSE-NEXT: psrlw $4, %xmm0
1386 ; X32-SSE-NEXT: pand .LCPI11_1, %xmm0
1386 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0
13871387 ; X32-SSE-NEXT: por %xmm1, %xmm0
13881388 ; X32-SSE-NEXT: retl
13891389 %shl = shl <16 x i8> %a,
14281428 ; X32-SSE-NEXT: movdqa %xmm0, %xmm1
14291429 ; X32-SSE-NEXT: psllq $15, %xmm1
14301430 ; X32-SSE-NEXT: psrlq $49, %xmm0
1431 ; X32-SSE-NEXT: pand .LCPI12_0, %xmm0
1432 ; X32-SSE-NEXT: pand .LCPI12_1, %xmm1
1431 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0
1432 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm1
14331433 ; X32-SSE-NEXT: por %xmm0, %xmm1
14341434 ; X32-SSE-NEXT: movdqa %xmm1, %xmm0
14351435 ; X32-SSE-NEXT: retl
14731473 ; X32-SSE-NEXT: movdqa %xmm0, %xmm1
14741474 ; X32-SSE-NEXT: pslld $4, %xmm1
14751475 ; X32-SSE-NEXT: psrld $28, %xmm0
1476 ; X32-SSE-NEXT: pand .LCPI13_0, %xmm0
1477 ; X32-SSE-NEXT: pand .LCPI13_1, %xmm1
1476 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0
1477 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm1
14781478 ; X32-SSE-NEXT: por %xmm0, %xmm1
14791479 ; X32-SSE-NEXT: movdqa %xmm1, %xmm0
14801480 ; X32-SSE-NEXT: retl
15181518 ; X32-SSE-NEXT: movdqa %xmm0, %xmm1
15191519 ; X32-SSE-NEXT: psllw $5, %xmm1
15201520 ; X32-SSE-NEXT: psrlw $11, %xmm0
1521 ; X32-SSE-NEXT: pand .LCPI14_0, %xmm0
1522 ; X32-SSE-NEXT: pand .LCPI14_1, %xmm1
1521 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0
1522 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm1
15231523 ; X32-SSE-NEXT: por %xmm0, %xmm1
15241524 ; X32-SSE-NEXT: movdqa %xmm1, %xmm0
15251525 ; X32-SSE-NEXT: retl
15661566 ; X32-SSE: # BB#0:
15671567 ; X32-SSE-NEXT: movdqa %xmm0, %xmm1
15681568 ; X32-SSE-NEXT: psllw $4, %xmm1
1569 ; X32-SSE-NEXT: pand .LCPI15_0, %xmm1
1569 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm1
15701570 ; X32-SSE-NEXT: psrlw $4, %xmm0
1571 ; X32-SSE-NEXT: pand .LCPI15_1, %xmm0
1572 ; X32-SSE-NEXT: pand .LCPI15_2, %xmm0
1573 ; X32-SSE-NEXT: pand .LCPI15_3, %xmm1
1571 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0
1572 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0
1573 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm1
15741574 ; X32-SSE-NEXT: por %xmm0, %xmm1
15751575 ; X32-SSE-NEXT: movdqa %xmm1, %xmm0
15761576 ; X32-SSE-NEXT: retl
10821082 ; X32-SSE41-NEXT: pinsrd $2, %ecx, %xmm1
10831083 ; X32-SSE41-NEXT: shrl $3, %eax
10841084 ; X32-SSE41-NEXT: pinsrd $3, %eax, %xmm1
1085 ; X32-SSE41-NEXT: pand .LCPI17_0, %xmm1
1085 ; X32-SSE41-NEXT: pand {{\.LCPI.*}}, %xmm1
10861086 ; X32-SSE41-NEXT: pmovzxdq {{.*#+}} xmm0 = xmm1[0],zero,xmm1[1],zero
10871087 ; X32-SSE41-NEXT: psllq $63, %xmm0
10881088 ; X32-SSE41-NEXT: psrad $31, %xmm0
16371637 ; X32-SSE-LABEL: splatconstant_shift_v16i8:
16381638 ; X32-SSE: # BB#0:
16391639 ; X32-SSE-NEXT: psrlw $3, %xmm0
1640 ; X32-SSE-NEXT: pand .LCPI15_0, %xmm0
1640 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0
16411641 ; X32-SSE-NEXT: movdqa {{.*#+}} xmm1 = [16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16]
16421642 ; X32-SSE-NEXT: pxor %xmm1, %xmm0
16431643 ; X32-SSE-NEXT: psubb %xmm1, %xmm0
436436 ; X32-SSE-NEXT: movdqa %xmm3, %xmm4
437437 ; X32-SSE-NEXT: pandn %xmm0, %xmm4
438438 ; X32-SSE-NEXT: psrlw $4, %xmm0
439 ; X32-SSE-NEXT: pand .LCPI3_0, %xmm0
439 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0
440440 ; X32-SSE-NEXT: pand %xmm3, %xmm0
441441 ; X32-SSE-NEXT: por %xmm4, %xmm0
442442 ; X32-SSE-NEXT: paddb %xmm1, %xmm1
445445 ; X32-SSE-NEXT: movdqa %xmm3, %xmm4
446446 ; X32-SSE-NEXT: pandn %xmm0, %xmm4
447447 ; X32-SSE-NEXT: psrlw $2, %xmm0
448 ; X32-SSE-NEXT: pand .LCPI3_1, %xmm0
448 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0
449449 ; X32-SSE-NEXT: pand %xmm3, %xmm0
450450 ; X32-SSE-NEXT: por %xmm4, %xmm0
451451 ; X32-SSE-NEXT: paddb %xmm1, %xmm1
453453 ; X32-SSE-NEXT: movdqa %xmm2, %xmm1
454454 ; X32-SSE-NEXT: pandn %xmm0, %xmm1
455455 ; X32-SSE-NEXT: psrlw $1, %xmm0
456 ; X32-SSE-NEXT: pand .LCPI3_2, %xmm0
456 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0
457457 ; X32-SSE-NEXT: pand %xmm2, %xmm0
458458 ; X32-SSE-NEXT: por %xmm1, %xmm0
459459 ; X32-SSE-NEXT: retl
734734 ; X32-SSE-NEXT: movdqa %xmm3, %xmm4
735735 ; X32-SSE-NEXT: pandn %xmm0, %xmm4
736736 ; X32-SSE-NEXT: psrlw $4, %xmm0
737 ; X32-SSE-NEXT: pand .LCPI7_0, %xmm0
737 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0
738738 ; X32-SSE-NEXT: pand %xmm3, %xmm0
739739 ; X32-SSE-NEXT: por %xmm4, %xmm0
740740 ; X32-SSE-NEXT: paddb %xmm2, %xmm2
743743 ; X32-SSE-NEXT: movdqa %xmm3, %xmm4
744744 ; X32-SSE-NEXT: pandn %xmm0, %xmm4
745745 ; X32-SSE-NEXT: psrlw $2, %xmm0
746 ; X32-SSE-NEXT: pand .LCPI7_1, %xmm0
746 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0
747747 ; X32-SSE-NEXT: pand %xmm3, %xmm0
748748 ; X32-SSE-NEXT: por %xmm4, %xmm0
749749 ; X32-SSE-NEXT: paddb %xmm2, %xmm2
751751 ; X32-SSE-NEXT: movdqa %xmm1, %xmm2
752752 ; X32-SSE-NEXT: pandn %xmm0, %xmm2
753753 ; X32-SSE-NEXT: psrlw $1, %xmm0
754 ; X32-SSE-NEXT: pand .LCPI7_2, %xmm0
754 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0
755755 ; X32-SSE-NEXT: pand %xmm1, %xmm0
756756 ; X32-SSE-NEXT: por %xmm2, %xmm0
757757 ; X32-SSE-NEXT: retl
10931093 ; X32-SSE-NEXT: movdqa %xmm3, %xmm4
10941094 ; X32-SSE-NEXT: pandn %xmm0, %xmm4
10951095 ; X32-SSE-NEXT: psrlw $4, %xmm0
1096 ; X32-SSE-NEXT: pand .LCPI11_1, %xmm0
1096 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0
10971097 ; X32-SSE-NEXT: pand %xmm3, %xmm0
10981098 ; X32-SSE-NEXT: por %xmm4, %xmm0
10991099 ; X32-SSE-NEXT: paddb %xmm2, %xmm2
11021102 ; X32-SSE-NEXT: movdqa %xmm3, %xmm4
11031103 ; X32-SSE-NEXT: pandn %xmm0, %xmm4
11041104 ; X32-SSE-NEXT: psrlw $2, %xmm0
1105 ; X32-SSE-NEXT: pand .LCPI11_2, %xmm0
1105 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0
11061106 ; X32-SSE-NEXT: pand %xmm3, %xmm0
11071107 ; X32-SSE-NEXT: por %xmm4, %xmm0
11081108 ; X32-SSE-NEXT: paddb %xmm2, %xmm2
11101110 ; X32-SSE-NEXT: movdqa %xmm1, %xmm2
11111111 ; X32-SSE-NEXT: pandn %xmm0, %xmm2
11121112 ; X32-SSE-NEXT: psrlw $1, %xmm0
1113 ; X32-SSE-NEXT: pand .LCPI11_3, %xmm0
1113 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0
11141114 ; X32-SSE-NEXT: pand %xmm1, %xmm0
11151115 ; X32-SSE-NEXT: por %xmm2, %xmm0
11161116 ; X32-SSE-NEXT: retl
12381238 ; X32-SSE-LABEL: splatconstant_shift_v16i8:
12391239 ; X32-SSE: # BB#0:
12401240 ; X32-SSE-NEXT: psrlw $3, %xmm0
1241 ; X32-SSE-NEXT: pand .LCPI15_0, %xmm0
1241 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0
12421242 ; X32-SSE-NEXT: retl
12431243 %shift = lshr <16 x i8> %a,
12441244 ret <16 x i8> %shift
130130 ; X32-SSE-LABEL: var_shift_v4i32:
131131 ; X32-SSE: # BB#0:
132132 ; X32-SSE-NEXT: pslld $23, %xmm1
133 ; X32-SSE-NEXT: paddd .LCPI1_0, %xmm1
133 ; X32-SSE-NEXT: paddd {{\.LCPI.*}}, %xmm1
134134 ; X32-SSE-NEXT: cvttps2dq %xmm1, %xmm1
135135 ; X32-SSE-NEXT: pshufd {{.*#+}} xmm2 = xmm1[1,1,3,3]
136136 ; X32-SSE-NEXT: pmuludq %xmm0, %xmm1
385385 ; X32-SSE-NEXT: movdqa %xmm3, %xmm4
386386 ; X32-SSE-NEXT: pandn %xmm0, %xmm4
387387 ; X32-SSE-NEXT: psllw $4, %xmm0
388 ; X32-SSE-NEXT: pand .LCPI3_0, %xmm0
388 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0
389389 ; X32-SSE-NEXT: pand %xmm3, %xmm0
390390 ; X32-SSE-NEXT: por %xmm4, %xmm0
391391 ; X32-SSE-NEXT: paddb %xmm1, %xmm1
394394 ; X32-SSE-NEXT: movdqa %xmm3, %xmm4
395395 ; X32-SSE-NEXT: pandn %xmm0, %xmm4
396396 ; X32-SSE-NEXT: psllw $2, %xmm0
397 ; X32-SSE-NEXT: pand .LCPI3_1, %xmm0
397 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0
398398 ; X32-SSE-NEXT: pand %xmm3, %xmm0
399399 ; X32-SSE-NEXT: por %xmm4, %xmm0
400400 ; X32-SSE-NEXT: paddb %xmm1, %xmm1
674674 ; X32-SSE-NEXT: movdqa %xmm3, %xmm4
675675 ; X32-SSE-NEXT: pandn %xmm0, %xmm4
676676 ; X32-SSE-NEXT: psllw $4, %xmm0
677 ; X32-SSE-NEXT: pand .LCPI7_0, %xmm0
677 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0
678678 ; X32-SSE-NEXT: pand %xmm3, %xmm0
679679 ; X32-SSE-NEXT: por %xmm4, %xmm0
680680 ; X32-SSE-NEXT: paddb %xmm2, %xmm2
683683 ; X32-SSE-NEXT: movdqa %xmm3, %xmm4
684684 ; X32-SSE-NEXT: pandn %xmm0, %xmm4
685685 ; X32-SSE-NEXT: psllw $2, %xmm0
686 ; X32-SSE-NEXT: pand .LCPI7_1, %xmm0
686 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0
687687 ; X32-SSE-NEXT: pand %xmm3, %xmm0
688688 ; X32-SSE-NEXT: por %xmm4, %xmm0
689689 ; X32-SSE-NEXT: paddb %xmm2, %xmm2
842842 ;
843843 ; X32-SSE-LABEL: constant_shift_v8i16:
844844 ; X32-SSE: # BB#0:
845 ; X32-SSE-NEXT: pmullw .LCPI10_0, %xmm0
845 ; X32-SSE-NEXT: pmullw {{\.LCPI.*}}, %xmm0
846846 ; X32-SSE-NEXT: retl
847847 %shift = shl <8 x i16> %a,
848848 ret <8 x i16> %shift
948948 ; X32-SSE-NEXT: movdqa %xmm3, %xmm4
949949 ; X32-SSE-NEXT: pandn %xmm0, %xmm4
950950 ; X32-SSE-NEXT: psllw $4, %xmm0
951 ; X32-SSE-NEXT: pand .LCPI11_1, %xmm0
951 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0
952952 ; X32-SSE-NEXT: pand %xmm3, %xmm0
953953 ; X32-SSE-NEXT: por %xmm4, %xmm0
954954 ; X32-SSE-NEXT: paddb %xmm2, %xmm2
957957 ; X32-SSE-NEXT: movdqa %xmm3, %xmm4
958958 ; X32-SSE-NEXT: pandn %xmm0, %xmm4
959959 ; X32-SSE-NEXT: psllw $2, %xmm0
960 ; X32-SSE-NEXT: pand .LCPI11_2, %xmm0
960 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0
961961 ; X32-SSE-NEXT: pand %xmm3, %xmm0
962962 ; X32-SSE-NEXT: por %xmm4, %xmm0
963963 ; X32-SSE-NEXT: paddb %xmm2, %xmm2
10901090 ; X32-SSE-LABEL: splatconstant_shift_v16i8:
10911091 ; X32-SSE: # BB#0:
10921092 ; X32-SSE-NEXT: psllw $3, %xmm0
1093 ; X32-SSE-NEXT: pand .LCPI15_0, %xmm0
1093 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0
10941094 ; X32-SSE-NEXT: retl
10951095 %shift = shl <16 x i8> %a,
10961096 ret <16 x i8> %shift
None ; NOTE: Assertions have been autogenerated by update_llc_test_checks.py
0 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
11 ; RUN: llc < %s -mcpu=x86-64 -mattr=+avx512f | FileCheck %s --check-prefix=ALL --check-prefix=AVX512F
22 ; RUN: llc < %s -mtriple=i386-unknown-linux-gnu -mattr=+avx512f | FileCheck %s --check-prefix=ALL --check-prefix=AVX512F-32
33
21592159 ; AVX512F-32-LABEL: test_vshuff64x2_512_maskz:
21602160 ; AVX512F-32: # BB#0:
21612161 ; AVX512F-32-NEXT: vpmovsxwq %xmm2, %zmm2
2162 ; AVX512F-32-NEXT: vpsllvq .LCPI126_0, %zmm2, %zmm2
2162 ; AVX512F-32-NEXT: vpsllvq {{\.LCPI.*}}, %zmm2, %zmm2
21632163 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
21642164 ; AVX512F-32-NEXT: vshuff64x2 {{.*#+}} zmm0 = zmm0[0,1,4,5],zmm1[2,3,0,1]
21652165 ; AVX512F-32-NEXT: retl
21802180 ; AVX512F-32-LABEL: test_vshufi64x2_512_mask:
21812181 ; AVX512F-32: # BB#0:
21822182 ; AVX512F-32-NEXT: vpmovsxwq %xmm2, %zmm2
2183 ; AVX512F-32-NEXT: vpsllvq .LCPI127_0, %zmm2, %zmm2
2183 ; AVX512F-32-NEXT: vpsllvq {{\.LCPI.*}}, %zmm2, %zmm2
21842184 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
21852185 ; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,4,5],zmm1[2,3,0,1]
21862186 ; AVX512F-32-NEXT: retl
22172217 ; AVX512F-32-LABEL: test_vshuff64x2_512_mem_mask:
22182218 ; AVX512F-32: # BB#0:
22192219 ; AVX512F-32-NEXT: vpmovsxwq %xmm1, %zmm1
2220 ; AVX512F-32-NEXT: vpsllvq .LCPI129_0, %zmm1, %zmm1
2220 ; AVX512F-32-NEXT: vpsllvq {{\.LCPI.*}}, %zmm1, %zmm1
22212221 ; AVX512F-32-NEXT: vptestmq %zmm1, %zmm1, %k1
22222222 ; AVX512F-32-NEXT: movl {{[0-9]+}}(%esp), %eax
22232223 ; AVX512F-32-NEXT: vshuff64x2 {{.*#+}} zmm0 = zmm0[0,1,4,5],mem[2,3,0,1]
22402240 ; AVX512F-32-LABEL: test_vshuff64x2_512_mem_maskz:
22412241 ; AVX512F-32: # BB#0:
22422242 ; AVX512F-32-NEXT: vpmovsxwq %xmm1, %zmm1
2243 ; AVX512F-32-NEXT: vpsllvq .LCPI130_0, %zmm1, %zmm1
2243 ; AVX512F-32-NEXT: vpsllvq {{\.LCPI.*}}, %zmm1, %zmm1
22442244 ; AVX512F-32-NEXT: vptestmq %zmm1, %zmm1, %k1
22452245 ; AVX512F-32-NEXT: movl {{[0-9]+}}(%esp), %eax
22462246 ; AVX512F-32-NEXT: vshuff64x2 {{.*#+}} zmm0 = zmm0[0,1,4,5],mem[2,3,0,1]
None ; NOTE: Assertions have been autogenerated by update_llc_test_checks.py
0 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
11 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE2
22 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse3 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE3
33 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+ssse3 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSSE3
434434 ; X32-SSE-NEXT: pxor %xmm2, %xmm2
435435 ; X32-SSE-NEXT: psubd %xmm0, %xmm2
436436 ; X32-SSE-NEXT: pand %xmm0, %xmm2
437 ; X32-SSE-NEXT: psubd .LCPI2_0, %xmm2
437 ; X32-SSE-NEXT: psubd {{\.LCPI.*}}, %xmm2
438438 ; X32-SSE-NEXT: movdqa {{.*#+}} xmm3 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
439439 ; X32-SSE-NEXT: movdqa %xmm2, %xmm4
440440 ; X32-SSE-NEXT: pand %xmm3, %xmm4
634634 ; X32-SSE-NEXT: pxor %xmm2, %xmm2
635635 ; X32-SSE-NEXT: psubd %xmm0, %xmm2
636636 ; X32-SSE-NEXT: pand %xmm0, %xmm2
637 ; X32-SSE-NEXT: psubd .LCPI3_0, %xmm2
637 ; X32-SSE-NEXT: psubd {{\.LCPI.*}}, %xmm2
638638 ; X32-SSE-NEXT: movdqa {{.*#+}} xmm3 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
639639 ; X32-SSE-NEXT: movdqa %xmm2, %xmm4
640640 ; X32-SSE-NEXT: pand %xmm3, %xmm4
834834 ; X32-SSE-NEXT: pxor %xmm1, %xmm1
835835 ; X32-SSE-NEXT: psubw %xmm0, %xmm1
836836 ; X32-SSE-NEXT: pand %xmm0, %xmm1
837 ; X32-SSE-NEXT: psubw .LCPI4_0, %xmm1
837 ; X32-SSE-NEXT: psubw {{\.LCPI.*}}, %xmm1
838838 ; X32-SSE-NEXT: movdqa {{.*#+}} xmm0 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
839839 ; X32-SSE-NEXT: movdqa %xmm1, %xmm2
840840 ; X32-SSE-NEXT: pand %xmm0, %xmm2
10321032 ; X32-SSE-NEXT: pxor %xmm1, %xmm1
10331033 ; X32-SSE-NEXT: psubw %xmm0, %xmm1
10341034 ; X32-SSE-NEXT: pand %xmm0, %xmm1
1035 ; X32-SSE-NEXT: psubw .LCPI5_0, %xmm1
1035 ; X32-SSE-NEXT: psubw {{\.LCPI.*}}, %xmm1
10361036 ; X32-SSE-NEXT: movdqa {{.*#+}} xmm0 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
10371037 ; X32-SSE-NEXT: movdqa %xmm1, %xmm2
10381038 ; X32-SSE-NEXT: pand %xmm0, %xmm2
12021202 ; X32-SSE-NEXT: pxor %xmm1, %xmm1
12031203 ; X32-SSE-NEXT: psubb %xmm0, %xmm1
12041204 ; X32-SSE-NEXT: pand %xmm0, %xmm1
1205 ; X32-SSE-NEXT: psubb .LCPI6_0, %xmm1
1205 ; X32-SSE-NEXT: psubb {{\.LCPI.*}}, %xmm1
12061206 ; X32-SSE-NEXT: movdqa {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
12071207 ; X32-SSE-NEXT: movdqa %xmm1, %xmm3
12081208 ; X32-SSE-NEXT: pand %xmm2, %xmm3
13681368 ; X32-SSE-NEXT: pxor %xmm1, %xmm1
13691369 ; X32-SSE-NEXT: psubb %xmm0, %xmm1
13701370 ; X32-SSE-NEXT: pand %xmm0, %xmm1
1371 ; X32-SSE-NEXT: psubb .LCPI7_0, %xmm1
1371 ; X32-SSE-NEXT: psubb {{\.LCPI.*}}, %xmm1
13721372 ; X32-SSE-NEXT: movdqa {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
13731373 ; X32-SSE-NEXT: movdqa %xmm1, %xmm3
13741374 ; X32-SSE-NEXT: pand %xmm2, %xmm3
7979 define <16 x i8> @vpperm_shuffle_general(<16 x i8> %a0, <16 x i8> %a1) {
8080 ; X32-LABEL: vpperm_shuffle_general:
8181 ; X32: # BB#0:
82 ; X32-NEXT: vpperm .LCPI5_0, %xmm0, %xmm0, %xmm0
82 ; X32-NEXT: vpperm {{\.LCPI.*}}, %xmm0, %xmm0, %xmm0
8383 ; X32-NEXT: retl
8484 ;
8585 ; X64-LABEL: vpperm_shuffle_general:
3535 flags=re.M))
3636 SCRUB_X86_SP_RE = re.compile(r'\d+\(%(esp|rsp)\)')
3737 SCRUB_X86_RIP_RE = re.compile(r'[.\w]+\(%rip\)')
38 SCRUB_X86_LCP_RE = re.compile(r'\.LCPI[0-9]+_[0-9]+')
3839 SCRUB_KILL_COMMENT_RE = re.compile(r'^ *#+ +kill:.*\n')
3940
4041 RUN_LINE_RE = re.compile('^\s*;\s*RUN:\s*(.*)$')
6061 asm = SCRUB_X86_SP_RE.sub(r'{{[0-9]+}}(%\1)', asm)
6162 # Generically match a RIP-relative memory operand.
6263 asm = SCRUB_X86_RIP_RE.sub(r'{{.*}}(%rip)', asm)
64 # Generically match a LCP symbol.
65 asm = SCRUB_X86_LCP_RE.sub(r'{{\.LCPI.*}}', asm)
6366 # Strip kill operands inserted into the asm.
6467 asm = SCRUB_KILL_COMMENT_RE.sub('', asm)
6568 # Strip trailing whitespace.
143146 args = parser.parse_args()
144147
145148 autogenerated_note = ('; NOTE: Assertions have been autogenerated by '
146 + os.path.basename(__file__))
149 'utils/' + os.path.basename(__file__))
147150
148151 for test in args.tests:
149152 if args.verbose:
5050 flags=re.M))
5151 SCRUB_X86_SP_RE = re.compile(r'\d+\(%(esp|rsp)\)')
5252 SCRUB_X86_RIP_RE = re.compile(r'[.\w]+\(%rip\)')
53 SCRUB_X86_LCP_RE = re.compile(r'\.LCPI[0-9]+_[0-9]+')
5354 SCRUB_KILL_COMMENT_RE = re.compile(r'^ *#+ +kill:.*\n')
5455 SCRUB_IR_COMMENT_RE = re.compile(r'\s*;.*')
5556
8788 asm = SCRUB_X86_SP_RE.sub(r'{{[0-9]+}}(%\1)', asm)
8889 # Generically match a RIP-relative memory operand.
8990 asm = SCRUB_X86_RIP_RE.sub(r'{{.*}}(%rip)', asm)
91 # Generically match a LCP symbol.
92 asm = SCRUB_X86_LCP_RE.sub(r'{{\.LCPI.*}}', asm)
9093 # Strip kill operands inserted into the asm.
9194 asm = SCRUB_KILL_COMMENT_RE.sub('', asm)
9295 return asm