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: pcmpgtq %xmm2, %xmm0
45 ; X86-SSE42-NEXT: blendvpd %xmm0, %xmm1, %xmm2
46 ; X86-SSE42-NEXT: movd %xmm2, %eax
47 ; X86-SSE42-NEXT: pextrd $1, %xmm2, %edx
48 ; X86-SSE42-NEXT: retl
80 ; X64-SSE42-LABEL: test_reduce_v2i64:
81 ; X64-SSE42: ## %bb.0:
82 ; X64-SSE42-NEXT: movdqa %xmm0, %xmm1
83 ; X64-SSE42-NEXT: pshufd {{.*#+}} xmm2 = xmm0[2,3,2,3]
84 ; X64-SSE42-NEXT: pcmpgtq %xmm2, %xmm0
85 ; X64-SSE42-NEXT: blendvpd %xmm0, %xmm1, %xmm2
86 ; X64-SSE42-NEXT: movq %xmm2, %rax
87 ; X64-SSE42-NEXT: retq
136 ; X86-SSE42-LABEL: test_reduce_v4i32:
137 ; X86-SSE42: ## %bb.0:
138 ; X86-SSE42-NEXT: pshufd {{.*#+}} xmm1 = xmm0[2,3,2,3]
139 ; X86-SSE42-NEXT: pmaxsd %xmm0, %xmm1
140 ; X86-SSE42-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,1,1,1]
141 ; X86-SSE42-NEXT: pmaxsd %xmm1, %xmm0
142 ; X86-SSE42-NEXT: movd %xmm0, %eax
143 ; X86-SSE42-NEXT: retl
171 ; X64-SSE42-LABEL: test_reduce_v4i32:
172 ; X64-SSE42: ## %bb.0:
173 ; X64-SSE42-NEXT: pshufd {{.*#+}} xmm1 = xmm0[2,3,2,3]
174 ; X64-SSE42-NEXT: pmaxsd %xmm0, %xmm1
175 ; X64-SSE42-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,1,1,1]
176 ; X64-SSE42-NEXT: pmaxsd %xmm1, %xmm0
177 ; X64-SSE42-NEXT: movd %xmm0, %eax
178 ; X64-SSE42-NEXT: retq
212 ; X86-SSE42-LABEL: test_reduce_v8i16:
213 ; X86-SSE42: ## %bb.0:
214 ; X86-SSE42-NEXT: pxor LCPI2_0, %xmm0
215 ; X86-SSE42-NEXT: phminposuw %xmm0, %xmm0
216 ; X86-SSE42-NEXT: movd %xmm0, %eax
217 ; X86-SSE42-NEXT: xorl $32767, %eax ## imm = 0x7FFF
218 ; X86-SSE42-NEXT: ## kill: def $ax killed $ax killed $eax
219 ; X86-SSE42-NEXT: retl
243 ; X64-SSE42-LABEL: test_reduce_v8i16:
244 ; X64-SSE42: ## %bb.0:
245 ; X64-SSE42-NEXT: pxor {{.*}}(%rip), %xmm0
246 ; X64-SSE42-NEXT: phminposuw %xmm0, %xmm0
247 ; X64-SSE42-NEXT: movd %xmm0, %eax
248 ; X64-SSE42-NEXT: xorl $32767, %eax ## imm = 0x7FFF
249 ; X64-SSE42-NEXT: ## kill: def $ax killed $ax killed $eax
250 ; X64-SSE42-NEXT: retq
306 ; X86-SSE42-LABEL: test_reduce_v16i8:
307 ; X86-SSE42: ## %bb.0:
308 ; X86-SSE42-NEXT: pxor LCPI3_0, %xmm0
309 ; X86-SSE42-NEXT: movdqa %xmm0, %xmm1
310 ; X86-SSE42-NEXT: psrlw $8, %xmm1
311 ; X86-SSE42-NEXT: pminub %xmm0, %xmm1
312 ; X86-SSE42-NEXT: phminposuw %xmm1, %xmm0
313 ; X86-SSE42-NEXT: movd %xmm0, %eax
314 ; X86-SSE42-NEXT: xorb $127, %al
315 ; X86-SSE42-NEXT: ## kill: def $al killed $al killed $eax
316 ; X86-SSE42-NEXT: retl
361 ; X64-SSE42-LABEL: test_reduce_v16i8:
362 ; X64-SSE42: ## %bb.0:
363 ; X64-SSE42-NEXT: pxor {{.*}}(%rip), %xmm0
364 ; X64-SSE42-NEXT: movdqa %xmm0, %xmm1
365 ; X64-SSE42-NEXT: psrlw $8, %xmm1
366 ; X64-SSE42-NEXT: pminub %xmm0, %xmm1
367 ; X64-SSE42-NEXT: phminposuw %xmm1, %xmm0
368 ; X64-SSE42-NEXT: movd %xmm0, %eax
369 ; X64-SSE42-NEXT: xorb $127, %al
370 ; X64-SSE42-NEXT: ## kill: def $al killed $al killed $eax
371 ; X64-SSE42-NEXT: retq
442 ; X86-SSE42-LABEL: test_reduce_v4i64:
443 ; X86-SSE42: ## %bb.0:
444 ; X86-SSE42-NEXT: movdqa %xmm0, %xmm2
445 ; X86-SSE42-NEXT: pcmpgtq %xmm1, %xmm0
446 ; X86-SSE42-NEXT: blendvpd %xmm0, %xmm2, %xmm1
447 ; X86-SSE42-NEXT: pshufd {{.*#+}} xmm2 = xmm1[2,3,2,3]
448 ; X86-SSE42-NEXT: movdqa %xmm1, %xmm0
449 ; X86-SSE42-NEXT: pcmpgtq %xmm2, %xmm0
450 ; X86-SSE42-NEXT: blendvpd %xmm0, %xmm1, %xmm2
451 ; X86-SSE42-NEXT: movd %xmm2, %eax
452 ; X86-SSE42-NEXT: pextrd $1, %xmm2, %edx
453 ; X86-SSE42-NEXT: retl
517 ; X64-SSE42-LABEL: test_reduce_v4i64:
518 ; X64-SSE42: ## %bb.0:
519 ; X64-SSE42-NEXT: movdqa %xmm0, %xmm2
520 ; X64-SSE42-NEXT: pcmpgtq %xmm1, %xmm0
521 ; X64-SSE42-NEXT: blendvpd %xmm0, %xmm2, %xmm1
522 ; X64-SSE42-NEXT: pshufd {{.*#+}} xmm2 = xmm1[2,3,2,3]
523 ; X64-SSE42-NEXT: movdqa %xmm1, %xmm0
524 ; X64-SSE42-NEXT: pcmpgtq %xmm2, %xmm0
525 ; X64-SSE42-NEXT: blendvpd %xmm0, %xmm1, %xmm2
526 ; X64-SSE42-NEXT: movq %xmm2, %rax
527 ; X64-SSE42-NEXT: retq
595 ; X86-SSE42-LABEL: test_reduce_v8i32:
596 ; X86-SSE42: ## %bb.0:
597 ; X86-SSE42-NEXT: pmaxsd %xmm1, %xmm0
598 ; X86-SSE42-NEXT: pshufd {{.*#+}} xmm1 = xmm0[2,3,2,3]
599 ; X86-SSE42-NEXT: pmaxsd %xmm0, %xmm1
600 ; X86-SSE42-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,1,1,1]
601 ; X86-SSE42-NEXT: pmaxsd %xmm1, %xmm0
602 ; X86-SSE42-NEXT: movd %xmm0, %eax
603 ; X86-SSE42-NEXT: retl
651 ; X64-SSE42-LABEL: test_reduce_v8i32:
652 ; X64-SSE42: ## %bb.0:
653 ; X64-SSE42-NEXT: pmaxsd %xmm1, %xmm0
654 ; X64-SSE42-NEXT: pshufd {{.*#+}} xmm1 = xmm0[2,3,2,3]
655 ; X64-SSE42-NEXT: pmaxsd %xmm0, %xmm1
656 ; X64-SSE42-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,1,1,1]
657 ; X64-SSE42-NEXT: pmaxsd %xmm1, %xmm0
658 ; X64-SSE42-NEXT: movd %xmm0, %eax
659 ; X64-SSE42-NEXT: retq
724 ; X86-SSE42-LABEL: test_reduce_v16i16:
725 ; X86-SSE42: ## %bb.0:
726 ; X86-SSE42-NEXT: pmaxsw %xmm1, %xmm0
727 ; X86-SSE42-NEXT: pxor LCPI6_0, %xmm0
728 ; X86-SSE42-NEXT: phminposuw %xmm0, %xmm0
729 ; X86-SSE42-NEXT: movd %xmm0, %eax
730 ; X86-SSE42-NEXT: xorl $32767, %eax ## imm = 0x7FFF
731 ; X86-SSE42-NEXT: ## kill: def $ax killed $ax killed $eax
732 ; X86-SSE42-NEXT: retl
772 ; X64-SSE42-LABEL: test_reduce_v16i16:
773 ; X64-SSE42: ## %bb.0:
774 ; X64-SSE42-NEXT: pmaxsw %xmm1, %xmm0
775 ; X64-SSE42-NEXT: pxor {{.*}}(%rip), %xmm0
776 ; X64-SSE42-NEXT: phminposuw %xmm0, %xmm0
777 ; X64-SSE42-NEXT: movd %xmm0, %eax
778 ; X64-SSE42-NEXT: xorl $32767, %eax ## imm = 0x7FFF
779 ; X64-SSE42-NEXT: ## kill: def $ax killed $ax killed $eax
780 ; X64-SSE42-NEXT: retq
871 ; X86-SSE42-LABEL: test_reduce_v32i8:
872 ; X86-SSE42: ## %bb.0:
873 ; X86-SSE42-NEXT: pmaxsb %xmm1, %xmm0
874 ; X86-SSE42-NEXT: pxor LCPI7_0, %xmm0
875 ; X86-SSE42-NEXT: movdqa %xmm0, %xmm1
876 ; X86-SSE42-NEXT: psrlw $8, %xmm1
877 ; X86-SSE42-NEXT: pminub %xmm0, %xmm1
878 ; X86-SSE42-NEXT: phminposuw %xmm1, %xmm0
879 ; X86-SSE42-NEXT: movd %xmm0, %eax
880 ; X86-SSE42-NEXT: xorb $127, %al
881 ; X86-SSE42-NEXT: ## kill: def $al killed $al killed $eax
882 ; X86-SSE42-NEXT: retl
949 ; X64-SSE42-LABEL: test_reduce_v32i8:
950 ; X64-SSE42: ## %bb.0:
951 ; X64-SSE42-NEXT: pmaxsb %xmm1, %xmm0
952 ; X64-SSE42-NEXT: pxor {{.*}}(%rip), %xmm0
953 ; X64-SSE42-NEXT: movdqa %xmm0, %xmm1
954 ; X64-SSE42-NEXT: psrlw $8, %xmm1
955 ; X64-SSE42-NEXT: pminub %xmm0, %xmm1
956 ; X64-SSE42-NEXT: phminposuw %xmm1, %xmm0
957 ; X64-SSE42-NEXT: movd %xmm0, %eax
958 ; X64-SSE42-NEXT: xorb $127, %al
959 ; X64-SSE42-NEXT: ## kill: def $al killed $al killed $eax
960 ; X64-SSE42-NEXT: retq
1095 ; X86-SSE42-LABEL: test_reduce_v8i64:
1096 ; X86-SSE42: ## %bb.0:
1097 ; X86-SSE42-NEXT: movdqa %xmm0, %xmm4
1098 ; X86-SSE42-NEXT: movdqa %xmm1, %xmm0
1099 ; X86-SSE42-NEXT: pcmpgtq %xmm3, %xmm0
1100 ; X86-SSE42-NEXT: blendvpd %xmm0, %xmm1, %xmm3
1101 ; X86-SSE42-NEXT: movdqa %xmm4, %xmm0
1102 ; X86-SSE42-NEXT: pcmpgtq %xmm2, %xmm0
1103 ; X86-SSE42-NEXT: blendvpd %xmm0, %xmm4, %xmm2
1104 ; X86-SSE42-NEXT: movapd %xmm2, %xmm0
1105 ; X86-SSE42-NEXT: pcmpgtq %xmm3, %xmm0
1106 ; X86-SSE42-NEXT: blendvpd %xmm0, %xmm2, %xmm3
1107 ; X86-SSE42-NEXT: pshufd {{.*#+}} xmm1 = xmm3[2,3,2,3]
1108 ; X86-SSE42-NEXT: movdqa %xmm3, %xmm0
1109 ; X86-SSE42-NEXT: pcmpgtq %xmm1, %xmm0
1110 ; X86-SSE42-NEXT: blendvpd %xmm0, %xmm3, %xmm1
1111 ; X86-SSE42-NEXT: movd %xmm1, %eax
1112 ; X86-SSE42-NEXT: pextrd $1, %xmm1, %edx
1113 ; X86-SSE42-NEXT: retl
1214 ; X64-SSE42-LABEL: test_reduce_v8i64:
1215 ; X64-SSE42: ## %bb.0:
1216 ; X64-SSE42-NEXT: movdqa %xmm0, %xmm4
1217 ; X64-SSE42-NEXT: movdqa %xmm1, %xmm0
1218 ; X64-SSE42-NEXT: pcmpgtq %xmm3, %xmm0
1219 ; X64-SSE42-NEXT: blendvpd %xmm0, %xmm1, %xmm3
1220 ; X64-SSE42-NEXT: movdqa %xmm4, %xmm0
1221 ; X64-SSE42-NEXT: pcmpgtq %xmm2, %xmm0
1222 ; X64-SSE42-NEXT: blendvpd %xmm0, %xmm4, %xmm2
1223 ; X64-SSE42-NEXT: movapd %xmm2, %xmm0
1224 ; X64-SSE42-NEXT: pcmpgtq %xmm3, %xmm0
1225 ; X64-SSE42-NEXT: blendvpd %xmm0, %xmm2, %xmm3
1226 ; X64-SSE42-NEXT: pshufd {{.*#+}} xmm1 = xmm3[2,3,2,3]
1227 ; X64-SSE42-NEXT: movdqa %xmm3, %xmm0
1228 ; X64-SSE42-NEXT: pcmpgtq %xmm1, %xmm0
1229 ; X64-SSE42-NEXT: blendvpd %xmm0, %xmm3, %xmm1
1230 ; X64-SSE42-NEXT: movq %xmm1, %rax
1231 ; X64-SSE42-NEXT: retq
1321 ; X86-SSE42-LABEL: test_reduce_v16i32:
1322 ; X86-SSE42: ## %bb.0:
1323 ; X86-SSE42-NEXT: pmaxsd %xmm3, %xmm1
1324 ; X86-SSE42-NEXT: pmaxsd %xmm2, %xmm1
1325 ; X86-SSE42-NEXT: pmaxsd %xmm0, %xmm1
1326 ; X86-SSE42-NEXT: pshufd {{.*#+}} xmm0 = xmm1[2,3,2,3]
1327 ; X86-SSE42-NEXT: pmaxsd %xmm1, %xmm0
1328 ; X86-SSE42-NEXT: pshufd {{.*#+}} xmm1 = xmm0[1,1,1,1]
1329 ; X86-SSE42-NEXT: pmaxsd %xmm0, %xmm1
1330 ; X86-SSE42-NEXT: movd %xmm1, %eax
1331 ; X86-SSE42-NEXT: retl
1393 ; X64-SSE42-LABEL: test_reduce_v16i32:
1394 ; X64-SSE42: ## %bb.0:
1395 ; X64-SSE42-NEXT: pmaxsd %xmm3, %xmm1
1396 ; X64-SSE42-NEXT: pmaxsd %xmm2, %xmm1
1397 ; X64-SSE42-NEXT: pmaxsd %xmm0, %xmm1
1398 ; X64-SSE42-NEXT: pshufd {{.*#+}} xmm0 = xmm1[2,3,2,3]
1399 ; X64-SSE42-NEXT: pmaxsd %xmm1, %xmm0
1400 ; X64-SSE42-NEXT: pshufd {{.*#+}} xmm1 = xmm0[1,1,1,1]
1401 ; X64-SSE42-NEXT: pmaxsd %xmm0, %xmm1
1402 ; X64-SSE42-NEXT: movd %xmm1, %eax
1403 ; X64-SSE42-NEXT: retq
1479 ; X86-SSE42-LABEL: test_reduce_v32i16:
1480 ; X86-SSE42: ## %bb.0:
1481 ; X86-SSE42-NEXT: pmaxsw %xmm3, %xmm1
1482 ; X86-SSE42-NEXT: pmaxsw %xmm2, %xmm1
1483 ; X86-SSE42-NEXT: pmaxsw %xmm0, %xmm1
1484 ; X86-SSE42-NEXT: pxor LCPI10_0, %xmm1
1485 ; X86-SSE42-NEXT: phminposuw %xmm1, %xmm0
1486 ; X86-SSE42-NEXT: movd %xmm0, %eax
1487 ; X86-SSE42-NEXT: xorl $32767, %eax ## imm = 0x7FFF
1488 ; X86-SSE42-NEXT: ## kill: def $ax killed $ax killed $eax
1489 ; X86-SSE42-NEXT: retl
1535 ; X64-SSE42-LABEL: test_reduce_v32i16:
1536 ; X64-SSE42: ## %bb.0:
1537 ; X64-SSE42-NEXT: pmaxsw %xmm3, %xmm1
1538 ; X64-SSE42-NEXT: pmaxsw %xmm2, %xmm1
1539 ; X64-SSE42-NEXT: pmaxsw %xmm0, %xmm1
1540 ; X64-SSE42-NEXT: pxor {{.*}}(%rip), %xmm1
1541 ; X64-SSE42-NEXT: phminposuw %xmm1, %xmm0
1542 ; X64-SSE42-NEXT: movd %xmm0, %eax
1543 ; X64-SSE42-NEXT: xorl $32767, %eax ## imm = 0x7FFF
1544 ; X64-SSE42-NEXT: ## kill: def $ax killed $ax killed $eax
1545 ; X64-SSE42-NEXT: retq
1655 ; X86-SSE42-LABEL: test_reduce_v64i8:
1656 ; X86-SSE42: ## %bb.0:
1657 ; X86-SSE42-NEXT: pmaxsb %xmm3, %xmm1
1658 ; X86-SSE42-NEXT: pmaxsb %xmm2, %xmm1
1659 ; X86-SSE42-NEXT: pmaxsb %xmm0, %xmm1
1660 ; X86-SSE42-NEXT: pxor LCPI11_0, %xmm1
1661 ; X86-SSE42-NEXT: movdqa %xmm1, %xmm0
1662 ; X86-SSE42-NEXT: psrlw $8, %xmm0
1663 ; X86-SSE42-NEXT: pminub %xmm1, %xmm0
1664 ; X86-SSE42-NEXT: phminposuw %xmm0, %xmm0
1665 ; X86-SSE42-NEXT: movd %xmm0, %eax
1666 ; X86-SSE42-NEXT: xorb $127, %al
1667 ; X86-SSE42-NEXT: ## kill: def $al killed $al killed $eax
1668 ; X86-SSE42-NEXT: retl
1749 ; X64-SSE42-LABEL: test_reduce_v64i8:
1750 ; X64-SSE42: ## %bb.0:
1751 ; X64-SSE42-NEXT: pmaxsb %xmm3, %xmm1
1752 ; X64-SSE42-NEXT: pmaxsb %xmm2, %xmm1
1753 ; X64-SSE42-NEXT: pmaxsb %xmm0, %xmm1
1754 ; X64-SSE42-NEXT: pxor {{.*}}(%rip), %xmm1
1755 ; X64-SSE42-NEXT: movdqa %xmm1, %xmm0
1756 ; X64-SSE42-NEXT: psrlw $8, %xmm0
1757 ; X64-SSE42-NEXT: pminub %xmm1, %xmm0
1758 ; X64-SSE42-NEXT: phminposuw %xmm0, %xmm0
1759 ; X64-SSE42-NEXT: movd %xmm0, %eax
1760 ; X64-SSE42-NEXT: xorb $127, %al
1761 ; X64-SSE42-NEXT: ## kill: def $al killed $al killed $eax
1762 ; X64-SSE42-NEXT: retq
1851 ; X86-SSE42-LABEL: test_reduce_v16i16_v8i16:
1852 ; X86-SSE42: ## %bb.0:
1853 ; X86-SSE42-NEXT: pxor LCPI12_0, %xmm0
1854 ; X86-SSE42-NEXT: phminposuw %xmm0, %xmm0
1855 ; X86-SSE42-NEXT: movd %xmm0, %eax
1856 ; X86-SSE42-NEXT: xorl $32767, %eax ## imm = 0x7FFF
1857 ; X86-SSE42-NEXT: ## kill: def $ax killed $ax killed $eax
1858 ; X86-SSE42-NEXT: retl
1883 ; X64-SSE42-LABEL: test_reduce_v16i16_v8i16:
1884 ; X64-SSE42: ## %bb.0:
1885 ; X64-SSE42-NEXT: pxor {{.*}}(%rip), %xmm0
1886 ; X64-SSE42-NEXT: phminposuw %xmm0, %xmm0
1887 ; X64-SSE42-NEXT: movd %xmm0, %eax
1888 ; X64-SSE42-NEXT: xorl $32767, %eax ## imm = 0x7FFF
1889 ; X64-SSE42-NEXT: ## kill: def $ax killed $ax killed $eax
1890 ; X64-SSE42-NEXT: retq
1928 ; X86-SSE42-LABEL: test_reduce_v32i16_v8i16:
1929 ; X86-SSE42: ## %bb.0:
1930 ; X86-SSE42-NEXT: pxor LCPI13_0, %xmm0
1931 ; X86-SSE42-NEXT: phminposuw %xmm0, %xmm0
1932 ; X86-SSE42-NEXT: movd %xmm0, %eax
1933 ; X86-SSE42-NEXT: xorl $32767, %eax ## imm = 0x7FFF
1934 ; X86-SSE42-NEXT: ## kill: def $ax killed $ax killed $eax
1935 ; X86-SSE42-NEXT: retl
1960 ; X64-SSE42-LABEL: test_reduce_v32i16_v8i16:
1961 ; X64-SSE42: ## %bb.0:
1962 ; X64-SSE42-NEXT: pxor {{.*}}(%rip), %xmm0
1963 ; X64-SSE42-NEXT: phminposuw %xmm0, %xmm0
1964 ; X64-SSE42-NEXT: movd %xmm0, %eax
1965 ; X64-SSE42-NEXT: xorl $32767, %eax ## imm = 0x7FFF
1966 ; X64-SSE42-NEXT: ## kill: def $ax killed $ax killed $eax
1967 ; X64-SSE42-NEXT: retq
2024 ; X86-SSE42-LABEL: test_reduce_v32i8_v16i8:
2025 ; X86-SSE42: ## %bb.0:
2026 ; X86-SSE42-NEXT: pxor LCPI14_0, %xmm0
2027 ; X86-SSE42-NEXT: movdqa %xmm0, %xmm1
2028 ; X86-SSE42-NEXT: psrlw $8, %xmm1
2029 ; X86-SSE42-NEXT: pminub %xmm0, %xmm1
2030 ; X86-SSE42-NEXT: phminposuw %xmm1, %xmm0
2031 ; X86-SSE42-NEXT: movd %xmm0, %eax
2032 ; X86-SSE42-NEXT: xorb $127, %al
2033 ; X86-SSE42-NEXT: ## kill: def $al killed $al killed $eax
2034 ; X86-SSE42-NEXT: retl
2080 ; X64-SSE42-LABEL: test_reduce_v32i8_v16i8:
2081 ; X64-SSE42: ## %bb.0:
2082 ; X64-SSE42-NEXT: pxor {{.*}}(%rip), %xmm0
2083 ; X64-SSE42-NEXT: movdqa %xmm0, %xmm1
2084 ; X64-SSE42-NEXT: psrlw $8, %xmm1
2085 ; X64-SSE42-NEXT: pminub %xmm0, %xmm1
2086 ; X64-SSE42-NEXT: phminposuw %xmm1, %xmm0
2087 ; X64-SSE42-NEXT: movd %xmm0, %eax
2088 ; X64-SSE42-NEXT: xorb $127, %al
2089 ; X64-SSE42-NEXT: ## kill: def $al killed $al killed $eax
2090 ; X64-SSE42-NEXT: retq
2152 ; X86-SSE42-LABEL: test_reduce_v64i8_v16i8:
2153 ; X86-SSE42: ## %bb.0:
2154 ; X86-SSE42-NEXT: pxor LCPI15_0, %xmm0
2155 ; X86-SSE42-NEXT: movdqa %xmm0, %xmm1
2156 ; X86-SSE42-NEXT: psrlw $8, %xmm1
2157 ; X86-SSE42-NEXT: pminub %xmm0, %xmm1
2158 ; X86-SSE42-NEXT: phminposuw %xmm1, %xmm0
2159 ; X86-SSE42-NEXT: movd %xmm0, %eax
2160 ; X86-SSE42-NEXT: xorb $127, %al
2161 ; X86-SSE42-NEXT: ## kill: def $al killed $al killed $eax
2162 ; X86-SSE42-NEXT: retl
2208 ; X64-SSE42-LABEL: test_reduce_v64i8_v16i8:
2209 ; X64-SSE42: ## %bb.0:
2210 ; X64-SSE42-NEXT: pxor {{.*}}(%rip), %xmm0
2211 ; X64-SSE42-NEXT: movdqa %xmm0, %xmm1
2212 ; X64-SSE42-NEXT: psrlw $8, %xmm1
2213 ; X64-SSE42-NEXT: pminub %xmm0, %xmm1
2214 ; X64-SSE42-NEXT: phminposuw %xmm1, %xmm0
2215 ; X64-SSE42-NEXT: movd %xmm0, %eax
2216 ; X64-SSE42-NEXT: xorb $127, %al
2217 ; X64-SSE42-NEXT: ## kill: def $al killed $al killed $eax
2218 ; X64-SSE42-NEXT: retq