Lines Matching refs:SSE42
3 ; RUN: llc < %s -mtriple=i686-apple-darwin -mattr=+sse4.2 | FileCheck %s --check-prefix=X86-SSE42
7 ; RUN: llc < %s -mtriple=x86_64-apple-darwin -mattr=+sse4.2 | FileCheck %s --check-prefix=X64-SSE42
40 ; X86-SSE42-LABEL: test_reduce_v2i64:
41 ; X86-SSE42: ## %bb.0:
42 ; X86-SSE42-NEXT: movdqa %xmm0, %xmm1
43 ; X86-SSE42-NEXT: pshufd {{.*#+}} xmm2 = xmm0[2,3,2,3]
44 ; X86-SSE42-NEXT: movdqa %xmm2, %xmm0
45 ; X86-SSE42-NEXT: pcmpgtq %xmm1, %xmm0
46 ; X86-SSE42-NEXT: blendvpd %xmm0, %xmm1, %xmm2
47 ; X86-SSE42-NEXT: movd %xmm2, %eax
48 ; X86-SSE42-NEXT: pextrd $1, %xmm2, %edx
49 ; X86-SSE42-NEXT: retl
81 ; X64-SSE42-LABEL: test_reduce_v2i64:
82 ; X64-SSE42: ## %bb.0:
83 ; X64-SSE42-NEXT: movdqa %xmm0, %xmm1
84 ; X64-SSE42-NEXT: pshufd {{.*#+}} xmm2 = xmm0[2,3,2,3]
85 ; X64-SSE42-NEXT: movdqa %xmm2, %xmm0
86 ; X64-SSE42-NEXT: pcmpgtq %xmm1, %xmm0
87 ; X64-SSE42-NEXT: blendvpd %xmm0, %xmm1, %xmm2
88 ; X64-SSE42-NEXT: movq %xmm2, %rax
89 ; X64-SSE42-NEXT: retq
138 ; X86-SSE42-LABEL: test_reduce_v4i32:
139 ; X86-SSE42: ## %bb.0:
140 ; X86-SSE42-NEXT: pshufd {{.*#+}} xmm1 = xmm0[2,3,2,3]
141 ; X86-SSE42-NEXT: pminsd %xmm0, %xmm1
142 ; X86-SSE42-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,1,1,1]
143 ; X86-SSE42-NEXT: pminsd %xmm1, %xmm0
144 ; X86-SSE42-NEXT: movd %xmm0, %eax
145 ; X86-SSE42-NEXT: retl
173 ; X64-SSE42-LABEL: test_reduce_v4i32:
174 ; X64-SSE42: ## %bb.0:
175 ; X64-SSE42-NEXT: pshufd {{.*#+}} xmm1 = xmm0[2,3,2,3]
176 ; X64-SSE42-NEXT: pminsd %xmm0, %xmm1
177 ; X64-SSE42-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,1,1,1]
178 ; X64-SSE42-NEXT: pminsd %xmm1, %xmm0
179 ; X64-SSE42-NEXT: movd %xmm0, %eax
180 ; X64-SSE42-NEXT: retq
214 ; X86-SSE42-LABEL: test_reduce_v8i16:
215 ; X86-SSE42: ## %bb.0:
216 ; X86-SSE42-NEXT: pxor LCPI2_0, %xmm0
217 ; X86-SSE42-NEXT: phminposuw %xmm0, %xmm0
218 ; X86-SSE42-NEXT: movd %xmm0, %eax
219 ; X86-SSE42-NEXT: xorl $32768, %eax ## imm = 0x8000
220 ; X86-SSE42-NEXT: ## kill: def $ax killed $ax killed $eax
221 ; X86-SSE42-NEXT: retl
245 ; X64-SSE42-LABEL: test_reduce_v8i16:
246 ; X64-SSE42: ## %bb.0:
247 ; X64-SSE42-NEXT: pxor {{.*}}(%rip), %xmm0
248 ; X64-SSE42-NEXT: phminposuw %xmm0, %xmm0
249 ; X64-SSE42-NEXT: movd %xmm0, %eax
250 ; X64-SSE42-NEXT: xorl $32768, %eax ## imm = 0x8000
251 ; X64-SSE42-NEXT: ## kill: def $ax killed $ax killed $eax
252 ; X64-SSE42-NEXT: retq
308 ; X86-SSE42-LABEL: test_reduce_v16i8:
309 ; X86-SSE42: ## %bb.0:
310 ; X86-SSE42-NEXT: pxor LCPI3_0, %xmm0
311 ; X86-SSE42-NEXT: movdqa %xmm0, %xmm1
312 ; X86-SSE42-NEXT: psrlw $8, %xmm1
313 ; X86-SSE42-NEXT: pminub %xmm0, %xmm1
314 ; X86-SSE42-NEXT: phminposuw %xmm1, %xmm0
315 ; X86-SSE42-NEXT: movd %xmm0, %eax
316 ; X86-SSE42-NEXT: xorb $-128, %al
317 ; X86-SSE42-NEXT: ## kill: def $al killed $al killed $eax
318 ; X86-SSE42-NEXT: retl
363 ; X64-SSE42-LABEL: test_reduce_v16i8:
364 ; X64-SSE42: ## %bb.0:
365 ; X64-SSE42-NEXT: pxor {{.*}}(%rip), %xmm0
366 ; X64-SSE42-NEXT: movdqa %xmm0, %xmm1
367 ; X64-SSE42-NEXT: psrlw $8, %xmm1
368 ; X64-SSE42-NEXT: pminub %xmm0, %xmm1
369 ; X64-SSE42-NEXT: phminposuw %xmm1, %xmm0
370 ; X64-SSE42-NEXT: movd %xmm0, %eax
371 ; X64-SSE42-NEXT: xorb $-128, %al
372 ; X64-SSE42-NEXT: ## kill: def $al killed $al killed $eax
373 ; X64-SSE42-NEXT: retq
444 ; X86-SSE42-LABEL: test_reduce_v4i64:
445 ; X86-SSE42: ## %bb.0:
446 ; X86-SSE42-NEXT: movdqa %xmm0, %xmm2
447 ; X86-SSE42-NEXT: movdqa %xmm1, %xmm0
448 ; X86-SSE42-NEXT: pcmpgtq %xmm2, %xmm0
449 ; X86-SSE42-NEXT: blendvpd %xmm0, %xmm2, %xmm1
450 ; X86-SSE42-NEXT: pshufd {{.*#+}} xmm2 = xmm1[2,3,2,3]
451 ; X86-SSE42-NEXT: movdqa %xmm2, %xmm0
452 ; X86-SSE42-NEXT: pcmpgtq %xmm1, %xmm0
453 ; X86-SSE42-NEXT: blendvpd %xmm0, %xmm1, %xmm2
454 ; X86-SSE42-NEXT: movd %xmm2, %eax
455 ; X86-SSE42-NEXT: pextrd $1, %xmm2, %edx
456 ; X86-SSE42-NEXT: retl
520 ; X64-SSE42-LABEL: test_reduce_v4i64:
521 ; X64-SSE42: ## %bb.0:
522 ; X64-SSE42-NEXT: movdqa %xmm0, %xmm2
523 ; X64-SSE42-NEXT: movdqa %xmm1, %xmm0
524 ; X64-SSE42-NEXT: pcmpgtq %xmm2, %xmm0
525 ; X64-SSE42-NEXT: blendvpd %xmm0, %xmm2, %xmm1
526 ; X64-SSE42-NEXT: pshufd {{.*#+}} xmm2 = xmm1[2,3,2,3]
527 ; X64-SSE42-NEXT: movdqa %xmm2, %xmm0
528 ; X64-SSE42-NEXT: pcmpgtq %xmm1, %xmm0
529 ; X64-SSE42-NEXT: blendvpd %xmm0, %xmm1, %xmm2
530 ; X64-SSE42-NEXT: movq %xmm2, %rax
531 ; X64-SSE42-NEXT: retq
599 ; X86-SSE42-LABEL: test_reduce_v8i32:
600 ; X86-SSE42: ## %bb.0:
601 ; X86-SSE42-NEXT: pminsd %xmm1, %xmm0
602 ; X86-SSE42-NEXT: pshufd {{.*#+}} xmm1 = xmm0[2,3,2,3]
603 ; X86-SSE42-NEXT: pminsd %xmm0, %xmm1
604 ; X86-SSE42-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,1,1,1]
605 ; X86-SSE42-NEXT: pminsd %xmm1, %xmm0
606 ; X86-SSE42-NEXT: movd %xmm0, %eax
607 ; X86-SSE42-NEXT: retl
655 ; X64-SSE42-LABEL: test_reduce_v8i32:
656 ; X64-SSE42: ## %bb.0:
657 ; X64-SSE42-NEXT: pminsd %xmm1, %xmm0
658 ; X64-SSE42-NEXT: pshufd {{.*#+}} xmm1 = xmm0[2,3,2,3]
659 ; X64-SSE42-NEXT: pminsd %xmm0, %xmm1
660 ; X64-SSE42-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,1,1,1]
661 ; X64-SSE42-NEXT: pminsd %xmm1, %xmm0
662 ; X64-SSE42-NEXT: movd %xmm0, %eax
663 ; X64-SSE42-NEXT: retq
728 ; X86-SSE42-LABEL: test_reduce_v16i16:
729 ; X86-SSE42: ## %bb.0:
730 ; X86-SSE42-NEXT: pminsw %xmm1, %xmm0
731 ; X86-SSE42-NEXT: pxor LCPI6_0, %xmm0
732 ; X86-SSE42-NEXT: phminposuw %xmm0, %xmm0
733 ; X86-SSE42-NEXT: movd %xmm0, %eax
734 ; X86-SSE42-NEXT: xorl $32768, %eax ## imm = 0x8000
735 ; X86-SSE42-NEXT: ## kill: def $ax killed $ax killed $eax
736 ; X86-SSE42-NEXT: retl
776 ; X64-SSE42-LABEL: test_reduce_v16i16:
777 ; X64-SSE42: ## %bb.0:
778 ; X64-SSE42-NEXT: pminsw %xmm1, %xmm0
779 ; X64-SSE42-NEXT: pxor {{.*}}(%rip), %xmm0
780 ; X64-SSE42-NEXT: phminposuw %xmm0, %xmm0
781 ; X64-SSE42-NEXT: movd %xmm0, %eax
782 ; X64-SSE42-NEXT: xorl $32768, %eax ## imm = 0x8000
783 ; X64-SSE42-NEXT: ## kill: def $ax killed $ax killed $eax
784 ; X64-SSE42-NEXT: retq
875 ; X86-SSE42-LABEL: test_reduce_v32i8:
876 ; X86-SSE42: ## %bb.0:
877 ; X86-SSE42-NEXT: pminsb %xmm1, %xmm0
878 ; X86-SSE42-NEXT: pxor LCPI7_0, %xmm0
879 ; X86-SSE42-NEXT: movdqa %xmm0, %xmm1
880 ; X86-SSE42-NEXT: psrlw $8, %xmm1
881 ; X86-SSE42-NEXT: pminub %xmm0, %xmm1
882 ; X86-SSE42-NEXT: phminposuw %xmm1, %xmm0
883 ; X86-SSE42-NEXT: movd %xmm0, %eax
884 ; X86-SSE42-NEXT: xorb $-128, %al
885 ; X86-SSE42-NEXT: ## kill: def $al killed $al killed $eax
886 ; X86-SSE42-NEXT: retl
953 ; X64-SSE42-LABEL: test_reduce_v32i8:
954 ; X64-SSE42: ## %bb.0:
955 ; X64-SSE42-NEXT: pminsb %xmm1, %xmm0
956 ; X64-SSE42-NEXT: pxor {{.*}}(%rip), %xmm0
957 ; X64-SSE42-NEXT: movdqa %xmm0, %xmm1
958 ; X64-SSE42-NEXT: psrlw $8, %xmm1
959 ; X64-SSE42-NEXT: pminub %xmm0, %xmm1
960 ; X64-SSE42-NEXT: phminposuw %xmm1, %xmm0
961 ; X64-SSE42-NEXT: movd %xmm0, %eax
962 ; X64-SSE42-NEXT: xorb $-128, %al
963 ; X64-SSE42-NEXT: ## kill: def $al killed $al killed $eax
964 ; X64-SSE42-NEXT: retq
1099 ; X86-SSE42-LABEL: test_reduce_v8i64:
1100 ; X86-SSE42: ## %bb.0:
1101 ; X86-SSE42-NEXT: movdqa %xmm0, %xmm4
1102 ; X86-SSE42-NEXT: movdqa %xmm2, %xmm0
1103 ; X86-SSE42-NEXT: pcmpgtq %xmm4, %xmm0
1104 ; X86-SSE42-NEXT: blendvpd %xmm0, %xmm4, %xmm2
1105 ; X86-SSE42-NEXT: movdqa %xmm3, %xmm0
1106 ; X86-SSE42-NEXT: pcmpgtq %xmm1, %xmm0
1107 ; X86-SSE42-NEXT: blendvpd %xmm0, %xmm1, %xmm3
1108 ; X86-SSE42-NEXT: movapd %xmm3, %xmm0
1109 ; X86-SSE42-NEXT: pcmpgtq %xmm2, %xmm0
1110 ; X86-SSE42-NEXT: blendvpd %xmm0, %xmm2, %xmm3
1111 ; X86-SSE42-NEXT: pshufd {{.*#+}} xmm1 = xmm3[2,3,2,3]
1112 ; X86-SSE42-NEXT: movdqa %xmm1, %xmm0
1113 ; X86-SSE42-NEXT: pcmpgtq %xmm3, %xmm0
1114 ; X86-SSE42-NEXT: blendvpd %xmm0, %xmm3, %xmm1
1115 ; X86-SSE42-NEXT: movd %xmm1, %eax
1116 ; X86-SSE42-NEXT: pextrd $1, %xmm1, %edx
1117 ; X86-SSE42-NEXT: retl
1218 ; X64-SSE42-LABEL: test_reduce_v8i64:
1219 ; X64-SSE42: ## %bb.0:
1220 ; X64-SSE42-NEXT: movdqa %xmm0, %xmm4
1221 ; X64-SSE42-NEXT: movdqa %xmm2, %xmm0
1222 ; X64-SSE42-NEXT: pcmpgtq %xmm4, %xmm0
1223 ; X64-SSE42-NEXT: blendvpd %xmm0, %xmm4, %xmm2
1224 ; X64-SSE42-NEXT: movdqa %xmm3, %xmm0
1225 ; X64-SSE42-NEXT: pcmpgtq %xmm1, %xmm0
1226 ; X64-SSE42-NEXT: blendvpd %xmm0, %xmm1, %xmm3
1227 ; X64-SSE42-NEXT: movapd %xmm3, %xmm0
1228 ; X64-SSE42-NEXT: pcmpgtq %xmm2, %xmm0
1229 ; X64-SSE42-NEXT: blendvpd %xmm0, %xmm2, %xmm3
1230 ; X64-SSE42-NEXT: pshufd {{.*#+}} xmm1 = xmm3[2,3,2,3]
1231 ; X64-SSE42-NEXT: movdqa %xmm1, %xmm0
1232 ; X64-SSE42-NEXT: pcmpgtq %xmm3, %xmm0
1233 ; X64-SSE42-NEXT: blendvpd %xmm0, %xmm3, %xmm1
1234 ; X64-SSE42-NEXT: movq %xmm1, %rax
1235 ; X64-SSE42-NEXT: retq
1325 ; X86-SSE42-LABEL: test_reduce_v16i32:
1326 ; X86-SSE42: ## %bb.0:
1327 ; X86-SSE42-NEXT: pminsd %xmm3, %xmm1
1328 ; X86-SSE42-NEXT: pminsd %xmm2, %xmm1
1329 ; X86-SSE42-NEXT: pminsd %xmm0, %xmm1
1330 ; X86-SSE42-NEXT: pshufd {{.*#+}} xmm0 = xmm1[2,3,2,3]
1331 ; X86-SSE42-NEXT: pminsd %xmm1, %xmm0
1332 ; X86-SSE42-NEXT: pshufd {{.*#+}} xmm1 = xmm0[1,1,1,1]
1333 ; X86-SSE42-NEXT: pminsd %xmm0, %xmm1
1334 ; X86-SSE42-NEXT: movd %xmm1, %eax
1335 ; X86-SSE42-NEXT: retl
1397 ; X64-SSE42-LABEL: test_reduce_v16i32:
1398 ; X64-SSE42: ## %bb.0:
1399 ; X64-SSE42-NEXT: pminsd %xmm3, %xmm1
1400 ; X64-SSE42-NEXT: pminsd %xmm2, %xmm1
1401 ; X64-SSE42-NEXT: pminsd %xmm0, %xmm1
1402 ; X64-SSE42-NEXT: pshufd {{.*#+}} xmm0 = xmm1[2,3,2,3]
1403 ; X64-SSE42-NEXT: pminsd %xmm1, %xmm0
1404 ; X64-SSE42-NEXT: pshufd {{.*#+}} xmm1 = xmm0[1,1,1,1]
1405 ; X64-SSE42-NEXT: pminsd %xmm0, %xmm1
1406 ; X64-SSE42-NEXT: movd %xmm1, %eax
1407 ; X64-SSE42-NEXT: retq
1483 ; X86-SSE42-LABEL: test_reduce_v32i16:
1484 ; X86-SSE42: ## %bb.0:
1485 ; X86-SSE42-NEXT: pminsw %xmm3, %xmm1
1486 ; X86-SSE42-NEXT: pminsw %xmm2, %xmm1
1487 ; X86-SSE42-NEXT: pminsw %xmm0, %xmm1
1488 ; X86-SSE42-NEXT: pxor LCPI10_0, %xmm1
1489 ; X86-SSE42-NEXT: phminposuw %xmm1, %xmm0
1490 ; X86-SSE42-NEXT: movd %xmm0, %eax
1491 ; X86-SSE42-NEXT: xorl $32768, %eax ## imm = 0x8000
1492 ; X86-SSE42-NEXT: ## kill: def $ax killed $ax killed $eax
1493 ; X86-SSE42-NEXT: retl
1539 ; X64-SSE42-LABEL: test_reduce_v32i16:
1540 ; X64-SSE42: ## %bb.0:
1541 ; X64-SSE42-NEXT: pminsw %xmm3, %xmm1
1542 ; X64-SSE42-NEXT: pminsw %xmm2, %xmm1
1543 ; X64-SSE42-NEXT: pminsw %xmm0, %xmm1
1544 ; X64-SSE42-NEXT: pxor {{.*}}(%rip), %xmm1
1545 ; X64-SSE42-NEXT: phminposuw %xmm1, %xmm0
1546 ; X64-SSE42-NEXT: movd %xmm0, %eax
1547 ; X64-SSE42-NEXT: xorl $32768, %eax ## imm = 0x8000
1548 ; X64-SSE42-NEXT: ## kill: def $ax killed $ax killed $eax
1549 ; X64-SSE42-NEXT: retq
1659 ; X86-SSE42-LABEL: test_reduce_v64i8:
1660 ; X86-SSE42: ## %bb.0:
1661 ; X86-SSE42-NEXT: pminsb %xmm3, %xmm1
1662 ; X86-SSE42-NEXT: pminsb %xmm2, %xmm1
1663 ; X86-SSE42-NEXT: pminsb %xmm0, %xmm1
1664 ; X86-SSE42-NEXT: pxor LCPI11_0, %xmm1
1665 ; X86-SSE42-NEXT: movdqa %xmm1, %xmm0
1666 ; X86-SSE42-NEXT: psrlw $8, %xmm0
1667 ; X86-SSE42-NEXT: pminub %xmm1, %xmm0
1668 ; X86-SSE42-NEXT: phminposuw %xmm0, %xmm0
1669 ; X86-SSE42-NEXT: movd %xmm0, %eax
1670 ; X86-SSE42-NEXT: xorb $-128, %al
1671 ; X86-SSE42-NEXT: ## kill: def $al killed $al killed $eax
1672 ; X86-SSE42-NEXT: retl
1753 ; X64-SSE42-LABEL: test_reduce_v64i8:
1754 ; X64-SSE42: ## %bb.0:
1755 ; X64-SSE42-NEXT: pminsb %xmm3, %xmm1
1756 ; X64-SSE42-NEXT: pminsb %xmm2, %xmm1
1757 ; X64-SSE42-NEXT: pminsb %xmm0, %xmm1
1758 ; X64-SSE42-NEXT: pxor {{.*}}(%rip), %xmm1
1759 ; X64-SSE42-NEXT: movdqa %xmm1, %xmm0
1760 ; X64-SSE42-NEXT: psrlw $8, %xmm0
1761 ; X64-SSE42-NEXT: pminub %xmm1, %xmm0
1762 ; X64-SSE42-NEXT: phminposuw %xmm0, %xmm0
1763 ; X64-SSE42-NEXT: movd %xmm0, %eax
1764 ; X64-SSE42-NEXT: xorb $-128, %al
1765 ; X64-SSE42-NEXT: ## kill: def $al killed $al killed $eax
1766 ; X64-SSE42-NEXT: retq
1855 ; X86-SSE42-LABEL: test_reduce_v16i16_v8i16:
1856 ; X86-SSE42: ## %bb.0:
1857 ; X86-SSE42-NEXT: pxor LCPI12_0, %xmm0
1858 ; X86-SSE42-NEXT: phminposuw %xmm0, %xmm0
1859 ; X86-SSE42-NEXT: movd %xmm0, %eax
1860 ; X86-SSE42-NEXT: xorl $32768, %eax ## imm = 0x8000
1861 ; X86-SSE42-NEXT: ## kill: def $ax killed $ax killed $eax
1862 ; X86-SSE42-NEXT: retl
1887 ; X64-SSE42-LABEL: test_reduce_v16i16_v8i16:
1888 ; X64-SSE42: ## %bb.0:
1889 ; X64-SSE42-NEXT: pxor {{.*}}(%rip), %xmm0
1890 ; X64-SSE42-NEXT: phminposuw %xmm0, %xmm0
1891 ; X64-SSE42-NEXT: movd %xmm0, %eax
1892 ; X64-SSE42-NEXT: xorl $32768, %eax ## imm = 0x8000
1893 ; X64-SSE42-NEXT: ## kill: def $ax killed $ax killed $eax
1894 ; X64-SSE42-NEXT: retq
1932 ; X86-SSE42-LABEL: test_reduce_v32i16_v8i16:
1933 ; X86-SSE42: ## %bb.0:
1934 ; X86-SSE42-NEXT: pxor LCPI13_0, %xmm0
1935 ; X86-SSE42-NEXT: phminposuw %xmm0, %xmm0
1936 ; X86-SSE42-NEXT: movd %xmm0, %eax
1937 ; X86-SSE42-NEXT: xorl $32768, %eax ## imm = 0x8000
1938 ; X86-SSE42-NEXT: ## kill: def $ax killed $ax killed $eax
1939 ; X86-SSE42-NEXT: retl
1964 ; X64-SSE42-LABEL: test_reduce_v32i16_v8i16:
1965 ; X64-SSE42: ## %bb.0:
1966 ; X64-SSE42-NEXT: pxor {{.*}}(%rip), %xmm0
1967 ; X64-SSE42-NEXT: phminposuw %xmm0, %xmm0
1968 ; X64-SSE42-NEXT: movd %xmm0, %eax
1969 ; X64-SSE42-NEXT: xorl $32768, %eax ## imm = 0x8000
1970 ; X64-SSE42-NEXT: ## kill: def $ax killed $ax killed $eax
1971 ; X64-SSE42-NEXT: retq
2028 ; X86-SSE42-LABEL: test_reduce_v32i8_v16i8:
2029 ; X86-SSE42: ## %bb.0:
2030 ; X86-SSE42-NEXT: pxor LCPI14_0, %xmm0
2031 ; X86-SSE42-NEXT: movdqa %xmm0, %xmm1
2032 ; X86-SSE42-NEXT: psrlw $8, %xmm1
2033 ; X86-SSE42-NEXT: pminub %xmm0, %xmm1
2034 ; X86-SSE42-NEXT: phminposuw %xmm1, %xmm0
2035 ; X86-SSE42-NEXT: movd %xmm0, %eax
2036 ; X86-SSE42-NEXT: xorb $-128, %al
2037 ; X86-SSE42-NEXT: ## kill: def $al killed $al killed $eax
2038 ; X86-SSE42-NEXT: retl
2084 ; X64-SSE42-LABEL: test_reduce_v32i8_v16i8:
2085 ; X64-SSE42: ## %bb.0:
2086 ; X64-SSE42-NEXT: pxor {{.*}}(%rip), %xmm0
2087 ; X64-SSE42-NEXT: movdqa %xmm0, %xmm1
2088 ; X64-SSE42-NEXT: psrlw $8, %xmm1
2089 ; X64-SSE42-NEXT: pminub %xmm0, %xmm1
2090 ; X64-SSE42-NEXT: phminposuw %xmm1, %xmm0
2091 ; X64-SSE42-NEXT: movd %xmm0, %eax
2092 ; X64-SSE42-NEXT: xorb $-128, %al
2093 ; X64-SSE42-NEXT: ## kill: def $al killed $al killed $eax
2094 ; X64-SSE42-NEXT: retq
2156 ; X86-SSE42-LABEL: test_reduce_v64i8_v16i8:
2157 ; X86-SSE42: ## %bb.0:
2158 ; X86-SSE42-NEXT: pxor LCPI15_0, %xmm0
2159 ; X86-SSE42-NEXT: movdqa %xmm0, %xmm1
2160 ; X86-SSE42-NEXT: psrlw $8, %xmm1
2161 ; X86-SSE42-NEXT: pminub %xmm0, %xmm1
2162 ; X86-SSE42-NEXT: phminposuw %xmm1, %xmm0
2163 ; X86-SSE42-NEXT: movd %xmm0, %eax
2164 ; X86-SSE42-NEXT: xorb $-128, %al
2165 ; X86-SSE42-NEXT: ## kill: def $al killed $al killed $eax
2166 ; X86-SSE42-NEXT: retl
2212 ; X64-SSE42-LABEL: test_reduce_v64i8_v16i8:
2213 ; X64-SSE42: ## %bb.0:
2214 ; X64-SSE42-NEXT: pxor {{.*}}(%rip), %xmm0
2215 ; X64-SSE42-NEXT: movdqa %xmm0, %xmm1
2216 ; X64-SSE42-NEXT: psrlw $8, %xmm1
2217 ; X64-SSE42-NEXT: pminub %xmm0, %xmm1
2218 ; X64-SSE42-NEXT: phminposuw %xmm1, %xmm0
2219 ; X64-SSE42-NEXT: movd %xmm0, %eax
2220 ; X64-SSE42-NEXT: xorb $-128, %al
2221 ; X64-SSE42-NEXT: ## kill: def $al killed $al killed $eax
2222 ; X64-SSE42-NEXT: retq