Lines Matching refs:X32
2 …sel -mtriple=i386-unknown-unknown -mattr=+sse2 | FileCheck %s --check-prefix=ALL --check-prefix=X32
8 ; X32-LABEL: test_mm_add_epi8:
9 ; X32: # BB#0:
10 ; X32-NEXT: paddb %xmm1, %xmm0
11 ; X32-NEXT: retl
25 ; X32-LABEL: test_mm_add_epi16:
26 ; X32: # BB#0:
27 ; X32-NEXT: paddw %xmm1, %xmm0
28 ; X32-NEXT: retl
42 ; X32-LABEL: test_mm_add_epi32:
43 ; X32: # BB#0:
44 ; X32-NEXT: paddd %xmm1, %xmm0
45 ; X32-NEXT: retl
59 ; X32-LABEL: test_mm_add_epi64:
60 ; X32: # BB#0:
61 ; X32-NEXT: paddq %xmm1, %xmm0
62 ; X32-NEXT: retl
73 ; X32-LABEL: test_mm_add_pd:
74 ; X32: # BB#0:
75 ; X32-NEXT: addpd %xmm1, %xmm0
76 ; X32-NEXT: retl
87 ; X32-LABEL: test_mm_add_sd:
88 ; X32: # BB#0:
89 ; X32-NEXT: addsd %xmm1, %xmm0
90 ; X32-NEXT: retl
104 ; X32-LABEL: test_mm_adds_epi8:
105 ; X32: # BB#0:
106 ; X32-NEXT: paddsb %xmm1, %xmm0
107 ; X32-NEXT: retl
122 ; X32-LABEL: test_mm_adds_epi16:
123 ; X32: # BB#0:
124 ; X32-NEXT: paddsw %xmm1, %xmm0
125 ; X32-NEXT: retl
140 ; X32-LABEL: test_mm_adds_epu8:
141 ; X32: # BB#0:
142 ; X32-NEXT: paddusb %xmm1, %xmm0
143 ; X32-NEXT: retl
158 ; X32-LABEL: test_mm_adds_epu16:
159 ; X32: # BB#0:
160 ; X32-NEXT: paddusw %xmm1, %xmm0
161 ; X32-NEXT: retl
176 ; X32-LABEL: test_mm_and_pd:
177 ; X32: # BB#0:
178 ; X32-NEXT: andps %xmm1, %xmm0
179 ; X32-NEXT: retl
193 ; X32-LABEL: test_mm_and_si128:
194 ; X32: # BB#0:
195 ; X32-NEXT: andps %xmm1, %xmm0
196 ; X32-NEXT: retl
207 ; X32-LABEL: test_mm_andnot_pd:
208 ; X32: # BB#0:
209 ; X32-NEXT: andnps %xmm1, %xmm0
210 ; X32-NEXT: retl
225 ; X32-LABEL: test_mm_andnot_si128:
226 ; X32: # BB#0:
227 ; X32-NEXT: pcmpeqd %xmm2, %xmm2
228 ; X32-NEXT: pxor %xmm2, %xmm0
229 ; X32-NEXT: pand %xmm1, %xmm0
230 ; X32-NEXT: retl
244 ; X32-LABEL: test_mm_avg_epu8:
245 ; X32: # BB#0:
246 ; X32-NEXT: pavgb %xmm1, %xmm0
247 ; X32-NEXT: retl
262 ; X32-LABEL: test_mm_avg_epu16:
263 ; X32: # BB#0:
264 ; X32-NEXT: pavgw %xmm1, %xmm0
265 ; X32-NEXT: retl
280 ; X32-LABEL: test_mm_bslli_si128:
281 ; X32: # BB#0:
282 ; X32-NEXT: pslldq {{.*#+}} xmm0 = zero,zero,zero,zero,zero,xmm0[0,1,2,3,4,5,6,7,8,9,10]
283 ; X32-NEXT: retl
296 ; X32-LABEL: test_mm_bsrli_si128:
297 ; X32: # BB#0:
298 ; X32-NEXT: psrldq {{.*#+}} xmm0 = xmm0[5,6,7,8,9,10,11,12,13,14,15],zero,zero,zero,zero,zero
299 ; X32-NEXT: retl
312 ; X32-LABEL: test_mm_castpd_ps:
313 ; X32: # BB#0:
314 ; X32-NEXT: retl
324 ; X32-LABEL: test_mm_castpd_si128:
325 ; X32: # BB#0:
326 ; X32-NEXT: retl
336 ; X32-LABEL: test_mm_castps_pd:
337 ; X32: # BB#0:
338 ; X32-NEXT: retl
348 ; X32-LABEL: test_mm_castps_si128:
349 ; X32: # BB#0:
350 ; X32-NEXT: retl
360 ; X32-LABEL: test_mm_castsi128_pd:
361 ; X32: # BB#0:
362 ; X32-NEXT: retl
372 ; X32-LABEL: test_mm_castsi128_ps:
373 ; X32: # BB#0:
374 ; X32-NEXT: retl
384 ; X32-LABEL: test_mm_clflush:
385 ; X32: # BB#0:
386 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
387 ; X32-NEXT: clflush (%eax)
388 ; X32-NEXT: retl
400 ; X32-LABEL: test_mm_cmpeq_epi8:
401 ; X32: # BB#0:
402 ; X32-NEXT: pcmpeqb %xmm1, %xmm0
403 ; X32-NEXT: retl
418 ; X32-LABEL: test_mm_cmpeq_epi16:
419 ; X32: # BB#0:
420 ; X32-NEXT: pcmpeqw %xmm1, %xmm0
421 ; X32-NEXT: retl
436 ; X32-LABEL: test_mm_cmpeq_epi32:
437 ; X32: # BB#0:
438 ; X32-NEXT: pcmpeqd %xmm1, %xmm0
439 ; X32-NEXT: retl
454 ; X32-LABEL: test_mm_cmpeq_pd:
455 ; X32: # BB#0:
456 ; X32-NEXT: cmpeqpd %xmm1, %xmm0
457 ; X32-NEXT: retl
470 ; X32-LABEL: test_mm_cmpeq_sd:
471 ; X32: # BB#0:
472 ; X32-NEXT: cmpeqsd %xmm1, %xmm0
473 ; X32-NEXT: retl
485 ; X32-LABEL: test_mm_cmpge_pd:
486 ; X32: # BB#0:
487 ; X32-NEXT: cmplepd %xmm0, %xmm1
488 ; X32-NEXT: movapd %xmm1, %xmm0
489 ; X32-NEXT: retl
503 ; X32-LABEL: test_mm_cmpge_sd:
504 ; X32: # BB#0:
505 ; X32-NEXT: cmplesd %xmm0, %xmm1
506 ; X32-NEXT: movsd {{.*#+}} xmm0 = xmm1[0],xmm0[1]
507 ; X32-NEXT: retl
523 ; X32-LABEL: test_mm_cmpgt_epi8:
524 ; X32: # BB#0:
525 ; X32-NEXT: pcmpgtb %xmm1, %xmm0
526 ; X32-NEXT: retl
541 ; X32-LABEL: test_mm_cmpgt_epi16:
542 ; X32: # BB#0:
543 ; X32-NEXT: pcmpgtw %xmm1, %xmm0
544 ; X32-NEXT: retl
559 ; X32-LABEL: test_mm_cmpgt_epi32:
560 ; X32: # BB#0:
561 ; X32-NEXT: pcmpgtd %xmm1, %xmm0
562 ; X32-NEXT: retl
577 ; X32-LABEL: test_mm_cmpgt_pd:
578 ; X32: # BB#0:
579 ; X32-NEXT: cmpltpd %xmm0, %xmm1
580 ; X32-NEXT: movapd %xmm1, %xmm0
581 ; X32-NEXT: retl
595 ; X32-LABEL: test_mm_cmpgt_sd:
596 ; X32: # BB#0:
597 ; X32-NEXT: cmpltsd %xmm0, %xmm1
598 ; X32-NEXT: movsd {{.*#+}} xmm0 = xmm1[0],xmm0[1]
599 ; X32-NEXT: retl
615 ; X32-LABEL: test_mm_cmple_pd:
616 ; X32: # BB#0:
617 ; X32-NEXT: cmplepd %xmm1, %xmm0
618 ; X32-NEXT: retl
631 ; X32-LABEL: test_mm_cmple_sd:
632 ; X32: # BB#0:
633 ; X32-NEXT: cmplesd %xmm1, %xmm0
634 ; X32-NEXT: retl
645 ; X32-LABEL: test_mm_cmplt_epi8:
646 ; X32: # BB#0:
647 ; X32-NEXT: pcmpgtb %xmm0, %xmm1
648 ; X32-NEXT: movdqa %xmm1, %xmm0
649 ; X32-NEXT: retl
665 ; X32-LABEL: test_mm_cmplt_epi16:
666 ; X32: # BB#0:
667 ; X32-NEXT: pcmpgtw %xmm0, %xmm1
668 ; X32-NEXT: movdqa %xmm1, %xmm0
669 ; X32-NEXT: retl
685 ; X32-LABEL: test_mm_cmplt_epi32:
686 ; X32: # BB#0:
687 ; X32-NEXT: pcmpgtd %xmm0, %xmm1
688 ; X32-NEXT: movdqa %xmm1, %xmm0
689 ; X32-NEXT: retl
705 ; X32-LABEL: test_mm_cmplt_pd:
706 ; X32: # BB#0:
707 ; X32-NEXT: cmpltpd %xmm1, %xmm0
708 ; X32-NEXT: retl
721 ; X32-LABEL: test_mm_cmplt_sd:
722 ; X32: # BB#0:
723 ; X32-NEXT: cmpltsd %xmm1, %xmm0
724 ; X32-NEXT: retl
735 ; X32-LABEL: test_mm_cmpneq_pd:
736 ; X32: # BB#0:
737 ; X32-NEXT: cmpneqpd %xmm1, %xmm0
738 ; X32-NEXT: retl
751 ; X32-LABEL: test_mm_cmpneq_sd:
752 ; X32: # BB#0:
753 ; X32-NEXT: cmpneqsd %xmm1, %xmm0
754 ; X32-NEXT: retl
765 ; X32-LABEL: test_mm_cmpnge_pd:
766 ; X32: # BB#0:
767 ; X32-NEXT: cmpnlepd %xmm0, %xmm1
768 ; X32-NEXT: movapd %xmm1, %xmm0
769 ; X32-NEXT: retl
783 ; X32-LABEL: test_mm_cmpnge_sd:
784 ; X32: # BB#0:
785 ; X32-NEXT: cmpnlesd %xmm0, %xmm1
786 ; X32-NEXT: movsd {{.*#+}} xmm0 = xmm1[0],xmm0[1]
787 ; X32-NEXT: retl
803 ; X32-LABEL: test_mm_cmpngt_pd:
804 ; X32: # BB#0:
805 ; X32-NEXT: cmpnltpd %xmm0, %xmm1
806 ; X32-NEXT: movapd %xmm1, %xmm0
807 ; X32-NEXT: retl
821 ; X32-LABEL: test_mm_cmpngt_sd:
822 ; X32: # BB#0:
823 ; X32-NEXT: cmpnltsd %xmm0, %xmm1
824 ; X32-NEXT: movsd {{.*#+}} xmm0 = xmm1[0],xmm0[1]
825 ; X32-NEXT: retl
841 ; X32-LABEL: test_mm_cmpnle_pd:
842 ; X32: # BB#0:
843 ; X32-NEXT: cmpnlepd %xmm1, %xmm0
844 ; X32-NEXT: retl
857 ; X32-LABEL: test_mm_cmpnle_sd:
858 ; X32: # BB#0:
859 ; X32-NEXT: cmpnlesd %xmm1, %xmm0
860 ; X32-NEXT: retl
871 ; X32-LABEL: test_mm_cmpnlt_pd:
872 ; X32: # BB#0:
873 ; X32-NEXT: cmpnltpd %xmm1, %xmm0
874 ; X32-NEXT: retl
887 ; X32-LABEL: test_mm_cmpnlt_sd:
888 ; X32: # BB#0:
889 ; X32-NEXT: cmpnltsd %xmm1, %xmm0
890 ; X32-NEXT: retl
901 ; X32-LABEL: test_mm_cmpord_pd:
902 ; X32: # BB#0:
903 ; X32-NEXT: cmpordpd %xmm1, %xmm0
904 ; X32-NEXT: retl
917 ; X32-LABEL: test_mm_cmpord_sd:
918 ; X32: # BB#0:
919 ; X32-NEXT: cmpordsd %xmm1, %xmm0
920 ; X32-NEXT: retl
931 ; X32-LABEL: test_mm_cmpunord_pd:
932 ; X32: # BB#0:
933 ; X32-NEXT: cmpunordpd %xmm1, %xmm0
934 ; X32-NEXT: retl
947 ; X32-LABEL: test_mm_cmpunord_sd:
948 ; X32: # BB#0:
949 ; X32-NEXT: cmpunordsd %xmm1, %xmm0
950 ; X32-NEXT: retl
961 ; X32-LABEL: test_mm_comieq_sd:
962 ; X32: # BB#0:
963 ; X32-NEXT: comisd %xmm1, %xmm0
964 ; X32-NEXT: setnp %al
965 ; X32-NEXT: sete %cl
966 ; X32-NEXT: andb %al, %cl
967 ; X32-NEXT: movzbl %cl, %eax
968 ; X32-NEXT: retl
984 ; X32-LABEL: test_mm_comige_sd:
985 ; X32: # BB#0:
986 ; X32-NEXT: xorl %eax, %eax
987 ; X32-NEXT: comisd %xmm1, %xmm0
988 ; X32-NEXT: setae %al
989 ; X32-NEXT: retl
1003 ; X32-LABEL: test_mm_comigt_sd:
1004 ; X32: # BB#0:
1005 ; X32-NEXT: xorl %eax, %eax
1006 ; X32-NEXT: comisd %xmm1, %xmm0
1007 ; X32-NEXT: seta %al
1008 ; X32-NEXT: retl
1022 ; X32-LABEL: test_mm_comile_sd:
1023 ; X32: # BB#0:
1024 ; X32-NEXT: xorl %eax, %eax
1025 ; X32-NEXT: comisd %xmm0, %xmm1
1026 ; X32-NEXT: setae %al
1027 ; X32-NEXT: retl
1041 ; X32-LABEL: test_mm_comilt_sd:
1042 ; X32: # BB#0:
1043 ; X32-NEXT: xorl %eax, %eax
1044 ; X32-NEXT: comisd %xmm0, %xmm1
1045 ; X32-NEXT: seta %al
1046 ; X32-NEXT: retl
1060 ; X32-LABEL: test_mm_comineq_sd:
1061 ; X32: # BB#0:
1062 ; X32-NEXT: comisd %xmm1, %xmm0
1063 ; X32-NEXT: setp %al
1064 ; X32-NEXT: setne %cl
1065 ; X32-NEXT: orb %al, %cl
1066 ; X32-NEXT: movzbl %cl, %eax
1067 ; X32-NEXT: retl
1083 ; X32-LABEL: test_mm_cvtepi32_pd:
1084 ; X32: # BB#0:
1085 ; X32-NEXT: cvtdq2pd %xmm0, %xmm0
1086 ; X32-NEXT: retl
1099 ; X32-LABEL: test_mm_cvtepi32_ps:
1100 ; X32: # BB#0:
1101 ; X32-NEXT: cvtdq2ps %xmm0, %xmm0
1102 ; X32-NEXT: retl
1115 ; X32-LABEL: test_mm_cvtpd_epi32:
1116 ; X32: # BB#0:
1117 ; X32-NEXT: cvtpd2dq %xmm0, %xmm0
1118 ; X32-NEXT: retl
1131 ; X32-LABEL: test_mm_cvtpd_ps:
1132 ; X32: # BB#0:
1133 ; X32-NEXT: cvtpd2ps %xmm0, %xmm0
1134 ; X32-NEXT: retl
1146 ; X32-LABEL: test_mm_cvtps_epi32:
1147 ; X32: # BB#0:
1148 ; X32-NEXT: cvtps2dq %xmm0, %xmm0
1149 ; X32-NEXT: retl
1162 ; X32-LABEL: test_mm_cvtps_pd:
1163 ; X32: # BB#0:
1164 ; X32-NEXT: cvtps2pd %xmm0, %xmm0
1165 ; X32-NEXT: retl
1177 ; X32-LABEL: test_mm_cvtsd_f64:
1178 ; X32: # BB#0:
1179 ; X32-NEXT: pushl %ebp
1180 ; X32-NEXT: movl %esp, %ebp
1181 ; X32-NEXT: andl $-8, %esp
1182 ; X32-NEXT: subl $8, %esp
1183 ; X32-NEXT: movlps %xmm0, (%esp)
1184 ; X32-NEXT: fldl (%esp)
1185 ; X32-NEXT: movl %ebp, %esp
1186 ; X32-NEXT: popl %ebp
1187 ; X32-NEXT: retl
1197 ; X32-LABEL: test_mm_cvtsd_si32:
1198 ; X32: # BB#0:
1199 ; X32-NEXT: cvtsd2si %xmm0, %eax
1200 ; X32-NEXT: retl
1212 ; X32-LABEL: test_mm_cvtsi128_si32:
1213 ; X32: # BB#0:
1214 ; X32-NEXT: movd %xmm0, %eax
1215 ; X32-NEXT: retl
1227 ; X32-LABEL: test_mm_cvtsi32_sd:
1228 ; X32: # BB#0:
1229 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1230 ; X32-NEXT: cvtsi2sdl %eax, %xmm1
1231 ; X32-NEXT: movsd {{.*#+}} xmm0 = xmm1[0],xmm0[1]
1232 ; X32-NEXT: retl
1245 ; X32-LABEL: test_mm_cvtsi32_si128:
1246 ; X32: # BB#0:
1247 ; X32-NEXT: movd {{.*#+}} xmm0 = mem[0],zero,zero,zero
1248 ; X32-NEXT: retl
1263 ; X32-LABEL: test_mm_cvtss_sd:
1264 ; X32: # BB#0:
1265 ; X32-NEXT: cvtss2sd %xmm1, %xmm1
1266 ; X32-NEXT: movsd {{.*#+}} xmm0 = xmm1[0],xmm0[1]
1267 ; X32-NEXT: retl
1281 ; X32-LABEL: test_mm_cvttpd_epi32:
1282 ; X32: # BB#0:
1283 ; X32-NEXT: cvttpd2dq %xmm0, %xmm0
1284 ; X32-NEXT: retl
1297 ; X32-LABEL: test_mm_cvttps_epi32:
1298 ; X32: # BB#0:
1299 ; X32-NEXT: cvttps2dq %xmm0, %xmm0
1300 ; X32-NEXT: retl
1312 ; X32-LABEL: test_mm_cvttsd_si32:
1313 ; X32: # BB#0:
1314 ; X32-NEXT: cvttsd2si %xmm0, %eax
1315 ; X32-NEXT: retl
1327 ; X32-LABEL: test_mm_div_pd:
1328 ; X32: # BB#0:
1329 ; X32-NEXT: divpd %xmm1, %xmm0
1330 ; X32-NEXT: retl
1341 ; X32-LABEL: test_mm_div_sd:
1342 ; X32: # BB#0:
1343 ; X32-NEXT: divsd %xmm1, %xmm0
1344 ; X32-NEXT: retl
1358 ; X32-LABEL: test_mm_extract_epi16:
1359 ; X32: # BB#0:
1360 ; X32-NEXT: pextrw $1, %xmm0, %eax
1361 ; X32-NEXT: movzwl %ax, %eax
1362 ; X32-NEXT: retl
1376 ; X32-LABEL: test_mm_insert_epi16:
1377 ; X32: # BB#0:
1378 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
1379 ; X32-NEXT: pinsrw $1, %eax, %xmm0
1380 ; X32-NEXT: retl
1393 ; X32-LABEL: test_mm_lfence:
1394 ; X32: # BB#0:
1395 ; X32-NEXT: lfence
1396 ; X32-NEXT: retl
1408 ; X32-LABEL: test_mm_load_pd:
1409 ; X32: # BB#0:
1410 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1411 ; X32-NEXT: movaps (%eax), %xmm0
1412 ; X32-NEXT: retl
1424 ; X32-LABEL: test_mm_load_sd:
1425 ; X32: # BB#0:
1426 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1427 ; X32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
1428 ; X32-NEXT: retl
1441 ; X32-LABEL: test_mm_load_si128:
1442 ; X32: # BB#0:
1443 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1444 ; X32-NEXT: movaps (%eax), %xmm0
1445 ; X32-NEXT: retl
1456 ; X32-LABEL: test_mm_load1_pd:
1457 ; X32: # BB#0:
1458 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1459 ; X32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
1460 ; X32-NEXT: movlhps {{.*#+}} xmm0 = xmm0[0,0]
1461 ; X32-NEXT: retl
1475 ; X32-LABEL: test_mm_loadh_pd:
1476 ; X32: # BB#0:
1477 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1478 ; X32-NEXT: movhpd {{.*#+}} xmm0 = xmm0[0],mem[0]
1479 ; X32-NEXT: retl
1491 ; X32-LABEL: test_mm_loadl_epi64:
1492 ; X32: # BB#0:
1493 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1494 ; X32-NEXT: movq {{.*#+}} xmm0 = mem[0],zero
1495 ; X32-NEXT: retl
1509 ; X32-LABEL: test_mm_loadl_pd:
1510 ; X32: # BB#0:
1511 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1512 ; X32-NEXT: movlpd {{.*#+}} xmm0 = mem[0],xmm0[1]
1513 ; X32-NEXT: retl
1525 ; X32-LABEL: test_mm_loadr_pd:
1526 ; X32: # BB#0:
1527 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1528 ; X32-NEXT: movapd (%eax), %xmm0
1529 ; X32-NEXT: shufpd {{.*#+}} xmm0 = xmm0[1,0]
1530 ; X32-NEXT: retl
1544 ; X32-LABEL: test_mm_loadu_pd:
1545 ; X32: # BB#0:
1546 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1547 ; X32-NEXT: movups (%eax), %xmm0
1548 ; X32-NEXT: retl
1560 ; X32-LABEL: test_mm_loadu_si128:
1561 ; X32: # BB#0:
1562 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1563 ; X32-NEXT: movups (%eax), %xmm0
1564 ; X32-NEXT: retl
1575 ; X32-LABEL: test_mm_madd_epi16:
1576 ; X32: # BB#0:
1577 ; X32-NEXT: pmaddwd %xmm1, %xmm0
1578 ; X32-NEXT: retl
1593 ; X32-LABEL: test_mm_maskmoveu_si128:
1594 ; X32: # BB#0:
1595 ; X32-NEXT: pushl %edi
1596 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi
1597 ; X32-NEXT: maskmovdqu %xmm1, %xmm0
1598 ; X32-NEXT: popl %edi
1599 ; X32-NEXT: retl
1613 ; X32-LABEL: test_mm_max_epi16:
1614 ; X32: # BB#0:
1615 ; X32-NEXT: pmaxsw %xmm1, %xmm0
1616 ; X32-NEXT: retl
1631 ; X32-LABEL: test_mm_max_epu8:
1632 ; X32: # BB#0:
1633 ; X32-NEXT: pmaxub %xmm1, %xmm0
1634 ; X32-NEXT: retl
1649 ; X32-LABEL: test_mm_max_pd:
1650 ; X32: # BB#0:
1651 ; X32-NEXT: maxpd %xmm1, %xmm0
1652 ; X32-NEXT: retl
1664 ; X32-LABEL: test_mm_max_sd:
1665 ; X32: # BB#0:
1666 ; X32-NEXT: maxsd %xmm1, %xmm0
1667 ; X32-NEXT: retl
1679 ; X32-LABEL: test_mm_mfence:
1680 ; X32: # BB#0:
1681 ; X32-NEXT: mfence
1682 ; X32-NEXT: retl
1694 ; X32-LABEL: test_mm_min_epi16:
1695 ; X32: # BB#0:
1696 ; X32-NEXT: pminsw %xmm1, %xmm0
1697 ; X32-NEXT: retl
1712 ; X32-LABEL: test_mm_min_epu8:
1713 ; X32: # BB#0:
1714 ; X32-NEXT: pminub %xmm1, %xmm0
1715 ; X32-NEXT: retl
1730 ; X32-LABEL: test_mm_min_pd:
1731 ; X32: # BB#0:
1732 ; X32-NEXT: minpd %xmm1, %xmm0
1733 ; X32-NEXT: retl
1745 ; X32-LABEL: test_mm_min_sd:
1746 ; X32: # BB#0:
1747 ; X32-NEXT: minsd %xmm1, %xmm0
1748 ; X32-NEXT: retl
1760 ; X32-LABEL: test_mm_move_epi64:
1761 ; X32: # BB#0:
1762 ; X32-NEXT: movq {{.*#+}} xmm0 = xmm0[0],zero
1763 ; X32-NEXT: retl
1774 ; X32-LABEL: test_mm_move_sd:
1775 ; X32: # BB#0:
1776 ; X32-NEXT: movsd {{.*#+}} xmm0 = xmm1[0],xmm0[1]
1777 ; X32-NEXT: retl
1791 ; X32-LABEL: test_mm_movemask_epi8:
1792 ; X32: # BB#0:
1793 ; X32-NEXT: pmovmskb %xmm0, %eax
1794 ; X32-NEXT: retl
1807 ; X32-LABEL: test_mm_movemask_pd:
1808 ; X32: # BB#0:
1809 ; X32-NEXT: movmskpd %xmm0, %eax
1810 ; X32-NEXT: retl
1822 ; X32-LABEL: test_mm_mul_epu32:
1823 ; X32: # BB#0:
1824 ; X32-NEXT: pmuludq %xmm1, %xmm0
1825 ; X32-NEXT: retl
1839 ; X32-LABEL: test_mm_mul_pd:
1840 ; X32: # BB#0:
1841 ; X32-NEXT: mulpd %xmm1, %xmm0
1842 ; X32-NEXT: retl
1853 ; X32-LABEL: test_mm_mul_sd:
1854 ; X32: # BB#0:
1855 ; X32-NEXT: mulsd %xmm1, %xmm0
1856 ; X32-NEXT: retl
1870 ; X32-LABEL: test_mm_mulhi_epi16:
1871 ; X32: # BB#0:
1872 ; X32-NEXT: pmulhw %xmm1, %xmm0
1873 ; X32-NEXT: retl
1888 ; X32-LABEL: test_mm_mulhi_epu16:
1889 ; X32: # BB#0:
1890 ; X32-NEXT: pmulhuw %xmm1, %xmm0
1891 ; X32-NEXT: retl
1906 ; X32-LABEL: test_mm_mullo_epi16:
1907 ; X32: # BB#0:
1908 ; X32-NEXT: pmullw %xmm1, %xmm0
1909 ; X32-NEXT: retl
1923 ; X32-LABEL: test_mm_or_pd:
1924 ; X32: # BB#0:
1925 ; X32-NEXT: orps %xmm1, %xmm0
1926 ; X32-NEXT: retl
1940 ; X32-LABEL: test_mm_or_si128:
1941 ; X32: # BB#0:
1942 ; X32-NEXT: orps %xmm1, %xmm0
1943 ; X32-NEXT: retl
1954 ; X32-LABEL: test_mm_packs_epi16:
1955 ; X32: # BB#0:
1956 ; X32-NEXT: packsswb %xmm1, %xmm0
1957 ; X32-NEXT: retl
1972 ; X32-LABEL: test_mm_packs_epi32:
1973 ; X32: # BB#0:
1974 ; X32-NEXT: packssdw %xmm1, %xmm0
1975 ; X32-NEXT: retl
1990 ; X32-LABEL: test_mm_packus_epi16:
1991 ; X32: # BB#0:
1992 ; X32-NEXT: packuswb %xmm1, %xmm0
1993 ; X32-NEXT: retl
2008 ; X32-LABEL: test_mm_pause:
2009 ; X32: # BB#0:
2010 ; X32-NEXT: pause
2011 ; X32-NEXT: retl
2023 ; X32-LABEL: test_mm_sad_epu8:
2024 ; X32: # BB#0:
2025 ; X32-NEXT: psadbw %xmm1, %xmm0
2026 ; X32-NEXT: retl
2040 ; X32-LABEL: test_mm_set_epi8:
2041 ; X32: # BB#0:
2042 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2043 ; X32-NEXT: movd %eax, %xmm0
2044 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2045 ; X32-NEXT: movd %eax, %xmm1
2046 ; X32-NEXT: punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xm…
2047 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2048 ; X32-NEXT: movd %eax, %xmm0
2049 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2050 ; X32-NEXT: movd %eax, %xmm2
2051 ; X32-NEXT: punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xm…
2052 ; X32-NEXT: punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xm…
2053 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2054 ; X32-NEXT: movd %eax, %xmm0
2055 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2056 ; X32-NEXT: movd %eax, %xmm3
2057 ; X32-NEXT: punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm0[0],xmm3[1],xmm0[1],xmm3[2],xmm0[2],xmm3[3],xm…
2058 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2059 ; X32-NEXT: movd %eax, %xmm0
2060 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2061 ; X32-NEXT: movd %eax, %xmm1
2062 ; X32-NEXT: punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xm…
2063 ; X32-NEXT: punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1],xmm1[2],xmm3[2],xmm1[3],xm…
2064 ; X32-NEXT: punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xm…
2065 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2066 ; X32-NEXT: movd %eax, %xmm0
2067 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2068 ; X32-NEXT: movd %eax, %xmm2
2069 ; X32-NEXT: punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xm…
2070 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2071 ; X32-NEXT: movd %eax, %xmm0
2072 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2073 ; X32-NEXT: movd %eax, %xmm3
2074 ; X32-NEXT: punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm0[0],xmm3[1],xmm0[1],xmm3[2],xmm0[2],xmm3[3],xm…
2075 ; X32-NEXT: punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xm…
2076 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2077 ; X32-NEXT: movd %eax, %xmm0
2078 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2079 ; X32-NEXT: movd %eax, %xmm2
2080 ; X32-NEXT: punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xm…
2081 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2082 ; X32-NEXT: movd %eax, %xmm4
2083 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2084 ; X32-NEXT: movd %eax, %xmm0
2085 ; X32-NEXT: punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xm…
2086 ; X32-NEXT: punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1],xmm0[2],xmm2[2],xmm0[3],xm…
2087 ; X32-NEXT: punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xm…
2088 ; X32-NEXT: punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xm…
2089 ; X32-NEXT: retl
2162 ; X32-LABEL: test_mm_set_epi16:
2163 ; X32: # BB#0:
2164 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2165 ; X32-NEXT: movd %eax, %xmm1
2166 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2167 ; X32-NEXT: movd %eax, %xmm2
2168 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2169 ; X32-NEXT: movd %eax, %xmm3
2170 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2171 ; X32-NEXT: movd %eax, %xmm4
2172 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2173 ; X32-NEXT: movd %eax, %xmm5
2174 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2175 ; X32-NEXT: movd %eax, %xmm6
2176 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2177 ; X32-NEXT: movd %eax, %xmm7
2178 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2179 ; X32-NEXT: movd %eax, %xmm0
2180 ; X32-NEXT: punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xm…
2181 ; X32-NEXT: punpcklwd {{.*#+}} xmm4 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xm…
2182 ; X32-NEXT: punpcklwd {{.*#+}} xmm4 = xmm4[0],xmm2[0],xmm4[1],xmm2[1],xmm4[2],xmm2[2],xmm4[3],xm…
2183 ; X32-NEXT: punpcklwd {{.*#+}} xmm6 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xm…
2184 ; X32-NEXT: punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm7[0],xmm0[1],xmm7[1],xmm0[2],xmm7[2],xmm0[3],xm…
2185 ; X32-NEXT: punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm6[0],xmm0[1],xmm6[1],xmm0[2],xmm6[2],xmm0[3],xm…
2186 ; X32-NEXT: punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xm…
2187 ; X32-NEXT: retl
2222 ; X32-LABEL: test_mm_set_epi32:
2223 ; X32: # BB#0:
2224 ; X32-NEXT: movd {{.*#+}} xmm0 = mem[0],zero,zero,zero
2225 ; X32-NEXT: movd {{.*#+}} xmm1 = mem[0],zero,zero,zero
2226 ; X32-NEXT: punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
2227 ; X32-NEXT: movd {{.*#+}} xmm2 = mem[0],zero,zero,zero
2228 ; X32-NEXT: movd {{.*#+}} xmm0 = mem[0],zero,zero,zero
2229 ; X32-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
2230 ; X32-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
2231 ; X32-NEXT: retl
2254 ; X32-LABEL: test_mm_set_epi64x:
2255 ; X32: # BB#0:
2256 ; X32-NEXT: movd {{.*#+}} xmm1 = mem[0],zero,zero,zero
2257 ; X32-NEXT: movd {{.*#+}} xmm0 = mem[0],zero,zero,zero
2258 ; X32-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
2259 ; X32-NEXT: movd {{.*#+}} xmm1 = mem[0],zero,zero,zero
2260 ; X32-NEXT: movd {{.*#+}} xmm2 = mem[0],zero,zero,zero
2261 ; X32-NEXT: punpckldq {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]
2262 ; X32-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
2263 ; X32-NEXT: retl
2277 ; X32-LABEL: test_mm_set_pd:
2278 ; X32: # BB#0:
2279 ; X32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
2280 ; X32-NEXT: movsd {{.*#+}} xmm1 = mem[0],zero
2281 ; X32-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm1[0]
2282 ; X32-NEXT: retl
2295 ; X32-LABEL: test_mm_set_sd:
2296 ; X32: # BB#0:
2297 ; X32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
2298 ; X32-NEXT: movq {{.*#+}} xmm0 = xmm0[0],zero
2299 ; X32-NEXT: retl
2311 ; X32-LABEL: test_mm_set1_epi8:
2312 ; X32: # BB#0:
2313 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2314 ; X32-NEXT: movd %eax, %xmm0
2315 ; X32-NEXT: punpcklbw {{.*#+}} xmm0 = xmm0[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7]
2316 ; X32-NEXT: pshuflw {{.*#+}} xmm0 = xmm0[0,0,0,0,4,5,6,7]
2317 ; X32-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,0,1,1]
2318 ; X32-NEXT: retl
2349 ; X32-LABEL: test_mm_set1_epi16:
2350 ; X32: # BB#0:
2351 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2352 ; X32-NEXT: movd %eax, %xmm0
2353 ; X32-NEXT: pshuflw {{.*#+}} xmm0 = xmm0[0,0,0,0,4,5,6,7]
2354 ; X32-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,0,1,1]
2355 ; X32-NEXT: retl
2376 ; X32-LABEL: test_mm_set1_epi32:
2377 ; X32: # BB#0:
2378 ; X32-NEXT: movd {{.*#+}} xmm0 = mem[0],zero,zero,zero
2379 ; X32-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]
2380 ; X32-NEXT: retl
2398 ; X32-LABEL: test_mm_set1_epi64x:
2399 ; X32: # BB#0:
2400 ; X32-NEXT: movd {{.*#+}} xmm0 = mem[0],zero,zero,zero
2401 ; X32-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,0,1,1]
2402 ; X32-NEXT: movd {{.*#+}} xmm1 = mem[0],zero,zero,zero
2403 ; X32-NEXT: pshufd {{.*#+}} xmm1 = xmm1[0,0,1,1]
2404 ; X32-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
2405 ; X32-NEXT: retl
2418 ; X32-LABEL: test_mm_set1_pd:
2419 ; X32: # BB#0:
2420 ; X32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
2421 ; X32-NEXT: movlhps {{.*#+}} xmm0 = xmm0[0,0]
2422 ; X32-NEXT: retl
2434 ; X32-LABEL: test_mm_setr_epi8:
2435 ; X32: # BB#0:
2436 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2437 ; X32-NEXT: movd %eax, %xmm0
2438 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2439 ; X32-NEXT: movd %eax, %xmm1
2440 ; X32-NEXT: punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xm…
2441 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2442 ; X32-NEXT: movd %eax, %xmm0
2443 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2444 ; X32-NEXT: movd %eax, %xmm2
2445 ; X32-NEXT: punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xm…
2446 ; X32-NEXT: punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xm…
2447 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2448 ; X32-NEXT: movd %eax, %xmm0
2449 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2450 ; X32-NEXT: movd %eax, %xmm3
2451 ; X32-NEXT: punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm0[0],xmm3[1],xmm0[1],xmm3[2],xmm0[2],xmm3[3],xm…
2452 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2453 ; X32-NEXT: movd %eax, %xmm0
2454 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2455 ; X32-NEXT: movd %eax, %xmm1
2456 ; X32-NEXT: punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xm…
2457 ; X32-NEXT: punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1],xmm1[2],xmm3[2],xmm1[3],xm…
2458 ; X32-NEXT: punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xm…
2459 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2460 ; X32-NEXT: movd %eax, %xmm0
2461 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2462 ; X32-NEXT: movd %eax, %xmm2
2463 ; X32-NEXT: punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xm…
2464 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2465 ; X32-NEXT: movd %eax, %xmm0
2466 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2467 ; X32-NEXT: movd %eax, %xmm3
2468 ; X32-NEXT: punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm0[0],xmm3[1],xmm0[1],xmm3[2],xmm0[2],xmm3[3],xm…
2469 ; X32-NEXT: punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xm…
2470 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2471 ; X32-NEXT: movd %eax, %xmm0
2472 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2473 ; X32-NEXT: movd %eax, %xmm2
2474 ; X32-NEXT: punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xm…
2475 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2476 ; X32-NEXT: movd %eax, %xmm4
2477 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2478 ; X32-NEXT: movd %eax, %xmm0
2479 ; X32-NEXT: punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xm…
2480 ; X32-NEXT: punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1],xmm0[2],xmm2[2],xmm0[3],xm…
2481 ; X32-NEXT: punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xm…
2482 ; X32-NEXT: punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xm…
2483 ; X32-NEXT: retl
2556 ; X32-LABEL: test_mm_setr_epi16:
2557 ; X32: # BB#0:
2558 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2559 ; X32-NEXT: movd %eax, %xmm1
2560 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2561 ; X32-NEXT: movd %eax, %xmm2
2562 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2563 ; X32-NEXT: movd %eax, %xmm3
2564 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2565 ; X32-NEXT: movd %eax, %xmm4
2566 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2567 ; X32-NEXT: movd %eax, %xmm5
2568 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2569 ; X32-NEXT: movd %eax, %xmm6
2570 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2571 ; X32-NEXT: movd %eax, %xmm7
2572 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2573 ; X32-NEXT: movd %eax, %xmm0
2574 ; X32-NEXT: punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xm…
2575 ; X32-NEXT: punpcklwd {{.*#+}} xmm4 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xm…
2576 ; X32-NEXT: punpcklwd {{.*#+}} xmm4 = xmm4[0],xmm2[0],xmm4[1],xmm2[1],xmm4[2],xmm2[2],xmm4[3],xm…
2577 ; X32-NEXT: punpcklwd {{.*#+}} xmm6 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xm…
2578 ; X32-NEXT: punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm7[0],xmm0[1],xmm7[1],xmm0[2],xmm7[2],xmm0[3],xm…
2579 ; X32-NEXT: punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm6[0],xmm0[1],xmm6[1],xmm0[2],xmm6[2],xmm0[3],xm…
2580 ; X32-NEXT: punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xm…
2581 ; X32-NEXT: retl
2616 ; X32-LABEL: test_mm_setr_epi32:
2617 ; X32: # BB#0:
2618 ; X32-NEXT: movd {{.*#+}} xmm0 = mem[0],zero,zero,zero
2619 ; X32-NEXT: movd {{.*#+}} xmm1 = mem[0],zero,zero,zero
2620 ; X32-NEXT: punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
2621 ; X32-NEXT: movd {{.*#+}} xmm2 = mem[0],zero,zero,zero
2622 ; X32-NEXT: movd {{.*#+}} xmm0 = mem[0],zero,zero,zero
2623 ; X32-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
2624 ; X32-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
2625 ; X32-NEXT: retl
2648 ; X32-LABEL: test_mm_setr_epi64x:
2649 ; X32: # BB#0:
2650 ; X32-NEXT: movd {{.*#+}} xmm1 = mem[0],zero,zero,zero
2651 ; X32-NEXT: movd {{.*#+}} xmm0 = mem[0],zero,zero,zero
2652 ; X32-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
2653 ; X32-NEXT: movd {{.*#+}} xmm1 = mem[0],zero,zero,zero
2654 ; X32-NEXT: movd {{.*#+}} xmm2 = mem[0],zero,zero,zero
2655 ; X32-NEXT: punpckldq {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]
2656 ; X32-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
2657 ; X32-NEXT: retl
2671 ; X32-LABEL: test_mm_setr_pd:
2672 ; X32: # BB#0:
2673 ; X32-NEXT: movsd {{.*#+}} xmm1 = mem[0],zero
2674 ; X32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
2675 ; X32-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm1[0]
2676 ; X32-NEXT: retl
2688 ; X32-LABEL: test_mm_setzero_pd:
2689 ; X32: # BB#0:
2690 ; X32-NEXT: xorps %xmm0, %xmm0
2691 ; X32-NEXT: retl
2701 ; X32-LABEL: test_mm_setzero_si128:
2702 ; X32: # BB#0:
2703 ; X32-NEXT: xorps %xmm0, %xmm0
2704 ; X32-NEXT: retl
2714 ; X32-LABEL: test_mm_shuffle_epi32:
2715 ; X32: # BB#0:
2716 ; X32-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]
2717 ; X32-NEXT: retl
2730 ; X32-LABEL: test_mm_shuffle_pd:
2731 ; X32: # BB#0:
2732 ; X32-NEXT: shufpd {{.*#+}} xmm0 = xmm0[1],xmm1[0]
2733 ; X32-NEXT: retl
2744 ; X32-LABEL: test_mm_shufflehi_epi16:
2745 ; X32: # BB#0:
2746 ; X32-NEXT: pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,4,4,4]
2747 ; X32-NEXT: retl
2760 ; X32-LABEL: test_mm_shufflelo_epi16:
2761 ; X32: # BB#0:
2762 ; X32-NEXT: pshuflw {{.*#+}} xmm0 = xmm0[0,0,0,0,4,5,6,7]
2763 ; X32-NEXT: retl
2776 ; X32-LABEL: test_mm_sll_epi16:
2777 ; X32: # BB#0:
2778 ; X32-NEXT: psllw %xmm1, %xmm0
2779 ; X32-NEXT: retl
2794 ; X32-LABEL: test_mm_sll_epi32:
2795 ; X32: # BB#0:
2796 ; X32-NEXT: pslld %xmm1, %xmm0
2797 ; X32-NEXT: retl
2812 ; X32-LABEL: test_mm_sll_epi64:
2813 ; X32: # BB#0:
2814 ; X32-NEXT: psllq %xmm1, %xmm0
2815 ; X32-NEXT: retl
2827 ; X32-LABEL: test_mm_slli_epi16:
2828 ; X32: # BB#0:
2829 ; X32-NEXT: psllw $1, %xmm0
2830 ; X32-NEXT: retl
2844 ; X32-LABEL: test_mm_slli_epi32:
2845 ; X32: # BB#0:
2846 ; X32-NEXT: pslld $1, %xmm0
2847 ; X32-NEXT: retl
2861 ; X32-LABEL: test_mm_slli_epi64:
2862 ; X32: # BB#0:
2863 ; X32-NEXT: psllq $1, %xmm0
2864 ; X32-NEXT: retl
2876 ; X32-LABEL: test_mm_slli_si128:
2877 ; X32: # BB#0:
2878 ; X32-NEXT: pslldq {{.*#+}} xmm0 = zero,zero,zero,zero,zero,xmm0[0,1,2,3,4,5,6,7,8,9,10]
2879 ; X32-NEXT: retl
2892 ; X32-LABEL: test_mm_sqrt_pd:
2893 ; X32: # BB#0:
2894 ; X32-NEXT: sqrtpd %xmm0, %xmm0
2895 ; X32-NEXT: retl
2907 ; X32-LABEL: test_mm_sqrt_sd:
2908 ; X32: # BB#0:
2909 ; X32-NEXT: sqrtsd %xmm0, %xmm1
2910 ; X32-NEXT: movaps %xmm1, %xmm0
2911 ; X32-NEXT: retl
2928 ; X32-LABEL: test_mm_sra_epi16:
2929 ; X32: # BB#0:
2930 ; X32-NEXT: psraw %xmm1, %xmm0
2931 ; X32-NEXT: retl
2946 ; X32-LABEL: test_mm_sra_epi32:
2947 ; X32: # BB#0:
2948 ; X32-NEXT: psrad %xmm1, %xmm0
2949 ; X32-NEXT: retl
2964 ; X32-LABEL: test_mm_srai_epi16:
2965 ; X32: # BB#0:
2966 ; X32-NEXT: psraw $1, %xmm0
2967 ; X32-NEXT: retl
2981 ; X32-LABEL: test_mm_srai_epi32:
2982 ; X32: # BB#0:
2983 ; X32-NEXT: psrad $1, %xmm0
2984 ; X32-NEXT: retl
2998 ; X32-LABEL: test_mm_srl_epi16:
2999 ; X32: # BB#0:
3000 ; X32-NEXT: psrlw %xmm1, %xmm0
3001 ; X32-NEXT: retl
3016 ; X32-LABEL: test_mm_srl_epi32:
3017 ; X32: # BB#0:
3018 ; X32-NEXT: psrld %xmm1, %xmm0
3019 ; X32-NEXT: retl
3034 ; X32-LABEL: test_mm_srl_epi64:
3035 ; X32: # BB#0:
3036 ; X32-NEXT: psrlq %xmm1, %xmm0
3037 ; X32-NEXT: retl
3049 ; X32-LABEL: test_mm_srli_epi16:
3050 ; X32: # BB#0:
3051 ; X32-NEXT: psrlw $1, %xmm0
3052 ; X32-NEXT: retl
3066 ; X32-LABEL: test_mm_srli_epi32:
3067 ; X32: # BB#0:
3068 ; X32-NEXT: psrld $1, %xmm0
3069 ; X32-NEXT: retl
3083 ; X32-LABEL: test_mm_srli_epi64:
3084 ; X32: # BB#0:
3085 ; X32-NEXT: psrlq $1, %xmm0
3086 ; X32-NEXT: retl
3098 ; X32-LABEL: test_mm_srli_si128:
3099 ; X32: # BB#0:
3100 ; X32-NEXT: psrldq {{.*#+}} xmm0 = xmm0[5,6,7,8,9,10,11,12,13,14,15],zero,zero,zero,zero,zero
3101 ; X32-NEXT: retl
3114 ; X32-LABEL: test_mm_store_pd:
3115 ; X32: # BB#0:
3116 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
3117 ; X32-NEXT: movaps %xmm0, (%eax)
3118 ; X32-NEXT: retl
3130 ; X32-LABEL: test_mm_store_pd1:
3131 ; X32: # BB#0:
3132 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
3133 ; X32-NEXT: movlhps {{.*#+}} xmm0 = xmm0[0,0]
3134 ; X32-NEXT: movaps %xmm0, (%eax)
3135 ; X32-NEXT: retl
3149 ; X32-LABEL: test_mm_store_sd:
3150 ; X32: # BB#0:
3151 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
3152 ; X32-NEXT: movsd %xmm0, (%eax)
3153 ; X32-NEXT: retl
3165 ; X32-LABEL: test_mm_store_si128:
3166 ; X32: # BB#0:
3167 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
3168 ; X32-NEXT: movaps %xmm0, (%eax)
3169 ; X32-NEXT: retl
3180 ; X32-LABEL: test_mm_store1_pd:
3181 ; X32: # BB#0:
3182 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
3183 ; X32-NEXT: movlhps {{.*#+}} xmm0 = xmm0[0,0]
3184 ; X32-NEXT: movaps %xmm0, (%eax)
3185 ; X32-NEXT: retl
3199 ; X32-LABEL: test_mm_storeh_sd:
3200 ; X32: # BB#0:
3201 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
3202 ; X32-NEXT: shufpd {{.*#+}} xmm0 = xmm0[1,0]
3203 ; X32-NEXT: movsd %xmm0, (%eax)
3204 ; X32-NEXT: retl
3217 ; X32-LABEL: test_mm_storel_epi64:
3218 ; X32: # BB#0:
3219 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
3220 ; X32-NEXT: movlps %xmm0, (%eax)
3221 ; X32-NEXT: retl
3235 ; X32-LABEL: test_mm_storel_sd:
3236 ; X32: # BB#0:
3237 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
3238 ; X32-NEXT: movsd %xmm0, (%eax)
3239 ; X32-NEXT: retl
3251 ; X32-LABEL: test_mm_storer_pd:
3252 ; X32: # BB#0:
3253 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
3254 ; X32-NEXT: shufpd {{.*#+}} xmm0 = xmm0[1,0]
3255 ; X32-NEXT: movapd %xmm0, (%eax)
3256 ; X32-NEXT: retl
3270 ; X32-LABEL: test_mm_storeu_pd:
3271 ; X32: # BB#0:
3272 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
3273 ; X32-NEXT: movups %xmm0, (%eax)
3274 ; X32-NEXT: retl
3286 ; X32-LABEL: test_mm_storeu_si128:
3287 ; X32: # BB#0:
3288 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
3289 ; X32-NEXT: movups %xmm0, (%eax)
3290 ; X32-NEXT: retl
3301 ; X32-LABEL: test_mm_stream_pd:
3302 ; X32: # BB#0:
3303 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
3304 ; X32-NEXT: movntps %xmm0, (%eax)
3305 ; X32-NEXT: retl
3317 ; X32-LABEL: test_mm_stream_si32:
3318 ; X32: # BB#0:
3319 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
3320 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
3321 ; X32-NEXT: movntil %eax, (%ecx)
3322 ; X32-NEXT: retl
3333 ; X32-LABEL: test_mm_stream_si128:
3334 ; X32: # BB#0:
3335 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
3336 ; X32-NEXT: movntps %xmm0, (%eax)
3337 ; X32-NEXT: retl
3348 ; X32-LABEL: test_mm_sub_epi8:
3349 ; X32: # BB#0:
3350 ; X32-NEXT: psubb %xmm1, %xmm0
3351 ; X32-NEXT: retl
3365 ; X32-LABEL: test_mm_sub_epi16:
3366 ; X32: # BB#0:
3367 ; X32-NEXT: psubw %xmm1, %xmm0
3368 ; X32-NEXT: retl
3382 ; X32-LABEL: test_mm_sub_epi32:
3383 ; X32: # BB#0:
3384 ; X32-NEXT: psubd %xmm1, %xmm0
3385 ; X32-NEXT: retl
3399 ; X32-LABEL: test_mm_sub_epi64:
3400 ; X32: # BB#0:
3401 ; X32-NEXT: psubq %xmm1, %xmm0
3402 ; X32-NEXT: retl
3413 ; X32-LABEL: test_mm_sub_pd:
3414 ; X32: # BB#0:
3415 ; X32-NEXT: subpd %xmm1, %xmm0
3416 ; X32-NEXT: retl
3427 ; X32-LABEL: test_mm_sub_sd:
3428 ; X32: # BB#0:
3429 ; X32-NEXT: subsd %xmm1, %xmm0
3430 ; X32-NEXT: retl
3444 ; X32-LABEL: test_mm_subs_epi8:
3445 ; X32: # BB#0:
3446 ; X32-NEXT: psubsb %xmm1, %xmm0
3447 ; X32-NEXT: retl
3462 ; X32-LABEL: test_mm_subs_epi16:
3463 ; X32: # BB#0:
3464 ; X32-NEXT: psubsw %xmm1, %xmm0
3465 ; X32-NEXT: retl
3480 ; X32-LABEL: test_mm_subs_epu8:
3481 ; X32: # BB#0:
3482 ; X32-NEXT: psubusb %xmm1, %xmm0
3483 ; X32-NEXT: retl
3498 ; X32-LABEL: test_mm_subs_epu16:
3499 ; X32: # BB#0:
3500 ; X32-NEXT: psubusw %xmm1, %xmm0
3501 ; X32-NEXT: retl
3516 ; X32-LABEL: test_mm_ucomieq_sd:
3517 ; X32: # BB#0:
3518 ; X32-NEXT: ucomisd %xmm1, %xmm0
3519 ; X32-NEXT: setnp %al
3520 ; X32-NEXT: sete %cl
3521 ; X32-NEXT: andb %al, %cl
3522 ; X32-NEXT: movzbl %cl, %eax
3523 ; X32-NEXT: retl
3539 ; X32-LABEL: test_mm_ucomige_sd:
3540 ; X32: # BB#0:
3541 ; X32-NEXT: xorl %eax, %eax
3542 ; X32-NEXT: ucomisd %xmm1, %xmm0
3543 ; X32-NEXT: setae %al
3544 ; X32-NEXT: retl
3558 ; X32-LABEL: test_mm_ucomigt_sd:
3559 ; X32: # BB#0:
3560 ; X32-NEXT: xorl %eax, %eax
3561 ; X32-NEXT: ucomisd %xmm1, %xmm0
3562 ; X32-NEXT: seta %al
3563 ; X32-NEXT: retl
3577 ; X32-LABEL: test_mm_ucomile_sd:
3578 ; X32: # BB#0:
3579 ; X32-NEXT: xorl %eax, %eax
3580 ; X32-NEXT: ucomisd %xmm0, %xmm1
3581 ; X32-NEXT: setae %al
3582 ; X32-NEXT: retl
3596 ; X32-LABEL: test_mm_ucomilt_sd:
3597 ; X32: # BB#0:
3598 ; X32-NEXT: xorl %eax, %eax
3599 ; X32-NEXT: ucomisd %xmm0, %xmm1
3600 ; X32-NEXT: seta %al
3601 ; X32-NEXT: retl
3615 ; X32-LABEL: test_mm_ucomineq_sd:
3616 ; X32: # BB#0:
3617 ; X32-NEXT: ucomisd %xmm1, %xmm0
3618 ; X32-NEXT: setp %al
3619 ; X32-NEXT: setne %cl
3620 ; X32-NEXT: orb %al, %cl
3621 ; X32-NEXT: movzbl %cl, %eax
3622 ; X32-NEXT: retl
3638 ; X32-LABEL: test_mm_undefined_pd:
3639 ; X32: # BB#0:
3640 ; X32-NEXT: retl
3649 ; X32-LABEL: test_mm_undefined_si128:
3650 ; X32: # BB#0:
3651 ; X32-NEXT: retl
3660 ; X32-LABEL: test_mm_unpackhi_epi8:
3661 ; X32: # BB#0:
3662 ; X32-NEXT: punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm1[8],xmm0[9],xmm1[9],xmm0[10],xmm1[10],xmm0[11]…
3663 ; X32-NEXT: retl
3677 ; X32-LABEL: test_mm_unpackhi_epi16:
3678 ; X32: # BB#0:
3679 ; X32-NEXT: punpckhwd {{.*#+}} xmm0 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xm…
3680 ; X32-NEXT: retl
3694 ; X32-LABEL: test_mm_unpackhi_epi32:
3695 ; X32: # BB#0:
3696 ; X32-NEXT: punpckhdq {{.*#+}} xmm0 = xmm0[2],xmm1[2],xmm0[3],xmm1[3]
3697 ; X32-NEXT: retl
3711 ; X32-LABEL: test_mm_unpackhi_epi64:
3712 ; X32: # BB#0:
3713 ; X32-NEXT: punpckhqdq {{.*#+}} xmm0 = xmm0[1],xmm1[1]
3714 ; X32-NEXT: retl
3725 ; X32-LABEL: test_mm_unpackhi_pd:
3726 ; X32: # BB#0:
3727 ; X32-NEXT: unpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]
3728 ; X32-NEXT: retl
3739 ; X32-LABEL: test_mm_unpacklo_epi8:
3740 ; X32: # BB#0:
3741 ; X32-NEXT: punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xm…
3742 ; X32-NEXT: retl
3756 ; X32-LABEL: test_mm_unpacklo_epi16:
3757 ; X32: # BB#0:
3758 ; X32-NEXT: punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xm…
3759 ; X32-NEXT: retl
3773 ; X32-LABEL: test_mm_unpacklo_epi32:
3774 ; X32: # BB#0:
3775 ; X32-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
3776 ; X32-NEXT: retl
3790 ; X32-LABEL: test_mm_unpacklo_epi64:
3791 ; X32: # BB#0:
3792 ; X32-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
3793 ; X32-NEXT: retl
3804 ; X32-LABEL: test_mm_unpacklo_pd:
3805 ; X32: # BB#0:
3806 ; X32-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm1[0]
3807 ; X32-NEXT: retl
3818 ; X32-LABEL: test_mm_xor_pd:
3819 ; X32: # BB#0:
3820 ; X32-NEXT: xorps %xmm1, %xmm0
3821 ; X32-NEXT: retl
3835 ; X32-LABEL: test_mm_xor_si128:
3836 ; X32: # BB#0:
3837 ; X32-NEXT: xorps %xmm1, %xmm0
3838 ; X32-NEXT: retl