• Home
  • Raw
  • Download

Lines Matching refs:X32

2 …ple=i386-unknown-unknown -mattr=avx,aes,pclmul | FileCheck %s --check-prefix=ALL --check-prefix=X32
8 ; X32-LABEL: test_mm256_add_pd:
9 ; X32: # BB#0:
10 ; X32-NEXT: vaddpd %ymm1, %ymm0, %ymm0
11 ; X32-NEXT: retl
22 ; X32-LABEL: test_mm256_add_ps:
23 ; X32: # BB#0:
24 ; X32-NEXT: vaddps %ymm1, %ymm0, %ymm0
25 ; X32-NEXT: retl
36 ; X32-LABEL: test_mm256_addsub_pd:
37 ; X32: # BB#0:
38 ; X32-NEXT: vaddsubpd %ymm1, %ymm0, %ymm0
39 ; X32-NEXT: retl
51 ; X32-LABEL: test_mm256_addsub_ps:
52 ; X32: # BB#0:
53 ; X32-NEXT: vaddsubps %ymm1, %ymm0, %ymm0
54 ; X32-NEXT: retl
66 ; X32-LABEL: test_mm256_and_pd:
67 ; X32: # BB#0:
68 ; X32-NEXT: vandps %ymm1, %ymm0, %ymm0
69 ; X32-NEXT: retl
83 ; X32-LABEL: test_mm256_and_ps:
84 ; X32: # BB#0:
85 ; X32-NEXT: vandps %ymm1, %ymm0, %ymm0
86 ; X32-NEXT: retl
100 ; X32-LABEL: test_mm256_andnot_pd:
101 ; X32: # BB#0:
102 ; X32-NEXT: vpcmpeqd %xmm2, %xmm2, %xmm2
103 ; X32-NEXT: vinsertf128 $1, %xmm2, %ymm2, %ymm2
104 ; X32-NEXT: vxorps %ymm2, %ymm0, %ymm0
105 ; X32-NEXT: vandps %ymm1, %ymm0, %ymm0
106 ; X32-NEXT: retl
124 ; X32-LABEL: test_mm256_andnot_ps:
125 ; X32: # BB#0:
126 ; X32-NEXT: vandnps %ymm1, %ymm0, %ymm0
127 ; X32-NEXT: retl
142 ; X32-LABEL: test_mm256_blend_pd:
143 ; X32: # BB#0:
144 ; X32-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0],ymm1[1,2],ymm0[3]
145 ; X32-NEXT: retl
156 ; X32-LABEL: test_mm256_blend_ps:
157 ; X32: # BB#0:
158 ; X32-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0],ymm1[1,2,3],ymm0[4,5,6],ymm1[7]
159 ; X32-NEXT: retl
170 ; X32-LABEL: test_mm256_blendv_pd:
171 ; X32: # BB#0:
172 ; X32-NEXT: vblendvpd %ymm2, %ymm1, %ymm0, %ymm0
173 ; X32-NEXT: retl
185 ; X32-LABEL: test_mm256_blendv_ps:
186 ; X32: # BB#0:
187 ; X32-NEXT: vblendvps %ymm2, %ymm1, %ymm0, %ymm0
188 ; X32-NEXT: retl
200 ; X32-LABEL: test_mm256_broadcast_pd:
201 ; X32: # BB#0:
202 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
203 ; X32-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
204 ; X32-NEXT: retl
217 ; X32-LABEL: test_mm256_broadcast_ps:
218 ; X32: # BB#0:
219 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
220 ; X32-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
221 ; X32-NEXT: retl
234 ; X32-LABEL: test_mm256_broadcast_sd:
235 ; X32: # BB#0:
236 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
237 ; X32-NEXT: vbroadcastsd (%eax), %ymm0
238 ; X32-NEXT: retl
253 ; X32-LABEL: test_mm_broadcast_ss:
254 ; X32: # BB#0:
255 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
256 ; X32-NEXT: vbroadcastss (%eax), %xmm0
257 ; X32-NEXT: retl
272 ; X32-LABEL: test_mm256_broadcast_ss:
273 ; X32: # BB#0:
274 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
275 ; X32-NEXT: vbroadcastss (%eax), %ymm0
276 ; X32-NEXT: retl
295 ; X32-LABEL: test_mm256_castpd_ps:
296 ; X32: # BB#0:
297 ; X32-NEXT: retl
307 ; X32-LABEL: test_mm256_castpd_si256:
308 ; X32: # BB#0:
309 ; X32-NEXT: retl
319 ; X32-LABEL: test_mm256_castpd128_pd256:
320 ; X32: # BB#0:
321 ; X32-NEXT: # kill: %XMM0<def> %XMM0<kill> %YMM0<def>
322 ; X32-NEXT: retl
333 ; X32-LABEL: test_mm256_castpd256_pd128:
334 ; X32: # BB#0:
335 ; X32-NEXT: # kill: %XMM0<def> %XMM0<kill> %YMM0<kill>
336 ; X32-NEXT: vzeroupper
337 ; X32-NEXT: retl
349 ; X32-LABEL: test_mm256_castps_pd:
350 ; X32: # BB#0:
351 ; X32-NEXT: retl
361 ; X32-LABEL: test_mm256_castps_si256:
362 ; X32: # BB#0:
363 ; X32-NEXT: retl
373 ; X32-LABEL: test_mm256_castps128_ps256:
374 ; X32: # BB#0:
375 ; X32-NEXT: # kill: %XMM0<def> %XMM0<kill> %YMM0<def>
376 ; X32-NEXT: retl
387 ; X32-LABEL: test_mm256_castps256_ps128:
388 ; X32: # BB#0:
389 ; X32-NEXT: # kill: %XMM0<def> %XMM0<kill> %YMM0<kill>
390 ; X32-NEXT: vzeroupper
391 ; X32-NEXT: retl
403 ; X32-LABEL: test_mm256_castsi128_si256:
404 ; X32: # BB#0:
405 ; X32-NEXT: # kill: %XMM0<def> %XMM0<kill> %YMM0<def>
406 ; X32-NEXT: retl
417 ; X32-LABEL: test_mm256_castsi256_pd:
418 ; X32: # BB#0:
419 ; X32-NEXT: retl
429 ; X32-LABEL: test_mm256_castsi256_ps:
430 ; X32: # BB#0:
431 ; X32-NEXT: retl
441 ; X32-LABEL: test_mm256_castsi256_si128:
442 ; X32: # BB#0:
443 ; X32-NEXT: # kill: %XMM0<def> %XMM0<kill> %YMM0<kill>
444 ; X32-NEXT: vzeroupper
445 ; X32-NEXT: retl
457 ; X32-LABEL: test_mm256_ceil_pd:
458 ; X32: # BB#0:
459 ; X32-NEXT: vroundpd $2, %ymm0, %ymm0
460 ; X32-NEXT: retl
472 ; X32-LABEL: test_mm256_ceil_ps:
473 ; X32: # BB#0:
474 ; X32-NEXT: vroundps $2, %ymm0, %ymm0
475 ; X32-NEXT: retl
487 ; X32-LABEL: test_mm_cmp_pd:
488 ; X32: # BB#0:
489 ; X32-NEXT: vcmpgepd %xmm1, %xmm0, %xmm0
490 ; X32-NEXT: retl
502 ; X32-LABEL: test_mm256_cmp_pd:
503 ; X32: # BB#0:
504 ; X32-NEXT: vcmpgepd %ymm1, %ymm0, %ymm0
505 ; X32-NEXT: retl
517 ; X32-LABEL: test_mm_cmp_ps:
518 ; X32: # BB#0:
519 ; X32-NEXT: vcmpgeps %xmm1, %xmm0, %xmm0
520 ; X32-NEXT: retl
532 ; X32-LABEL: test_mm256_cmp_ps:
533 ; X32: # BB#0:
534 ; X32-NEXT: vcmpgeps %ymm1, %ymm0, %ymm0
535 ; X32-NEXT: retl
547 ; X32-LABEL: test_mm_cmp_sd:
548 ; X32: # BB#0:
549 ; X32-NEXT: vcmpgesd %xmm1, %xmm0, %xmm0
550 ; X32-NEXT: retl
562 ; X32-LABEL: test_mm_cmp_ss:
563 ; X32: # BB#0:
564 ; X32-NEXT: vcmpgess %xmm1, %xmm0, %xmm0
565 ; X32-NEXT: retl
577 ; X32-LABEL: test_mm256_cvtepi32_pd:
578 ; X32: # BB#0:
579 ; X32-NEXT: vcvtdq2pd %xmm0, %ymm0
580 ; X32-NEXT: retl
592 ; X32-LABEL: test_mm256_cvtepi32_ps:
593 ; X32: # BB#0:
594 ; X32-NEXT: vcvtdq2ps %ymm0, %ymm0
595 ; X32-NEXT: retl
608 ; X32-LABEL: test_mm256_cvtpd_epi32:
609 ; X32: # BB#0:
610 ; X32-NEXT: vcvtpd2dqy %ymm0, %xmm0
611 ; X32-NEXT: vzeroupper
612 ; X32-NEXT: retl
626 ; X32-LABEL: test_mm256_cvtpd_ps:
627 ; X32: # BB#0:
628 ; X32-NEXT: vcvtpd2psy %ymm0, %xmm0
629 ; X32-NEXT: vzeroupper
630 ; X32-NEXT: retl
643 ; X32-LABEL: test_mm256_cvtps_epi32:
644 ; X32: # BB#0:
645 ; X32-NEXT: vcvtps2dq %ymm0, %ymm0
646 ; X32-NEXT: retl
659 ; X32-LABEL: test_mm256_cvtps_pd:
660 ; X32: # BB#0:
661 ; X32-NEXT: vcvtps2pd %xmm0, %ymm0
662 ; X32-NEXT: retl
673 ; X32-LABEL: test_mm256_cvttpd_epi32:
674 ; X32: # BB#0:
675 ; X32-NEXT: vcvttpd2dqy %ymm0, %xmm0
676 ; X32-NEXT: vzeroupper
677 ; X32-NEXT: retl
690 ; X32-LABEL: test_mm256_cvttps_epi32:
691 ; X32: # BB#0:
692 ; X32-NEXT: vcvttps2dq %ymm0, %ymm0
693 ; X32-NEXT: retl
705 ; X32-LABEL: test_mm256_div_pd:
706 ; X32: # BB#0:
707 ; X32-NEXT: vdivpd %ymm1, %ymm0, %ymm0
708 ; X32-NEXT: retl
719 ; X32-LABEL: test_mm256_div_ps:
720 ; X32: # BB#0:
721 ; X32-NEXT: vdivps %ymm1, %ymm0, %ymm0
722 ; X32-NEXT: retl
733 ; X32-LABEL: test_mm256_dp_ps:
734 ; X32: # BB#0:
735 ; X32-NEXT: vdpps $7, %ymm1, %ymm0, %ymm0
736 ; X32-NEXT: retl
748 ; X32-LABEL: test_mm256_extract_epi8:
749 ; X32: # BB#0:
750 ; X32-NEXT: vextractf128 $1, %ymm0, %xmm0
751 ; X32-NEXT: vpextrb $15, %xmm0, %eax
752 ; X32-NEXT: movzbl %al, %eax
753 ; X32-NEXT: vzeroupper
754 ; X32-NEXT: retl
770 ; X32-LABEL: test_mm256_extract_epi16:
771 ; X32: # BB#0:
772 ; X32-NEXT: vextractf128 $1, %ymm0, %xmm0
773 ; X32-NEXT: vpextrw $3, %xmm0, %eax
774 ; X32-NEXT: movzwl %ax, %eax
775 ; X32-NEXT: vzeroupper
776 ; X32-NEXT: retl
792 ; X32-LABEL: test_mm256_extract_epi32:
793 ; X32: # BB#0:
794 ; X32-NEXT: vextractf128 $1, %ymm0, %xmm0
795 ; X32-NEXT: vpextrd $1, %xmm0, %eax
796 ; X32-NEXT: vzeroupper
797 ; X32-NEXT: retl
811 ; X32-LABEL: test_mm256_extract_epi64:
812 ; X32: # BB#0:
813 ; X32-NEXT: vextractf128 $1, %ymm0, %xmm0
814 ; X32-NEXT: vpextrd $2, %xmm0, %eax
815 ; X32-NEXT: vpextrd $3, %xmm0, %edx
816 ; X32-NEXT: vzeroupper
817 ; X32-NEXT: retl
830 ; X32-LABEL: test_mm256_extractf128_pd:
831 ; X32: # BB#0:
832 ; X32-NEXT: vextractf128 $1, %ymm0, %xmm0
833 ; X32-NEXT: vzeroupper
834 ; X32-NEXT: retl
846 ; X32-LABEL: test_mm256_extractf128_ps:
847 ; X32: # BB#0:
848 ; X32-NEXT: vextractf128 $1, %ymm0, %xmm0
849 ; X32-NEXT: vzeroupper
850 ; X32-NEXT: retl
862 ; X32-LABEL: test_mm256_extractf128_si256:
863 ; X32: # BB#0:
864 ; X32-NEXT: vextractf128 $1, %ymm0, %xmm0
865 ; X32-NEXT: vzeroupper
866 ; X32-NEXT: retl
878 ; X32-LABEL: test_mm256_floor_pd:
879 ; X32: # BB#0:
880 ; X32-NEXT: vroundpd $1, %ymm0, %ymm0
881 ; X32-NEXT: retl
892 ; X32-LABEL: test_mm256_floor_ps:
893 ; X32: # BB#0:
894 ; X32-NEXT: vroundps $1, %ymm0, %ymm0
895 ; X32-NEXT: retl
906 ; X32-LABEL: test_mm256_hadd_pd:
907 ; X32: # BB#0:
908 ; X32-NEXT: vhaddpd %ymm1, %ymm0, %ymm0
909 ; X32-NEXT: retl
921 ; X32-LABEL: test_mm256_hadd_ps:
922 ; X32: # BB#0:
923 ; X32-NEXT: vhaddps %ymm1, %ymm0, %ymm0
924 ; X32-NEXT: retl
936 ; X32-LABEL: test_mm256_hsub_pd:
937 ; X32: # BB#0:
938 ; X32-NEXT: vhsubpd %ymm1, %ymm0, %ymm0
939 ; X32-NEXT: retl
951 ; X32-LABEL: test_mm256_hsub_ps:
952 ; X32: # BB#0:
953 ; X32-NEXT: vhsubps %ymm1, %ymm0, %ymm0
954 ; X32-NEXT: retl
966 ; X32-LABEL: test_mm256_insert_epi8:
967 ; X32: # BB#0:
968 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
969 ; X32-NEXT: vpinsrb $4, %eax, %xmm0, %xmm1
970 ; X32-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
971 ; X32-NEXT: retl
986 ; X32-LABEL: test_mm256_insert_epi16:
987 ; X32: # BB#0:
988 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
989 ; X32-NEXT: vextractf128 $1, %ymm0, %xmm1
990 ; X32-NEXT: vpinsrw $6, %eax, %xmm1, %xmm1
991 ; X32-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm0
992 ; X32-NEXT: retl
1007 ; X32-LABEL: test_mm256_insert_epi32:
1008 ; X32: # BB#0:
1009 ; X32-NEXT: vpinsrd $3, {{[0-9]+}}(%esp), %xmm0, %xmm1
1010 ; X32-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
1011 ; X32-NEXT: retl
1025 ; X32-LABEL: test_mm256_insert_epi64:
1026 ; X32: # BB#0:
1027 ; X32-NEXT: vextractf128 $1, %ymm0, %xmm1
1028 ; X32-NEXT: vpinsrd $2, {{[0-9]+}}(%esp), %xmm1, %xmm1
1029 ; X32-NEXT: vpinsrd $3, {{[0-9]+}}(%esp), %xmm1, %xmm2
1030 ; X32-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm0
1031 ; X32-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm0
1032 ; X32-NEXT: retl
1045 ; X32-LABEL: test_mm256_insertf128_pd:
1046 ; X32: # BB#0:
1047 ; X32-NEXT: # kill: %XMM1<def> %XMM1<kill> %YMM1<def>
1048 ; X32-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]
1049 ; X32-NEXT: retl
1062 ; X32-LABEL: test_mm256_insertf128_ps:
1063 ; X32: # BB#0:
1064 ; X32-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm0
1065 ; X32-NEXT: retl
1077 ; X32-LABEL: test_mm256_insertf128_si256:
1078 ; X32: # BB#0:
1079 ; X32-NEXT: # kill: %XMM1<def> %XMM1<kill> %YMM1<def>
1080 ; X32-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]
1081 ; X32-NEXT: retl
1094 ; X32-LABEL: test_mm256_lddqu_si256:
1095 ; X32: # BB#0:
1096 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1097 ; X32-NEXT: vlddqu (%eax), %ymm0
1098 ; X32-NEXT: retl
1112 ; X32-LABEL: test_mm256_load_pd:
1113 ; X32: # BB#0:
1114 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1115 ; X32-NEXT: vmovaps (%eax), %ymm0
1116 ; X32-NEXT: retl
1128 ; X32-LABEL: test_mm256_load_ps:
1129 ; X32: # BB#0:
1130 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1131 ; X32-NEXT: vmovaps (%eax), %ymm0
1132 ; X32-NEXT: retl
1144 ; X32-LABEL: test_mm256_load_si256:
1145 ; X32: # BB#0:
1146 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1147 ; X32-NEXT: vmovaps (%eax), %ymm0
1148 ; X32-NEXT: retl
1159 ; X32-LABEL: test_mm256_loadu_pd:
1160 ; X32: # BB#0:
1161 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1162 ; X32-NEXT: vmovups (%eax), %ymm0
1163 ; X32-NEXT: retl
1175 ; X32-LABEL: test_mm256_loadu_ps:
1176 ; X32: # BB#0:
1177 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1178 ; X32-NEXT: vmovups (%eax), %ymm0
1179 ; X32-NEXT: retl
1191 ; X32-LABEL: test_mm256_loadu_si256:
1192 ; X32: # BB#0:
1193 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1194 ; X32-NEXT: vmovups (%eax), %ymm0
1195 ; X32-NEXT: retl
1206 ; X32-LABEL: test_mm256_loadu2_m128:
1207 ; X32: # BB#0:
1208 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1209 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
1210 ; X32-NEXT: vmovups (%eax), %xmm0
1211 ; X32-NEXT: vinsertf128 $1, (%ecx), %ymm0, %ymm0
1212 ; X32-NEXT: retl
1230 ; X32-LABEL: test_mm256_loadu2_m128d:
1231 ; X32: # BB#0:
1232 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1233 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
1234 ; X32-NEXT: vmovups (%eax), %xmm0
1235 ; X32-NEXT: vinsertf128 $1, (%ecx), %ymm0, %ymm0
1236 ; X32-NEXT: retl
1254 ; X32-LABEL: test_mm256_loadu2_m128i:
1255 ; X32: # BB#0:
1256 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1257 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
1258 ; X32-NEXT: vmovups (%eax), %xmm0
1259 ; X32-NEXT: vinsertf128 $1, (%ecx), %ymm0, %ymm0
1260 ; X32-NEXT: retl
1278 ; X32-LABEL: test_mm_maskload_pd:
1279 ; X32: # BB#0:
1280 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1281 ; X32-NEXT: vmaskmovpd (%eax), %xmm0, %xmm0
1282 ; X32-NEXT: retl
1295 ; X32-LABEL: test_mm256_maskload_pd:
1296 ; X32: # BB#0:
1297 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1298 ; X32-NEXT: vmaskmovpd (%eax), %ymm0, %ymm0
1299 ; X32-NEXT: retl
1312 ; X32-LABEL: test_mm_maskload_ps:
1313 ; X32: # BB#0:
1314 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1315 ; X32-NEXT: vmaskmovps (%eax), %xmm0, %xmm0
1316 ; X32-NEXT: retl
1330 ; X32-LABEL: test_mm256_maskload_ps:
1331 ; X32: # BB#0:
1332 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1333 ; X32-NEXT: vmaskmovps (%eax), %ymm0, %ymm0
1334 ; X32-NEXT: retl
1348 ; X32-LABEL: test_mm_maskstore_pd:
1349 ; X32: # BB#0:
1350 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1351 ; X32-NEXT: vmaskmovpd %xmm1, %xmm0, (%eax)
1352 ; X32-NEXT: retl
1365 ; X32-LABEL: test_mm256_maskstore_pd:
1366 ; X32: # BB#0:
1367 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1368 ; X32-NEXT: vmaskmovpd %ymm1, %ymm0, (%eax)
1369 ; X32-NEXT: vzeroupper
1370 ; X32-NEXT: retl
1384 ; X32-LABEL: test_mm_maskstore_ps:
1385 ; X32: # BB#0:
1386 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1387 ; X32-NEXT: vmaskmovps %xmm1, %xmm0, (%eax)
1388 ; X32-NEXT: retl
1402 ; X32-LABEL: test_mm256_maskstore_ps:
1403 ; X32: # BB#0:
1404 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1405 ; X32-NEXT: vmaskmovps %ymm1, %ymm0, (%eax)
1406 ; X32-NEXT: vzeroupper
1407 ; X32-NEXT: retl
1422 ; X32-LABEL: test_mm256_max_pd:
1423 ; X32: # BB#0:
1424 ; X32-NEXT: vmaxpd %ymm1, %ymm0, %ymm0
1425 ; X32-NEXT: retl
1437 ; X32-LABEL: test_mm256_max_ps:
1438 ; X32: # BB#0:
1439 ; X32-NEXT: vmaxps %ymm1, %ymm0, %ymm0
1440 ; X32-NEXT: retl
1452 ; X32-LABEL: test_mm256_min_pd:
1453 ; X32: # BB#0:
1454 ; X32-NEXT: vminpd %ymm1, %ymm0, %ymm0
1455 ; X32-NEXT: retl
1467 ; X32-LABEL: test_mm256_min_ps:
1468 ; X32: # BB#0:
1469 ; X32-NEXT: vminps %ymm1, %ymm0, %ymm0
1470 ; X32-NEXT: retl
1482 ; X32-LABEL: test_mm256_movedup_pd:
1483 ; X32: # BB#0:
1484 ; X32-NEXT: vmovddup {{.*#+}} ymm0 = ymm0[0,0,2,2]
1485 ; X32-NEXT: retl
1496 ; X32-LABEL: test_mm256_movehdup_ps:
1497 ; X32: # BB#0:
1498 ; X32-NEXT: vmovshdup {{.*#+}} ymm0 = ymm0[1,1,3,3,5,5,7,7]
1499 ; X32-NEXT: retl
1510 ; X32-LABEL: test_mm256_moveldup_ps:
1511 ; X32: # BB#0:
1512 ; X32-NEXT: vmovsldup {{.*#+}} ymm0 = ymm0[0,0,2,2,4,4,6,6]
1513 ; X32-NEXT: retl
1524 ; X32-LABEL: test_mm256_movemask_pd:
1525 ; X32: # BB#0:
1526 ; X32-NEXT: vmovmskpd %ymm0, %eax
1527 ; X32-NEXT: vzeroupper
1528 ; X32-NEXT: retl
1541 ; X32-LABEL: test_mm256_movemask_ps:
1542 ; X32: # BB#0:
1543 ; X32-NEXT: vmovmskps %ymm0, %eax
1544 ; X32-NEXT: vzeroupper
1545 ; X32-NEXT: retl
1558 ; X32-LABEL: test_mm256_mul_pd:
1559 ; X32: # BB#0:
1560 ; X32-NEXT: vmulpd %ymm1, %ymm0, %ymm0
1561 ; X32-NEXT: retl
1572 ; X32-LABEL: test_mm256_mul_ps:
1573 ; X32: # BB#0:
1574 ; X32-NEXT: vmulps %ymm1, %ymm0, %ymm0
1575 ; X32-NEXT: retl
1586 ; X32-LABEL: test_mm256_or_pd:
1587 ; X32: # BB#0:
1588 ; X32-NEXT: vorps %ymm1, %ymm0, %ymm0
1589 ; X32-NEXT: retl
1603 ; X32-LABEL: test_mm256_or_ps:
1604 ; X32: # BB#0:
1605 ; X32-NEXT: vorps %ymm1, %ymm0, %ymm0
1606 ; X32-NEXT: retl
1620 ; X32-LABEL: test_mm_permute_pd:
1621 ; X32: # BB#0:
1622 ; X32-NEXT: vpermilpd {{.*#+}} xmm0 = xmm0[1,0]
1623 ; X32-NEXT: retl
1634 ; X32-LABEL: test_mm256_permute_pd:
1635 ; X32: # BB#0:
1636 ; X32-NEXT: vpermilpd {{.*#+}} ymm0 = ymm0[1,0,3,2]
1637 ; X32-NEXT: retl
1648 ; X32-LABEL: test_mm_permute_ps:
1649 ; X32: # BB#0:
1650 ; X32-NEXT: vpermilps {{.*#+}} xmm0 = xmm0[3,2,1,0]
1651 ; X32-NEXT: retl
1662 ; X32-LABEL: test2_mm_permute_ps:
1663 ; X32: # BB#0:
1664 ; X32-NEXT: vpermilps {{.*#+}} xmm0 = xmm0[2,1,2,3]
1665 ; X32-NEXT: retl
1676 ; X32-LABEL: test_mm256_permute_ps:
1677 ; X32: # BB#0:
1678 ; X32-NEXT: vpermilps {{.*#+}} ymm0 = ymm0[3,2,1,0,7,6,5,4]
1679 ; X32-NEXT: retl
1690 ; X32-LABEL: test_mm256_permute2f128_pd:
1691 ; X32: # BB#0:
1692 ; X32-NEXT: vperm2f128 {{.*#+}} ymm0 = zero,zero,ymm1[0,1]
1693 ; X32-NEXT: retl
1706 ; X32-LABEL: test_mm256_permute2f128_ps:
1707 ; X32: # BB#0:
1708 ; X32-NEXT: vmovaps %ymm1, %ymm0
1709 ; X32-NEXT: retl
1721 ; X32-LABEL: test_mm256_permute2f128_si256:
1722 ; X32: # BB#0:
1723 ; X32-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3,0,1]
1724 ; X32-NEXT: retl
1739 ; X32-LABEL: test_mm_permutevar_pd:
1740 ; X32: # BB#0:
1741 ; X32-NEXT: vpermilpd %xmm1, %xmm0, %xmm0
1742 ; X32-NEXT: retl
1754 ; X32-LABEL: test_mm256_permutevar_pd:
1755 ; X32: # BB#0:
1756 ; X32-NEXT: vpermilpd %ymm1, %ymm0, %ymm0
1757 ; X32-NEXT: retl
1769 ; X32-LABEL: test_mm_permutevar_ps:
1770 ; X32: # BB#0:
1771 ; X32-NEXT: vpermilps %xmm1, %xmm0, %xmm0
1772 ; X32-NEXT: retl
1785 ; X32-LABEL: test_mm256_permutevar_ps:
1786 ; X32: # BB#0:
1787 ; X32-NEXT: vpermilps %ymm1, %ymm0, %ymm0
1788 ; X32-NEXT: retl
1801 ; X32-LABEL: test_mm256_rcp_ps:
1802 ; X32: # BB#0:
1803 ; X32-NEXT: vrcpps %ymm0, %ymm0
1804 ; X32-NEXT: retl
1816 ; X32-LABEL: test_mm256_round_pd:
1817 ; X32: # BB#0:
1818 ; X32-NEXT: vroundpd $4, %ymm0, %ymm0
1819 ; X32-NEXT: retl
1830 ; X32-LABEL: test_mm256_round_ps:
1831 ; X32: # BB#0:
1832 ; X32-NEXT: vroundps $4, %ymm0, %ymm0
1833 ; X32-NEXT: retl
1844 ; X32-LABEL: test_mm256_rsqrt_ps:
1845 ; X32: # BB#0:
1846 ; X32-NEXT: vrsqrtps %ymm0, %ymm0
1847 ; X32-NEXT: retl
1859 ; X32-LABEL: test_mm256_set_epi8:
1860 ; X32: # BB#0:
1861 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
1862 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %ecx
1863 ; X32-NEXT: vmovd %ecx, %xmm0
1864 ; X32-NEXT: vpinsrb $1, %eax, %xmm0, %xmm0
1865 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
1866 ; X32-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0
1867 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
1868 ; X32-NEXT: vpinsrb $3, %eax, %xmm0, %xmm0
1869 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
1870 ; X32-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0
1871 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
1872 ; X32-NEXT: vpinsrb $5, %eax, %xmm0, %xmm0
1873 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
1874 ; X32-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0
1875 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
1876 ; X32-NEXT: vpinsrb $7, %eax, %xmm0, %xmm0
1877 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
1878 ; X32-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0
1879 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
1880 ; X32-NEXT: vpinsrb $9, %eax, %xmm0, %xmm0
1881 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
1882 ; X32-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0
1883 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
1884 ; X32-NEXT: vpinsrb $11, %eax, %xmm0, %xmm0
1885 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
1886 ; X32-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0
1887 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
1888 ; X32-NEXT: vpinsrb $13, %eax, %xmm0, %xmm0
1889 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
1890 ; X32-NEXT: vpinsrb $14, %eax, %xmm0, %xmm0
1891 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
1892 ; X32-NEXT: vpinsrb $15, %eax, %xmm0, %xmm0
1893 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
1894 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %ecx
1895 ; X32-NEXT: vmovd %ecx, %xmm1
1896 ; X32-NEXT: vpinsrb $1, %eax, %xmm1, %xmm1
1897 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
1898 ; X32-NEXT: vpinsrb $2, %eax, %xmm1, %xmm1
1899 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
1900 ; X32-NEXT: vpinsrb $3, %eax, %xmm1, %xmm1
1901 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
1902 ; X32-NEXT: vpinsrb $4, %eax, %xmm1, %xmm1
1903 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
1904 ; X32-NEXT: vpinsrb $5, %eax, %xmm1, %xmm1
1905 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
1906 ; X32-NEXT: vpinsrb $6, %eax, %xmm1, %xmm1
1907 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
1908 ; X32-NEXT: vpinsrb $7, %eax, %xmm1, %xmm1
1909 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
1910 ; X32-NEXT: vpinsrb $8, %eax, %xmm1, %xmm1
1911 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
1912 ; X32-NEXT: vpinsrb $9, %eax, %xmm1, %xmm1
1913 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
1914 ; X32-NEXT: vpinsrb $10, %eax, %xmm1, %xmm1
1915 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
1916 ; X32-NEXT: vpinsrb $11, %eax, %xmm1, %xmm1
1917 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
1918 ; X32-NEXT: vpinsrb $12, %eax, %xmm1, %xmm1
1919 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
1920 ; X32-NEXT: vpinsrb $13, %eax, %xmm1, %xmm1
1921 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
1922 ; X32-NEXT: vpinsrb $14, %eax, %xmm1, %xmm1
1923 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
1924 ; X32-NEXT: vpinsrb $15, %eax, %xmm1, %xmm1
1925 ; X32-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0
1926 ; X32-NEXT: retl
2033 ; X32-LABEL: test_mm256_set_epi16:
2034 ; X32: # BB#0:
2035 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2036 ; X32-NEXT: vmovd %eax, %xmm0
2037 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2038 ; X32-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0
2039 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2040 ; X32-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0
2041 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2042 ; X32-NEXT: vpinsrw $3, %eax, %xmm0, %xmm0
2043 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2044 ; X32-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0
2045 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2046 ; X32-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0
2047 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2048 ; X32-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0
2049 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2050 ; X32-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0
2051 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2052 ; X32-NEXT: vmovd %eax, %xmm1
2053 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2054 ; X32-NEXT: vpinsrw $1, %eax, %xmm1, %xmm1
2055 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2056 ; X32-NEXT: vpinsrw $2, %eax, %xmm1, %xmm1
2057 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2058 ; X32-NEXT: vpinsrw $3, %eax, %xmm1, %xmm1
2059 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2060 ; X32-NEXT: vpinsrw $4, %eax, %xmm1, %xmm1
2061 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2062 ; X32-NEXT: vpinsrw $5, %eax, %xmm1, %xmm1
2063 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2064 ; X32-NEXT: vpinsrw $6, %eax, %xmm1, %xmm1
2065 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2066 ; X32-NEXT: vpinsrw $7, %eax, %xmm1, %xmm1
2067 ; X32-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0
2068 ; X32-NEXT: retl
2121 ; X32-LABEL: test_mm256_set_epi32:
2122 ; X32: # BB#0:
2123 ; X32-NEXT: vmovd {{.*#+}} xmm0 = mem[0],zero,zero,zero
2124 ; X32-NEXT: vpinsrd $1, {{[0-9]+}}(%esp), %xmm0, %xmm0
2125 ; X32-NEXT: vpinsrd $2, {{[0-9]+}}(%esp), %xmm0, %xmm0
2126 ; X32-NEXT: vpinsrd $3, {{[0-9]+}}(%esp), %xmm0, %xmm0
2127 ; X32-NEXT: vmovd {{.*#+}} xmm1 = mem[0],zero,zero,zero
2128 ; X32-NEXT: vpinsrd $1, {{[0-9]+}}(%esp), %xmm1, %xmm1
2129 ; X32-NEXT: vpinsrd $2, {{[0-9]+}}(%esp), %xmm1, %xmm1
2130 ; X32-NEXT: vpinsrd $3, {{[0-9]+}}(%esp), %xmm1, %xmm1
2131 ; X32-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0
2132 ; X32-NEXT: retl
2159 ; X32-LABEL: test_mm256_set_epi64x:
2160 ; X32: # BB#0:
2161 ; X32-NEXT: vmovd {{.*#+}} xmm0 = mem[0],zero,zero,zero
2162 ; X32-NEXT: vpinsrd $1, {{[0-9]+}}(%esp), %xmm0, %xmm0
2163 ; X32-NEXT: vpinsrd $2, {{[0-9]+}}(%esp), %xmm0, %xmm0
2164 ; X32-NEXT: vpinsrd $3, {{[0-9]+}}(%esp), %xmm0, %xmm0
2165 ; X32-NEXT: vmovd {{.*#+}} xmm1 = mem[0],zero,zero,zero
2166 ; X32-NEXT: vpinsrd $1, {{[0-9]+}}(%esp), %xmm1, %xmm1
2167 ; X32-NEXT: vpinsrd $2, {{[0-9]+}}(%esp), %xmm1, %xmm1
2168 ; X32-NEXT: vpinsrd $3, {{[0-9]+}}(%esp), %xmm1, %xmm1
2169 ; X32-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0
2170 ; X32-NEXT: retl
2190 ; X32-LABEL: test_mm256_set_m128:
2191 ; X32: # BB#0:
2192 ; X32-NEXT: # kill: %XMM1<def> %XMM1<kill> %YMM1<def>
2193 ; X32-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0
2194 ; X32-NEXT: retl
2206 ; X32-LABEL: test_mm256_set_m128d:
2207 ; X32: # BB#0:
2208 ; X32-NEXT: # kill: %XMM1<def> %XMM1<kill> %YMM1<def>
2209 ; X32-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0
2210 ; X32-NEXT: retl
2225 ; X32-LABEL: test_mm256_set_m128i:
2226 ; X32: # BB#0:
2227 ; X32-NEXT: # kill: %XMM1<def> %XMM1<kill> %YMM1<def>
2228 ; X32-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0
2229 ; X32-NEXT: retl
2244 ; X32-LABEL: test_mm256_set_pd:
2245 ; X32: # BB#0:
2246 ; X32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
2247 ; X32-NEXT: vmovsd {{.*#+}} xmm1 = mem[0],zero
2248 ; X32-NEXT: vmovsd {{.*#+}} xmm2 = mem[0],zero
2249 ; X32-NEXT: vmovsd {{.*#+}} xmm3 = mem[0],zero
2250 ; X32-NEXT: vunpcklpd {{.*#+}} xmm2 = xmm2[0],xmm3[0]
2251 ; X32-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],xmm1[0]
2252 ; X32-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm0
2253 ; X32-NEXT: retl
2269 ; X32-LABEL: test_mm256_set_ps:
2270 ; X32: # BB#0:
2271 ; X32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
2272 ; X32-NEXT: vmovss {{.*#+}} xmm1 = mem[0],zero,zero,zero
2273 ; X32-NEXT: vmovss {{.*#+}} xmm2 = mem[0],zero,zero,zero
2274 ; X32-NEXT: vmovss {{.*#+}} xmm3 = mem[0],zero,zero,zero
2275 ; X32-NEXT: vmovss {{.*#+}} xmm4 = mem[0],zero,zero,zero
2276 ; X32-NEXT: vmovss {{.*#+}} xmm5 = mem[0],zero,zero,zero
2277 ; X32-NEXT: vmovss {{.*#+}} xmm6 = mem[0],zero,zero,zero
2278 ; X32-NEXT: vmovss {{.*#+}} xmm7 = mem[0],zero,zero,zero
2279 ; X32-NEXT: vinsertps {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[2,3]
2280 ; X32-NEXT: vinsertps {{.*#+}} xmm4 = xmm4[0,1],xmm6[0],xmm4[3]
2281 ; X32-NEXT: vinsertps {{.*#+}} xmm4 = xmm4[0,1,2],xmm7[0]
2282 ; X32-NEXT: vinsertps {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[2,3]
2283 ; X32-NEXT: vinsertps {{.*#+}} xmm0 = xmm0[0,1],xmm2[0],xmm0[3]
2284 ; X32-NEXT: vinsertps {{.*#+}} xmm0 = xmm0[0,1,2],xmm3[0]
2285 ; X32-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm0
2286 ; X32-NEXT: retl
2310 ; X32-LABEL: test_mm256_set1_epi8:
2311 ; X32: # BB#0:
2312 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2313 ; X32-NEXT: vmovd %eax, %xmm0
2314 ; X32-NEXT: vpxor %xmm1, %xmm1, %xmm1
2315 ; X32-NEXT: vpshufb %xmm1, %xmm0, %xmm0
2316 ; X32-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
2317 ; X32-NEXT: retl
2364 ; X32-LABEL: test_mm256_set1_epi16:
2365 ; X32: # BB#0:
2366 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2367 ; X32-NEXT: vmovd %eax, %xmm0
2368 ; X32-NEXT: vpshuflw {{.*#+}} xmm0 = xmm0[0,0,0,0,4,5,6,7]
2369 ; X32-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,0,1,1]
2370 ; X32-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
2371 ; X32-NEXT: retl
2401 ; X32-LABEL: test_mm256_set1_epi32:
2402 ; X32: # BB#0:
2403 ; X32-NEXT: vmovd {{.*#+}} xmm0 = mem[0],zero,zero,zero
2404 ; X32-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]
2405 ; X32-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
2406 ; X32-NEXT: retl
2427 ; X32-LABEL: test_mm256_set1_epi64x:
2428 ; X32: # BB#0:
2429 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
2430 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
2431 ; X32-NEXT: vmovd %ecx, %xmm0
2432 ; X32-NEXT: vpinsrd $1, %eax, %xmm0, %xmm0
2433 ; X32-NEXT: vpinsrd $2, %ecx, %xmm0, %xmm0
2434 ; X32-NEXT: vpinsrd $3, %eax, %xmm0, %xmm0
2435 ; X32-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
2436 ; X32-NEXT: retl
2452 ; X32-LABEL: test_mm256_set1_pd:
2453 ; X32: # BB#0:
2454 ; X32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
2455 ; X32-NEXT: vmovddup {{.*#+}} xmm0 = xmm0[0,0]
2456 ; X32-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
2457 ; X32-NEXT: retl
2472 ; X32-LABEL: test_mm256_set1_ps:
2473 ; X32: # BB#0:
2474 ; X32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
2475 ; X32-NEXT: vpermilps {{.*#+}} xmm0 = xmm0[0,0,0,0]
2476 ; X32-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
2477 ; X32-NEXT: retl
2496 ; X32-LABEL: test_mm256_setr_epi8:
2497 ; X32: # BB#0:
2498 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2499 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %ecx
2500 ; X32-NEXT: vmovd %ecx, %xmm0
2501 ; X32-NEXT: vpinsrb $1, %eax, %xmm0, %xmm0
2502 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2503 ; X32-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0
2504 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2505 ; X32-NEXT: vpinsrb $3, %eax, %xmm0, %xmm0
2506 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2507 ; X32-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0
2508 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2509 ; X32-NEXT: vpinsrb $5, %eax, %xmm0, %xmm0
2510 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2511 ; X32-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0
2512 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2513 ; X32-NEXT: vpinsrb $7, %eax, %xmm0, %xmm0
2514 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2515 ; X32-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0
2516 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2517 ; X32-NEXT: vpinsrb $9, %eax, %xmm0, %xmm0
2518 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2519 ; X32-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0
2520 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2521 ; X32-NEXT: vpinsrb $11, %eax, %xmm0, %xmm0
2522 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2523 ; X32-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0
2524 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2525 ; X32-NEXT: vpinsrb $13, %eax, %xmm0, %xmm0
2526 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2527 ; X32-NEXT: vpinsrb $14, %eax, %xmm0, %xmm0
2528 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2529 ; X32-NEXT: vpinsrb $15, %eax, %xmm0, %xmm0
2530 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2531 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %ecx
2532 ; X32-NEXT: vmovd %ecx, %xmm1
2533 ; X32-NEXT: vpinsrb $1, %eax, %xmm1, %xmm1
2534 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2535 ; X32-NEXT: vpinsrb $2, %eax, %xmm1, %xmm1
2536 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2537 ; X32-NEXT: vpinsrb $3, %eax, %xmm1, %xmm1
2538 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2539 ; X32-NEXT: vpinsrb $4, %eax, %xmm1, %xmm1
2540 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2541 ; X32-NEXT: vpinsrb $5, %eax, %xmm1, %xmm1
2542 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2543 ; X32-NEXT: vpinsrb $6, %eax, %xmm1, %xmm1
2544 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2545 ; X32-NEXT: vpinsrb $7, %eax, %xmm1, %xmm1
2546 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2547 ; X32-NEXT: vpinsrb $8, %eax, %xmm1, %xmm1
2548 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2549 ; X32-NEXT: vpinsrb $9, %eax, %xmm1, %xmm1
2550 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2551 ; X32-NEXT: vpinsrb $10, %eax, %xmm1, %xmm1
2552 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2553 ; X32-NEXT: vpinsrb $11, %eax, %xmm1, %xmm1
2554 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2555 ; X32-NEXT: vpinsrb $12, %eax, %xmm1, %xmm1
2556 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2557 ; X32-NEXT: vpinsrb $13, %eax, %xmm1, %xmm1
2558 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2559 ; X32-NEXT: vpinsrb $14, %eax, %xmm1, %xmm1
2560 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
2561 ; X32-NEXT: vpinsrb $15, %eax, %xmm1, %xmm1
2562 ; X32-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0
2563 ; X32-NEXT: retl
2670 ; X32-LABEL: test_mm256_setr_epi16:
2671 ; X32: # BB#0:
2672 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2673 ; X32-NEXT: vmovd %eax, %xmm0
2674 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2675 ; X32-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0
2676 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2677 ; X32-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0
2678 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2679 ; X32-NEXT: vpinsrw $3, %eax, %xmm0, %xmm0
2680 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2681 ; X32-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0
2682 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2683 ; X32-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0
2684 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2685 ; X32-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0
2686 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2687 ; X32-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0
2688 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2689 ; X32-NEXT: vmovd %eax, %xmm1
2690 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2691 ; X32-NEXT: vpinsrw $1, %eax, %xmm1, %xmm1
2692 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2693 ; X32-NEXT: vpinsrw $2, %eax, %xmm1, %xmm1
2694 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2695 ; X32-NEXT: vpinsrw $3, %eax, %xmm1, %xmm1
2696 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2697 ; X32-NEXT: vpinsrw $4, %eax, %xmm1, %xmm1
2698 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2699 ; X32-NEXT: vpinsrw $5, %eax, %xmm1, %xmm1
2700 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2701 ; X32-NEXT: vpinsrw $6, %eax, %xmm1, %xmm1
2702 ; X32-NEXT: movw {{[0-9]+}}(%esp), %ax
2703 ; X32-NEXT: vpinsrw $7, %eax, %xmm1, %xmm1
2704 ; X32-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0
2705 ; X32-NEXT: retl
2758 ; X32-LABEL: test_mm256_setr_epi32:
2759 ; X32: # BB#0:
2760 ; X32-NEXT: vmovd {{.*#+}} xmm0 = mem[0],zero,zero,zero
2761 ; X32-NEXT: vpinsrd $1, {{[0-9]+}}(%esp), %xmm0, %xmm0
2762 ; X32-NEXT: vpinsrd $2, {{[0-9]+}}(%esp), %xmm0, %xmm0
2763 ; X32-NEXT: vpinsrd $3, {{[0-9]+}}(%esp), %xmm0, %xmm0
2764 ; X32-NEXT: vmovd {{.*#+}} xmm1 = mem[0],zero,zero,zero
2765 ; X32-NEXT: vpinsrd $1, {{[0-9]+}}(%esp), %xmm1, %xmm1
2766 ; X32-NEXT: vpinsrd $2, {{[0-9]+}}(%esp), %xmm1, %xmm1
2767 ; X32-NEXT: vpinsrd $3, {{[0-9]+}}(%esp), %xmm1, %xmm1
2768 ; X32-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0
2769 ; X32-NEXT: retl
2796 ; X32-LABEL: test_mm256_setr_epi64x:
2797 ; X32: # BB#0:
2798 ; X32-NEXT: vmovd {{.*#+}} xmm0 = mem[0],zero,zero,zero
2799 ; X32-NEXT: vpinsrd $1, {{[0-9]+}}(%esp), %xmm0, %xmm0
2800 ; X32-NEXT: vpinsrd $2, {{[0-9]+}}(%esp), %xmm0, %xmm0
2801 ; X32-NEXT: vpinsrd $3, {{[0-9]+}}(%esp), %xmm0, %xmm0
2802 ; X32-NEXT: vmovd {{.*#+}} xmm1 = mem[0],zero,zero,zero
2803 ; X32-NEXT: vpinsrd $1, {{[0-9]+}}(%esp), %xmm1, %xmm1
2804 ; X32-NEXT: vpinsrd $2, {{[0-9]+}}(%esp), %xmm1, %xmm1
2805 ; X32-NEXT: vpinsrd $3, {{[0-9]+}}(%esp), %xmm1, %xmm1
2806 ; X32-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0
2807 ; X32-NEXT: retl
2827 ; X32-LABEL: test_mm256_setr_m128:
2828 ; X32: # BB#0:
2829 ; X32-NEXT: # kill: %XMM0<def> %XMM0<kill> %YMM0<def>
2830 ; X32-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm0
2831 ; X32-NEXT: retl
2843 ; X32-LABEL: test_mm256_setr_m128d:
2844 ; X32: # BB#0:
2845 ; X32-NEXT: # kill: %XMM0<def> %XMM0<kill> %YMM0<def>
2846 ; X32-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm0
2847 ; X32-NEXT: retl
2862 ; X32-LABEL: test_mm256_setr_m128i:
2863 ; X32: # BB#0:
2864 ; X32-NEXT: # kill: %XMM0<def> %XMM0<kill> %YMM0<def>
2865 ; X32-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm0
2866 ; X32-NEXT: retl
2881 ; X32-LABEL: test_mm256_setr_pd:
2882 ; X32: # BB#0:
2883 ; X32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
2884 ; X32-NEXT: vmovsd {{.*#+}} xmm1 = mem[0],zero
2885 ; X32-NEXT: vmovsd {{.*#+}} xmm2 = mem[0],zero
2886 ; X32-NEXT: vmovsd {{.*#+}} xmm3 = mem[0],zero
2887 ; X32-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm1[0],xmm0[0]
2888 ; X32-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm3[0],xmm2[0]
2889 ; X32-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0
2890 ; X32-NEXT: retl
2906 ; X32-LABEL: test_mm256_setr_ps:
2907 ; X32: # BB#0:
2908 ; X32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
2909 ; X32-NEXT: vmovss {{.*#+}} xmm1 = mem[0],zero,zero,zero
2910 ; X32-NEXT: vmovss {{.*#+}} xmm2 = mem[0],zero,zero,zero
2911 ; X32-NEXT: vmovss {{.*#+}} xmm3 = mem[0],zero,zero,zero
2912 ; X32-NEXT: vmovss {{.*#+}} xmm4 = mem[0],zero,zero,zero
2913 ; X32-NEXT: vmovss {{.*#+}} xmm5 = mem[0],zero,zero,zero
2914 ; X32-NEXT: vmovss {{.*#+}} xmm6 = mem[0],zero,zero,zero
2915 ; X32-NEXT: vmovss {{.*#+}} xmm7 = mem[0],zero,zero,zero
2916 ; X32-NEXT: vinsertps {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[2,3]
2917 ; X32-NEXT: vinsertps {{.*#+}} xmm1 = xmm2[0,1],xmm1[0],xmm2[3]
2918 ; X32-NEXT: vinsertps {{.*#+}} xmm0 = xmm1[0,1,2],xmm0[0]
2919 ; X32-NEXT: vinsertps {{.*#+}} xmm1 = xmm7[0],xmm6[0],xmm7[2,3]
2920 ; X32-NEXT: vinsertps {{.*#+}} xmm1 = xmm1[0,1],xmm5[0],xmm1[3]
2921 ; X32-NEXT: vinsertps {{.*#+}} xmm1 = xmm1[0,1,2],xmm4[0]
2922 ; X32-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0
2923 ; X32-NEXT: retl
2947 ; X32-LABEL: test_mm256_setzero_pd:
2948 ; X32: # BB#0:
2949 ; X32-NEXT: vxorps %ymm0, %ymm0, %ymm0
2950 ; X32-NEXT: retl
2960 ; X32-LABEL: test_mm256_setzero_ps:
2961 ; X32: # BB#0:
2962 ; X32-NEXT: vxorps %ymm0, %ymm0, %ymm0
2963 ; X32-NEXT: retl
2973 ; X32-LABEL: test_mm256_setzero_si256:
2974 ; X32: # BB#0:
2975 ; X32-NEXT: vxorps %ymm0, %ymm0, %ymm0
2976 ; X32-NEXT: retl
2986 ; X32-LABEL: test_mm256_shuffle_pd:
2987 ; X32: # BB#0:
2988 ; X32-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
2989 ; X32-NEXT: retl
3000 ; X32-LABEL: test_mm256_shuffle_ps:
3001 ; X32: # BB#0:
3002 ; X32-NEXT: vshufps {{.*#+}} ymm0 = ymm0[0,0],ymm1[0,0],ymm0[4,4],ymm1[4,4]
3003 ; X32-NEXT: retl
3014 ; X32-LABEL: test_mm256_sqrt_pd:
3015 ; X32: # BB#0:
3016 ; X32-NEXT: vsqrtpd %ymm0, %ymm0
3017 ; X32-NEXT: retl
3029 ; X32-LABEL: test_mm256_sqrt_ps:
3030 ; X32: # BB#0:
3031 ; X32-NEXT: vsqrtps %ymm0, %ymm0
3032 ; X32-NEXT: retl
3044 ; X32-LABEL: test_mm256_store_pd:
3045 ; X32: # BB#0:
3046 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
3047 ; X32-NEXT: vmovaps %ymm0, (%eax)
3048 ; X32-NEXT: vzeroupper
3049 ; X32-NEXT: retl
3062 ; X32-LABEL: test_mm256_store_ps:
3063 ; X32: # BB#0:
3064 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
3065 ; X32-NEXT: vmovaps %ymm0, (%eax)
3066 ; X32-NEXT: vzeroupper
3067 ; X32-NEXT: retl
3080 ; X32-LABEL: test_mm256_store_si256:
3081 ; X32: # BB#0:
3082 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
3083 ; X32-NEXT: vmovaps %ymm0, (%eax)
3084 ; X32-NEXT: vzeroupper
3085 ; X32-NEXT: retl
3097 ; X32-LABEL: test_mm256_storeu_pd:
3098 ; X32: # BB#0:
3099 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
3100 ; X32-NEXT: vmovups %ymm0, (%eax)
3101 ; X32-NEXT: vzeroupper
3102 ; X32-NEXT: retl
3115 ; X32-LABEL: test_mm256_storeu_ps:
3116 ; X32: # BB#0:
3117 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
3118 ; X32-NEXT: vmovups %ymm0, (%eax)
3119 ; X32-NEXT: vzeroupper
3120 ; X32-NEXT: retl
3133 ; X32-LABEL: test_mm256_storeu_si256:
3134 ; X32: # BB#0:
3135 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
3136 ; X32-NEXT: vmovups %ymm0, (%eax)
3137 ; X32-NEXT: vzeroupper
3138 ; X32-NEXT: retl
3150 ; X32-LABEL: test_mm256_storeu2_m128:
3151 ; X32: # BB#0:
3152 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
3153 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
3154 ; X32-NEXT: vmovups %xmm0, (%ecx)
3155 ; X32-NEXT: vextractf128 $1, %ymm0, %xmm0
3156 ; X32-NEXT: vmovups %xmm0, (%eax)
3157 ; X32-NEXT: vzeroupper
3158 ; X32-NEXT: retl
3177 ; X32-LABEL: test_mm256_storeu2_m128d:
3178 ; X32: # BB#0:
3179 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
3180 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
3181 ; X32-NEXT: vmovups %xmm0, (%ecx)
3182 ; X32-NEXT: vextractf128 $1, %ymm0, %xmm0
3183 ; X32-NEXT: vmovups %xmm0, (%eax)
3184 ; X32-NEXT: vzeroupper
3185 ; X32-NEXT: retl
3204 ; X32-LABEL: test_mm256_storeu2_m128i:
3205 ; X32: # BB#0:
3206 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
3207 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
3208 ; X32-NEXT: vmovups %xmm0, (%ecx)
3209 ; X32-NEXT: vextractf128 $1, %ymm0, %xmm0
3210 ; X32-NEXT: vmovups %xmm0, (%eax)
3211 ; X32-NEXT: vzeroupper
3212 ; X32-NEXT: retl
3231 ; X32-LABEL: test_mm256_stream_pd:
3232 ; X32: # BB#0:
3233 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
3234 ; X32-NEXT: vmovntps %ymm0, (%eax)
3235 ; X32-NEXT: vzeroupper
3236 ; X32-NEXT: retl
3249 ; X32-LABEL: test_mm256_stream_ps:
3250 ; X32: # BB#0:
3251 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
3252 ; X32-NEXT: vmovntps %ymm0, (%eax)
3253 ; X32-NEXT: vzeroupper
3254 ; X32-NEXT: retl
3267 ; X32-LABEL: test_mm256_stream_si256:
3268 ; X32: # BB#0:
3269 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
3270 ; X32-NEXT: vmovntps %ymm0, (%eax)
3271 ; X32-NEXT: vzeroupper
3272 ; X32-NEXT: retl
3284 ; X32-LABEL: test_mm256_sub_pd:
3285 ; X32: # BB#0:
3286 ; X32-NEXT: vsubpd %ymm1, %ymm0, %ymm0
3287 ; X32-NEXT: retl
3298 ; X32-LABEL: test_mm256_sub_ps:
3299 ; X32: # BB#0:
3300 ; X32-NEXT: vsubps %ymm1, %ymm0, %ymm0
3301 ; X32-NEXT: retl
3312 ; X32-LABEL: test_mm_testc_pd:
3313 ; X32: # BB#0:
3314 ; X32-NEXT: vtestpd %xmm1, %xmm0
3315 ; X32-NEXT: sbbl %eax, %eax
3316 ; X32-NEXT: andl $1, %eax
3317 ; X32-NEXT: retl
3331 ; X32-LABEL: test_mm256_testc_pd:
3332 ; X32: # BB#0:
3333 ; X32-NEXT: vtestpd %ymm1, %ymm0
3334 ; X32-NEXT: sbbl %eax, %eax
3335 ; X32-NEXT: andl $1, %eax
3336 ; X32-NEXT: vzeroupper
3337 ; X32-NEXT: retl
3352 ; X32-LABEL: test_mm_testc_ps:
3353 ; X32: # BB#0:
3354 ; X32-NEXT: vtestps %xmm1, %xmm0
3355 ; X32-NEXT: sbbl %eax, %eax
3356 ; X32-NEXT: andl $1, %eax
3357 ; X32-NEXT: retl
3371 ; X32-LABEL: test_mm256_testc_ps:
3372 ; X32: # BB#0:
3373 ; X32-NEXT: vtestps %ymm1, %ymm0
3374 ; X32-NEXT: sbbl %eax, %eax
3375 ; X32-NEXT: andl $1, %eax
3376 ; X32-NEXT: vzeroupper
3377 ; X32-NEXT: retl
3392 ; X32-LABEL: test_mm256_testc_si256:
3393 ; X32: # BB#0:
3394 ; X32-NEXT: vptest %ymm1, %ymm0
3395 ; X32-NEXT: sbbl %eax, %eax
3396 ; X32-NEXT: andl $1, %eax
3397 ; X32-NEXT: vzeroupper
3398 ; X32-NEXT: retl
3413 ; X32-LABEL: test_mm_testnzc_pd:
3414 ; X32: # BB#0:
3415 ; X32-NEXT: xorl %eax, %eax
3416 ; X32-NEXT: vtestpd %xmm1, %xmm0
3417 ; X32-NEXT: seta %al
3418 ; X32-NEXT: retl
3432 ; X32-LABEL: test_mm256_testnzc_pd:
3433 ; X32: # BB#0:
3434 ; X32-NEXT: xorl %eax, %eax
3435 ; X32-NEXT: vtestpd %ymm1, %ymm0
3436 ; X32-NEXT: seta %al
3437 ; X32-NEXT: vzeroupper
3438 ; X32-NEXT: retl
3453 ; X32-LABEL: test_mm_testnzc_ps:
3454 ; X32: # BB#0:
3455 ; X32-NEXT: xorl %eax, %eax
3456 ; X32-NEXT: vtestps %xmm1, %xmm0
3457 ; X32-NEXT: seta %al
3458 ; X32-NEXT: retl
3472 ; X32-LABEL: test_mm256_testnzc_ps:
3473 ; X32: # BB#0:
3474 ; X32-NEXT: xorl %eax, %eax
3475 ; X32-NEXT: vtestps %ymm1, %ymm0
3476 ; X32-NEXT: seta %al
3477 ; X32-NEXT: vzeroupper
3478 ; X32-NEXT: retl
3493 ; X32-LABEL: test_mm256_testnzc_si256:
3494 ; X32: # BB#0:
3495 ; X32-NEXT: xorl %eax, %eax
3496 ; X32-NEXT: vptest %ymm1, %ymm0
3497 ; X32-NEXT: seta %al
3498 ; X32-NEXT: vzeroupper
3499 ; X32-NEXT: retl
3514 ; X32-LABEL: test_mm_testz_pd:
3515 ; X32: # BB#0:
3516 ; X32-NEXT: xorl %eax, %eax
3517 ; X32-NEXT: vtestpd %xmm1, %xmm0
3518 ; X32-NEXT: sete %al
3519 ; X32-NEXT: retl
3533 ; X32-LABEL: test_mm256_testz_pd:
3534 ; X32: # BB#0:
3535 ; X32-NEXT: xorl %eax, %eax
3536 ; X32-NEXT: vtestpd %ymm1, %ymm0
3537 ; X32-NEXT: sete %al
3538 ; X32-NEXT: vzeroupper
3539 ; X32-NEXT: retl
3554 ; X32-LABEL: test_mm_testz_ps:
3555 ; X32: # BB#0:
3556 ; X32-NEXT: xorl %eax, %eax
3557 ; X32-NEXT: vtestps %xmm1, %xmm0
3558 ; X32-NEXT: sete %al
3559 ; X32-NEXT: retl
3573 ; X32-LABEL: test_mm256_testz_ps:
3574 ; X32: # BB#0:
3575 ; X32-NEXT: xorl %eax, %eax
3576 ; X32-NEXT: vtestps %ymm1, %ymm0
3577 ; X32-NEXT: sete %al
3578 ; X32-NEXT: vzeroupper
3579 ; X32-NEXT: retl
3594 ; X32-LABEL: test_mm256_testz_si256:
3595 ; X32: # BB#0:
3596 ; X32-NEXT: xorl %eax, %eax
3597 ; X32-NEXT: vptest %ymm1, %ymm0
3598 ; X32-NEXT: sete %al
3599 ; X32-NEXT: vzeroupper
3600 ; X32-NEXT: retl
3615 ; X32-LABEL: test_mm_undefined_pd:
3616 ; X32: # BB#0:
3617 ; X32-NEXT: retl
3626 ; X32-LABEL: test_mm256_undefined_pd:
3627 ; X32: # BB#0:
3628 ; X32-NEXT: retl
3637 ; X32-LABEL: test_mm256_undefined_ps:
3638 ; X32: # BB#0:
3639 ; X32-NEXT: retl
3648 ; X32-LABEL: test_mm256_undefined_si256:
3649 ; X32: # BB#0:
3650 ; X32-NEXT: retl
3659 ; X32-LABEL: test_mm256_unpackhi_pd:
3660 ; X32: # BB#0:
3661 ; X32-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]
3662 ; X32-NEXT: retl
3673 ; X32-LABEL: test_mm256_unpackhi_ps:
3674 ; X32: # BB#0:
3675 ; X32-NEXT: vunpckhps {{.*#+}} ymm0 = ymm0[2],ymm1[2],ymm0[3],ymm1[3],ymm0[6],ymm1[6],ymm0[7],ym…
3676 ; X32-NEXT: retl
3687 ; X32-LABEL: test_mm256_unpacklo_pd:
3688 ; X32: # BB#0:
3689 ; X32-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
3690 ; X32-NEXT: retl
3701 ; X32-LABEL: test_mm256_unpacklo_ps:
3702 ; X32: # BB#0:
3703 ; X32-NEXT: vunpcklps {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[1],ymm1[1],ymm0[4],ymm1[4],ymm0[5],ym…
3704 ; X32-NEXT: retl
3715 ; X32-LABEL: test_mm256_xor_pd:
3716 ; X32: # BB#0:
3717 ; X32-NEXT: vxorps %ymm1, %ymm0, %ymm0
3718 ; X32-NEXT: retl
3732 ; X32-LABEL: test_mm256_xor_ps:
3733 ; X32: # BB#0:
3734 ; X32-NEXT: vxorps %ymm1, %ymm0, %ymm0
3735 ; X32-NEXT: retl
3749 ; X32-LABEL: test_mm256_zeroall:
3750 ; X32: # BB#0:
3751 ; X32-NEXT: vzeroall
3752 ; X32-NEXT: retl
3764 ; X32-LABEL: test_mm256_zeroupper:
3765 ; X32: # BB#0:
3766 ; X32-NEXT: vzeroupper
3767 ; X32-NEXT: retl