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 {{.*#+}} xmm0 = [0,2147483648,0,2147483648]
45 ; X86-SSE42-NEXT: movdqa %xmm1, %xmm3
46 ; X86-SSE42-NEXT: pxor %xmm0, %xmm3
47 ; X86-SSE42-NEXT: pxor %xmm2, %xmm0
48 ; X86-SSE42-NEXT: pcmpgtq %xmm3, %xmm0
49 ; X86-SSE42-NEXT: blendvpd %xmm0, %xmm1, %xmm2
50 ; X86-SSE42-NEXT: movd %xmm2, %eax
51 ; X86-SSE42-NEXT: pextrd $1, %xmm2, %edx
52 ; X86-SSE42-NEXT: retl
100 ; X64-SSE42-LABEL: test_reduce_v2i64:
101 ; X64-SSE42: ## %bb.0:
102 ; X64-SSE42-NEXT: movdqa %xmm0, %xmm1
103 ; X64-SSE42-NEXT: pshufd {{.*#+}} xmm2 = xmm0[2,3,2,3]
104 ; X64-SSE42-NEXT: movdqa {{.*#+}} xmm0 = [9223372036854775808,9223372036854775808]
105 ; X64-SSE42-NEXT: movdqa %xmm1, %xmm3
106 ; X64-SSE42-NEXT: pxor %xmm0, %xmm3
107 ; X64-SSE42-NEXT: pxor %xmm2, %xmm0
108 ; X64-SSE42-NEXT: pcmpgtq %xmm3, %xmm0
109 ; X64-SSE42-NEXT: blendvpd %xmm0, %xmm1, %xmm2
110 ; X64-SSE42-NEXT: movq %xmm2, %rax
111 ; X64-SSE42-NEXT: retq
172 ; X86-SSE42-LABEL: test_reduce_v4i32:
173 ; X86-SSE42: ## %bb.0:
174 ; X86-SSE42-NEXT: pshufd {{.*#+}} xmm1 = xmm0[2,3,2,3]
175 ; X86-SSE42-NEXT: pminud %xmm0, %xmm1
176 ; X86-SSE42-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,1,1,1]
177 ; X86-SSE42-NEXT: pminud %xmm1, %xmm0
178 ; X86-SSE42-NEXT: movd %xmm0, %eax
179 ; X86-SSE42-NEXT: retl
213 ; X64-SSE42-LABEL: test_reduce_v4i32:
214 ; X64-SSE42: ## %bb.0:
215 ; X64-SSE42-NEXT: pshufd {{.*#+}} xmm1 = xmm0[2,3,2,3]
216 ; X64-SSE42-NEXT: pminud %xmm0, %xmm1
217 ; X64-SSE42-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,1,1,1]
218 ; X64-SSE42-NEXT: pminud %xmm1, %xmm0
219 ; X64-SSE42-NEXT: movd %xmm0, %eax
220 ; X64-SSE42-NEXT: retq
260 ; X86-SSE42-LABEL: test_reduce_v8i16:
261 ; X86-SSE42: ## %bb.0:
262 ; X86-SSE42-NEXT: phminposuw %xmm0, %xmm0
263 ; X86-SSE42-NEXT: movd %xmm0, %eax
264 ; X86-SSE42-NEXT: ## kill: def $ax killed $ax killed $eax
265 ; X86-SSE42-NEXT: retl
293 ; X64-SSE42-LABEL: test_reduce_v8i16:
294 ; X64-SSE42: ## %bb.0:
295 ; X64-SSE42-NEXT: phminposuw %xmm0, %xmm0
296 ; X64-SSE42-NEXT: movd %xmm0, %eax
297 ; X64-SSE42-NEXT: ## kill: def $ax killed $ax killed $eax
298 ; X64-SSE42-NEXT: retq
336 ; X86-SSE42-LABEL: test_reduce_v16i8:
337 ; X86-SSE42: ## %bb.0:
338 ; X86-SSE42-NEXT: movdqa %xmm0, %xmm1
339 ; X86-SSE42-NEXT: psrlw $8, %xmm1
340 ; X86-SSE42-NEXT: pminub %xmm0, %xmm1
341 ; X86-SSE42-NEXT: phminposuw %xmm1, %xmm0
342 ; X86-SSE42-NEXT: movd %xmm0, %eax
343 ; X86-SSE42-NEXT: ## kill: def $al killed $al killed $eax
344 ; X86-SSE42-NEXT: retl
371 ; X64-SSE42-LABEL: test_reduce_v16i8:
372 ; X64-SSE42: ## %bb.0:
373 ; X64-SSE42-NEXT: movdqa %xmm0, %xmm1
374 ; X64-SSE42-NEXT: psrlw $8, %xmm1
375 ; X64-SSE42-NEXT: pminub %xmm0, %xmm1
376 ; X64-SSE42-NEXT: phminposuw %xmm1, %xmm0
377 ; X64-SSE42-NEXT: movd %xmm0, %eax
378 ; X64-SSE42-NEXT: ## kill: def $al killed $al killed $eax
379 ; X64-SSE42-NEXT: retq
448 ; X86-SSE42-LABEL: test_reduce_v4i64:
449 ; X86-SSE42: ## %bb.0:
450 ; X86-SSE42-NEXT: movdqa %xmm0, %xmm2
451 ; X86-SSE42-NEXT: movdqa {{.*#+}} xmm3 = [0,2147483648,0,2147483648]
452 ; X86-SSE42-NEXT: movdqa %xmm0, %xmm4
453 ; X86-SSE42-NEXT: pxor %xmm3, %xmm4
454 ; X86-SSE42-NEXT: movdqa %xmm1, %xmm0
455 ; X86-SSE42-NEXT: pxor %xmm3, %xmm0
456 ; X86-SSE42-NEXT: pcmpgtq %xmm4, %xmm0
457 ; X86-SSE42-NEXT: blendvpd %xmm0, %xmm2, %xmm1
458 ; X86-SSE42-NEXT: pshufd {{.*#+}} xmm2 = xmm1[2,3,2,3]
459 ; X86-SSE42-NEXT: movdqa %xmm1, %xmm0
460 ; X86-SSE42-NEXT: pxor %xmm3, %xmm0
461 ; X86-SSE42-NEXT: pxor %xmm2, %xmm3
462 ; X86-SSE42-NEXT: pcmpgtq %xmm0, %xmm3
463 ; X86-SSE42-NEXT: movdqa %xmm3, %xmm0
464 ; X86-SSE42-NEXT: blendvpd %xmm0, %xmm1, %xmm2
465 ; X86-SSE42-NEXT: movd %xmm2, %eax
466 ; X86-SSE42-NEXT: pextrd $1, %xmm2, %edx
467 ; X86-SSE42-NEXT: retl
542 ; X64-SSE42-LABEL: test_reduce_v4i64:
543 ; X64-SSE42: ## %bb.0:
544 ; X64-SSE42-NEXT: movdqa %xmm0, %xmm2
545 ; X64-SSE42-NEXT: movdqa {{.*#+}} xmm3 = [9223372036854775808,9223372036854775808]
546 ; X64-SSE42-NEXT: movdqa %xmm0, %xmm4
547 ; X64-SSE42-NEXT: pxor %xmm3, %xmm4
548 ; X64-SSE42-NEXT: movdqa %xmm1, %xmm0
549 ; X64-SSE42-NEXT: pxor %xmm3, %xmm0
550 ; X64-SSE42-NEXT: pcmpgtq %xmm4, %xmm0
551 ; X64-SSE42-NEXT: blendvpd %xmm0, %xmm2, %xmm1
552 ; X64-SSE42-NEXT: pshufd {{.*#+}} xmm2 = xmm1[2,3,2,3]
553 ; X64-SSE42-NEXT: movdqa %xmm1, %xmm0
554 ; X64-SSE42-NEXT: pxor %xmm3, %xmm0
555 ; X64-SSE42-NEXT: pxor %xmm2, %xmm3
556 ; X64-SSE42-NEXT: pcmpgtq %xmm0, %xmm3
557 ; X64-SSE42-NEXT: movdqa %xmm3, %xmm0
558 ; X64-SSE42-NEXT: blendvpd %xmm0, %xmm1, %xmm2
559 ; X64-SSE42-NEXT: movq %xmm2, %rax
560 ; X64-SSE42-NEXT: retq
647 ; X86-SSE42-LABEL: test_reduce_v8i32:
648 ; X86-SSE42: ## %bb.0:
649 ; X86-SSE42-NEXT: pminud %xmm1, %xmm0
650 ; X86-SSE42-NEXT: pshufd {{.*#+}} xmm1 = xmm0[2,3,2,3]
651 ; X86-SSE42-NEXT: pminud %xmm0, %xmm1
652 ; X86-SSE42-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,1,1,1]
653 ; X86-SSE42-NEXT: pminud %xmm1, %xmm0
654 ; X86-SSE42-NEXT: movd %xmm0, %eax
655 ; X86-SSE42-NEXT: retl
712 ; X64-SSE42-LABEL: test_reduce_v8i32:
713 ; X64-SSE42: ## %bb.0:
714 ; X64-SSE42-NEXT: pminud %xmm1, %xmm0
715 ; X64-SSE42-NEXT: pshufd {{.*#+}} xmm1 = xmm0[2,3,2,3]
716 ; X64-SSE42-NEXT: pminud %xmm0, %xmm1
717 ; X64-SSE42-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,1,1,1]
718 ; X64-SSE42-NEXT: pminud %xmm1, %xmm0
719 ; X64-SSE42-NEXT: movd %xmm0, %eax
720 ; X64-SSE42-NEXT: retq
793 ; X86-SSE42-LABEL: test_reduce_v16i16:
794 ; X86-SSE42: ## %bb.0:
795 ; X86-SSE42-NEXT: pminuw %xmm1, %xmm0
796 ; X86-SSE42-NEXT: phminposuw %xmm0, %xmm0
797 ; X86-SSE42-NEXT: movd %xmm0, %eax
798 ; X86-SSE42-NEXT: ## kill: def $ax killed $ax killed $eax
799 ; X86-SSE42-NEXT: retl
843 ; X64-SSE42-LABEL: test_reduce_v16i16:
844 ; X64-SSE42: ## %bb.0:
845 ; X64-SSE42-NEXT: pminuw %xmm1, %xmm0
846 ; X64-SSE42-NEXT: phminposuw %xmm0, %xmm0
847 ; X64-SSE42-NEXT: movd %xmm0, %eax
848 ; X64-SSE42-NEXT: ## kill: def $ax killed $ax killed $eax
849 ; X64-SSE42-NEXT: retq
914 ; X86-SSE42-LABEL: test_reduce_v32i8:
915 ; X86-SSE42: ## %bb.0:
916 ; X86-SSE42-NEXT: pminub %xmm1, %xmm0
917 ; X86-SSE42-NEXT: movdqa %xmm0, %xmm1
918 ; X86-SSE42-NEXT: psrlw $8, %xmm1
919 ; X86-SSE42-NEXT: pminub %xmm0, %xmm1
920 ; X86-SSE42-NEXT: phminposuw %xmm1, %xmm0
921 ; X86-SSE42-NEXT: movd %xmm0, %eax
922 ; X86-SSE42-NEXT: ## kill: def $al killed $al killed $eax
923 ; X86-SSE42-NEXT: retl
966 ; X64-SSE42-LABEL: test_reduce_v32i8:
967 ; X64-SSE42: ## %bb.0:
968 ; X64-SSE42-NEXT: pminub %xmm1, %xmm0
969 ; X64-SSE42-NEXT: movdqa %xmm0, %xmm1
970 ; X64-SSE42-NEXT: psrlw $8, %xmm1
971 ; X64-SSE42-NEXT: pminub %xmm0, %xmm1
972 ; X64-SSE42-NEXT: phminposuw %xmm1, %xmm0
973 ; X64-SSE42-NEXT: movd %xmm0, %eax
974 ; X64-SSE42-NEXT: ## kill: def $al killed $al killed $eax
975 ; X64-SSE42-NEXT: retq
1104 ; X86-SSE42-LABEL: test_reduce_v8i64:
1105 ; X86-SSE42: ## %bb.0:
1106 ; X86-SSE42-NEXT: movdqa %xmm0, %xmm5
1107 ; X86-SSE42-NEXT: movdqa {{.*#+}} xmm4 = [0,2147483648,0,2147483648]
1108 ; X86-SSE42-NEXT: movdqa %xmm1, %xmm6
1109 ; X86-SSE42-NEXT: pxor %xmm4, %xmm6
1110 ; X86-SSE42-NEXT: movdqa %xmm3, %xmm0
1111 ; X86-SSE42-NEXT: pxor %xmm4, %xmm0
1112 ; X86-SSE42-NEXT: pcmpgtq %xmm6, %xmm0
1113 ; X86-SSE42-NEXT: blendvpd %xmm0, %xmm1, %xmm3
1114 ; X86-SSE42-NEXT: movdqa %xmm5, %xmm1
1115 ; X86-SSE42-NEXT: pxor %xmm4, %xmm1
1116 ; X86-SSE42-NEXT: movdqa %xmm2, %xmm0
1117 ; X86-SSE42-NEXT: pxor %xmm4, %xmm0
1118 ; X86-SSE42-NEXT: pcmpgtq %xmm1, %xmm0
1119 ; X86-SSE42-NEXT: blendvpd %xmm0, %xmm5, %xmm2
1120 ; X86-SSE42-NEXT: movapd %xmm2, %xmm1
1121 ; X86-SSE42-NEXT: xorpd %xmm4, %xmm1
1122 ; X86-SSE42-NEXT: movapd %xmm3, %xmm0
1123 ; X86-SSE42-NEXT: xorpd %xmm4, %xmm0
1124 ; X86-SSE42-NEXT: pcmpgtq %xmm1, %xmm0
1125 ; X86-SSE42-NEXT: blendvpd %xmm0, %xmm2, %xmm3
1126 ; X86-SSE42-NEXT: pshufd {{.*#+}} xmm1 = xmm3[2,3,2,3]
1127 ; X86-SSE42-NEXT: movdqa %xmm3, %xmm0
1128 ; X86-SSE42-NEXT: pxor %xmm4, %xmm0
1129 ; X86-SSE42-NEXT: pxor %xmm1, %xmm4
1130 ; X86-SSE42-NEXT: pcmpgtq %xmm0, %xmm4
1131 ; X86-SSE42-NEXT: movdqa %xmm4, %xmm0
1132 ; X86-SSE42-NEXT: blendvpd %xmm0, %xmm3, %xmm1
1133 ; X86-SSE42-NEXT: movd %xmm1, %eax
1134 ; X86-SSE42-NEXT: pextrd $1, %xmm1, %edx
1135 ; X86-SSE42-NEXT: retl
1253 ; X64-SSE42-LABEL: test_reduce_v8i64:
1254 ; X64-SSE42: ## %bb.0:
1255 ; X64-SSE42-NEXT: movdqa %xmm0, %xmm5
1256 ; X64-SSE42-NEXT: movdqa {{.*#+}} xmm4 = [9223372036854775808,9223372036854775808]
1257 ; X64-SSE42-NEXT: movdqa %xmm1, %xmm6
1258 ; X64-SSE42-NEXT: pxor %xmm4, %xmm6
1259 ; X64-SSE42-NEXT: movdqa %xmm3, %xmm0
1260 ; X64-SSE42-NEXT: pxor %xmm4, %xmm0
1261 ; X64-SSE42-NEXT: pcmpgtq %xmm6, %xmm0
1262 ; X64-SSE42-NEXT: blendvpd %xmm0, %xmm1, %xmm3
1263 ; X64-SSE42-NEXT: movdqa %xmm5, %xmm1
1264 ; X64-SSE42-NEXT: pxor %xmm4, %xmm1
1265 ; X64-SSE42-NEXT: movdqa %xmm2, %xmm0
1266 ; X64-SSE42-NEXT: pxor %xmm4, %xmm0
1267 ; X64-SSE42-NEXT: pcmpgtq %xmm1, %xmm0
1268 ; X64-SSE42-NEXT: blendvpd %xmm0, %xmm5, %xmm2
1269 ; X64-SSE42-NEXT: movapd %xmm2, %xmm1
1270 ; X64-SSE42-NEXT: xorpd %xmm4, %xmm1
1271 ; X64-SSE42-NEXT: movapd %xmm3, %xmm0
1272 ; X64-SSE42-NEXT: xorpd %xmm4, %xmm0
1273 ; X64-SSE42-NEXT: pcmpgtq %xmm1, %xmm0
1274 ; X64-SSE42-NEXT: blendvpd %xmm0, %xmm2, %xmm3
1275 ; X64-SSE42-NEXT: pshufd {{.*#+}} xmm1 = xmm3[2,3,2,3]
1276 ; X64-SSE42-NEXT: movdqa %xmm3, %xmm0
1277 ; X64-SSE42-NEXT: pxor %xmm4, %xmm0
1278 ; X64-SSE42-NEXT: pxor %xmm1, %xmm4
1279 ; X64-SSE42-NEXT: pcmpgtq %xmm0, %xmm4
1280 ; X64-SSE42-NEXT: movdqa %xmm4, %xmm0
1281 ; X64-SSE42-NEXT: blendvpd %xmm0, %xmm3, %xmm1
1282 ; X64-SSE42-NEXT: movq %xmm1, %rax
1283 ; X64-SSE42-NEXT: retq
1404 ; X86-SSE42-LABEL: test_reduce_v16i32:
1405 ; X86-SSE42: ## %bb.0:
1406 ; X86-SSE42-NEXT: pminud %xmm3, %xmm1
1407 ; X86-SSE42-NEXT: pminud %xmm2, %xmm1
1408 ; X86-SSE42-NEXT: pminud %xmm0, %xmm1
1409 ; X86-SSE42-NEXT: pshufd {{.*#+}} xmm0 = xmm1[2,3,2,3]
1410 ; X86-SSE42-NEXT: pminud %xmm1, %xmm0
1411 ; X86-SSE42-NEXT: pshufd {{.*#+}} xmm1 = xmm0[1,1,1,1]
1412 ; X86-SSE42-NEXT: pminud %xmm0, %xmm1
1413 ; X86-SSE42-NEXT: movd %xmm1, %eax
1414 ; X86-SSE42-NEXT: retl
1491 ; X64-SSE42-LABEL: test_reduce_v16i32:
1492 ; X64-SSE42: ## %bb.0:
1493 ; X64-SSE42-NEXT: pminud %xmm3, %xmm1
1494 ; X64-SSE42-NEXT: pminud %xmm2, %xmm1
1495 ; X64-SSE42-NEXT: pminud %xmm0, %xmm1
1496 ; X64-SSE42-NEXT: pshufd {{.*#+}} xmm0 = xmm1[2,3,2,3]
1497 ; X64-SSE42-NEXT: pminud %xmm1, %xmm0
1498 ; X64-SSE42-NEXT: pshufd {{.*#+}} xmm1 = xmm0[1,1,1,1]
1499 ; X64-SSE42-NEXT: pminud %xmm0, %xmm1
1500 ; X64-SSE42-NEXT: movd %xmm1, %eax
1501 ; X64-SSE42-NEXT: retq
1589 ; X86-SSE42-LABEL: test_reduce_v32i16:
1590 ; X86-SSE42: ## %bb.0:
1591 ; X86-SSE42-NEXT: pminuw %xmm3, %xmm1
1592 ; X86-SSE42-NEXT: pminuw %xmm2, %xmm1
1593 ; X86-SSE42-NEXT: pminuw %xmm0, %xmm1
1594 ; X86-SSE42-NEXT: phminposuw %xmm1, %xmm0
1595 ; X86-SSE42-NEXT: movd %xmm0, %eax
1596 ; X86-SSE42-NEXT: ## kill: def $ax killed $ax killed $eax
1597 ; X86-SSE42-NEXT: retl
1651 ; X64-SSE42-LABEL: test_reduce_v32i16:
1652 ; X64-SSE42: ## %bb.0:
1653 ; X64-SSE42-NEXT: pminuw %xmm3, %xmm1
1654 ; X64-SSE42-NEXT: pminuw %xmm2, %xmm1
1655 ; X64-SSE42-NEXT: pminuw %xmm0, %xmm1
1656 ; X64-SSE42-NEXT: phminposuw %xmm1, %xmm0
1657 ; X64-SSE42-NEXT: movd %xmm0, %eax
1658 ; X64-SSE42-NEXT: ## kill: def $ax killed $ax killed $eax
1659 ; X64-SSE42-NEXT: retq
1735 ; X86-SSE42-LABEL: test_reduce_v64i8:
1736 ; X86-SSE42: ## %bb.0:
1737 ; X86-SSE42-NEXT: pminub %xmm3, %xmm1
1738 ; X86-SSE42-NEXT: pminub %xmm2, %xmm1
1739 ; X86-SSE42-NEXT: pminub %xmm0, %xmm1
1740 ; X86-SSE42-NEXT: movdqa %xmm1, %xmm0
1741 ; X86-SSE42-NEXT: psrlw $8, %xmm0
1742 ; X86-SSE42-NEXT: pminub %xmm1, %xmm0
1743 ; X86-SSE42-NEXT: phminposuw %xmm0, %xmm0
1744 ; X86-SSE42-NEXT: movd %xmm0, %eax
1745 ; X86-SSE42-NEXT: ## kill: def $al killed $al killed $eax
1746 ; X86-SSE42-NEXT: retl
1795 ; X64-SSE42-LABEL: test_reduce_v64i8:
1796 ; X64-SSE42: ## %bb.0:
1797 ; X64-SSE42-NEXT: pminub %xmm3, %xmm1
1798 ; X64-SSE42-NEXT: pminub %xmm2, %xmm1
1799 ; X64-SSE42-NEXT: pminub %xmm0, %xmm1
1800 ; X64-SSE42-NEXT: movdqa %xmm1, %xmm0
1801 ; X64-SSE42-NEXT: psrlw $8, %xmm0
1802 ; X64-SSE42-NEXT: pminub %xmm1, %xmm0
1803 ; X64-SSE42-NEXT: phminposuw %xmm0, %xmm0
1804 ; X64-SSE42-NEXT: movd %xmm0, %eax
1805 ; X64-SSE42-NEXT: ## kill: def $al killed $al killed $eax
1806 ; X64-SSE42-NEXT: retq
1895 ; X86-SSE42-LABEL: test_reduce_v16i16_v8i16:
1896 ; X86-SSE42: ## %bb.0:
1897 ; X86-SSE42-NEXT: phminposuw %xmm0, %xmm0
1898 ; X86-SSE42-NEXT: movd %xmm0, %eax
1899 ; X86-SSE42-NEXT: ## kill: def $ax killed $ax killed $eax
1900 ; X86-SSE42-NEXT: retl
1929 ; X64-SSE42-LABEL: test_reduce_v16i16_v8i16:
1930 ; X64-SSE42: ## %bb.0:
1931 ; X64-SSE42-NEXT: phminposuw %xmm0, %xmm0
1932 ; X64-SSE42-NEXT: movd %xmm0, %eax
1933 ; X64-SSE42-NEXT: ## kill: def $ax killed $ax killed $eax
1934 ; X64-SSE42-NEXT: retq
1976 ; X86-SSE42-LABEL: test_reduce_v32i16_v8i16:
1977 ; X86-SSE42: ## %bb.0:
1978 ; X86-SSE42-NEXT: phminposuw %xmm0, %xmm0
1979 ; X86-SSE42-NEXT: movd %xmm0, %eax
1980 ; X86-SSE42-NEXT: ## kill: def $ax killed $ax killed $eax
1981 ; X86-SSE42-NEXT: retl
2010 ; X64-SSE42-LABEL: test_reduce_v32i16_v8i16:
2011 ; X64-SSE42: ## %bb.0:
2012 ; X64-SSE42-NEXT: phminposuw %xmm0, %xmm0
2013 ; X64-SSE42-NEXT: movd %xmm0, %eax
2014 ; X64-SSE42-NEXT: ## kill: def $ax killed $ax killed $eax
2015 ; X64-SSE42-NEXT: retq
2054 ; X86-SSE42-LABEL: test_reduce_v32i8_v16i8:
2055 ; X86-SSE42: ## %bb.0:
2056 ; X86-SSE42-NEXT: movdqa %xmm0, %xmm1
2057 ; X86-SSE42-NEXT: psrlw $8, %xmm1
2058 ; X86-SSE42-NEXT: pminub %xmm0, %xmm1
2059 ; X86-SSE42-NEXT: phminposuw %xmm1, %xmm0
2060 ; X86-SSE42-NEXT: movd %xmm0, %eax
2061 ; X86-SSE42-NEXT: ## kill: def $al killed $al killed $eax
2062 ; X86-SSE42-NEXT: retl
2090 ; X64-SSE42-LABEL: test_reduce_v32i8_v16i8:
2091 ; X64-SSE42: ## %bb.0:
2092 ; X64-SSE42-NEXT: movdqa %xmm0, %xmm1
2093 ; X64-SSE42-NEXT: psrlw $8, %xmm1
2094 ; X64-SSE42-NEXT: pminub %xmm0, %xmm1
2095 ; X64-SSE42-NEXT: phminposuw %xmm1, %xmm0
2096 ; X64-SSE42-NEXT: movd %xmm0, %eax
2097 ; X64-SSE42-NEXT: ## kill: def $al killed $al killed $eax
2098 ; X64-SSE42-NEXT: retq
2142 ; X86-SSE42-LABEL: test_reduce_v64i8_v16i8:
2143 ; X86-SSE42: ## %bb.0:
2144 ; X86-SSE42-NEXT: movdqa %xmm0, %xmm1
2145 ; X86-SSE42-NEXT: psrlw $8, %xmm1
2146 ; X86-SSE42-NEXT: pminub %xmm0, %xmm1
2147 ; X86-SSE42-NEXT: phminposuw %xmm1, %xmm0
2148 ; X86-SSE42-NEXT: movd %xmm0, %eax
2149 ; X86-SSE42-NEXT: ## kill: def $al killed $al killed $eax
2150 ; X86-SSE42-NEXT: retl
2178 ; X64-SSE42-LABEL: test_reduce_v64i8_v16i8:
2179 ; X64-SSE42: ## %bb.0:
2180 ; X64-SSE42-NEXT: movdqa %xmm0, %xmm1
2181 ; X64-SSE42-NEXT: psrlw $8, %xmm1
2182 ; X64-SSE42-NEXT: pminub %xmm0, %xmm1
2183 ; X64-SSE42-NEXT: phminposuw %xmm1, %xmm0
2184 ; X64-SSE42-NEXT: movd %xmm0, %eax
2185 ; X64-SSE42-NEXT: ## kill: def $al killed $al killed $eax
2186 ; X64-SSE42-NEXT: retq