Lines Matching refs:AVX2
2 ; RUN: llc < %s -mtriple=i686-apple-darwin -mattr=avx2 | FileCheck %s --check-prefix=AVX2
6 ; AVX2-LABEL: test_x86_avx2_packssdw:
7 ; AVX2: ## BB#0:
8 ; AVX2-NEXT: vpackssdw %ymm1, %ymm0, %ymm0
9 ; AVX2-NEXT: retl
22 ; AVX2-LABEL: test_x86_avx2_packsswb:
23 ; AVX2: ## BB#0:
24 ; AVX2-NEXT: vpacksswb %ymm1, %ymm0, %ymm0
25 ; AVX2-NEXT: retl
38 ; AVX2-LABEL: test_x86_avx2_packuswb:
39 ; AVX2: ## BB#0:
40 ; AVX2-NEXT: vpackuswb %ymm1, %ymm0, %ymm0
41 ; AVX2-NEXT: retl
54 ; AVX2-LABEL: test_x86_avx2_padds_b:
55 ; AVX2: ## BB#0:
56 ; AVX2-NEXT: vpaddsb %ymm1, %ymm0, %ymm0
57 ; AVX2-NEXT: retl
70 ; AVX2-LABEL: test_x86_avx2_padds_w:
71 ; AVX2: ## BB#0:
72 ; AVX2-NEXT: vpaddsw %ymm1, %ymm0, %ymm0
73 ; AVX2-NEXT: retl
86 ; AVX2-LABEL: test_x86_avx2_paddus_b:
87 ; AVX2: ## BB#0:
88 ; AVX2-NEXT: vpaddusb %ymm1, %ymm0, %ymm0
89 ; AVX2-NEXT: retl
102 ; AVX2-LABEL: test_x86_avx2_paddus_w:
103 ; AVX2: ## BB#0:
104 ; AVX2-NEXT: vpaddusw %ymm1, %ymm0, %ymm0
105 ; AVX2-NEXT: retl
118 ; AVX2-LABEL: test_x86_avx2_pavg_b:
119 ; AVX2: ## BB#0:
120 ; AVX2-NEXT: vpavgb %ymm1, %ymm0, %ymm0
121 ; AVX2-NEXT: retl
134 ; AVX2-LABEL: test_x86_avx2_pavg_w:
135 ; AVX2: ## BB#0:
136 ; AVX2-NEXT: vpavgw %ymm1, %ymm0, %ymm0
137 ; AVX2-NEXT: retl
150 ; AVX2-LABEL: test_x86_avx2_pmadd_wd:
151 ; AVX2: ## BB#0:
152 ; AVX2-NEXT: vpmaddwd %ymm1, %ymm0, %ymm0
153 ; AVX2-NEXT: retl
166 ; AVX2-LABEL: test_x86_avx2_pmaxs_w:
167 ; AVX2: ## BB#0:
168 ; AVX2-NEXT: vpmaxsw %ymm1, %ymm0, %ymm0
169 ; AVX2-NEXT: retl
182 ; AVX2-LABEL: test_x86_avx2_pmaxu_b:
183 ; AVX2: ## BB#0:
184 ; AVX2-NEXT: vpmaxub %ymm1, %ymm0, %ymm0
185 ; AVX2-NEXT: retl
198 ; AVX2-LABEL: test_x86_avx2_pmins_w:
199 ; AVX2: ## BB#0:
200 ; AVX2-NEXT: vpminsw %ymm1, %ymm0, %ymm0
201 ; AVX2-NEXT: retl
214 ; AVX2-LABEL: test_x86_avx2_pminu_b:
215 ; AVX2: ## BB#0:
216 ; AVX2-NEXT: vpminub %ymm1, %ymm0, %ymm0
217 ; AVX2-NEXT: retl
230 ; AVX2-LABEL: test_x86_avx2_pmovmskb:
231 ; AVX2: ## BB#0:
232 ; AVX2-NEXT: vpmovmskb %ymm0, %eax
233 ; AVX2-NEXT: vzeroupper
234 ; AVX2-NEXT: retl
247 ; AVX2-LABEL: test_x86_avx2_pmulh_w:
248 ; AVX2: ## BB#0:
249 ; AVX2-NEXT: vpmulhw %ymm1, %ymm0, %ymm0
250 ; AVX2-NEXT: retl
263 ; AVX2-LABEL: test_x86_avx2_pmulhu_w:
264 ; AVX2: ## BB#0:
265 ; AVX2-NEXT: vpmulhuw %ymm1, %ymm0, %ymm0
266 ; AVX2-NEXT: retl
279 ; AVX2-LABEL: test_x86_avx2_pmulu_dq:
280 ; AVX2: ## BB#0:
281 ; AVX2-NEXT: vpmuludq %ymm1, %ymm0, %ymm0
282 ; AVX2-NEXT: retl
295 ; AVX2-LABEL: test_x86_avx2_psad_bw:
296 ; AVX2: ## BB#0:
297 ; AVX2-NEXT: vpsadbw %ymm1, %ymm0, %ymm0
298 ; AVX2-NEXT: retl
311 ; AVX2-LABEL: test_x86_avx2_psll_d:
312 ; AVX2: ## BB#0:
313 ; AVX2-NEXT: vpslld %xmm1, %ymm0, %ymm0
314 ; AVX2-NEXT: retl
327 ; AVX2-LABEL: test_x86_avx2_psll_q:
328 ; AVX2: ## BB#0:
329 ; AVX2-NEXT: vpsllq %xmm1, %ymm0, %ymm0
330 ; AVX2-NEXT: retl
343 ; AVX2-LABEL: test_x86_avx2_psll_w:
344 ; AVX2: ## BB#0:
345 ; AVX2-NEXT: vpsllw %xmm1, %ymm0, %ymm0
346 ; AVX2-NEXT: retl
359 ; AVX2-LABEL: test_x86_avx2_pslli_d:
360 ; AVX2: ## BB#0:
361 ; AVX2-NEXT: vpslld $7, %ymm0, %ymm0
362 ; AVX2-NEXT: retl
375 ; AVX2-LABEL: test_x86_avx2_pslli_q:
376 ; AVX2: ## BB#0:
377 ; AVX2-NEXT: vpsllq $7, %ymm0, %ymm0
378 ; AVX2-NEXT: retl
391 ; AVX2-LABEL: test_x86_avx2_pslli_w:
392 ; AVX2: ## BB#0:
393 ; AVX2-NEXT: vpsllw $7, %ymm0, %ymm0
394 ; AVX2-NEXT: retl
407 ; AVX2-LABEL: test_x86_avx2_psra_d:
408 ; AVX2: ## BB#0:
409 ; AVX2-NEXT: vpsrad %xmm1, %ymm0, %ymm0
410 ; AVX2-NEXT: retl
423 ; AVX2-LABEL: test_x86_avx2_psra_w:
424 ; AVX2: ## BB#0:
425 ; AVX2-NEXT: vpsraw %xmm1, %ymm0, %ymm0
426 ; AVX2-NEXT: retl
439 ; AVX2-LABEL: test_x86_avx2_psrai_d:
440 ; AVX2: ## BB#0:
441 ; AVX2-NEXT: vpsrad $7, %ymm0, %ymm0
442 ; AVX2-NEXT: retl
455 ; AVX2-LABEL: test_x86_avx2_psrai_w:
456 ; AVX2: ## BB#0:
457 ; AVX2-NEXT: vpsraw $7, %ymm0, %ymm0
458 ; AVX2-NEXT: retl
471 ; AVX2-LABEL: test_x86_avx2_psrl_d:
472 ; AVX2: ## BB#0:
473 ; AVX2-NEXT: vpsrld %xmm1, %ymm0, %ymm0
474 ; AVX2-NEXT: retl
487 ; AVX2-LABEL: test_x86_avx2_psrl_q:
488 ; AVX2: ## BB#0:
489 ; AVX2-NEXT: vpsrlq %xmm1, %ymm0, %ymm0
490 ; AVX2-NEXT: retl
503 ; AVX2-LABEL: test_x86_avx2_psrl_w:
504 ; AVX2: ## BB#0:
505 ; AVX2-NEXT: vpsrlw %xmm1, %ymm0, %ymm0
506 ; AVX2-NEXT: retl
519 ; AVX2-LABEL: test_x86_avx2_psrli_d:
520 ; AVX2: ## BB#0:
521 ; AVX2-NEXT: vpsrld $7, %ymm0, %ymm0
522 ; AVX2-NEXT: retl
535 ; AVX2-LABEL: test_x86_avx2_psrli_q:
536 ; AVX2: ## BB#0:
537 ; AVX2-NEXT: vpsrlq $7, %ymm0, %ymm0
538 ; AVX2-NEXT: retl
551 ; AVX2-LABEL: test_x86_avx2_psrli_w:
552 ; AVX2: ## BB#0:
553 ; AVX2-NEXT: vpsrlw $7, %ymm0, %ymm0
554 ; AVX2-NEXT: retl
567 ; AVX2-LABEL: test_x86_avx2_psubs_b:
568 ; AVX2: ## BB#0:
569 ; AVX2-NEXT: vpsubsb %ymm1, %ymm0, %ymm0
570 ; AVX2-NEXT: retl
583 ; AVX2-LABEL: test_x86_avx2_psubs_w:
584 ; AVX2: ## BB#0:
585 ; AVX2-NEXT: vpsubsw %ymm1, %ymm0, %ymm0
586 ; AVX2-NEXT: retl
599 ; AVX2-LABEL: test_x86_avx2_psubus_b:
600 ; AVX2: ## BB#0:
601 ; AVX2-NEXT: vpsubusb %ymm1, %ymm0, %ymm0
602 ; AVX2-NEXT: retl
615 ; AVX2-LABEL: test_x86_avx2_psubus_w:
616 ; AVX2: ## BB#0:
617 ; AVX2-NEXT: vpsubusw %ymm1, %ymm0, %ymm0
618 ; AVX2-NEXT: retl
631 ; AVX2-LABEL: test_x86_avx2_pabs_b:
632 ; AVX2: ## BB#0:
633 ; AVX2-NEXT: vpabsb %ymm0, %ymm0
634 ; AVX2-NEXT: retl
647 ; AVX2-LABEL: test_x86_avx2_pabs_d:
648 ; AVX2: ## BB#0:
649 ; AVX2-NEXT: vpabsd %ymm0, %ymm0
650 ; AVX2-NEXT: retl
663 ; AVX2-LABEL: test_x86_avx2_pabs_w:
664 ; AVX2: ## BB#0:
665 ; AVX2-NEXT: vpabsw %ymm0, %ymm0
666 ; AVX2-NEXT: retl
679 ; AVX2-LABEL: test_x86_avx2_phadd_d:
680 ; AVX2: ## BB#0:
681 ; AVX2-NEXT: vphaddd %ymm1, %ymm0, %ymm0
682 ; AVX2-NEXT: retl
695 ; AVX2-LABEL: test_x86_avx2_phadd_sw:
696 ; AVX2: ## BB#0:
697 ; AVX2-NEXT: vphaddsw %ymm1, %ymm0, %ymm0
698 ; AVX2-NEXT: retl
711 ; AVX2-LABEL: test_x86_avx2_phadd_w:
712 ; AVX2: ## BB#0:
713 ; AVX2-NEXT: vphaddw %ymm1, %ymm0, %ymm0
714 ; AVX2-NEXT: retl
727 ; AVX2-LABEL: test_x86_avx2_phsub_d:
728 ; AVX2: ## BB#0:
729 ; AVX2-NEXT: vphsubd %ymm1, %ymm0, %ymm0
730 ; AVX2-NEXT: retl
743 ; AVX2-LABEL: test_x86_avx2_phsub_sw:
744 ; AVX2: ## BB#0:
745 ; AVX2-NEXT: vphsubsw %ymm1, %ymm0, %ymm0
746 ; AVX2-NEXT: retl
759 ; AVX2-LABEL: test_x86_avx2_phsub_w:
760 ; AVX2: ## BB#0:
761 ; AVX2-NEXT: vphsubw %ymm1, %ymm0, %ymm0
762 ; AVX2-NEXT: retl
775 ; AVX2-LABEL: test_x86_avx2_pmadd_ub_sw:
776 ; AVX2: ## BB#0:
777 ; AVX2-NEXT: vpmaddubsw %ymm1, %ymm0, %ymm0
778 ; AVX2-NEXT: retl
791 ; AVX2-LABEL: test_x86_avx2_pmul_hr_sw:
792 ; AVX2: ## BB#0:
793 ; AVX2-NEXT: vpmulhrsw %ymm1, %ymm0, %ymm0
794 ; AVX2-NEXT: retl
807 ; AVX2-LABEL: test_x86_avx2_pshuf_b:
808 ; AVX2: ## BB#0:
809 ; AVX2-NEXT: vpshufb %ymm1, %ymm0, %ymm0
810 ; AVX2-NEXT: retl
823 ; AVX2-LABEL: test_x86_avx2_psign_b:
824 ; AVX2: ## BB#0:
825 ; AVX2-NEXT: vpsignb %ymm1, %ymm0, %ymm0
826 ; AVX2-NEXT: retl
839 ; AVX2-LABEL: test_x86_avx2_psign_d:
840 ; AVX2: ## BB#0:
841 ; AVX2-NEXT: vpsignd %ymm1, %ymm0, %ymm0
842 ; AVX2-NEXT: retl
855 ; AVX2-LABEL: test_x86_avx2_psign_w:
856 ; AVX2: ## BB#0:
857 ; AVX2-NEXT: vpsignw %ymm1, %ymm0, %ymm0
858 ; AVX2-NEXT: retl
871 ; AVX2-LABEL: test_x86_avx2_movntdqa:
872 ; AVX2: ## BB#0:
873 ; AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
874 ; AVX2-NEXT: vmovntdqa (%eax), %ymm0
875 ; AVX2-NEXT: retl
889 ; AVX2-LABEL: test_x86_avx2_mpsadbw:
890 ; AVX2: ## BB#0:
891 ; AVX2-NEXT: vmpsadbw $7, %ymm1, %ymm0, %ymm0
892 ; AVX2-NEXT: retl
905 ; AVX2-LABEL: test_x86_avx2_packusdw:
906 ; AVX2: ## BB#0:
907 ; AVX2-NEXT: vpackusdw %ymm1, %ymm0, %ymm0
908 ; AVX2-NEXT: retl
921 ; AVX2-LABEL: test_x86_avx2_pblendvb:
922 ; AVX2: ## BB#0:
923 ; AVX2-NEXT: vpblendvb %ymm2, %ymm1, %ymm0, %ymm0
924 ; AVX2-NEXT: retl
937 ; AVX2-LABEL: test_x86_avx2_pblendw:
938 ; AVX2: ## BB#0:
939 ; AVX2-NEXT: vpblendw {{.*#+}} ymm0 = ymm1[0,1,2],ymm0[3,4,5,6,7],ymm1[8,9,10],ymm0[11,12,13,14,…
940 ; AVX2-NEXT: retl
953 ; AVX2-LABEL: test_x86_avx2_pmaxsb:
954 ; AVX2: ## BB#0:
955 ; AVX2-NEXT: vpmaxsb %ymm1, %ymm0, %ymm0
956 ; AVX2-NEXT: retl
969 ; AVX2-LABEL: test_x86_avx2_pmaxsd:
970 ; AVX2: ## BB#0:
971 ; AVX2-NEXT: vpmaxsd %ymm1, %ymm0, %ymm0
972 ; AVX2-NEXT: retl
985 ; AVX2-LABEL: test_x86_avx2_pmaxud:
986 ; AVX2: ## BB#0:
987 ; AVX2-NEXT: vpmaxud %ymm1, %ymm0, %ymm0
988 ; AVX2-NEXT: retl
1001 ; AVX2-LABEL: test_x86_avx2_pmaxuw:
1002 ; AVX2: ## BB#0:
1003 ; AVX2-NEXT: vpmaxuw %ymm1, %ymm0, %ymm0
1004 ; AVX2-NEXT: retl
1017 ; AVX2-LABEL: test_x86_avx2_pminsb:
1018 ; AVX2: ## BB#0:
1019 ; AVX2-NEXT: vpminsb %ymm1, %ymm0, %ymm0
1020 ; AVX2-NEXT: retl
1033 ; AVX2-LABEL: test_x86_avx2_pminsd:
1034 ; AVX2: ## BB#0:
1035 ; AVX2-NEXT: vpminsd %ymm1, %ymm0, %ymm0
1036 ; AVX2-NEXT: retl
1049 ; AVX2-LABEL: test_x86_avx2_pminud:
1050 ; AVX2: ## BB#0:
1051 ; AVX2-NEXT: vpminud %ymm1, %ymm0, %ymm0
1052 ; AVX2-NEXT: retl
1065 ; AVX2-LABEL: test_x86_avx2_pminuw:
1066 ; AVX2: ## BB#0:
1067 ; AVX2-NEXT: vpminuw %ymm1, %ymm0, %ymm0
1068 ; AVX2-NEXT: retl
1088 ; AVX2-LABEL: test_x86_avx2_pblendd_128:
1089 ; AVX2: ## BB#0:
1090 ; AVX2-NEXT: vpblendd {{.*#+}} xmm0 = xmm1[0,1,2],xmm0[3]
1091 ; AVX2-NEXT: retl
1104 ; AVX2-LABEL: test_x86_avx2_pblendd_256:
1105 ; AVX2: ## BB#0:
1106 ; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2],ymm0[3,4,5,6,7]
1107 ; AVX2-NEXT: retl
1123 ; AVX2-LABEL: test_x86_avx2_permd:
1124 ; AVX2: ## BB#0:
1125 ; AVX2-NEXT: vpermd %ymm0, %ymm1, %ymm0
1126 ; AVX2-NEXT: retl
1142 ; AVX2-LABEL: test_x86_avx2_permps:
1143 ; AVX2: ## BB#0:
1144 ; AVX2-NEXT: vpermps %ymm0, %ymm1, %ymm0
1145 ; AVX2-NEXT: retl
1158 ; AVX2-LABEL: test_x86_avx2_vperm2i128:
1159 ; AVX2: ## BB#0:
1160 ; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3,0,1]
1161 ; AVX2-NEXT: retl
1174 ; AVX2-LABEL: test_x86_avx2_maskload_q:
1175 ; AVX2: ## BB#0:
1176 ; AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
1177 ; AVX2-NEXT: vpmaskmovq (%eax), %xmm0, %xmm0
1178 ; AVX2-NEXT: retl
1192 ; AVX2-LABEL: test_x86_avx2_maskload_q_256:
1193 ; AVX2: ## BB#0:
1194 ; AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
1195 ; AVX2-NEXT: vpmaskmovq (%eax), %ymm0, %ymm0
1196 ; AVX2-NEXT: retl
1210 ; AVX2-LABEL: test_x86_avx2_maskload_d:
1211 ; AVX2: ## BB#0:
1212 ; AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
1213 ; AVX2-NEXT: vpmaskmovd (%eax), %xmm0, %xmm0
1214 ; AVX2-NEXT: retl
1228 ; AVX2-LABEL: test_x86_avx2_maskload_d_256:
1229 ; AVX2: ## BB#0:
1230 ; AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
1231 ; AVX2-NEXT: vpmaskmovd (%eax), %ymm0, %ymm0
1232 ; AVX2-NEXT: retl
1246 ; AVX2-LABEL: test_x86_avx2_maskstore_q:
1247 ; AVX2: ## BB#0:
1248 ; AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
1249 ; AVX2-NEXT: vpmaskmovq %xmm1, %xmm0, (%eax)
1250 ; AVX2-NEXT: retl
1264 ; AVX2-LABEL: test_x86_avx2_maskstore_q_256:
1265 ; AVX2: ## BB#0:
1266 ; AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
1267 ; AVX2-NEXT: vpmaskmovq %ymm1, %ymm0, (%eax)
1268 ; AVX2-NEXT: vzeroupper
1269 ; AVX2-NEXT: retl
1283 ; AVX2-LABEL: test_x86_avx2_maskstore_d:
1284 ; AVX2: ## BB#0:
1285 ; AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
1286 ; AVX2-NEXT: vpmaskmovd %xmm1, %xmm0, (%eax)
1287 ; AVX2-NEXT: retl
1301 ; AVX2-LABEL: test_x86_avx2_maskstore_d_256:
1302 ; AVX2: ## BB#0:
1303 ; AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
1304 ; AVX2-NEXT: vpmaskmovd %ymm1, %ymm0, (%eax)
1305 ; AVX2-NEXT: vzeroupper
1306 ; AVX2-NEXT: retl
1320 ; AVX2-LABEL: test_x86_avx2_psllv_d:
1321 ; AVX2: ## BB#0:
1322 ; AVX2-NEXT: vpsllvd %xmm1, %xmm0, %xmm0
1323 ; AVX2-NEXT: retl
1336 ; AVX2-LABEL: test_x86_avx2_psllv_d_256:
1337 ; AVX2: ## BB#0:
1338 ; AVX2-NEXT: vpsllvd %ymm1, %ymm0, %ymm0
1339 ; AVX2-NEXT: retl
1352 ; AVX2-LABEL: test_x86_avx2_psllv_q:
1353 ; AVX2: ## BB#0:
1354 ; AVX2-NEXT: vpsllvq %xmm1, %xmm0, %xmm0
1355 ; AVX2-NEXT: retl
1368 ; AVX2-LABEL: test_x86_avx2_psllv_q_256:
1369 ; AVX2: ## BB#0:
1370 ; AVX2-NEXT: vpsllvq %ymm1, %ymm0, %ymm0
1371 ; AVX2-NEXT: retl
1384 ; AVX2-LABEL: test_x86_avx2_psrlv_d:
1385 ; AVX2: ## BB#0:
1386 ; AVX2-NEXT: vpsrlvd %xmm1, %xmm0, %xmm0
1387 ; AVX2-NEXT: retl
1400 ; AVX2-LABEL: test_x86_avx2_psrlv_d_256:
1401 ; AVX2: ## BB#0:
1402 ; AVX2-NEXT: vpsrlvd %ymm1, %ymm0, %ymm0
1403 ; AVX2-NEXT: retl
1416 ; AVX2-LABEL: test_x86_avx2_psrlv_q:
1417 ; AVX2: ## BB#0:
1418 ; AVX2-NEXT: vpsrlvq %xmm1, %xmm0, %xmm0
1419 ; AVX2-NEXT: retl
1432 ; AVX2-LABEL: test_x86_avx2_psrlv_q_256:
1433 ; AVX2: ## BB#0:
1434 ; AVX2-NEXT: vpsrlvq %ymm1, %ymm0, %ymm0
1435 ; AVX2-NEXT: retl
1448 ; AVX2-LABEL: test_x86_avx2_psrav_d:
1449 ; AVX2: ## BB#0:
1450 ; AVX2-NEXT: vpsravd %xmm1, %xmm0, %xmm0
1451 ; AVX2-NEXT: retl
1462 ; AVX2-LABEL: test_x86_avx2_psrav_d_const:
1463 ; AVX2: ## BB#0:
1464 ; AVX2-NEXT: vmovdqa {{.*#+}} xmm0 = [2,9,4294967284,23]
1465 ; AVX2-NEXT: vpsravd LCPI90_1, %xmm0, %xmm0
1466 ; AVX2-NEXT: retl
1479 ; AVX2-LABEL: test_x86_avx2_psrav_d_256:
1480 ; AVX2: ## BB#0:
1481 ; AVX2-NEXT: vpsravd %ymm1, %ymm0, %ymm0
1482 ; AVX2-NEXT: retl
1493 ; AVX2-LABEL: test_x86_avx2_psrav_d_256_const:
1494 ; AVX2: ## BB#0:
1495 ; AVX2-NEXT: vmovdqa {{.*#+}} ymm0 = [2,9,4294967284,23,4294967270,37,4294967256,51]
1496 ; AVX2-NEXT: vpsravd LCPI92_1, %ymm0, %ymm0
1497 ; AVX2-NEXT: retl
1510 ; AVX2-LABEL: test_x86_avx2_gather_d_pd:
1511 ; AVX2: ## BB#0:
1512 ; AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
1513 ; AVX2-NEXT: vgatherdpd %xmm2, (%eax,%xmm1,2), %xmm0
1514 ; AVX2-NEXT: retl
1529 ; AVX2-LABEL: test_x86_avx2_gather_d_pd_256:
1530 ; AVX2: ## BB#0:
1531 ; AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
1532 ; AVX2-NEXT: vgatherdpd %ymm2, (%eax,%xmm1,2), %ymm0
1533 ; AVX2-NEXT: retl
1548 ; AVX2-LABEL: test_x86_avx2_gather_q_pd:
1549 ; AVX2: ## BB#0:
1550 ; AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
1551 ; AVX2-NEXT: vgatherqpd %xmm2, (%eax,%xmm1,2), %xmm0
1552 ; AVX2-NEXT: retl
1567 ; AVX2-LABEL: test_x86_avx2_gather_q_pd_256:
1568 ; AVX2: ## BB#0:
1569 ; AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
1570 ; AVX2-NEXT: vgatherqpd %ymm2, (%eax,%ymm1,2), %ymm0
1571 ; AVX2-NEXT: retl
1586 ; AVX2-LABEL: test_x86_avx2_gather_d_ps:
1587 ; AVX2: ## BB#0:
1588 ; AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
1589 ; AVX2-NEXT: vgatherdps %xmm2, (%eax,%xmm1,2), %xmm0
1590 ; AVX2-NEXT: retl
1605 ; AVX2-LABEL: test_x86_avx2_gather_d_ps_256:
1606 ; AVX2: ## BB#0:
1607 ; AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
1608 ; AVX2-NEXT: vgatherdps %ymm2, (%eax,%ymm1,2), %ymm0
1609 ; AVX2-NEXT: retl
1624 ; AVX2-LABEL: test_x86_avx2_gather_q_ps:
1625 ; AVX2: ## BB#0:
1626 ; AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
1627 ; AVX2-NEXT: vgatherqps %xmm2, (%eax,%xmm1,2), %xmm0
1628 ; AVX2-NEXT: retl
1643 ; AVX2-LABEL: test_x86_avx2_gather_q_ps_256:
1644 ; AVX2: ## BB#0:
1645 ; AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
1646 ; AVX2-NEXT: vgatherqps %xmm2, (%eax,%ymm1,2), %xmm0
1647 ; AVX2-NEXT: vzeroupper
1648 ; AVX2-NEXT: retl
1663 ; AVX2-LABEL: test_x86_avx2_gather_d_q:
1664 ; AVX2: ## BB#0:
1665 ; AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
1666 ; AVX2-NEXT: vpgatherdq %xmm2, (%eax,%xmm1,2), %xmm0
1667 ; AVX2-NEXT: retl
1682 ; AVX2-LABEL: test_x86_avx2_gather_d_q_256:
1683 ; AVX2: ## BB#0:
1684 ; AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
1685 ; AVX2-NEXT: vpgatherdq %ymm2, (%eax,%xmm1,2), %ymm0
1686 ; AVX2-NEXT: retl
1701 ; AVX2-LABEL: test_x86_avx2_gather_q_q:
1702 ; AVX2: ## BB#0:
1703 ; AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
1704 ; AVX2-NEXT: vpgatherqq %xmm2, (%eax,%xmm1,2), %xmm0
1705 ; AVX2-NEXT: retl
1720 ; AVX2-LABEL: test_x86_avx2_gather_q_q_256:
1721 ; AVX2: ## BB#0:
1722 ; AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
1723 ; AVX2-NEXT: vpgatherqq %ymm2, (%eax,%ymm1,2), %ymm0
1724 ; AVX2-NEXT: retl
1739 ; AVX2-LABEL: test_x86_avx2_gather_d_d:
1740 ; AVX2: ## BB#0:
1741 ; AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
1742 ; AVX2-NEXT: vpgatherdd %xmm2, (%eax,%xmm1,2), %xmm0
1743 ; AVX2-NEXT: retl
1758 ; AVX2-LABEL: test_x86_avx2_gather_d_d_256:
1759 ; AVX2: ## BB#0:
1760 ; AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
1761 ; AVX2-NEXT: vpgatherdd %ymm2, (%eax,%ymm1,2), %ymm0
1762 ; AVX2-NEXT: retl
1777 ; AVX2-LABEL: test_x86_avx2_gather_q_d:
1778 ; AVX2: ## BB#0:
1779 ; AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
1780 ; AVX2-NEXT: vpgatherqd %xmm2, (%eax,%xmm1,2), %xmm0
1781 ; AVX2-NEXT: retl
1796 ; AVX2-LABEL: test_x86_avx2_gather_q_d_256:
1797 ; AVX2: ## BB#0:
1798 ; AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
1799 ; AVX2-NEXT: vpgatherqd %xmm2, (%eax,%ymm1,2), %xmm0
1800 ; AVX2-NEXT: vzeroupper
1801 ; AVX2-NEXT: retl
1818 ; AVX2-LABEL: test_gather_mask:
1819 ; AVX2: ## BB#0:
1820 ; AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
1821 ; AVX2-NEXT: movl {{[0-9]+}}(%esp), %ecx
1822 ; AVX2-NEXT: vmovaps %ymm2, %ymm3
1823 ; AVX2-NEXT: vgatherdps %ymm3, (%ecx,%ymm1,4), %ymm0
1824 ; AVX2-NEXT: vmovups %ymm2, (%eax)
1825 ; AVX2-NEXT: retl