Lines Matching refs:SSE41
4 …-unknown-unknown -mcpu=x86-64 -mattr=+sse4.1 | FileCheck %s --check-prefix=SSE --check-prefix=SSE41
30 ; SSE41-LABEL: trunc8i64_8i32:
31 ; SSE41: # BB#0: # %entry
32 ; SSE41-NEXT: pshufd {{.*#+}} xmm1 = xmm1[0,1,0,2]
33 ; SSE41-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
34 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm1[4,5,6,7]
35 ; SSE41-NEXT: pshufd {{.*#+}} xmm3 = xmm3[0,1,0,2]
36 ; SSE41-NEXT: pshufd {{.*#+}} xmm1 = xmm2[0,2,2,3]
37 ; SSE41-NEXT: pblendw {{.*#+}} xmm1 = xmm1[0,1,2,3],xmm3[4,5,6,7]
38 ; SSE41-NEXT: retq
109 ; SSE41-LABEL: trunc8i64_8i16:
110 ; SSE41: # BB#0: # %entry
111 ; SSE41-NEXT: pxor %xmm4, %xmm4
112 ; SSE41-NEXT: pblendw {{.*#+}} xmm3 = xmm3[0],xmm4[1,2,3],xmm3[4],xmm4[5,6,7]
113 ; SSE41-NEXT: pblendw {{.*#+}} xmm2 = xmm2[0],xmm4[1,2,3],xmm2[4],xmm4[5,6,7]
114 ; SSE41-NEXT: packusdw %xmm3, %xmm2
115 ; SSE41-NEXT: pblendw {{.*#+}} xmm1 = xmm1[0],xmm4[1,2,3],xmm1[4],xmm4[5,6,7]
116 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0],xmm4[1,2,3],xmm0[4],xmm4[5,6,7]
117 ; SSE41-NEXT: packusdw %xmm1, %xmm0
118 ; SSE41-NEXT: packusdw %xmm2, %xmm0
119 ; SSE41-NEXT: retq
229 ; SSE41-LABEL: trunc8i32_8i16:
230 ; SSE41: # BB#0: # %entry
231 ; SSE41-NEXT: movdqa {{.*#+}} xmm2 = [0,1,4,5,8,9,12,13,8,9,12,13,12,13,14,15]
232 ; SSE41-NEXT: pshufb %xmm2, %xmm1
233 ; SSE41-NEXT: pshufb %xmm2, %xmm0
234 ; SSE41-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
235 ; SSE41-NEXT: retq
283 ; SSE41-LABEL: trunc8i32_8i8:
284 ; SSE41: # BB#0: # %entry
285 ; SSE41-NEXT: movdqa {{.*#+}} xmm2 = <0,4,8,12,u,u,u,u,u,u,u,u,u,u,u,u>
286 ; SSE41-NEXT: pshufb %xmm2, %xmm1
287 ; SSE41-NEXT: pshufb %xmm2, %xmm0
288 ; SSE41-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
289 ; SSE41-NEXT: movq %xmm0, (%rax)
290 ; SSE41-NEXT: retq
400 ; SSE41-LABEL: trunc2x4i64_8i32:
401 ; SSE41: # BB#0: # %entry
402 ; SSE41-NEXT: pshufd {{.*#+}} xmm1 = xmm1[0,1,0,2]
403 ; SSE41-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
404 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm1[4,5,6,7]
405 ; SSE41-NEXT: pshufd {{.*#+}} xmm3 = xmm3[0,1,0,2]
406 ; SSE41-NEXT: pshufd {{.*#+}} xmm1 = xmm2[0,2,2,3]
407 ; SSE41-NEXT: pblendw {{.*#+}} xmm1 = xmm1[0,1,2,3],xmm3[4,5,6,7]
408 ; SSE41-NEXT: retq
483 ; SSE41-LABEL: trunc2x4i64_8i16:
484 ; SSE41: # BB#0: # %entry
485 ; SSE41-NEXT: pextrw $4, %xmm0, %eax
486 ; SSE41-NEXT: pinsrw $1, %eax, %xmm0
487 ; SSE41-NEXT: movd %xmm1, %eax
488 ; SSE41-NEXT: pinsrw $2, %eax, %xmm0
489 ; SSE41-NEXT: pextrw $4, %xmm1, %eax
490 ; SSE41-NEXT: pinsrw $3, %eax, %xmm0
491 ; SSE41-NEXT: movd %xmm2, %eax
492 ; SSE41-NEXT: pinsrw $4, %eax, %xmm0
493 ; SSE41-NEXT: pextrw $4, %xmm2, %eax
494 ; SSE41-NEXT: pinsrw $5, %eax, %xmm0
495 ; SSE41-NEXT: movd %xmm3, %eax
496 ; SSE41-NEXT: pinsrw $6, %eax, %xmm0
497 ; SSE41-NEXT: pextrw $4, %xmm3, %eax
498 ; SSE41-NEXT: pinsrw $7, %eax, %xmm0
499 ; SSE41-NEXT: retq
561 ; SSE41-LABEL: trunc2x2i64_4i32:
562 ; SSE41: # BB#0: # %entry
563 ; SSE41-NEXT: pshufd {{.*#+}} xmm1 = xmm1[0,1,0,2]
564 ; SSE41-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
565 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm1[4,5,6,7]
566 ; SSE41-NEXT: retq
639 ; SSE41-LABEL: trunc2x4i32_8i16:
640 ; SSE41: # BB#0: # %entry
641 ; SSE41-NEXT: movdqa {{.*#+}} xmm2 = [0,1,4,5,8,9,12,13,8,9,12,13,12,13,14,15]
642 ; SSE41-NEXT: pshufb %xmm2, %xmm1
643 ; SSE41-NEXT: pshufb %xmm2, %xmm0
644 ; SSE41-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
645 ; SSE41-NEXT: retq
685 ; SSE41-LABEL: trunc4i32_i64:
686 ; SSE41: # BB#0: # %entry
687 ; SSE41-NEXT: pshufb {{.*#+}} xmm0 = xmm0[0,1,4,5,8,9,12,13,8,9,12,13,12,13,14,15]
688 ; SSE41-NEXT: movd %xmm0, %rax
689 ; SSE41-NEXT: retq
725 ; SSE41-LABEL: trunc2x8i16_16i8:
726 ; SSE41: # BB#0: # %entry
727 ; SSE41-NEXT: movdqa {{.*#+}} xmm2 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
728 ; SSE41-NEXT: pshufb %xmm2, %xmm1
729 ; SSE41-NEXT: pshufb %xmm2, %xmm0
730 ; SSE41-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
731 ; SSE41-NEXT: retq
770 ; SSE41-LABEL: trunc8i16_i64:
771 ; SSE41: # BB#0: # %entry
772 ; SSE41-NEXT: pshufb {{.*#+}} xmm0 = xmm0[0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u]
773 ; SSE41-NEXT: movd %xmm0, %rax
774 ; SSE41-NEXT: retq