Lines Matching refs:SSE41
4 …cpu=x86-64 -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41
34 ; SSE41-LABEL: shuffle_v16i8_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00:
35 ; SSE41: # BB#0:
36 ; SSE41-NEXT: pxor %xmm1, %xmm1
37 ; SSE41-NEXT: pshufb %xmm1, %xmm0
38 ; SSE41-NEXT: retq
68 ; SSE41-LABEL: shuffle_v16i8_00_00_00_00_00_00_00_00_01_01_01_01_01_01_01_01:
69 ; SSE41: # BB#0:
70 ; SSE41-NEXT: pshufb {{.*#+}} xmm0 = xmm0[0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1]
71 ; SSE41-NEXT: retq
96 ; SSE41-LABEL: shuffle_v16i8_00_00_00_00_00_00_00_00_08_08_08_08_08_08_08_08:
97 ; SSE41: # BB#0:
98 ; SSE41-NEXT: pshufb {{.*#+}} xmm0 = xmm0[0,0,0,0,0,0,0,0,8,8,8,8,8,8,8,8]
99 ; SSE41-NEXT: retq
157 ; SSE41-LABEL: shuffle_v16i8_00_00_00_00_04_04_04_04_08_08_08_08_12_12_12_12:
158 ; SSE41: # BB#0:
159 ; SSE41-NEXT: pshufb {{.*#+}} xmm0 = xmm0[0,0,0,0,4,4,4,4,8,8,8,8,12,12,12,12]
160 ; SSE41-NEXT: retq
204 ; SSE41-LABEL: shuffle_v16i8_0101010101010101:
205 ; SSE41: # BB#0:
206 ; SSE41-NEXT: pshufb {{.*#+}} xmm0 = xmm0[0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1]
207 ; SSE41-NEXT: retq
272 ; SSE41-LABEL: shuffle_v16i8_16_00_16_01_16_02_16_03_16_04_16_05_16_06_16_07:
273 ; SSE41: # BB#0:
274 ; SSE41-NEXT: punpcklbw {{.*#+}} xmm1 = xmm1[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7]
275 ; SSE41-NEXT: pshuflw {{.*#+}} xmm1 = xmm1[0,0,0,0,4,5,6,7]
276 ; SSE41-NEXT: punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],…
277 ; SSE41-NEXT: movdqa %xmm1, %xmm0
278 ; SSE41-NEXT: retq
315 ; SSE41-LABEL: shuffle_v16i8_03_02_01_00_07_06_05_04_11_10_09_08_15_14_13_12:
316 ; SSE41: # BB#0:
317 ; SSE41-NEXT: pshufb {{.*#+}} xmm0 = xmm0[3,2,1,0,7,6,5,4,11,10,9,8,15,14,13,12]
318 ; SSE41-NEXT: retq
347 ; SSE41-LABEL: shuffle_v16i8_03_02_01_00_07_06_05_04_19_18_17_16_23_22_21_20:
348 ; SSE41: # BB#0:
349 ; SSE41-NEXT: punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],…
350 ; SSE41-NEXT: pshufb {{.*#+}} xmm0 = xmm0[6,4,2,0,14,12,10,8,7,5,3,1,15,13,11,9]
351 ; SSE41-NEXT: retq
390 ; SSE41-LABEL: shuffle_v16i8_03_02_01_00_31_30_29_28_11_10_09_08_23_22_21_20:
391 ; SSE41: # BB#0:
392 ; SSE41-NEXT: pshufb {{.*#+}} xmm1 = xmm1[15,14,13,12,7,6,5,4,u,u,u,u,u,u,u,u]
393 ; SSE41-NEXT: pshufb {{.*#+}} xmm0 = xmm0[3,2,1,0,11,10,9,8,u,u,u,u,u,u,u,u]
394 ; SSE41-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
395 ; SSE41-NEXT: retq
423 ; SSE41-LABEL: shuffle_v16i8_00_17_02_19_04_21_06_23_08_25_10_27_12_29_14_31:
424 ; SSE41: # BB#0:
425 ; SSE41-NEXT: movdqa %xmm0, %xmm2
426 ; SSE41-NEXT: movaps {{.*#+}} xmm0 = [255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0]
427 ; SSE41-NEXT: pblendvb %xmm2, %xmm1
428 ; SSE41-NEXT: movdqa %xmm1, %xmm0
429 ; SSE41-NEXT: retq
456 ; SSE41-LABEL: shuffle_v16i8_00_01_02_19_04_05_06_23_08_09_10_27_12_13_14_31:
457 ; SSE41: # BB#0:
458 ; SSE41-NEXT: movdqa %xmm0, %xmm2
459 ; SSE41-NEXT: movaps {{.*#+}} xmm0 = [255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0]
460 ; SSE41-NEXT: pblendvb %xmm2, %xmm1
461 ; SSE41-NEXT: movdqa %xmm1, %xmm0
462 ; SSE41-NEXT: retq
503 ; SSE41-LABEL: shuffle_v16i8_00_01_02_03_20_05_06_23_08_09_10_11_28_13_14_31:
504 ; SSE41: # BB#0:
505 ; SSE41-NEXT: movdqa %xmm0, %xmm2
506 ; SSE41-NEXT: movaps {{.*#+}} xmm0 = [255,255,255,255,0,255,255,0,255,255,255,255,0,255,255,0]
507 ; SSE41-NEXT: pblendvb %xmm2, %xmm1
508 ; SSE41-NEXT: movdqa %xmm1, %xmm0
509 ; SSE41-NEXT: retq
537 ; SSE41-LABEL: shuffle_v16i8_16_17_18_19_04_05_06_07_24_25_10_11_28_13_30_15:
538 ; SSE41: # BB#0:
539 ; SSE41-NEXT: movdqa %xmm0, %xmm2
540 ; SSE41-NEXT: movaps {{.*#+}} xmm0 = [255,255,255,255,0,0,0,0,255,255,0,0,255,0,255,0]
541 ; SSE41-NEXT: pblendvb %xmm1, %xmm2
542 ; SSE41-NEXT: movdqa %xmm2, %xmm0
543 ; SSE41-NEXT: retq
567 ; SSE41-LABEL: trunc_v4i32_shuffle:
568 ; SSE41: # BB#0:
569 ; SSE41-NEXT: pshufb {{.*#+}} xmm0 = xmm0[0,4,8,12,u,u,u,u,u,u,u,u,u,u,u,u]
570 ; SSE41-NEXT: retq
638 ; SSE41-LABEL: PR20540:
639 ; SSE41: # BB#0:
640 ; SSE41-NEXT: pshufb {{.*#+}} xmm0 = xmm0[0,2,4,6,8,10,12,14],zero,zero,zero,zero,zero,zero,zero…
641 ; SSE41-NEXT: retq
683 ; SSE41-LABEL: shuffle_v16i8_zz_zz_zz_zz_zz_16_zz_zz_zz_zz_zz_zz_zz_zz_zz_zz:
684 ; SSE41: # BB#0:
685 ; SSE41-NEXT: pxor %xmm0, %xmm0
686 ; SSE41-NEXT: pinsrb $5, %edi, %xmm0
687 ; SSE41-NEXT: retq
714 ; SSE41-LABEL: shuffle_v16i8_zz_uu_uu_zz_uu_uu_zz_zz_zz_zz_zz_zz_zz_zz_zz_16:
715 ; SSE41: # BB#0:
716 ; SSE41-NEXT: pxor %xmm0, %xmm0
717 ; SSE41-NEXT: pinsrb $15, %edi, %xmm0
718 ; SSE41-NEXT: retq
745 ; SSE41-LABEL: shuffle_v16i8_zz_zz_19_zz_zz_zz_zz_zz_zz_zz_zz_zz_zz_zz_zz_zz:
746 ; SSE41: # BB#0:
747 ; SSE41-NEXT: pxor %xmm0, %xmm0
748 ; SSE41-NEXT: pinsrb $2, %edi, %xmm0
749 ; SSE41-NEXT: retq
802 ; SSE41-LABEL: shuffle_v16i8_31_00_01_02_03_04_05_06_07_08_09_10_11_12_13_14:
803 ; SSE41: # BB#0:
804 ; SSE41-NEXT: palignr {{.*#+}} xmm0 = xmm1[15],xmm0[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]
805 ; SSE41-NEXT: retq
829 ; SSE41-LABEL: shuffle_v16i8_15_00_01_02_03_04_05_06_07_08_09_10_11_12_13_14:
830 ; SSE41: # BB#0:
831 ; SSE41-NEXT: palignr {{.*#+}} xmm0 = xmm0[15,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]
832 ; SSE41-NEXT: retq
855 ; SSE41-LABEL: shuffle_v16i8_17_18_19_20_21_22_23_24_25_26_27_28_29_30_31_00:
856 ; SSE41: # BB#0:
857 ; SSE41-NEXT: palignr {{.*#+}} xmm0 = xmm1[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],xmm0[0]
858 ; SSE41-NEXT: retq
882 ; SSE41-LABEL: shuffle_v16i8_01_02_03_04_05_06_07_08_09_10_11_12_13_14_15_16:
883 ; SSE41: # BB#0:
884 ; SSE41-NEXT: palignr {{.*#+}} xmm1 = xmm0[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],xmm1[0]
885 ; SSE41-NEXT: movdqa %xmm1, %xmm0
886 ; SSE41-NEXT: retq
910 ; SSE41-LABEL: shuffle_v16i8_01_02_03_04_05_06_07_08_09_10_11_12_13_14_15_00:
911 ; SSE41: # BB#0:
912 ; SSE41-NEXT: palignr {{.*#+}} xmm0 = xmm0[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0]
913 ; SSE41-NEXT: retq
937 ; SSE41-LABEL: shuffle_v16i8_15_16_17_18_19_20_21_22_23_24_25_26_27_28_29_30:
938 ; SSE41: # BB#0:
939 ; SSE41-NEXT: palignr {{.*#+}} xmm1 = xmm0[15],xmm1[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]
940 ; SSE41-NEXT: movdqa %xmm1, %xmm0
941 ; SSE41-NEXT: retq
964 ; SSE41-LABEL: shuffle_v16i8_00_uu_uu_uu_uu_uu_uu_uu_01_uu_uu_uu_uu_uu_uu_uu:
965 ; SSE41: # BB#0:
966 ; SSE41-NEXT: pmovzxbq {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,zero,zero,zero,zero,xmm0[1],zero,z…
967 ; SSE41-NEXT: retq
991 ; SSE41-LABEL: shuffle_v16i8_00_zz_zz_zz_zz_zz_zz_zz_01_zz_zz_zz_zz_zz_zz_zz:
992 ; SSE41: # BB#0:
993 ; SSE41-NEXT: pmovzxbq {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,zero,zero,zero,zero,xmm0[1],zero,z…
994 ; SSE41-NEXT: retq
1017 ; SSE41-LABEL: shuffle_v16i8_00_uu_uu_uu_01_uu_uu_uu_02_uu_uu_uu_03_uu_uu_uu:
1018 ; SSE41: # BB#0:
1019 ; SSE41-NEXT: pmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zer…
1020 ; SSE41-NEXT: retq
1045 ; SSE41-LABEL: shuffle_v16i8_00_zz_zz_zz_01_zz_zz_zz_02_zz_zz_zz_03_zz_zz_zz:
1046 ; SSE41: # BB#0:
1047 ; SSE41-NEXT: pmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zer…
1048 ; SSE41-NEXT: retq
1069 ; SSE41-LABEL: shuffle_v16i8_00_uu_01_uu_02_uu_03_uu_04_uu_05_uu_06_uu_07_uu:
1070 ; SSE41: # BB#0:
1071 ; SSE41-NEXT: pmovzxbw {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[…
1072 ; SSE41-NEXT: retq
1095 ; SSE41-LABEL: shuffle_v16i8_00_zz_01_zz_02_zz_03_zz_04_zz_05_zz_06_zz_07_zz:
1096 ; SSE41: # BB#0:
1097 ; SSE41-NEXT: pmovzxbw {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[…
1098 ; SSE41-NEXT: retq
1149 ; SSE41-LABEL: shuffle_v16i8_uu_10_02_07_22_14_07_02_18_03_01_14_18_09_11_00:
1150 ; SSE41: # BB#0: # %entry
1151 ; SSE41-NEXT: pshufb {{.*#+}} xmm1 = xmm1[u],zero,zero,zero,xmm1[6],zero,zero,zero,xmm1[2],zero,…
1152 ; SSE41-NEXT: pshufb {{.*#+}} xmm0 = xmm0[u,10,2,7],zero,xmm0[14,7,2],zero,xmm0[3,1,14],zero,xmm…
1153 ; SSE41-NEXT: por %xmm1, %xmm0
1154 ; SSE41-NEXT: retq
1322 ; SSE41-LABEL: PR12412:
1323 ; SSE41: # BB#0: # %entry
1324 ; SSE41-NEXT: movdqa {{.*#+}} xmm2 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
1325 ; SSE41-NEXT: pshufb %xmm2, %xmm1
1326 ; SSE41-NEXT: pshufb %xmm2, %xmm0
1327 ; SSE41-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
1328 ; SSE41-NEXT: retq
1392 ; SSE41-LABEL: insert_dup_mem_v16i8_i32:
1393 ; SSE41: # BB#0:
1394 ; SSE41-NEXT: movd {{.*#+}} xmm0 = mem[0],zero,zero,zero
1395 ; SSE41-NEXT: pxor %xmm1, %xmm1
1396 ; SSE41-NEXT: pshufb %xmm1, %xmm0
1397 ; SSE41-NEXT: retq
1436 ; SSE41-LABEL: insert_dup_mem_v16i8_sext_i8:
1437 ; SSE41: # BB#0:
1438 ; SSE41-NEXT: movsbl (%rdi), %eax
1439 ; SSE41-NEXT: movd %eax, %xmm0
1440 ; SSE41-NEXT: pxor %xmm1, %xmm1
1441 ; SSE41-NEXT: pshufb %xmm1, %xmm0
1442 ; SSE41-NEXT: retq
1480 ; SSE41-LABEL: insert_dup_elt1_mem_v16i8_i32:
1481 ; SSE41: # BB#0:
1482 ; SSE41-NEXT: movd {{.*#+}} xmm0 = mem[0],zero,zero,zero
1483 ; SSE41-NEXT: pshufb {{.*#+}} xmm0 = xmm0[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
1484 ; SSE41-NEXT: retq
1519 ; SSE41-LABEL: insert_dup_elt2_mem_v16i8_i32:
1520 ; SSE41: # BB#0:
1521 ; SSE41-NEXT: movd {{.*#+}} xmm0 = mem[0],zero,zero,zero
1522 ; SSE41-NEXT: pshufb {{.*#+}} xmm0 = xmm0[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2]
1523 ; SSE41-NEXT: retq
1560 ; SSE41-LABEL: insert_dup_elt1_mem_v16i8_sext_i8:
1561 ; SSE41: # BB#0:
1562 ; SSE41-NEXT: movsbl (%rdi), %eax
1563 ; SSE41-NEXT: movd %eax, %xmm0
1564 ; SSE41-NEXT: pshufb {{.*#+}} xmm0 = xmm0[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
1565 ; SSE41-NEXT: retq
1607 ; SSE41-LABEL: insert_dup_elt2_mem_v16i8_sext_i8:
1608 ; SSE41: # BB#0:
1609 ; SSE41-NEXT: movsbl (%rdi), %eax
1610 ; SSE41-NEXT: movd %eax, %xmm0
1611 ; SSE41-NEXT: pshufb {{.*#+}} xmm0 = xmm0[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2]
1612 ; SSE41-NEXT: retq