Lines Matching refs:SSE41
4 … %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+sse4.1 | FileCheck %s --check-prefix=SSE41
23 ; SSE41-LABEL: vsel_float:
24 ; SSE41: # BB#0: # %entry
25 ; SSE41-NEXT: blendps {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2],xmm1[3]
26 ; SSE41-NEXT: retq
50 ; SSE41-LABEL: vsel_float2:
51 ; SSE41: # BB#0: # %entry
52 ; SSE41-NEXT: blendps {{.*#+}} xmm0 = xmm0[0],xmm1[1,2,3]
53 ; SSE41-NEXT: retq
77 ; SSE41-LABEL: vsel_4xi8:
78 ; SSE41: # BB#0: # %entry
79 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm1[4,5],xmm0[6,7]
80 ; SSE41-NEXT: retq
111 ; SSE41-LABEL: vsel_4xi16:
112 ; SSE41: # BB#0: # %entry
113 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3],xmm0[4,5,6,7]
114 ; SSE41-NEXT: retq
145 ; SSE41-LABEL: vsel_i32:
146 ; SSE41: # BB#0: # %entry
147 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3],xmm0[4,5],xmm1[6,7]
148 ; SSE41-NEXT: retq
177 ; SSE41-LABEL: vsel_double:
178 ; SSE41: # BB#0: # %entry
179 ; SSE41-NEXT: blendpd {{.*#+}} xmm0 = xmm0[0],xmm1[1]
180 ; SSE41-NEXT: retq
204 ; SSE41-LABEL: vsel_i64:
205 ; SSE41: # BB#0: # %entry
206 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm1[4,5,6,7]
207 ; SSE41-NEXT: retq
242 ; SSE41-LABEL: vsel_8xi16:
243 ; SSE41: # BB#0: # %entry
244 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0],xmm1[1,2,3],xmm0[4],xmm1[5,6,7]
245 ; SSE41-NEXT: retq
273 ; SSE41-LABEL: vsel_i8:
274 ; SSE41: # BB#0: # %entry
275 ; SSE41-NEXT: movdqa %xmm0, %xmm2
276 ; SSE41-NEXT: movaps {{.*#+}} xmm0 = [255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0]
277 ; SSE41-NEXT: pblendvb %xmm2, %xmm1
278 ; SSE41-NEXT: movdqa %xmm1, %xmm0
279 ; SSE41-NEXT: retq
311 ; SSE41-LABEL: vsel_float8:
312 ; SSE41: # BB#0: # %entry
313 ; SSE41-NEXT: blendps {{.*#+}} xmm0 = xmm0[0],xmm2[1,2,3]
314 ; SSE41-NEXT: blendps {{.*#+}} xmm1 = xmm1[0],xmm3[1,2,3]
315 ; SSE41-NEXT: retq
343 ; SSE41-LABEL: vsel_i328:
344 ; SSE41: # BB#0: # %entry
345 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1],xmm2[2,3,4,5,6,7]
346 ; SSE41-NEXT: pblendw {{.*#+}} xmm1 = xmm1[0,1],xmm3[2,3,4,5,6,7]
347 ; SSE41-NEXT: retq
384 ; SSE41-LABEL: vsel_double8:
385 ; SSE41: # BB#0: # %entry
386 ; SSE41-NEXT: blendpd {{.*#+}} xmm0 = xmm0[0],xmm4[1]
387 ; SSE41-NEXT: blendpd {{.*#+}} xmm2 = xmm2[0],xmm6[1]
388 ; SSE41-NEXT: movaps %xmm5, %xmm1
389 ; SSE41-NEXT: movaps %xmm7, %xmm3
390 ; SSE41-NEXT: retq
423 ; SSE41-LABEL: vsel_i648:
424 ; SSE41: # BB#0: # %entry
425 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm4[4,5,6,7]
426 ; SSE41-NEXT: pblendw {{.*#+}} xmm2 = xmm2[0,1,2,3],xmm6[4,5,6,7]
427 ; SSE41-NEXT: movaps %xmm5, %xmm1
428 ; SSE41-NEXT: movaps %xmm7, %xmm3
429 ; SSE41-NEXT: retq
464 ; SSE41-LABEL: vsel_double4:
465 ; SSE41: # BB#0: # %entry
466 ; SSE41-NEXT: blendpd {{.*#+}} xmm0 = xmm0[0],xmm2[1]
467 ; SSE41-NEXT: blendpd {{.*#+}} xmm1 = xmm1[0],xmm3[1]
468 ; SSE41-NEXT: retq
498 ; SSE41-LABEL: testa:
499 ; SSE41: # BB#0: # %entry
500 ; SSE41-NEXT: movapd %xmm0, %xmm2
501 ; SSE41-NEXT: movapd %xmm1, %xmm0
502 ; SSE41-NEXT: cmplepd %xmm2, %xmm0
503 ; SSE41-NEXT: blendvpd %xmm2, %xmm1
504 ; SSE41-NEXT: movapd %xmm1, %xmm0
505 ; SSE41-NEXT: retq
537 ; SSE41-LABEL: testb:
538 ; SSE41: # BB#0: # %entry
539 ; SSE41-NEXT: movapd %xmm0, %xmm2
540 ; SSE41-NEXT: movapd %xmm1, %xmm0
541 ; SSE41-NEXT: cmpnlepd %xmm2, %xmm0
542 ; SSE41-NEXT: blendvpd %xmm2, %xmm1
543 ; SSE41-NEXT: movapd %xmm1, %xmm0
544 ; SSE41-NEXT: retq
574 ; SSE41-LABEL: constant_blendvpd_avx:
575 ; SSE41: # BB#0: # %entry
576 ; SSE41-NEXT: blendpd {{.*#+}} xmm1 = xmm1[0],xmm3[1]
577 ; SSE41-NEXT: movaps %xmm2, %xmm0
578 ; SSE41-NEXT: retq
610 ; SSE41-LABEL: constant_blendvps_avx:
611 ; SSE41: # BB#0: # %entry
612 ; SSE41-NEXT: blendps {{.*#+}} xmm0 = xmm2[0,1,2],xmm0[3]
613 ; SSE41-NEXT: blendps {{.*#+}} xmm1 = xmm3[0,1,2],xmm1[3]
614 ; SSE41-NEXT: retq
652 ; SSE41-LABEL: constant_pblendvb_avx2:
653 ; SSE41: # BB#0: # %entry
654 ; SSE41-NEXT: movdqa %xmm0, %xmm4
655 ; SSE41-NEXT: movaps {{.*#+}} xmm0 = [0,0,255,0,255,255,255,0,0,0,255,0,255,255,255,0]
656 ; SSE41-NEXT: pblendvb %xmm4, %xmm2
657 ; SSE41-NEXT: pblendvb %xmm1, %xmm3
658 ; SSE41-NEXT: movdqa %xmm2, %xmm0
659 ; SSE41-NEXT: movdqa %xmm3, %xmm1
660 ; SSE41-NEXT: retq
697 ; SSE41-LABEL: blend_shufflevector_4xfloat:
698 ; SSE41: # BB#0: # %entry
699 ; SSE41-NEXT: blendps {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2],xmm1[3]
700 ; SSE41-NEXT: retq
730 ; SSE41-LABEL: blend_shufflevector_8xfloat:
731 ; SSE41: # BB#0: # %entry
732 ; SSE41-NEXT: blendps {{.*#+}} xmm0 = xmm0[0],xmm2[1,2,3]
733 ; SSE41-NEXT: blendps {{.*#+}} xmm1 = xmm3[0,1],xmm1[2],xmm3[3]
734 ; SSE41-NEXT: retq
758 ; SSE41-LABEL: blend_shufflevector_4xdouble:
759 ; SSE41: # BB#0: # %entry
760 ; SSE41-NEXT: blendpd {{.*#+}} xmm0 = xmm0[0],xmm2[1]
761 ; SSE41-NEXT: retq
785 ; SSE41-LABEL: blend_shufflevector_4xi64:
786 ; SSE41: # BB#0: # %entry
787 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm2[0,1,2,3],xmm0[4,5,6,7]
788 ; SSE41-NEXT: movaps %xmm3, %xmm1
789 ; SSE41-NEXT: retq
822 ; SSE41-LABEL: blend_logic_v4i32:
823 ; SSE41: # BB#0: # %entry
824 ; SSE41-NEXT: psrad $31, %xmm0
825 ; SSE41-NEXT: pblendvb %xmm1, %xmm2
826 ; SSE41-NEXT: movdqa %xmm2, %xmm0
827 ; SSE41-NEXT: retq
869 ; SSE41-LABEL: blend_logic_v8i32:
870 ; SSE41: # BB#0: # %entry
871 ; SSE41-NEXT: psrad $31, %xmm1
872 ; SSE41-NEXT: psrad $31, %xmm0
873 ; SSE41-NEXT: pblendvb %xmm2, %xmm4
874 ; SSE41-NEXT: movdqa %xmm1, %xmm0
875 ; SSE41-NEXT: pblendvb %xmm3, %xmm5
876 ; SSE41-NEXT: movdqa %xmm4, %xmm0
877 ; SSE41-NEXT: movdqa %xmm5, %xmm1
878 ; SSE41-NEXT: retq
921 ; SSE41-LABEL: blend_neg_logic_v4i32:
922 ; SSE41: # BB#0: # %entry
923 ; SSE41-NEXT: psrad $31, %xmm1
924 ; SSE41-NEXT: pxor %xmm1, %xmm0
925 ; SSE41-NEXT: psubd %xmm1, %xmm0
926 ; SSE41-NEXT: retq
965 ; SSE41-LABEL: blend_neg_logic_v8i32:
966 ; SSE41: # BB#0: # %entry
967 ; SSE41-NEXT: psrad $31, %xmm3
968 ; SSE41-NEXT: psrad $31, %xmm2
969 ; SSE41-NEXT: pxor %xmm2, %xmm0
970 ; SSE41-NEXT: psubd %xmm2, %xmm0
971 ; SSE41-NEXT: pxor %xmm3, %xmm1
972 ; SSE41-NEXT: psubd %xmm3, %xmm1
973 ; SSE41-NEXT: retq
1028 ; SSE41-LABEL: blend_neg_logic_v4i32_2:
1029 ; SSE41: # BB#0: # %entry
1030 ; SSE41-NEXT: movdqa %xmm0, %xmm2
1031 ; SSE41-NEXT: psrld $31, %xmm1
1032 ; SSE41-NEXT: pslld $31, %xmm1
1033 ; SSE41-NEXT: pxor %xmm3, %xmm3
1034 ; SSE41-NEXT: psubd %xmm2, %xmm3
1035 ; SSE41-NEXT: movdqa %xmm1, %xmm0
1036 ; SSE41-NEXT: blendvps %xmm2, %xmm3
1037 ; SSE41-NEXT: movaps %xmm3, %xmm0
1038 ; SSE41-NEXT: retq