Home | History | Annotate | Download | only in X86

Lines Matching full:next

15 ; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,0,0,1]
16 ; SSE-NEXT: retq
20 ; AVX-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,0,0,1]
21 ; AVX-NEXT: retq
28 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,0,2,0]
29 ; SSE-NEXT: retq
33 ; AVX-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,0,2,0]
34 ; AVX-NEXT: retq
41 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,1,1,2]
42 ; SSE-NEXT: retq
46 ; AVX-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,1,1,2]
47 ; AVX-NEXT: retq
54 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,3,0,0]
55 ; SSE-NEXT: retq
59 ; AVX-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,3,0,0]
60 ; AVX-NEXT: retq
67 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[1,0,0,0]
68 ; SSE-NEXT: retq
72 ; AVX-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[1,0,0,0]
73 ; AVX-NEXT: retq
80 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[2,2,0,0]
81 ; SSE-NEXT: retq
85 ; AVX-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[2,2,0,0]
86 ; AVX-NEXT: retq
93 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[3,3,3,0]
94 ; SSE-NEXT: retq
98 ; AVX-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[3,3,3,0]
99 ; AVX-NEXT: retq
106 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[3,2,1,0]
107 ; SSE-NEXT: retq
111 ; AVX-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[3,2,1,0]
112 ; AVX-NEXT: retq
120 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[2,1,2,1]
121 ; SSE-NEXT: retq
125 ; AVX-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[2,1,2,1]
126 ; AVX-NEXT: retq
134 ; SSE-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,0,0,1]
135 ; SSE-NEXT: retq
139 ; AVX-NEXT: vpermilps {{.*#+}} xmm0 = xmm0[0,0,0,1]
140 ; AVX-NEXT: retq
147 ; SSE-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,0,2,0]
148 ; SSE-NEXT: retq
152 ; AVX-NEXT: vpermilps {{.*#+}} xmm0 = xmm0[0,0,2,0]
153 ; AVX-NEXT: retq
160 ; SSE-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,3,0,0]
161 ; SSE-NEXT: retq
165 ; AVX-NEXT: vpermilps {{.*#+}} xmm0 = xmm0[0,3,0,0]
166 ; AVX-NEXT: retq
173 ; SSE-NEXT: shufps {{.*#+}} xmm0 = xmm0[1,0,0,0]
174 ; SSE-NEXT: retq
178 ; AVX-NEXT: vpermilps {{.*#+}} xmm0 = xmm0[1,0,0,0]
179 ; AVX-NEXT: retq
186 ; SSE-NEXT: shufps {{.*#+}} xmm0 = xmm0[2,2,0,0]
187 ; SSE-NEXT: retq
191 ; AVX-NEXT: vpermilps {{.*#+}} xmm0 = xmm0[2,2,0,0]
192 ; AVX-NEXT: retq
199 ; SSE-NEXT: shufps {{.*#+}} xmm0 = xmm0[3,3,3,0]
200 ; SSE-NEXT: retq
204 ; AVX-NEXT: vpermilps {{.*#+}} xmm0 = xmm0[3,3,3,0]
205 ; AVX-NEXT: retq
212 ; SSE-NEXT: shufps {{.*#+}} xmm0 = xmm0[3,2,1,0]
213 ; SSE-NEXT: retq
217 ; AVX-NEXT: vpermilps {{.*#+}} xmm0 = xmm0[3,2,1,0]
218 ; AVX-NEXT: retq
225 ; SSE-NEXT: unpcklps {{.*#+}} xmm0 = xmm0[0,0,1,1]
226 ; SSE-NEXT: retq
230 ; AVX-NEXT: vpermilps {{.*#+}} xmm0 = xmm0[0,0,1,1]
231 ; AVX-NEXT: retq
238 ; SSE-NEXT: unpckhps {{.*#+}} xmm0 = xmm0[2,2,3,3]
239 ; SSE-NEXT: retq
243 ; AVX-NEXT: vpermilps {{.*#+}} xmm0 = xmm0[2,2,3,3]
244 ; AVX-NEXT: retq
251 ; SSE2-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,0,2,2]
252 ; SSE2-NEXT: retq
256 ; SSE3-NEXT: movsldup {{.*#+}} xmm0 = xmm0[0,0,2,2]
257 ; SSE3-NEXT: retq
261 ; SSSE3-NEXT: movsldup {{.*#+}} xmm0 = xmm0[0,0,2,2]
262 ; SSSE3-NEXT: retq
266 ; SSE41-NEXT: movsldup {{.*#+}} xmm0 = xmm0[0,0,2,2]
267 ; SSE41-NEXT: retq
271 ; AVX-NEXT: vmovsldup {{.*#+}} xmm0 = xmm0[0,0,2,2]
272 ; AVX-NEXT: retq
279 ; SSE2-NEXT: shufps {{.*#+}} xmm0 = xmm0[1,1,3,3]
280 ; SSE2-NEXT: retq
284 ; SSE3-NEXT: movshdup {{.*#+}} xmm0 = xmm0[1,1,3,3]
285 ; SSE3-NEXT: retq
289 ; SSSE3-NEXT: movshdup {{.*#+}} xmm0 = xmm0[1,1,3,3]
290 ; SSSE3-NEXT: retq
294 ; SSE41-NEXT: movshdup {{.*#+}} xmm0 = xmm0[1,1,3,3]
295 ; SSE41-NEXT: retq
299 ; AVX-NEXT: vmovshdup {{.*#+}} xmm0 = xmm0[1,1,3,3]
300 ; AVX-NEXT: retq
308 ; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm1[0]
309 ; SSE-NEXT: retq
313 ; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],xmm1[0]
314 ; AVX-NEXT: retq
322 ; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
323 ; SSE-NEXT: movapd %xmm1, %xmm0
324 ; SSE-NEXT: retq
328 ; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]
329 ; AVX-NEXT: retq
337 ; SSE2-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,0],xmm0[2,0]
338 ; SSE2-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,0]
339 ; SSE2-NEXT: retq
343 ; SSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,0],xmm0[2,0]
344 ; SSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,0]
345 ; SSE3-NEXT: retq
349 ; SSSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,0],xmm0[2,0]
350 ; SSSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,0]
351 ; SSSE3-NEXT: retq
355 ; SSE41-NEXT: pshufd {{.*#+}} xmm1 = xmm1[0,1,2,0]
356 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,5],xmm1[6,7]
357 ; SSE41-NEXT: retq
361 ; AVX1-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[0,1,2,0]
362 ; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,5],xmm1[6,7]
363 ; AVX1-NEXT: retq
367 ; AVX2-NEXT: vpbroadcastd %xmm1, %xmm1
368 ; AVX2-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0,1,2],xmm1[3]
369 ; AVX2-NEXT: retq
376 ; SSE2-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,0],xmm0[2,0]
377 ; SSE2-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,1],xmm1[0,2]
378 ; SSE2-NEXT: retq
382 ; SSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,0],xmm0[2,0]
383 ; SSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,1],xmm1[0,2]
384 ; SSE3-NEXT: retq
388 ; SSSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,0],xmm0[2,0]
389 ; SSSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,1],xmm1[0,2]
390 ; SSSE3-NEXT: retq
394 ; SSE41-NEXT: pshufd {{.*#+}} xmm1 = xmm1[0,1,0,1]
395 ; SSE41-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,1,2,2]
396 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm1[4,5],xmm0[6,7]
397 ; SSE41-NEXT: retq
401 ; AVX1-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[0,1,0,1]
402 ; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,1,2,2]
403 ; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm1[4,5],xmm0[6,7]
404 ; AVX1-NEXT: retq
408 ; AVX2-NEXT: vpbroadcastq %xmm1, %xmm1
409 ; AVX2-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,1,2,2]
410 ; AVX2-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm1[2],xmm0[3]
411 ; AVX2-NEXT: retq
418 ; SSE2-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,0],xmm0[0,0]
419 ; SSE2-NEXT: shufps {{.*#+}} xmm1 = xmm1[2,0],xmm0[1,2]
420 ; SSE2-NEXT: movaps %xmm1, %xmm0
421 ; SSE2-NEXT: retq
425 ; SSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,0],xmm0[0,0]
426 ; SSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[2,0],xmm0[1,2]
427 ; SSE3-NEXT: movaps %xmm1, %xmm0
428 ; SSE3-NEXT: retq
432 ; SSSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,0],xmm0[0,0]
433 ; SSSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[2,0],xmm0[1,2]
434 ; SSSE3-NEXT: movaps %xmm1, %xmm0
435 ; SSSE3-NEXT: retq
439 ; SSE41-NEXT: pshufd {{.*#+}} xmm1 = xmm1[0,0,1,1]
440 ; SSE41-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,1,1,2]
441 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3],xmm0[4,5,6,7]
442 ; SSE41-NEXT: retq
446 ; AVX1-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[0,0,1,1]
447 ; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,1,1,2]
448 ; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3],xmm0[4,5,6,7]
449 ; AVX1-NEXT: retq
453 ; AVX2-NEXT: vpbroadcastd %xmm1, %xmm1
454 ; AVX2-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,1,1,2]
455 ; AVX2-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2,3]
456 ; AVX2-NEXT: retq
463 ; SSE2-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,0],xmm0[0,0]
464 ; SSE2-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,2],xmm0[1,2]
465 ; SSE2-NEXT: movaps %xmm1, %xmm0
466 ; SSE2-NEXT: retq
470 ; SSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,0],xmm0[0,0]
471 ; SSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,2],xmm0[1,2]
472 ; SSE3-NEXT: movaps %xmm1, %xmm0
473 ; SSE3-NEXT: retq
477 ; SSSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,0],xmm0[0,0]
478 ; SSSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,2],xmm0[1,2]
479 ; SSSE3-NEXT: movaps %xmm1, %xmm0
480 ; SSSE3-NEXT: retq
484 ; SSE41-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,0,1,2]
485 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3,4,5,6,7]
486 ; SSE41-NEXT: retq
490 ; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,0,1,2]
491 ; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3,4,5,6,7]
492 ; AVX1-NEXT: retq
496 ; AVX2-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,0,1,2]
497 ; AVX2-NEXT: vpblendd {{.*#+}} xmm0 = xmm1[0],xmm0[1,2,3]
498 ; AVX2-NEXT: retq
505 ; SSE-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
506 ; SSE-NEXT: retq
510 ; AVX-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
511 ; AVX-NEXT: retq
518 ; SSE2-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
519 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,1,3,2]
520 ; SSE2-NEXT: retq
524 ; SSE3-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
525 ; SSE3-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,1,3,2]
526 ; SSE3-NEXT: retq
530 ; SSSE3-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
531 ; SSSE3-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,1,3,2]
532 ; SSSE3-NEXT: retq
536 ; SSE41-NEXT: pshufd {{.*#+}} xmm1 = xmm1[0,0,1,1]
537 ; SSE41-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,1,0,1]
538 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3,4,5],xmm0[6,7]
539 ; SSE41-NEXT: retq
543 ; AVX1-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[0,0,1,1]
544 ; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,1,0,1]
545 ; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3,4,5],xmm0[6,7]
546 ; AVX1-NEXT: retq
550 ; AVX2-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[0,0,1,1]
551 ; AVX2-NEXT: vpbroadcastq %xmm0, %xmm0
552 ; AVX2-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm1[1,2],xmm0[3]
553 ; AVX2-NEXT: retq
560 ; SSE-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0]
561 ; SSE-NEXT: movdqa %xmm1, %xmm0
562 ; SSE-NEXT: retq
566 ; AVX-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm1[0],xmm0[0]
567 ; AVX-NEXT: retq
574 ; SSE2-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
575 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm0[1,0,2,3]
576 ; SSE2-NEXT: retq
580 ; SSE3-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
581 ; SSE3-NEXT: pshufd {{.*#+}} xmm0 = xmm0[1,0,2,3]
582 ; SSE3-NEXT: retq
586 ; SSSE3-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
587 ; SSSE3-NEXT: pshufd {{.*#+}} xmm0 = xmm0[1,0,2,3]
588 ; SSSE3-NEXT: retq
592 ; SSE41-NEXT: pshufd {{.*#+}} xmm1 = xmm1[0,1,0,1]
593 ; SSE41-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,0,1,1]
594 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3,4,5],xmm1[6,7]
595 ; SSE41-NEXT: retq
599 ; AVX1-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[0,1,0,1]
600 ; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,0,1,1]
601 ; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3,4,5],xmm1[6,7]
602 ; AVX1-NEXT: retq
606 ; AVX2-NEXT: vpbroadcastq %xmm1, %xmm1
607 ; AVX2-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,0,1,1]
608 ; AVX2-NEXT: vpblendd {{.*#+}} xmm0 = xmm1[0],xmm0[1,2],xmm1[3]
609 ; AVX2-NEXT: retq
617 ; SSE2-NEXT: xorps %xmm1, %xmm1
618 ; SSE2-NEXT: movss {{.*#+}} xmm1 = xmm0[0],xmm1[1,2,3]
619 ; SSE2-NEXT: movaps %xmm1, %xmm0
620 ; SSE2-NEXT: retq
624 ; SSE3-NEXT: xorps %xmm1, %xmm1
625 ; SSE3-NEXT: movss {{.*#+}} xmm1 = xmm0[0],xmm1[1,2,3]
626 ; SSE3-NEXT: movaps %xmm1, %xmm0
627 ; SSE3-NEXT: retq
631 ; SSSE3-NEXT: xorps %xmm1, %xmm1
632 ; SSSE3-NEXT: movss {{.*#+}} xmm1 = xmm0[0],xmm1[1,2,3]
633 ; SSSE3-NEXT: movaps %xmm1, %xmm0
634 ; SSSE3-NEXT: retq
638 ; SSE41-NEXT: xorps %xmm1, %xmm1
639 ; SSE41-NEXT: blendps {{.*#+}} xmm0 = xmm0[0],xmm1[1,2,3]
640 ; SSE41-NEXT: retq
644 ; AVX-NEXT: vxorps %xmm1, %xmm1, %xmm1
645 ; AVX-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0],xmm1[1,2,3]
646 ; AVX-NEXT: retq
654 ; SSE2-NEXT: xorps %xmm1, %xmm1
655 ; SSE2-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,0],xmm1[0,0]
656 ; SSE2-NEXT: shufps {{.*#+}} xmm0 = xmm0[2,0],xmm1[2,3]
657 ; SSE2-NEXT: retq
661 ; SSE3-NEXT: xorps %xmm1, %xmm1
662 ; SSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,0],xmm1[0,0]
663 ; SSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[2,0],xmm1[2,3]
664 ; SSE3-NEXT: retq
668 ; SSSE3-NEXT: xorps %xmm1, %xmm1
669 ; SSSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,0],xmm1[0,0]
670 ; SSSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[2,0],xmm1[2,3]
671 ; SSSE3-NEXT: retq
675 ; SSE41-NEXT: insertps {{.*#+}} xmm0 = zero,xmm0[0],zero,zero
676 ; SSE41-NEXT: retq
680 ; AVX-NEXT: vinsertps {{.*#+}} xmm0 = zero,xmm0[0],zero,zero
681 ; AVX-NEXT: retq
689 ; SSE2-NEXT: xorps %xmm1, %xmm1
690 ; SSE2-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,0],xmm1[3,0]
691 ; SSE2-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[0,2]
692 ; SSE2-NEXT: movaps %xmm1, %xmm0
693 ; SSE2-NEXT: retq
697 ; SSE3-NEXT: xorps %xmm1, %xmm1
698 ; SSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,0],xmm1[3,0]
699 ; SSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[0,2]
700 ; SSE3-NEXT: movaps %xmm1, %xmm0
701 ; SSE3-NEXT: retq
705 ; SSSE3-NEXT: xorps %xmm1, %xmm1
706 ; SSSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,0],xmm1[3,0]
707 ; SSSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[0,2]
708 ; SSSE3-NEXT: movaps %xmm1, %xmm0
709 ; SSSE3-NEXT: retq
713 ; SSE41-NEXT: insertps {{.*#+}} xmm0 = zero,zero,xmm0[0],zero
714 ; SSE41-NEXT: retq
718 ; AVX-NEXT: vinsertps {{.*#+}} xmm0 = zero,zero,xmm0[0],zero
719 ; AVX-NEXT: retq
727 ; SSE2-NEXT: xorps %xmm1, %xmm1
728 ; SSE2-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,0]
729 ; SSE2-NEXT: movaps %xmm1, %xmm0
730 ; SSE2-NEXT: retq
734 ; SSE3-NEXT: xorps %xmm1, %xmm1
735 ; SSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,0]
736 ; SSE3-NEXT: movaps %xmm1, %xmm0
737 ; SSE3-NEXT: retq
741 ; SSSE3-NEXT: xorps %xmm1, %xmm1
742 ; SSSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,0]
743 ; SSSE3-NEXT: movaps %xmm1, %xmm0
744 ; SSSE3-NEXT: retq
748 ; SSE41-NEXT: insertps {{.*#+}} xmm0 = zero,zero,zero,xmm0[0]
749 ; SSE41-NEXT: retq
753 ; AVX-NEXT: vinsertps {{.*#+}} xmm0 = zero,zero,zero,xmm0[0]
754 ; AVX-NEXT: retq
762 ; SSE2-NEXT: xorps %xmm1, %xmm1
763 ; SSE2-NEXT: shufps {{.*#+}} xmm0 = xmm0[3,0],xmm1[2,0]
764 ; SSE2-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,0]
765 ; SSE2-NEXT: movaps %xmm1, %xmm0
766 ; SSE2-NEXT: retq
770 ; SSE3-NEXT: xorps %xmm1, %xmm1
771 ; SSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[3,0],xmm1[2,0]
772 ; SSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,0]
773 ; SSE3-NEXT: movaps %xmm1, %xmm0
774 ; SSE3-NEXT: retq
778 ; SSSE3-NEXT: xorps %xmm1, %xmm1
779 ; SSSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[3,0],xmm1[2,0]
780 ; SSSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,0]
781 ; SSSE3-NEXT: movaps %xmm1, %xmm0
782 ; SSSE3-NEXT: retq
786 ; SSE41-NEXT: xorps %xmm1, %xmm1
787 ; SSE41-NEXT: blendps {{.*#+}} xmm0 = xmm1[0,1,2],xmm0[3]
788 ; SSE41-NEXT: retq
792 ; AVX-NEXT: vxorps %xmm1, %xmm1, %xmm1
793 ; AVX-NEXT: vblendps {{.*#+}} xmm0 = xmm1[0,1,2],xmm0[3]
794 ; AVX-NEXT: retq
802 ; SSE2-NEXT: xorps %xmm1, %xmm1
803 ; SSE2-NEXT: shufps {{.*#+}} xmm0 = xmm0[2,0],xmm1[0,0]
804 ; SSE2-NEXT: shufps {{.*#+}} xmm0 = xmm0[2,0],xmm1[2,3]
805 ; SSE2-NEXT: retq
809 ; SSE3-NEXT: xorps %xmm1, %xmm1
810 ; SSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[2,0],xmm1[0,0]
811 ; SSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[2,0],xmm1[2,3]
812 ; SSE3-NEXT: retq
816 ; SSSE3-NEXT: xorps %xmm1, %xmm1
817 ; SSSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[2,0],xmm1[0,0]
818 ; SSSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[2,0],xmm1[2,3]
819 ; SSSE3-NEXT: retq
823 ; SSE41-NEXT: insertps {{.*#+}} xmm0 = zero,xmm0[2],zero,zero
824 ; SSE41-NEXT: retq
828 ; AVX-NEXT: vinsertps {{.*#+}} xmm0 = zero,xmm0[2],zero,zero
829 ; AVX-NEXT: retq
837 ; SSE2-NEXT: xorps %xmm1, %xmm1
838 ; SSE2-NEXT: shufps {{.*#+}} xmm1 = xmm1[1,0],xmm0[0,0]
839 ; SSE2-NEXT: shufps {{.*#+}} xmm1 = xmm1[2,0],xmm0[2,3]
840 ; SSE2-NEXT: movaps %xmm1, %xmm0
841 ; SSE2-NEXT: retq
845 ; SSE3-NEXT: xorps %xmm1, %xmm1
846 ; SSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[1,0],xmm0[0,0]
847 ; SSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[2,0],xmm0[2,3]
848 ; SSE3-NEXT: movaps %xmm1, %xmm0
849 ; SSE3-NEXT: retq
853 ; SSSE3-NEXT: xorps %xmm1, %xmm1
854 ; SSSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[1,0],xmm0[0,0]
855 ; SSSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[2,0],xmm0[2,3]
856 ; SSSE3-NEXT: movaps %xmm1, %xmm0
857 ; SSSE3-NEXT: retq
861 ; SSE41-NEXT: xorps %xmm1, %xmm1
862 ; SSE41-NEXT: blendps {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2,3]
863 ; SSE41-NEXT: retq
867 ; AVX-NEXT: vxorps %xmm1, %xmm1, %xmm1
868 ; AVX-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2,3]
869 ; AVX-NEXT: retq
877 ; SSE2-NEXT: xorps %xmm1, %xmm1
878 ; SSE2-NEXT: shufps {{.*#+}} xmm1 = xmm1[2,0],xmm0[3,0]
879 ; SSE2-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,1],xmm1[0,2]
880 ; SSE2-NEXT: retq
884 ; SSE3-NEXT: xorps %xmm1, %xmm1
885 ; SSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[2,0],xmm0[3,0]
886 ; SSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,1],xmm1[0,2]
887 ; SSE3-NEXT: retq
891 ; SSSE3-NEXT: xorps %xmm1, %xmm1
892 ; SSSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[2,0],xmm0[3,0]
893 ; SSSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,1],xmm1[0,2]
894 ; SSSE3-NEXT: retq
898 ; SSE41-NEXT: xorps %xmm1, %xmm1
899 ; SSE41-NEXT: blendps {{.*#+}} xmm0 = xmm0[0,1],xmm1[2],xmm0[3]
900 ; SSE41-NEXT: retq
904 ; AVX-NEXT: vxorps %xmm1, %xmm1, %xmm1
905 ; AVX-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],xmm1[2],xmm0[3]
906 ; AVX-NEXT: retq
914 ; SSE2-NEXT: xorps %xmm1, %xmm1
915 ; SSE2-NEXT: shufps {{.*#+}} xmm1 = xmm1[3,0],xmm0[2,0]
916 ; SSE2-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,0]
917 ; SSE2-NEXT: retq
921 ; SSE3-NEXT: xorps %xmm1, %xmm1
922 ; SSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[3,0],xmm0[2,0]
923 ; SSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,0]
924 ; SSE3-NEXT: retq
928 ; SSSE3-NEXT: xorps %xmm1, %xmm1
929 ; SSSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[3,0],xmm0[2,0]
930 ; SSSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,0]
931 NEXT: retq
935 ; SSE41-NEXT: xorps %xmm1, %xmm1
936 ; SSE41-NEXT: blendps {{.*#+}} xmm0 = xmm0[0,1,2],xmm1[3]
937 ; SSE41-NEXT: retq
941 ; AVX-NEXT: vxorps %xmm1, %xmm1, %xmm1
942 ; AVX-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1,2],xmm1[3]
943 ; AVX-NEXT: retq
951 ; SSE2-NEXT: xorps %xmm1, %xmm1
952 ; SSE2-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,3],xmm1[1,2]
953 ; SSE2-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,2,3,1]
954 ; SSE2-NEXT: retq
958 ; SSE3-NEXT: xorps %xmm1, %xmm1
959 ; SSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,3],xmm1[1,2]
960 ; SSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,2,3,1]
961 ; SSE3-NEXT: retq
965 ; SSSE3-NEXT: xorps %xmm1, %xmm1
966 ; SSSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,3],xmm1[1,2]
967 ; SSSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,2,3,1]
968 ; SSSE3-NEXT: retq
972 ; SSE41-NEXT: xorps %xmm1, %xmm1
973 ; SSE41-NEXT: blendps {{.*#+}} xmm0 = xmm0[0],xmm1[1,2],xmm0[3]
974 ; SSE41-NEXT: retq
978 ; AVX-NEXT: vxorps %xmm1, %xmm1, %xmm1
979 ; AVX-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0],xmm1[1,2],xmm0[3]
980 ; AVX-NEXT: retq
988 ; SSE2-NEXT: xorps %xmm1, %xmm1
989 ; SSE2-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,2],xmm1[0,0]
990 ; SSE2-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,2,1,3]
991 ; SSE2-NEXT: retq
995 ; SSE3-NEXT: xorps %xmm1, %xmm1
996 ; SSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,2],xmm1[0,0]
997 ; SSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,2,1,3]
998 ; SSE3-NEXT: retq
1002 ; SSSE3-NEXT: xorps %xmm1, %xmm1
1003 ; SSSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,2],xmm1[0,0]
1004 ; SSSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,2,1,3]
1005 ; SSSE3-NEXT: retq
1009 ; SSE41-NEXT: xorps %xmm1, %xmm1
1010 ; SSE41-NEXT: blendps {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2],xmm1[3]
1011 ; SSE41-NEXT: retq
1015 ; AVX-NEXT: vxorps %xmm1, %xmm1, %xmm1
1016 ; AVX-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2],xmm1[3]
1017 ; AVX-NEXT: retq
1025 ; SSE-NEXT: unpcklps {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
1026 ; SSE-NEXT: movaps %xmm1, %xmm0
1027 ; SSE-NEXT: retq
1031 ; AVX-NEXT: vunpcklps {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
1032 ; AVX-NEXT: retq
1040 ; SSE2-NEXT: xorps %xmm2, %xmm2
1041 ; SSE2-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,0],xmm2[2,0]
1042 ; SSE2-NEXT: shufps {{.*#+}} xmm2 = xmm2[0,1],xmm1[2,0]
1043 ; SSE2-NEXT: movss {{.*#+}} xmm2 = xmm0[0],xmm2[1,2,3]
1044 ; SSE2-NEXT: movaps %xmm2, %xmm0
1045 ; SSE2-NEXT: retq
1049 ; SSE3-NEXT: xorps %xmm2, %xmm2
1050 ; SSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,0],xmm2[2,0]
1051 ; SSE3-NEXT: shufps {{.*#+}} xmm2 = xmm2[0,1],xmm1[2,0]
1052 ; SSE3-NEXT: movss {{.*#+}} xmm2 = xmm0[0],xmm2[1,2,3]
1053 ; SSE3-NEXT: movaps %xmm2, %xmm0
1054 ; SSE3-NEXT: retq
1058 ; SSSE3-NEXT: xorps %xmm2, %xmm2
1059 ; SSSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,0],xmm2[2,0]
1060 ; SSSE3-NEXT: shufps {{.*#+}} xmm2 = xmm2[0,1],xmm1[2,0]
1061 ; SSSE3-NEXT: movss {{.*#+}} xmm2 = xmm0[0],xmm2[1,2,3]
1062 ; SSSE3-NEXT: movaps %xmm2, %xmm0
1063 ; SSSE3-NEXT: retq
1067 ; SSE41-NEXT: insertps {{.*#+}} xmm1 = zero,zero,zero,xmm1[0]
1068 ; SSE41-NEXT: blendps {{.*#+}} xmm0 = xmm0[0],xmm1[1,2,3]
1069 ; SSE41-NEXT: retq
1073 ; AVX-NEXT: vinsertps {{.*#+}} xmm1 = zero,zero,zero,xmm1[0]
1074 ; AVX-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0],xmm1[1,2,3]
1075 ; AVX-NEXT: retq
1084 ; SSE2-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,2]
1085 ; SSE2-NEXT: xorps %xmm1, %xmm1
1086 ; SSE2-NEXT: shufps {{.*#+}} xmm1 = xmm1[1,2],xmm0[0,3]
1087 ; SSE2-NEXT: shufps {{.*#+}} xmm1 = xmm1[2,0,1,3]
1088 ; SSE2-NEXT: movaps %xmm1, %xmm0
1089 ; SSE2-NEXT: retq
1093 ; SSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,2]
1094 ; SSE3-NEXT: xorps %xmm1, %xmm1
1095 ; SSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[1,2],xmm0[0,3]
1096 ; SSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[2,0,1,3]
1097 ; SSE3-NEXT: movaps %xmm1, %xmm0
1098 ; SSE3-NEXT: retq
1102 ; SSSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,2]
1103 ; SSSE3-NEXT: xorps %xmm1, %xmm1
1104 ; SSSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[1,2],xmm0[0,3]
1105 ; SSSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[2,0,1,3]
1106 ; SSSE3-NEXT: movaps %xmm1, %xmm0
1107 ; SSSE3-NEXT: retq
1111 ; SSE41-NEXT: insertps {{.*#+}} xmm0 = xmm0[0],zero,zero,xmm1[2]
1112 ; SSE41-NEXT: retq
1116 ; AVX-NEXT: vinsertps {{.*#+}} xmm0 = xmm0[0],zero,zero,xmm1[2]
1117 ; AVX-NEXT: retq
1126 ; SSE2-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,0],xmm0[2,0]
1127 ; SSE2-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,0]
1128 ; SSE2-NEXT: xorps %xmm1, %xmm1
1129 ; SSE2-NEXT: shufps {{.*#+}} xmm1 = xmm1[1,0],xmm0[0,0]
1130 ; SSE2-NEXT: shufps {{.*#+}} xmm1 = xmm1[2,0],xmm0[2,3]
1131 ; SSE2-NEXT: movaps %xmm1, %xmm0
1132 ; SSE2-NEXT: retq
1136 ; SSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,0],xmm0[2,0]
1137 ; SSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,0]
1138 ; SSE3-NEXT: xorps %xmm1, %xmm1
1139 ; SSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[1,0],xmm0[0,0]
1140 ; SSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[2,0],xmm0[2,3]
1141 ; SSE3-NEXT: movaps %xmm1, %xmm0
1142 ; SSE3-NEXT: retq
1146 ; SSSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,0],xmm0[2,0]
1147 ; SSSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,0]
1148 ; SSSE3-NEXT: xorps %xmm1, %xmm1
1149 ; SSSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[1,0],xmm0[0,0]
1150 ; SSSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[2,0],xmm0[2,3]
1151 ; SSSE3-NEXT: movaps %xmm1, %xmm0
1152 ; SSSE3-NEXT: retq
1156 ; SSE41-NEXT: insertps {{.*#+}} xmm0 = xmm0[0],zero,xmm0[2],xmm1[0]
1157 ; SSE41-NEXT: retq
1161 ; AVX-NEXT: vinsertps {{.*#+}} xmm0 = xmm0[0],zero,xmm0[2],xmm1[0]
1162 ; AVX-NEXT: retq
1171 ; SSE2-NEXT: xorps %xmm1, %xmm1
1172 ; SSE2-NEXT: movss {{.*#+}} xmm1 = xmm0[0],xmm1[1,2,3]
1173 ; SSE2-NEXT: movaps %xmm1, %xmm0
1174 ; SSE2-NEXT: retq
1178 ; SSE3-NEXT: xorps %xmm1, %xmm1
1179 ; SSE3-NEXT: movss {{.*#+}} xmm1 = xmm0[0],xmm1[1,2,3]
1180 ; SSE3-NEXT: movaps %xmm1, %xmm0
1181 ; SSE3-NEXT: retq
1185 ; SSSE3-NEXT: xorps %xmm1, %xmm1
1186 ; SSSE3-NEXT: movss {{.*#+}} xmm1 = xmm0[0],xmm1[1,2,3]
1187 ; SSSE3-NEXT: movaps %xmm1, %xmm0
1188 ; SSSE3-NEXT: retq
1192 ; SSE41-NEXT: pxor %xmm1, %xmm1
1193 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3,4,5,6,7]
1194 ; SSE41-NEXT: retq
1198 ; AVX-NEXT: vpxor %xmm1, %xmm1, %xmm1
1199 ; AVX-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3,4,5,6,7]
1200 ; AVX-NEXT: retq
1208 ; SSE2-NEXT: xorps %xmm1, %xmm1
1209 ; SSE2-NEXT: movss {{.*#+}} xmm1 = xmm0[0],xmm1[1,2,3]
1210 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,0,1,1]
1211 ; SSE2-NEXT: retq
1215 ; SSE3-NEXT: xorps %xmm1, %xmm1
1216 ; SSE3-NEXT: movss {{.*#+}} xmm1 = xmm0[0],xmm1[1,2,3]
1217 ; SSE3-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,0,1,1]
1218 ; SSE3-NEXT: retq
1222 ; SSSE3-NEXT: xorps %xmm1, %xmm1
1223 ; SSSE3-NEXT: movss {{.*#+}} xmm1 = xmm0[0],xmm1[1,2,3]
1224 ; SSSE3-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,0,1,1]
1225 ; SSSE3-NEXT: retq
1229 ; SSE41-NEXT: pxor %xmm1, %xmm1
1230 ; SSE41-NEXT: pblendw {{.*#+}} xmm1 = xmm0[0,1],xmm1[2,3,4,5,6,7]
1231 ; SSE41-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,0,1,1]
1232 ; SSE41-NEXT: retq
1236 ; AVX-NEXT: vpxor %xmm1, %xmm1, %xmm1
1237 ; AVX-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3,4,5,6,7]
1238 ; AVX-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[1,0,1,1]
1239 ; AVX-NEXT: retq
1247 ; SSE2-NEXT: xorps %xmm1, %xmm1
1248 ; SSE2-NEXT: movss {{.*#+}} xmm1 = xmm0[0],xmm1[1,2,3]
1249 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,1,0,1]
1250 ; SSE2-NEXT: retq
1254 ; SSE3-NEXT: xorps %xmm1, %xmm1
1255 ; SSE3-NEXT: movss {{.*#+}} xmm1 = xmm0[0],xmm1[1,2,3]
1256 ; SSE3-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,1,0,1]
1257 ; SSE3-NEXT: retq
1261 ; SSSE3-NEXT: xorps %xmm1, %xmm1
1262 ; SSSE3-NEXT: movss {{.*#+}} xmm1 = xmm0[0],xmm1[1,2,3]
1263 ; SSSE3-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,1,0,1]
1264 ; SSSE3-NEXT: retq
1268 ; SSE41-NEXT: pxor %xmm1, %xmm1
1269 ; SSE41-NEXT: pblendw {{.*#+}} xmm1 = xmm0[0,1],xmm1[2,3,4,5,6,7]
1270 ; SSE41-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,1,0,1]
1271 ; SSE41-NEXT: retq
1275 ; AVX-NEXT: vpxor %xmm1, %xmm1, %xmm1
1276 ; AVX-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3,4,5,6,7]
1277 ; AVX-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[1,1,0,1]
1278 ; AVX-NEXT: retq
1286 ; SSE-NEXT: pslldq {{.*#+}} xmm0 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm0[0,1,2,3]
1287 ; SSE-NEXT: retq
1291 ; AVX-NEXT: vpslldq {{.*#+}} xmm0 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm0[0,1,2,3]
1292 ; AVX-NEXT: retq
1300 ; SSE2-NEXT: xorps %xmm1, %xmm1
1301 ; SSE2-NEXT: shufps {{.*#+}} xmm0 = xmm0[2,0],xmm1[0,0]
1302 ; SSE2-NEXT: shufps {{.*#+}} xmm0 = xmm0[2,0],xmm1[2,3]
1303 ; SSE2-NEXT: retq
1307 ; SSE3-NEXT: xorps %xmm1, %xmm1
1308 ; SSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[2,0],xmm1[0,0]
1309 ; SSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[2,0],xmm1[2,3]
1310 ; SSE3-NEXT: retq
1314 ; SSSE3-NEXT: xorps %xmm1, %xmm1
1315 ; SSSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[2,0],xmm1[0,0]
1316 ; SSSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[2,0],xmm1[2,3]
1317 ; SSSE3-NEXT: retq
1321 ; SSE41-NEXT: pshufd {{.*#+}} xmm1 = xmm0[2,2,3,3]
1322 ; SSE41-NEXT: pxor %xmm0, %xmm0
1323 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3],xmm0[4,5,6,7]
1324 ; SSE41-NEXT: retq
1328 ; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[2,2,3,3]
1329 ; AVX1-NEXT: vpxor %xmm1, %xmm1, %xmm1
1330 ; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3],xmm1[4,5,6,7]
1331 ; AVX1-NEXT: retq
1335 ; AVX2-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[2,2,3,3]
1336 ; AVX2-NEXT: vpxor %xmm1, %xmm1, %xmm1
1337 ; AVX2-NEXT: vpblendd {{.*#+}} xmm0 = xmm1[0],xmm0[1],xmm1[2,3]
1338 ; AVX2-NEXT: retq
1346 ; SSE2-NEXT: shufps {{.*#+}} xmm1 = xmm1[3,0],xmm0[0,0]
1347 ; SSE2-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,2],xmm0[1,2]
1348 ; SSE2-NEXT: movaps %xmm1, %xmm0
1349 ; SSE2-NEXT: retq
1353 ; SSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[3,0],xmm0[0,0]
1354 ; SSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,2],xmm0[1,2]
1355 ; SSE3-NEXT: movaps %xmm1, %xmm0
1356 ; SSE3-NEXT: retq
1360 ; SSSE3-NEXT: palignr {{.*#+}} xmm0 = xmm1[12,13,14,15],xmm0[0,1,2,3,4,5,6,7,8,9,10,11]
1361 ; SSSE3-NEXT: retq
1365 ; SSE41-NEXT: palignr {{.*#+}} xmm0 = xmm1[12,13,14,15],xmm0[0,1,2,3,4,5,6,7,8,9,10,11]
1366 ; SSE41-NEXT: retq
1370 ; AVX-NEXT: vpalignr {{.*#+}} xmm0 = xmm1[12,13,14,15],xmm0[0,1,2,3,4,5,6,7,8,9,10,11]
1371 ; AVX-NEXT: retq
1379 ; SSE2-NEXT: shufpd {{.*#+}} xmm1 = xmm1[1],xmm0[0]
1380 ; SSE2-NEXT: movapd %xmm1, %xmm0
1381 ; SSE2-NEXT: retq
1385 ; SSE3-NEXT: shufpd {{.*#+}} xmm1 = xmm1[1],xmm0[0]
1386 ; SSE3-NEXT: movapd %xmm1, %xmm0
1387 ; SSE3-NEXT: retq
1391 ; SSSE3-NEXT: palignr {{.*#+}} xmm0 = xmm1[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]
1392 ; SSSE3-NEXT: retq
1396 ; SSE41-NEXT: palignr {{.*#+}} xmm0 = xmm1[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]
1397 ; SSE41-NEXT: retq
1401 ; AVX-NEXT: vpalignr {{.*#+}} xmm0 = xmm1[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]
1402 ; AVX-NEXT: retq
1410 ; SSE2-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,0],xmm1[3,0]
1411 ; SSE2-NEXT: shufps {{.*#+}} xmm1 = xmm1[1,2],xmm0[2,0]
1412 ; SSE2-NEXT: movaps %xmm1, %xmm0
1413 ; SSE2-NEXT: retq
1417 ; SSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,0],xmm1[3,0]
1418 ; SSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[1,2],xmm0[2,0]
1419 ; SSE3-NEXT: movaps %xmm1, %xmm0
1420 ; SSE3-NEXT: retq
1424 ; SSSE3-NEXT: palignr {{.*#+}} xmm0 = xmm1[4,5,6,7,8,9,10,11,12,13,14,15],xmm0[0,1,2,3]
1425 ; SSSE3-NEXT: retq
1429 ; SSE41-NEXT: palignr {{.*#+}} xmm0 = xmm1[4,5,6,7,8,9,10,11,12,13,14,15],xmm0[0,1,2,3]
1430 ; SSE41-NEXT: retq
1434 ; AVX-NEXT: vpalignr {{.*#+}} xmm0 = xmm1[4,5,6,7,8,9,10,11,12,13,14,15],xmm0[0,1,2,3]
1435 ; AVX-NEXT: retq
1443 ; SSE2-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,0],xmm0[3,0]
1444 ; SSE2-NEXT: shufps {{.*#+}} xmm0 = xmm0[1,2],xmm1[2,0]
1445 ; SSE2-NEXT: retq
1449 ; SSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,0],xmm0[3,0]
1450 ; SSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[1,2],xmm1[2,0]
1451 ; SSE3-NEXT: retq
1455 ; SSSE3-NEXT: palignr {{.*#+}} xmm1 = xmm0[4,5,6,7,8,9,10,11,12,13,14,15],xmm1[0,1,2,3]
1456 ; SSSE3-NEXT: movdqa %xmm1, %xmm0
1457 ; SSSE3-NEXT: retq
1461 ; SSE41-NEXT: palignr {{.*#+}} xmm1 = xmm0[4,5,6,7,8,9,10,11,12,13,14,15],xmm1[0,1,2,3]
1462 ; SSE41-NEXT: movdqa %xmm1, %xmm0
1463 ; SSE41-NEXT: retq
1467 ; AVX-NEXT: vpalignr {{.*#+}} xmm0 = xmm0[4,5,6,7,8,9,10,11,12,13,14,15],xmm1[0,1,2,3]
1468 ; AVX-NEXT: retq
1476 ; SSE2-NEXT: shufpd {{.*#+}} xmm0 = xmm0[1],xmm1[0]
1477 ; SSE2-NEXT: retq
1481 ; SSE3-NEXT: shufpd {{.*#+}} xmm0 = xmm0[1],xmm1[0]
1482 ; SSE3-NEXT: retq
1486 ; SSSE3-NEXT: palignr {{.*#+}} xmm1 = xmm0[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]
1487 ; SSSE3-NEXT: movdqa %xmm1, %xmm0
1488 ; SSSE3-NEXT: retq
1492 ; SSE41-NEXT: palignr {{.*#+}} xmm1 = xmm0[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]
1493 ; SSE41-NEXT: movdqa %xmm1, %xmm0
1494 ; SSE41-NEXT: retq
1498 ; AVX-NEXT: vpalignr {{.*#+}} xmm0 = xmm0[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]
1499 ; AVX-NEXT: retq
1507 ; SSE-NEXT: punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
1508 ; SSE-NEXT: movdqa %xmm1, %xmm0
1509 ; SSE-NEXT: retq
1513 ; AVX-NEXT: vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
1514 ; AVX-NEXT: retq
1522 ; SSE2-NEXT: shufps {{.*#+}} xmm0 = xmm0[3,0],xmm1[0,0]
1523 ; SSE2-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,2],xmm1[1,2]
1524 ; SSE2-NEXT: retq
1528 ; SSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[3,0],xmm1[0,0]
1529 ; SSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,2],xmm1[1,2]
1530 ; SSE3-NEXT: retq
1534 ; SSSE3-NEXT: palignr {{.*#+}} xmm1 = xmm0[12,13,14,15],xmm1[0,1,2,3,4,5,6,7,8,9,10,11]
1535 ; SSSE3-NEXT: movdqa %xmm1, %xmm0
1536 ; SSSE3-NEXT: retq
1540 ; SSE41-NEXT: palignr {{.*#+}} xmm1 = xmm0[12,13,14,15],xmm1[0,1,2,3,4,5,6,7,8,9,10,11]
1541 ; SSE41-NEXT: movdqa %xmm1, %xmm0
1542 ; SSE41-NEXT: retq
1546 ; AVX-NEXT: vpalignr {{.*#+}} xmm0 = xmm0[12,13,14,15],xmm1[0,1,2,3,4,5,6,7,8,9,10,11]
1547 ; AVX-NEXT: retq
1555 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,1,1,3]
1556 ; SSE2-NEXT: retq
1560 ; SSE3-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,1,1,3]
1561 ; SSE3-NEXT: retq
1565 ; SSSE3-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,1,1,3]
1566 ; SSSE3-NEXT: retq
1570 ; SSE41-NEXT: pmovzxdq {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero
1571 ; SSE41-NEXT: retq
1575 ; AVX-NEXT: vpmovzxdq {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero
1576 ; AVX-NEXT: retq
1584 ; SSE2-NEXT: pxor %xmm1, %xmm1
1585 ; SSE2-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
1586 ; SSE2-NEXT: retq
1590 ; SSE3-NEXT: pxor %xmm1, %xmm1
1591 ; SSE3-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
1592 ; SSE3-NEXT: retq
1596 ; SSSE3-NEXT: pxor %xmm1, %xmm1
1597 ; SSSE3-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
1598 ; SSSE3-NEXT: retq
1602 ; SSE41-NEXT: pmovzxdq {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero
1603 ; SSE41-NEXT: retq
1607 ; AVX-NEXT: vpmovzxdq {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero
1608 ; AVX-NEXT: retq
1616 ; SSE-NEXT: movq {{.*#+}} xmm0 = xmm0[0],zero
1617 ; SSE-NEXT: retq
1621 ; AVX-NEXT: vmovq {{.*#+}} xmm0 = xmm0[0],zero
1622 ; AVX-NEXT: retq
1630 ; SSE2-NEXT: andps {{.*}}(%rip), %xmm0
1631 ; SSE2-NEXT: retq
1635 ; SSE3-NEXT: andps {{.*}}(%rip), %xmm0
1636 ; SSE3-NEXT: retq
1640 ; SSSE3-NEXT: andps {{.*}}(%rip), %xmm0
1641 ; SSSE3-NEXT: retq
1645 ; SSE41-NEXT: pxor %xmm1, %xmm1
1646 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3],xmm0[4,5,6,7]
1647 ; SSE41-NEXT: retq
1651 ; AVX1-NEXT: vpxor %xmm1, %xmm1, %xmm1
1652 ; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3],xmm0[4,5,6,7]
1653 ; AVX1-NEXT: retq
1657 ; AVX2-NEXT: vpxor %xmm1, %xmm1, %xmm1
1658 ; AVX2-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2,3]
1659 ; AVX2-NEXT: retq
1667 ; SSE2-NEXT: andps {{.*}}(%rip), %xmm0
1668 ; SSE2-NEXT: retq
1672 ; SSE3-NEXT: andps {{.*}}(%rip), %xmm0
1673 ; SSE3-NEXT: retq
1677 ; SSSE3-NEXT: andps {{.*}}(%rip), %xmm0
1678 ; SSSE3-NEXT: retq
1682 ; SSE41-NEXT: pxor %xmm1, %xmm1
1683 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm1[4,5],xmm0[6,7]
1684 ; SSE41-NEXT: retq
1688 ; AVX1-NEXT: vpxor %xmm1, %xmm1, %xmm1
1689 ; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm1[4,5],xmm0[6,7]
1690 ; AVX1-NEXT: retq
1694 ; AVX2-NEXT: vpxor %xmm1, %xmm1, %xmm1
1695 ; AVX2-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm1[2],xmm0[3]
1696 ; AVX2-NEXT: retq
1704 ; SSE2-NEXT: andps {{.*}}(%rip), %xmm0
1705 ; SSE2-NEXT: retq
1709 ; SSE3-NEXT: andps {{.*}}(%rip), %xmm0
1710 ; SSE3-NEXT: retq
1714 ; SSSE3-NEXT: andps {{.*}}(%rip), %xmm0
1715 ; SSSE3-NEXT: retq
1719 ; SSE41-NEXT: pxor %xmm1, %xmm1
1720 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,5],xmm1[6,7]
1721 ; SSE41-NEXT: retq
1725 ; AVX1-NEXT: vpxor %xmm1, %xmm1, %xmm1
1726 ; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,5],xmm1[6,7]
1727 ; AVX1-NEXT: retq
1731 ; AVX2-NEXT: vpxor %xmm1, %xmm1, %xmm1
1732 ; AVX2-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0,1,2],xmm1[3]
1733 ; AVX2-NEXT: retq
1741 ; SSE2-NEXT: andps {{.*}}(%rip), %xmm0
1742 ; SSE2-NEXT: retq
1746 ; SSE3-NEXT: andps {{.*}}(%rip), %xmm0
1747 ; SSE3-NEXT: retq
1751 ; SSSE3-NEXT: andps {{.*}}(%rip), %xmm0
1752 ; SSSE3-NEXT: retq
1756 ; SSE41-NEXT: pxor %xmm1, %xmm1
1757 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3,4,5],xmm0[6,7]
1758 ; SSE41-NEXT: retq
1762 ; AVX1-NEXT: vpxor %xmm1, %xmm1, %xmm1
1763 ; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3,4,5],xmm0[6,7]
1764 ; AVX1-NEXT: retq
1768 ; AVX2-NEXT: vpxor %xmm1, %xmm1, %xmm1
1769 ; AVX2-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm1[1,2],xmm0[3]
1770 ; AVX2-NEXT: retq
1778 ; SSE-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
1779 ; SSE-NEXT: retq
1783 ; AVX-NEXT: vpunpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
1784 ; AVX-NEXT: retq
1795 ; SSE-NEXT: pshufd {{.*#+}} xmm1 = xmm1[0,0,1,1]
1796 ; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm0[0]
1797 ; SSE-NEXT: movapd %xmm1, %xmm0
1798 ; SSE-NEXT: retq
1802 ; AVX-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[0,0,1,1]
1803 ; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm1[0],xmm0[0]
1804 ; AVX-NEXT: retq
1816 ; SSE-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,0],xmm1[0,1]
1817 ; SSE-NEXT: retq
1821 ; AVX-NEXT: vshufps {{.*#+}} xmm0 = xmm0[0,0],xmm1[0,1]
1822 ; AVX-NEXT: retq
1832 ; SSE2-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,3],xmm0[1,2]
1833 ; SSE2-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,2,3,1]
1834 ; SSE2-NEXT: movaps %xmm1, %xmm0
1835 ; SSE2-NEXT: retq
1839 ; SSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,3],xmm0[1,2]
1840 ; SSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,2,3,1]
1841 ; SSE3-NEXT: movaps %xmm1, %xmm0
1842 ; SSE3-NEXT: retq
1846 ; SSSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,3],xmm0[1,2]
1847 ; SSSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,2,3,1]
1848 ; SSSE3-NEXT: movaps %xmm1, %xmm0
1849 ; SSSE3-NEXT: retq
1853 ; SSE41-NEXT: blendps {{.*#+}} xmm0 = xmm1[0],xmm0[1,2],xmm1[3]
1854 ; SSE41-NEXT: retq
1858 ; AVX-NEXT: vblendps {{.*#+}} xmm0 = xmm1[0],xmm0[1,2],xmm1[3]
1859 ; AVX-NEXT: retq
1872 ; SSE2-NEXT: shufps {{.*#+}} xmm0 = xmm0[3,0],xmm1[2,0]
1873 ; SSE2-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,0]
1874 ; SSE2-NEXT: movaps %xmm1, %xmm0
1875 ; SSE2-NEXT: retq
1879 NEXT: shufps {{.*#+}} xmm0 = xmm0[3,0],xmm1[2,0]
1880 ; SSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,0]
1881 ; SSE3-NEXT: movaps %xmm1, %xmm0
1882 ; SSE3-NEXT: retq
1886 ; SSSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[3,0],xmm1[2,0]
1887 ; SSSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,0]
1888 ; SSSE3-NEXT: movaps %xmm1, %xmm0
1889 ; SSSE3-NEXT: retq
1893 ; SSE41-NEXT: blendps {{.*#+}} xmm0 = xmm1[0,1,2],xmm0[3]
1894 ; SSE41-NEXT: retq
1898 ; AVX-NEXT: vblendps {{.*#+}} xmm0 = xmm1[0,1,2],xmm0[3]
1899 ; AVX-NEXT: retq
1912 ; SSE2-NEXT: shufps {{.*#+}} xmm0 = xmm0[3,0],xmm1[2,0]
1913 ; SSE2-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,0]
1914 ; SSE2-NEXT: movaps %xmm1, %xmm0
1915 ; SSE2-NEXT: retq
1919 ; SSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[3,0],xmm1[2,0]
1920 ; SSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,0]
1921 ; SSE3-NEXT: movaps %xmm1, %xmm0
1922 ; SSE3-NEXT: retq
1926 ; SSSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[3,0],xmm1[2,0]
1927 ; SSSE3-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,0]
1928 ; SSSE3-NEXT: movaps %xmm1, %xmm0
1929 ; SSSE3-NEXT: retq
1933 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm1[0,1,2,3,4,5],xmm0[6,7]
1934 ; SSE41-NEXT: retq
1938 ; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm1[0,1,2,3,4,5],xmm0[6,7]
1939 ; AVX1-NEXT: retq
1943 ; AVX2-NEXT: vpblendd {{.*#+}} xmm0 = xmm1[0,1,2],xmm0[3]
1944 ; AVX2-NEXT: retq
1957 ; SSE2-NEXT: movq {{.*#+}} xmm0 = mem[0],zero
1958 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,1,0,1]
1959 ; SSE2-NEXT: retq
1963 ; SSE3-NEXT: movddup {{.*#+}} xmm0 = mem[0,0]
1964 ; SSE3-NEXT: retq
1968 ; SSSE3-NEXT: movddup {{.*#+}} xmm0 = mem[0,0]
1969 ; SSSE3-NEXT: retq
1973 ; SSE41-NEXT: movddup {{.*#+}} xmm0 = mem[0,0]
1974 ; SSE41-NEXT: retq
1978 ; AVX-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]
1979 ; AVX-NEXT: retq
1988 ; SSE-NEXT: movd %edi, %xmm0
1989 ; SSE-NEXT: retq
1993 ; AVX-NEXT: vmovd %edi, %xmm0
1994 ; AVX-NEXT: retq
2003 ; SSE-NEXT: movd {{.*#+}} xmm0 = mem[0],zero,zero,zero
2004 ; SSE-NEXT: retq
2008 ; AVX-NEXT: vmovd {{.*#+}} xmm0 = mem[0],zero,zero,zero
2009 ; AVX-NEXT: retq
2019 ; SSE2-NEXT: xorps %xmm1, %xmm1
2020 ; SSE2-NEXT: movss {{.*#+}} xmm1 = xmm0[0],xmm1[1,2,3]
2021 ; SSE2-NEXT: movaps %xmm1, %xmm0
2022 ; SSE2-NEXT: retq
2026 ; SSE3-NEXT: xorps %xmm1, %xmm1
2027 ; SSE3-NEXT: movss {{.*#+}} xmm1 = xmm0[0],xmm1[1,2,3]
2028 ; SSE3-NEXT: movaps %xmm1, %xmm0
2029 ; SSE3-NEXT: retq
2033 ; SSSE3-NEXT: xorps %xmm1, %xmm1
2034 ; SSSE3-NEXT: movss {{.*#+}} xmm1 = xmm0[0],xmm1[1,2,3]
2035 ; SSSE3-NEXT: movaps %xmm1, %xmm0
2036 ; SSSE3-NEXT: retq
2040 ; SSE41-NEXT: xorps %xmm1, %xmm1
2041 ; SSE41-NEXT: blendps {{.*#+}} xmm0 = xmm0[0],xmm1[1,2,3]
2042 ; SSE41-NEXT: retq
2046 ; AVX-NEXT: vxorps %xmm1, %xmm1, %xmm1
2047 ; AVX-NEXT: vmovss {{.*#+}} xmm0 = xmm0[0],xmm1[1,2,3]
2048 ; AVX-NEXT: retq
2057 ; SSE-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
2058 ; SSE-NEXT: retq
2062 ; AVX-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
2063 ; AVX-NEXT: retq
2073 ; SSE2-NEXT: movd %rdi, %xmm1
2074 ; SSE2-NEXT: movsd {{.*#+}} xmm0 = xmm1[0],xmm0[1]
2075 ; SSE2-NEXT: retq
2079 ; SSE3-NEXT: movd %rdi, %xmm1
2080 ; SSE3-NEXT: movsd {{.*#+}} xmm0 = xmm1[0],xmm0[1]
2081 ; SSE3-NEXT: retq
2085 ; SSSE3-NEXT: movd %rdi, %xmm1
2086 ; SSSE3-NEXT: movsd {{.*#+}} xmm0 = xmm1[0],xmm0[1]
2087 ; SSSE3-NEXT: retq
2091 ; SSE41-NEXT: movd %rdi, %xmm1
2092 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm1[0,1,2,3],xmm0[4,5,6,7]
2093 ; SSE41-NEXT: retq
2097 ; AVX1-NEXT: vmovq %rdi, %xmm1
2098 ; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm1[0,1,2,3],xmm0[4,5,6,7]
2099 ; AVX1-NEXT: retq
2103 ; AVX2-NEXT: vmovq %rdi, %xmm1
2104 ; AVX2-NEXT: vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]
2105 ; AVX2-NEXT: retq
2115 ; SSE2-NEXT: movlpd {{.*#+}} xmm0 = mem[0],xmm0[1]
2116 ; SSE2-NEXT: retq
2120 ; SSE3-NEXT: movlpd {{.*#+}} xmm0 = mem[0],xmm0[1]
2121 ; SSE3-NEXT: retq
2125 ; SSSE3-NEXT: movlpd {{.*#+}} xmm0 = mem[0],xmm0[1]
2126 ; SSSE3-NEXT: retq
2130 ; SSE41-NEXT: movq {{.*#+}} xmm1 = mem[0],zero
2131 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm1[0,1,2,3],xmm0[4,5,6,7]
2132 ; SSE41-NEXT: retq
2136 ; AVX1-NEXT: vmovq {{.*#+}} xmm1 = mem[0],zero
2137 ; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm1[0,1,2,3],xmm0[4,5,6,7]
2138 ; AVX1-NEXT: retq
2142 ; AVX2-NEXT: vmovq {{.*#+}} xmm1 = mem[0],zero
2143 ; AVX2-NEXT: vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]
2144 ; AVX2-NEXT: retq
2154 ; SSE-NEXT: movd %rdi, %xmm1
2155 ; SSE-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
2156 ; SSE-NEXT: retq
2160 ; AVX-NEXT: vmovq %rdi, %xmm1
2161 ; AVX-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
2162 ; AVX-NEXT: retq
2172 ; SSE-NEXT: movq {{.*#+}} xmm1 = mem[0],zero
2173 ; SSE-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
2174 ; SSE-NEXT: retq
2178 ; AVX-NEXT: vmovq {{.*#+}} xmm1 = mem[0],zero
2179 ; AVX-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
2180 ; AVX-NEXT: retq
2190 ; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]
2191 ; SSE-NEXT: movapd %xmm1, %xmm0
2192 ; SSE-NEXT: retq
2196 ; AVX-NEXT: vmovsd {{.*#+}} xmm0 = xmm0[0],xmm1[1]
2197 ; AVX-NEXT: retq
2207 ; SSE-NEXT: movlpd {{.*#+}} xmm0 = mem[0],xmm0[1]
2208 ; SSE-NEXT: retq
2212 ; AVX-NEXT: vmovlpd {{.*#+}} xmm0 = mem[0],xmm0[1]
2213 ; AVX-NEXT: retq
2223 ; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm0[0]
2224 ; SSE-NEXT: movapd %xmm1, %xmm0
2225 ; SSE-NEXT: retq
2229 ; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm1[0],xmm0[0]
2230 ; AVX-NEXT: retq
2240 ; SSE-NEXT: movhpd {{.*#+}} xmm0 = xmm0[0],mem[0]
2241 ; SSE-NEXT: retq
2245 ; AVX-NEXT: vmovhpd {{.*#+}} xmm0 = xmm0[0],mem[0]
2246 ; AVX-NEXT: retq
2256 ; SSE-NEXT: movaps (%rdi), %xmm0
2257 ; SSE-NEXT: shufps {{.*#+}} xmm0 = xmm0[3,2,1,0]
2258 ; SSE-NEXT: retq
2262 ; AVX-NEXT: vpermilps {{.*#+}} xmm0 = mem[3,2,1,0]
2263 ; AVX-NEXT: retq
2272 ; SSE-NEXT: movd {{.*#+}} xmm0 = mem[0],zero,zero,zero
2273 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]
2274 ; SSE-NEXT: retq
2278 ; AVX-NEXT: vbroadcastss (%rdi), %xmm0
2279 ; AVX-NEXT: retq
2293 ; SSE-NEXT: psllq $32, %xmm0
2294 ; SSE-NEXT: retq
2298 ; AVX-NEXT: vpsllq $32, %xmm0, %xmm0
2299 ; AVX-NEXT: retq
2307 ; SSE-NEXT: psrlq $32, %xmm0
2308 ; SSE-NEXT: retq
2312 ; AVX-NEXT: vpsrlq $32, %xmm0, %xmm0
2313 ; AVX-NEXT: retq