• Home
  • Raw
  • Download

Lines Matching refs:AVX512F

6 …llc < %s -mtriple=i686-unknown-unknown -mattr=+avx512f -O3 | FileCheck %s --check-prefix=AVX512F-32
7 …c < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f -O3 | FileCheck %s --check-prefix=AVX512F-64
46 ; AVX512F-32-LABEL: test_v8f32_oeq_q:
47 ; AVX512F-32: # %bb.0:
48 ; AVX512F-32-NEXT: pushl %ebp
49 ; AVX512F-32-NEXT: movl %esp, %ebp
50 ; AVX512F-32-NEXT: andl $-32, %esp
51 ; AVX512F-32-NEXT: subl $32, %esp
52 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
53 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
54 ; AVX512F-32-NEXT: vcmpeqps 8(%ebp), %ymm2, %ymm2
55 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
56 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
57 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
58 ; AVX512F-32-NEXT: movl %ebp, %esp
59 ; AVX512F-32-NEXT: popl %ebp
60 ; AVX512F-32-NEXT: retl
62 ; AVX512F-64-LABEL: test_v8f32_oeq_q:
63 ; AVX512F-64: # %bb.0:
64 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
65 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
66 ; AVX512F-64-NEXT: vcmpeqps %ymm3, %ymm2, %ymm2
67 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
68 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
69 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
70 ; AVX512F-64-NEXT: retq
116 ; AVX512F-32-LABEL: test_v8f32_ogt_q:
117 ; AVX512F-32: # %bb.0:
118 ; AVX512F-32-NEXT: pushl %ebp
119 ; AVX512F-32-NEXT: movl %esp, %ebp
120 ; AVX512F-32-NEXT: andl $-32, %esp
121 ; AVX512F-32-NEXT: subl $32, %esp
122 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
123 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
124 ; AVX512F-32-NEXT: vmovaps 8(%ebp), %ymm3
125 ; AVX512F-32-NEXT: vcmplt_oqps %ymm2, %ymm3, %ymm2
126 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
127 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
128 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
129 ; AVX512F-32-NEXT: movl %ebp, %esp
130 ; AVX512F-32-NEXT: popl %ebp
131 ; AVX512F-32-NEXT: retl
133 ; AVX512F-64-LABEL: test_v8f32_ogt_q:
134 ; AVX512F-64: # %bb.0:
135 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
136 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
137 ; AVX512F-64-NEXT: vcmplt_oqps %ymm2, %ymm3, %ymm2
138 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
139 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
140 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
141 ; AVX512F-64-NEXT: retq
187 ; AVX512F-32-LABEL: test_v8f32_oge_q:
188 ; AVX512F-32: # %bb.0:
189 ; AVX512F-32-NEXT: pushl %ebp
190 ; AVX512F-32-NEXT: movl %esp, %ebp
191 ; AVX512F-32-NEXT: andl $-32, %esp
192 ; AVX512F-32-NEXT: subl $32, %esp
193 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
194 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
195 ; AVX512F-32-NEXT: vmovaps 8(%ebp), %ymm3
196 ; AVX512F-32-NEXT: vcmple_oqps %ymm2, %ymm3, %ymm2
197 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
198 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
199 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
200 ; AVX512F-32-NEXT: movl %ebp, %esp
201 ; AVX512F-32-NEXT: popl %ebp
202 ; AVX512F-32-NEXT: retl
204 ; AVX512F-64-LABEL: test_v8f32_oge_q:
205 ; AVX512F-64: # %bb.0:
206 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
207 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
208 ; AVX512F-64-NEXT: vcmple_oqps %ymm2, %ymm3, %ymm2
209 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
210 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
211 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
212 ; AVX512F-64-NEXT: retq
257 ; AVX512F-32-LABEL: test_v8f32_olt_q:
258 ; AVX512F-32: # %bb.0:
259 ; AVX512F-32-NEXT: pushl %ebp
260 ; AVX512F-32-NEXT: movl %esp, %ebp
261 ; AVX512F-32-NEXT: andl $-32, %esp
262 ; AVX512F-32-NEXT: subl $32, %esp
263 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
264 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
265 ; AVX512F-32-NEXT: vcmplt_oqps 8(%ebp), %ymm2, %ymm2
266 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
267 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
268 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
269 ; AVX512F-32-NEXT: movl %ebp, %esp
270 ; AVX512F-32-NEXT: popl %ebp
271 ; AVX512F-32-NEXT: retl
273 ; AVX512F-64-LABEL: test_v8f32_olt_q:
274 ; AVX512F-64: # %bb.0:
275 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
276 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
277 ; AVX512F-64-NEXT: vcmplt_oqps %ymm3, %ymm2, %ymm2
278 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
279 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
280 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
281 ; AVX512F-64-NEXT: retq
326 ; AVX512F-32-LABEL: test_v8f32_ole_q:
327 ; AVX512F-32: # %bb.0:
328 ; AVX512F-32-NEXT: pushl %ebp
329 ; AVX512F-32-NEXT: movl %esp, %ebp
330 ; AVX512F-32-NEXT: andl $-32, %esp
331 ; AVX512F-32-NEXT: subl $32, %esp
332 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
333 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
334 ; AVX512F-32-NEXT: vcmple_oqps 8(%ebp), %ymm2, %ymm2
335 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
336 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
337 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
338 ; AVX512F-32-NEXT: movl %ebp, %esp
339 ; AVX512F-32-NEXT: popl %ebp
340 ; AVX512F-32-NEXT: retl
342 ; AVX512F-64-LABEL: test_v8f32_ole_q:
343 ; AVX512F-64: # %bb.0:
344 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
345 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
346 ; AVX512F-64-NEXT: vcmple_oqps %ymm3, %ymm2, %ymm2
347 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
348 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
349 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
350 ; AVX512F-64-NEXT: retq
395 ; AVX512F-32-LABEL: test_v8f32_one_q:
396 ; AVX512F-32: # %bb.0:
397 ; AVX512F-32-NEXT: pushl %ebp
398 ; AVX512F-32-NEXT: movl %esp, %ebp
399 ; AVX512F-32-NEXT: andl $-32, %esp
400 ; AVX512F-32-NEXT: subl $32, %esp
401 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
402 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
403 ; AVX512F-32-NEXT: vcmpneq_oqps 8(%ebp), %ymm2, %ymm2
404 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
405 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
406 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
407 ; AVX512F-32-NEXT: movl %ebp, %esp
408 ; AVX512F-32-NEXT: popl %ebp
409 ; AVX512F-32-NEXT: retl
411 ; AVX512F-64-LABEL: test_v8f32_one_q:
412 ; AVX512F-64: # %bb.0:
413 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
414 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
415 ; AVX512F-64-NEXT: vcmpneq_oqps %ymm3, %ymm2, %ymm2
416 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
417 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
418 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
419 ; AVX512F-64-NEXT: retq
464 ; AVX512F-32-LABEL: test_v8f32_ord_q:
465 ; AVX512F-32: # %bb.0:
466 ; AVX512F-32-NEXT: pushl %ebp
467 ; AVX512F-32-NEXT: movl %esp, %ebp
468 ; AVX512F-32-NEXT: andl $-32, %esp
469 ; AVX512F-32-NEXT: subl $32, %esp
470 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
471 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
472 ; AVX512F-32-NEXT: vcmpordps 8(%ebp), %ymm2, %ymm2
473 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
474 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
475 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
476 ; AVX512F-32-NEXT: movl %ebp, %esp
477 ; AVX512F-32-NEXT: popl %ebp
478 ; AVX512F-32-NEXT: retl
480 ; AVX512F-64-LABEL: test_v8f32_ord_q:
481 ; AVX512F-64: # %bb.0:
482 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
483 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
484 ; AVX512F-64-NEXT: vcmpordps %ymm3, %ymm2, %ymm2
485 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
486 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
487 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
488 ; AVX512F-64-NEXT: retq
533 ; AVX512F-32-LABEL: test_v8f32_ueq_q:
534 ; AVX512F-32: # %bb.0:
535 ; AVX512F-32-NEXT: pushl %ebp
536 ; AVX512F-32-NEXT: movl %esp, %ebp
537 ; AVX512F-32-NEXT: andl $-32, %esp
538 ; AVX512F-32-NEXT: subl $32, %esp
539 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
540 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
541 ; AVX512F-32-NEXT: vcmpeq_uqps 8(%ebp), %ymm2, %ymm2
542 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
543 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
544 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
545 ; AVX512F-32-NEXT: movl %ebp, %esp
546 ; AVX512F-32-NEXT: popl %ebp
547 ; AVX512F-32-NEXT: retl
549 ; AVX512F-64-LABEL: test_v8f32_ueq_q:
550 ; AVX512F-64: # %bb.0:
551 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
552 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
553 ; AVX512F-64-NEXT: vcmpeq_uqps %ymm3, %ymm2, %ymm2
554 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
555 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
556 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
557 ; AVX512F-64-NEXT: retq
602 ; AVX512F-32-LABEL: test_v8f32_ugt_q:
603 ; AVX512F-32: # %bb.0:
604 ; AVX512F-32-NEXT: pushl %ebp
605 ; AVX512F-32-NEXT: movl %esp, %ebp
606 ; AVX512F-32-NEXT: andl $-32, %esp
607 ; AVX512F-32-NEXT: subl $32, %esp
608 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
609 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
610 ; AVX512F-32-NEXT: vcmpnle_uqps 8(%ebp), %ymm2, %ymm2
611 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
612 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
613 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
614 ; AVX512F-32-NEXT: movl %ebp, %esp
615 ; AVX512F-32-NEXT: popl %ebp
616 ; AVX512F-32-NEXT: retl
618 ; AVX512F-64-LABEL: test_v8f32_ugt_q:
619 ; AVX512F-64: # %bb.0:
620 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
621 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
622 ; AVX512F-64-NEXT: vcmpnle_uqps %ymm3, %ymm2, %ymm2
623 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
624 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
625 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
626 ; AVX512F-64-NEXT: retq
671 ; AVX512F-32-LABEL: test_v8f32_uge_q:
672 ; AVX512F-32: # %bb.0:
673 ; AVX512F-32-NEXT: pushl %ebp
674 ; AVX512F-32-NEXT: movl %esp, %ebp
675 ; AVX512F-32-NEXT: andl $-32, %esp
676 ; AVX512F-32-NEXT: subl $32, %esp
677 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
678 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
679 ; AVX512F-32-NEXT: vcmpnlt_uqps 8(%ebp), %ymm2, %ymm2
680 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
681 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
682 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
683 ; AVX512F-32-NEXT: movl %ebp, %esp
684 ; AVX512F-32-NEXT: popl %ebp
685 ; AVX512F-32-NEXT: retl
687 ; AVX512F-64-LABEL: test_v8f32_uge_q:
688 ; AVX512F-64: # %bb.0:
689 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
690 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
691 ; AVX512F-64-NEXT: vcmpnlt_uqps %ymm3, %ymm2, %ymm2
692 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
693 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
694 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
695 ; AVX512F-64-NEXT: retq
741 ; AVX512F-32-LABEL: test_v8f32_ult_q:
742 ; AVX512F-32: # %bb.0:
743 ; AVX512F-32-NEXT: pushl %ebp
744 ; AVX512F-32-NEXT: movl %esp, %ebp
745 ; AVX512F-32-NEXT: andl $-32, %esp
746 ; AVX512F-32-NEXT: subl $32, %esp
747 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
748 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
749 ; AVX512F-32-NEXT: vmovaps 8(%ebp), %ymm3
750 ; AVX512F-32-NEXT: vcmpnle_uqps %ymm2, %ymm3, %ymm2
751 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
752 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
753 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
754 ; AVX512F-32-NEXT: movl %ebp, %esp
755 ; AVX512F-32-NEXT: popl %ebp
756 ; AVX512F-32-NEXT: retl
758 ; AVX512F-64-LABEL: test_v8f32_ult_q:
759 ; AVX512F-64: # %bb.0:
760 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
761 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
762 ; AVX512F-64-NEXT: vcmpnle_uqps %ymm2, %ymm3, %ymm2
763 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
764 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
765 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
766 ; AVX512F-64-NEXT: retq
812 ; AVX512F-32-LABEL: test_v8f32_ule_q:
813 ; AVX512F-32: # %bb.0:
814 ; AVX512F-32-NEXT: pushl %ebp
815 ; AVX512F-32-NEXT: movl %esp, %ebp
816 ; AVX512F-32-NEXT: andl $-32, %esp
817 ; AVX512F-32-NEXT: subl $32, %esp
818 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
819 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
820 ; AVX512F-32-NEXT: vmovaps 8(%ebp), %ymm3
821 ; AVX512F-32-NEXT: vcmpnlt_uqps %ymm2, %ymm3, %ymm2
822 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
823 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
824 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
825 ; AVX512F-32-NEXT: movl %ebp, %esp
826 ; AVX512F-32-NEXT: popl %ebp
827 ; AVX512F-32-NEXT: retl
829 ; AVX512F-64-LABEL: test_v8f32_ule_q:
830 ; AVX512F-64: # %bb.0:
831 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
832 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
833 ; AVX512F-64-NEXT: vcmpnlt_uqps %ymm2, %ymm3, %ymm2
834 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
835 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
836 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
837 ; AVX512F-64-NEXT: retq
882 ; AVX512F-32-LABEL: test_v8f32_une_q:
883 ; AVX512F-32: # %bb.0:
884 ; AVX512F-32-NEXT: pushl %ebp
885 ; AVX512F-32-NEXT: movl %esp, %ebp
886 ; AVX512F-32-NEXT: andl $-32, %esp
887 ; AVX512F-32-NEXT: subl $32, %esp
888 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
889 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
890 ; AVX512F-32-NEXT: vcmpneqps 8(%ebp), %ymm2, %ymm2
891 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
892 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
893 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
894 ; AVX512F-32-NEXT: movl %ebp, %esp
895 ; AVX512F-32-NEXT: popl %ebp
896 ; AVX512F-32-NEXT: retl
898 ; AVX512F-64-LABEL: test_v8f32_une_q:
899 ; AVX512F-64: # %bb.0:
900 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
901 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
902 ; AVX512F-64-NEXT: vcmpneqps %ymm3, %ymm2, %ymm2
903 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
904 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
905 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
906 ; AVX512F-64-NEXT: retq
951 ; AVX512F-32-LABEL: test_v8f32_uno_q:
952 ; AVX512F-32: # %bb.0:
953 ; AVX512F-32-NEXT: pushl %ebp
954 ; AVX512F-32-NEXT: movl %esp, %ebp
955 ; AVX512F-32-NEXT: andl $-32, %esp
956 ; AVX512F-32-NEXT: subl $32, %esp
957 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
958 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
959 ; AVX512F-32-NEXT: vcmpunordps 8(%ebp), %ymm2, %ymm2
960 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
961 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
962 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
963 ; AVX512F-32-NEXT: movl %ebp, %esp
964 ; AVX512F-32-NEXT: popl %ebp
965 ; AVX512F-32-NEXT: retl
967 ; AVX512F-64-LABEL: test_v8f32_uno_q:
968 ; AVX512F-64: # %bb.0:
969 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
970 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
971 ; AVX512F-64-NEXT: vcmpunordps %ymm3, %ymm2, %ymm2
972 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
973 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
974 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
975 ; AVX512F-64-NEXT: retq
1020 ; AVX512F-32-LABEL: test_v4f64_oeq_q:
1021 ; AVX512F-32: # %bb.0:
1022 ; AVX512F-32-NEXT: pushl %ebp
1023 ; AVX512F-32-NEXT: movl %esp, %ebp
1024 ; AVX512F-32-NEXT: andl $-32, %esp
1025 ; AVX512F-32-NEXT: subl $32, %esp
1026 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
1027 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
1028 ; AVX512F-32-NEXT: vcmpeqpd 8(%ebp), %ymm2, %ymm2
1029 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
1030 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
1031 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
1032 ; AVX512F-32-NEXT: movl %ebp, %esp
1033 ; AVX512F-32-NEXT: popl %ebp
1034 ; AVX512F-32-NEXT: retl
1036 ; AVX512F-64-LABEL: test_v4f64_oeq_q:
1037 ; AVX512F-64: # %bb.0:
1038 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
1039 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
1040 ; AVX512F-64-NEXT: vcmpeqpd %ymm3, %ymm2, %ymm2
1041 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
1042 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
1043 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
1044 ; AVX512F-64-NEXT: retq
1090 ; AVX512F-32-LABEL: test_v4f64_ogt_q:
1091 ; AVX512F-32: # %bb.0:
1092 ; AVX512F-32-NEXT: pushl %ebp
1093 ; AVX512F-32-NEXT: movl %esp, %ebp
1094 ; AVX512F-32-NEXT: andl $-32, %esp
1095 ; AVX512F-32-NEXT: subl $32, %esp
1096 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
1097 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
1098 ; AVX512F-32-NEXT: vmovapd 8(%ebp), %ymm3
1099 ; AVX512F-32-NEXT: vcmplt_oqpd %ymm2, %ymm3, %ymm2
1100 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
1101 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
1102 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
1103 ; AVX512F-32-NEXT: movl %ebp, %esp
1104 ; AVX512F-32-NEXT: popl %ebp
1105 ; AVX512F-32-NEXT: retl
1107 ; AVX512F-64-LABEL: test_v4f64_ogt_q:
1108 ; AVX512F-64: # %bb.0:
1109 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
1110 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
1111 ; AVX512F-64-NEXT: vcmplt_oqpd %ymm2, %ymm3, %ymm2
1112 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
1113 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
1114 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
1115 ; AVX512F-64-NEXT: retq
1161 ; AVX512F-32-LABEL: test_v4f64_oge_q:
1162 ; AVX512F-32: # %bb.0:
1163 ; AVX512F-32-NEXT: pushl %ebp
1164 ; AVX512F-32-NEXT: movl %esp, %ebp
1165 ; AVX512F-32-NEXT: andl $-32, %esp
1166 ; AVX512F-32-NEXT: subl $32, %esp
1167 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
1168 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
1169 ; AVX512F-32-NEXT: vmovapd 8(%ebp), %ymm3
1170 ; AVX512F-32-NEXT: vcmple_oqpd %ymm2, %ymm3, %ymm2
1171 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
1172 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
1173 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
1174 ; AVX512F-32-NEXT: movl %ebp, %esp
1175 ; AVX512F-32-NEXT: popl %ebp
1176 ; AVX512F-32-NEXT: retl
1178 ; AVX512F-64-LABEL: test_v4f64_oge_q:
1179 ; AVX512F-64: # %bb.0:
1180 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
1181 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
1182 ; AVX512F-64-NEXT: vcmple_oqpd %ymm2, %ymm3, %ymm2
1183 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
1184 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
1185 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
1186 ; AVX512F-64-NEXT: retq
1231 ; AVX512F-32-LABEL: test_v4f64_olt_q:
1232 ; AVX512F-32: # %bb.0:
1233 ; AVX512F-32-NEXT: pushl %ebp
1234 ; AVX512F-32-NEXT: movl %esp, %ebp
1235 ; AVX512F-32-NEXT: andl $-32, %esp
1236 ; AVX512F-32-NEXT: subl $32, %esp
1237 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
1238 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
1239 ; AVX512F-32-NEXT: vcmplt_oqpd 8(%ebp), %ymm2, %ymm2
1240 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
1241 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
1242 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
1243 ; AVX512F-32-NEXT: movl %ebp, %esp
1244 ; AVX512F-32-NEXT: popl %ebp
1245 ; AVX512F-32-NEXT: retl
1247 ; AVX512F-64-LABEL: test_v4f64_olt_q:
1248 ; AVX512F-64: # %bb.0:
1249 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
1250 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
1251 ; AVX512F-64-NEXT: vcmplt_oqpd %ymm3, %ymm2, %ymm2
1252 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
1253 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
1254 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
1255 ; AVX512F-64-NEXT: retq
1300 ; AVX512F-32-LABEL: test_v4f64_ole_q:
1301 ; AVX512F-32: # %bb.0:
1302 ; AVX512F-32-NEXT: pushl %ebp
1303 ; AVX512F-32-NEXT: movl %esp, %ebp
1304 ; AVX512F-32-NEXT: andl $-32, %esp
1305 ; AVX512F-32-NEXT: subl $32, %esp
1306 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
1307 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
1308 ; AVX512F-32-NEXT: vcmple_oqpd 8(%ebp), %ymm2, %ymm2
1309 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
1310 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
1311 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
1312 ; AVX512F-32-NEXT: movl %ebp, %esp
1313 ; AVX512F-32-NEXT: popl %ebp
1314 ; AVX512F-32-NEXT: retl
1316 ; AVX512F-64-LABEL: test_v4f64_ole_q:
1317 ; AVX512F-64: # %bb.0:
1318 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
1319 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
1320 ; AVX512F-64-NEXT: vcmple_oqpd %ymm3, %ymm2, %ymm2
1321 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
1322 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
1323 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
1324 ; AVX512F-64-NEXT: retq
1369 ; AVX512F-32-LABEL: test_v4f64_one_q:
1370 ; AVX512F-32: # %bb.0:
1371 ; AVX512F-32-NEXT: pushl %ebp
1372 ; AVX512F-32-NEXT: movl %esp, %ebp
1373 ; AVX512F-32-NEXT: andl $-32, %esp
1374 ; AVX512F-32-NEXT: subl $32, %esp
1375 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
1376 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
1377 ; AVX512F-32-NEXT: vcmpneq_oqpd 8(%ebp), %ymm2, %ymm2
1378 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
1379 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
1380 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
1381 ; AVX512F-32-NEXT: movl %ebp, %esp
1382 ; AVX512F-32-NEXT: popl %ebp
1383 ; AVX512F-32-NEXT: retl
1385 ; AVX512F-64-LABEL: test_v4f64_one_q:
1386 ; AVX512F-64: # %bb.0:
1387 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
1388 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
1389 ; AVX512F-64-NEXT: vcmpneq_oqpd %ymm3, %ymm2, %ymm2
1390 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
1391 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
1392 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
1393 ; AVX512F-64-NEXT: retq
1438 ; AVX512F-32-LABEL: test_v4f64_ord_q:
1439 ; AVX512F-32: # %bb.0:
1440 ; AVX512F-32-NEXT: pushl %ebp
1441 ; AVX512F-32-NEXT: movl %esp, %ebp
1442 ; AVX512F-32-NEXT: andl $-32, %esp
1443 ; AVX512F-32-NEXT: subl $32, %esp
1444 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
1445 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
1446 ; AVX512F-32-NEXT: vcmpordpd 8(%ebp), %ymm2, %ymm2
1447 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
1448 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
1449 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
1450 ; AVX512F-32-NEXT: movl %ebp, %esp
1451 ; AVX512F-32-NEXT: popl %ebp
1452 ; AVX512F-32-NEXT: retl
1454 ; AVX512F-64-LABEL: test_v4f64_ord_q:
1455 ; AVX512F-64: # %bb.0:
1456 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
1457 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
1458 ; AVX512F-64-NEXT: vcmpordpd %ymm3, %ymm2, %ymm2
1459 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
1460 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
1461 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
1462 ; AVX512F-64-NEXT: retq
1507 ; AVX512F-32-LABEL: test_v4f64_ueq_q:
1508 ; AVX512F-32: # %bb.0:
1509 ; AVX512F-32-NEXT: pushl %ebp
1510 ; AVX512F-32-NEXT: movl %esp, %ebp
1511 ; AVX512F-32-NEXT: andl $-32, %esp
1512 ; AVX512F-32-NEXT: subl $32, %esp
1513 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
1514 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
1515 ; AVX512F-32-NEXT: vcmpeq_uqpd 8(%ebp), %ymm2, %ymm2
1516 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
1517 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
1518 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
1519 ; AVX512F-32-NEXT: movl %ebp, %esp
1520 ; AVX512F-32-NEXT: popl %ebp
1521 ; AVX512F-32-NEXT: retl
1523 ; AVX512F-64-LABEL: test_v4f64_ueq_q:
1524 ; AVX512F-64: # %bb.0:
1525 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
1526 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
1527 ; AVX512F-64-NEXT: vcmpeq_uqpd %ymm3, %ymm2, %ymm2
1528 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
1529 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
1530 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
1531 ; AVX512F-64-NEXT: retq
1576 ; AVX512F-32-LABEL: test_v4f64_ugt_q:
1577 ; AVX512F-32: # %bb.0:
1578 ; AVX512F-32-NEXT: pushl %ebp
1579 ; AVX512F-32-NEXT: movl %esp, %ebp
1580 ; AVX512F-32-NEXT: andl $-32, %esp
1581 ; AVX512F-32-NEXT: subl $32, %esp
1582 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
1583 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
1584 ; AVX512F-32-NEXT: vcmpnle_uqpd 8(%ebp), %ymm2, %ymm2
1585 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
1586 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
1587 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
1588 ; AVX512F-32-NEXT: movl %ebp, %esp
1589 ; AVX512F-32-NEXT: popl %ebp
1590 ; AVX512F-32-NEXT: retl
1592 ; AVX512F-64-LABEL: test_v4f64_ugt_q:
1593 ; AVX512F-64: # %bb.0:
1594 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
1595 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
1596 ; AVX512F-64-NEXT: vcmpnle_uqpd %ymm3, %ymm2, %ymm2
1597 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
1598 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
1599 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
1600 ; AVX512F-64-NEXT: retq
1645 ; AVX512F-32-LABEL: test_v4f64_uge_q:
1646 ; AVX512F-32: # %bb.0:
1647 ; AVX512F-32-NEXT: pushl %ebp
1648 ; AVX512F-32-NEXT: movl %esp, %ebp
1649 ; AVX512F-32-NEXT: andl $-32, %esp
1650 ; AVX512F-32-NEXT: subl $32, %esp
1651 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
1652 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
1653 ; AVX512F-32-NEXT: vcmpnlt_uqpd 8(%ebp), %ymm2, %ymm2
1654 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
1655 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
1656 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
1657 ; AVX512F-32-NEXT: movl %ebp, %esp
1658 ; AVX512F-32-NEXT: popl %ebp
1659 ; AVX512F-32-NEXT: retl
1661 ; AVX512F-64-LABEL: test_v4f64_uge_q:
1662 ; AVX512F-64: # %bb.0:
1663 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
1664 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
1665 ; AVX512F-64-NEXT: vcmpnlt_uqpd %ymm3, %ymm2, %ymm2
1666 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
1667 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
1668 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
1669 ; AVX512F-64-NEXT: retq
1715 ; AVX512F-32-LABEL: test_v4f64_ult_q:
1716 ; AVX512F-32: # %bb.0:
1717 ; AVX512F-32-NEXT: pushl %ebp
1718 ; AVX512F-32-NEXT: movl %esp, %ebp
1719 ; AVX512F-32-NEXT: andl $-32, %esp
1720 ; AVX512F-32-NEXT: subl $32, %esp
1721 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
1722 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
1723 ; AVX512F-32-NEXT: vmovapd 8(%ebp), %ymm3
1724 ; AVX512F-32-NEXT: vcmpnle_uqpd %ymm2, %ymm3, %ymm2
1725 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
1726 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
1727 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
1728 ; AVX512F-32-NEXT: movl %ebp, %esp
1729 ; AVX512F-32-NEXT: popl %ebp
1730 ; AVX512F-32-NEXT: retl
1732 ; AVX512F-64-LABEL: test_v4f64_ult_q:
1733 ; AVX512F-64: # %bb.0:
1734 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
1735 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
1736 ; AVX512F-64-NEXT: vcmpnle_uqpd %ymm2, %ymm3, %ymm2
1737 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
1738 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
1739 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
1740 ; AVX512F-64-NEXT: retq
1786 ; AVX512F-32-LABEL: test_v4f64_ule_q:
1787 ; AVX512F-32: # %bb.0:
1788 ; AVX512F-32-NEXT: pushl %ebp
1789 ; AVX512F-32-NEXT: movl %esp, %ebp
1790 ; AVX512F-32-NEXT: andl $-32, %esp
1791 ; AVX512F-32-NEXT: subl $32, %esp
1792 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
1793 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
1794 ; AVX512F-32-NEXT: vmovapd 8(%ebp), %ymm3
1795 ; AVX512F-32-NEXT: vcmpnlt_uqpd %ymm2, %ymm3, %ymm2
1796 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
1797 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
1798 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
1799 ; AVX512F-32-NEXT: movl %ebp, %esp
1800 ; AVX512F-32-NEXT: popl %ebp
1801 ; AVX512F-32-NEXT: retl
1803 ; AVX512F-64-LABEL: test_v4f64_ule_q:
1804 ; AVX512F-64: # %bb.0:
1805 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
1806 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
1807 ; AVX512F-64-NEXT: vcmpnlt_uqpd %ymm2, %ymm3, %ymm2
1808 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
1809 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
1810 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
1811 ; AVX512F-64-NEXT: retq
1856 ; AVX512F-32-LABEL: test_v4f64_une_q:
1857 ; AVX512F-32: # %bb.0:
1858 ; AVX512F-32-NEXT: pushl %ebp
1859 ; AVX512F-32-NEXT: movl %esp, %ebp
1860 ; AVX512F-32-NEXT: andl $-32, %esp
1861 ; AVX512F-32-NEXT: subl $32, %esp
1862 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
1863 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
1864 ; AVX512F-32-NEXT: vcmpneqpd 8(%ebp), %ymm2, %ymm2
1865 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
1866 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
1867 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
1868 ; AVX512F-32-NEXT: movl %ebp, %esp
1869 ; AVX512F-32-NEXT: popl %ebp
1870 ; AVX512F-32-NEXT: retl
1872 ; AVX512F-64-LABEL: test_v4f64_une_q:
1873 ; AVX512F-64: # %bb.0:
1874 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
1875 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
1876 ; AVX512F-64-NEXT: vcmpneqpd %ymm3, %ymm2, %ymm2
1877 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
1878 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
1879 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
1880 ; AVX512F-64-NEXT: retq
1925 ; AVX512F-32-LABEL: test_v4f64_uno_q:
1926 ; AVX512F-32: # %bb.0:
1927 ; AVX512F-32-NEXT: pushl %ebp
1928 ; AVX512F-32-NEXT: movl %esp, %ebp
1929 ; AVX512F-32-NEXT: andl $-32, %esp
1930 ; AVX512F-32-NEXT: subl $32, %esp
1931 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
1932 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
1933 ; AVX512F-32-NEXT: vcmpunordpd 8(%ebp), %ymm2, %ymm2
1934 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
1935 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
1936 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
1937 ; AVX512F-32-NEXT: movl %ebp, %esp
1938 ; AVX512F-32-NEXT: popl %ebp
1939 ; AVX512F-32-NEXT: retl
1941 ; AVX512F-64-LABEL: test_v4f64_uno_q:
1942 ; AVX512F-64: # %bb.0:
1943 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
1944 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
1945 ; AVX512F-64-NEXT: vcmpunordpd %ymm3, %ymm2, %ymm2
1946 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
1947 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
1948 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
1949 ; AVX512F-64-NEXT: retq
1994 ; AVX512F-32-LABEL: test_v8f32_oeq_s:
1995 ; AVX512F-32: # %bb.0:
1996 ; AVX512F-32-NEXT: pushl %ebp
1997 ; AVX512F-32-NEXT: movl %esp, %ebp
1998 ; AVX512F-32-NEXT: andl $-32, %esp
1999 ; AVX512F-32-NEXT: subl $32, %esp
2000 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
2001 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
2002 ; AVX512F-32-NEXT: vcmpeq_osps 8(%ebp), %ymm2, %ymm2
2003 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
2004 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
2005 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
2006 ; AVX512F-32-NEXT: movl %ebp, %esp
2007 ; AVX512F-32-NEXT: popl %ebp
2008 ; AVX512F-32-NEXT: retl
2010 ; AVX512F-64-LABEL: test_v8f32_oeq_s:
2011 ; AVX512F-64: # %bb.0:
2012 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
2013 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
2014 ; AVX512F-64-NEXT: vcmpeq_osps %ymm3, %ymm2, %ymm2
2015 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
2016 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
2017 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
2018 ; AVX512F-64-NEXT: retq
2064 ; AVX512F-32-LABEL: test_v8f32_ogt_s:
2065 ; AVX512F-32: # %bb.0:
2066 ; AVX512F-32-NEXT: pushl %ebp
2067 ; AVX512F-32-NEXT: movl %esp, %ebp
2068 ; AVX512F-32-NEXT: andl $-32, %esp
2069 ; AVX512F-32-NEXT: subl $32, %esp
2070 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
2071 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
2072 ; AVX512F-32-NEXT: vmovaps 8(%ebp), %ymm3
2073 ; AVX512F-32-NEXT: vcmpltps %ymm2, %ymm3, %ymm2
2074 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
2075 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
2076 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
2077 ; AVX512F-32-NEXT: movl %ebp, %esp
2078 ; AVX512F-32-NEXT: popl %ebp
2079 ; AVX512F-32-NEXT: retl
2081 ; AVX512F-64-LABEL: test_v8f32_ogt_s:
2082 ; AVX512F-64: # %bb.0:
2083 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
2084 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
2085 ; AVX512F-64-NEXT: vcmpltps %ymm2, %ymm3, %ymm2
2086 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
2087 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
2088 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
2089 ; AVX512F-64-NEXT: retq
2135 ; AVX512F-32-LABEL: test_v8f32_oge_s:
2136 ; AVX512F-32: # %bb.0:
2137 ; AVX512F-32-NEXT: pushl %ebp
2138 ; AVX512F-32-NEXT: movl %esp, %ebp
2139 ; AVX512F-32-NEXT: andl $-32, %esp
2140 ; AVX512F-32-NEXT: subl $32, %esp
2141 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
2142 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
2143 ; AVX512F-32-NEXT: vmovaps 8(%ebp), %ymm3
2144 ; AVX512F-32-NEXT: vcmpleps %ymm2, %ymm3, %ymm2
2145 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
2146 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
2147 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
2148 ; AVX512F-32-NEXT: movl %ebp, %esp
2149 ; AVX512F-32-NEXT: popl %ebp
2150 ; AVX512F-32-NEXT: retl
2152 ; AVX512F-64-LABEL: test_v8f32_oge_s:
2153 ; AVX512F-64: # %bb.0:
2154 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
2155 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
2156 ; AVX512F-64-NEXT: vcmpleps %ymm2, %ymm3, %ymm2
2157 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
2158 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
2159 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
2160 ; AVX512F-64-NEXT: retq
2205 ; AVX512F-32-LABEL: test_v8f32_olt_s:
2206 ; AVX512F-32: # %bb.0:
2207 ; AVX512F-32-NEXT: pushl %ebp
2208 ; AVX512F-32-NEXT: movl %esp, %ebp
2209 ; AVX512F-32-NEXT: andl $-32, %esp
2210 ; AVX512F-32-NEXT: subl $32, %esp
2211 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
2212 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
2213 ; AVX512F-32-NEXT: vcmpltps 8(%ebp), %ymm2, %ymm2
2214 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
2215 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
2216 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
2217 ; AVX512F-32-NEXT: movl %ebp, %esp
2218 ; AVX512F-32-NEXT: popl %ebp
2219 ; AVX512F-32-NEXT: retl
2221 ; AVX512F-64-LABEL: test_v8f32_olt_s:
2222 ; AVX512F-64: # %bb.0:
2223 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
2224 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
2225 ; AVX512F-64-NEXT: vcmpltps %ymm3, %ymm2, %ymm2
2226 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
2227 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
2228 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
2229 ; AVX512F-64-NEXT: retq
2274 ; AVX512F-32-LABEL: test_v8f32_ole_s:
2275 ; AVX512F-32: # %bb.0:
2276 ; AVX512F-32-NEXT: pushl %ebp
2277 ; AVX512F-32-NEXT: movl %esp, %ebp
2278 ; AVX512F-32-NEXT: andl $-32, %esp
2279 ; AVX512F-32-NEXT: subl $32, %esp
2280 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
2281 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
2282 ; AVX512F-32-NEXT: vcmpleps 8(%ebp), %ymm2, %ymm2
2283 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
2284 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
2285 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
2286 ; AVX512F-32-NEXT: movl %ebp, %esp
2287 ; AVX512F-32-NEXT: popl %ebp
2288 ; AVX512F-32-NEXT: retl
2290 ; AVX512F-64-LABEL: test_v8f32_ole_s:
2291 ; AVX512F-64: # %bb.0:
2292 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
2293 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
2294 ; AVX512F-64-NEXT: vcmpleps %ymm3, %ymm2, %ymm2
2295 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
2296 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
2297 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
2298 ; AVX512F-64-NEXT: retq
2343 ; AVX512F-32-LABEL: test_v8f32_one_s:
2344 ; AVX512F-32: # %bb.0:
2345 ; AVX512F-32-NEXT: pushl %ebp
2346 ; AVX512F-32-NEXT: movl %esp, %ebp
2347 ; AVX512F-32-NEXT: andl $-32, %esp
2348 ; AVX512F-32-NEXT: subl $32, %esp
2349 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
2350 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
2351 ; AVX512F-32-NEXT: vcmpneq_osps 8(%ebp), %ymm2, %ymm2
2352 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
2353 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
2354 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
2355 ; AVX512F-32-NEXT: movl %ebp, %esp
2356 ; AVX512F-32-NEXT: popl %ebp
2357 ; AVX512F-32-NEXT: retl
2359 ; AVX512F-64-LABEL: test_v8f32_one_s:
2360 ; AVX512F-64: # %bb.0:
2361 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
2362 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
2363 ; AVX512F-64-NEXT: vcmpneq_osps %ymm3, %ymm2, %ymm2
2364 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
2365 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
2366 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
2367 ; AVX512F-64-NEXT: retq
2412 ; AVX512F-32-LABEL: test_v8f32_ord_s:
2413 ; AVX512F-32: # %bb.0:
2414 ; AVX512F-32-NEXT: pushl %ebp
2415 ; AVX512F-32-NEXT: movl %esp, %ebp
2416 ; AVX512F-32-NEXT: andl $-32, %esp
2417 ; AVX512F-32-NEXT: subl $32, %esp
2418 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
2419 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
2420 ; AVX512F-32-NEXT: vcmpord_sps 8(%ebp), %ymm2, %ymm2
2421 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
2422 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
2423 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
2424 ; AVX512F-32-NEXT: movl %ebp, %esp
2425 ; AVX512F-32-NEXT: popl %ebp
2426 ; AVX512F-32-NEXT: retl
2428 ; AVX512F-64-LABEL: test_v8f32_ord_s:
2429 ; AVX512F-64: # %bb.0:
2430 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
2431 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
2432 ; AVX512F-64-NEXT: vcmpord_sps %ymm3, %ymm2, %ymm2
2433 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
2434 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
2435 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
2436 ; AVX512F-64-NEXT: retq
2481 ; AVX512F-32-LABEL: test_v8f32_ueq_s:
2482 ; AVX512F-32: # %bb.0:
2483 ; AVX512F-32-NEXT: pushl %ebp
2484 ; AVX512F-32-NEXT: movl %esp, %ebp
2485 ; AVX512F-32-NEXT: andl $-32, %esp
2486 ; AVX512F-32-NEXT: subl $32, %esp
2487 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
2488 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
2489 ; AVX512F-32-NEXT: vcmpeq_usps 8(%ebp), %ymm2, %ymm2
2490 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
2491 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
2492 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
2493 ; AVX512F-32-NEXT: movl %ebp, %esp
2494 ; AVX512F-32-NEXT: popl %ebp
2495 ; AVX512F-32-NEXT: retl
2497 ; AVX512F-64-LABEL: test_v8f32_ueq_s:
2498 ; AVX512F-64: # %bb.0:
2499 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
2500 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
2501 ; AVX512F-64-NEXT: vcmpeq_usps %ymm3, %ymm2, %ymm2
2502 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
2503 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
2504 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
2505 ; AVX512F-64-NEXT: retq
2550 ; AVX512F-32-LABEL: test_v8f32_ugt_s:
2551 ; AVX512F-32: # %bb.0:
2552 ; AVX512F-32-NEXT: pushl %ebp
2553 ; AVX512F-32-NEXT: movl %esp, %ebp
2554 ; AVX512F-32-NEXT: andl $-32, %esp
2555 ; AVX512F-32-NEXT: subl $32, %esp
2556 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
2557 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
2558 ; AVX512F-32-NEXT: vcmpnleps 8(%ebp), %ymm2, %ymm2
2559 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
2560 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
2561 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
2562 ; AVX512F-32-NEXT: movl %ebp, %esp
2563 ; AVX512F-32-NEXT: popl %ebp
2564 ; AVX512F-32-NEXT: retl
2566 ; AVX512F-64-LABEL: test_v8f32_ugt_s:
2567 ; AVX512F-64: # %bb.0:
2568 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
2569 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
2570 ; AVX512F-64-NEXT: vcmpnleps %ymm3, %ymm2, %ymm2
2571 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
2572 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
2573 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
2574 ; AVX512F-64-NEXT: retq
2619 ; AVX512F-32-LABEL: test_v8f32_uge_s:
2620 ; AVX512F-32: # %bb.0:
2621 ; AVX512F-32-NEXT: pushl %ebp
2622 ; AVX512F-32-NEXT: movl %esp, %ebp
2623 ; AVX512F-32-NEXT: andl $-32, %esp
2624 ; AVX512F-32-NEXT: subl $32, %esp
2625 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
2626 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
2627 ; AVX512F-32-NEXT: vcmpnltps 8(%ebp), %ymm2, %ymm2
2628 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
2629 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
2630 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
2631 ; AVX512F-32-NEXT: movl %ebp, %esp
2632 ; AVX512F-32-NEXT: popl %ebp
2633 ; AVX512F-32-NEXT: retl
2635 ; AVX512F-64-LABEL: test_v8f32_uge_s:
2636 ; AVX512F-64: # %bb.0:
2637 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
2638 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
2639 ; AVX512F-64-NEXT: vcmpnltps %ymm3, %ymm2, %ymm2
2640 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
2641 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
2642 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
2643 ; AVX512F-64-NEXT: retq
2689 ; AVX512F-32-LABEL: test_v8f32_ult_s:
2690 ; AVX512F-32: # %bb.0:
2691 ; AVX512F-32-NEXT: pushl %ebp
2692 ; AVX512F-32-NEXT: movl %esp, %ebp
2693 ; AVX512F-32-NEXT: andl $-32, %esp
2694 ; AVX512F-32-NEXT: subl $32, %esp
2695 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
2696 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
2697 ; AVX512F-32-NEXT: vmovaps 8(%ebp), %ymm3
2698 ; AVX512F-32-NEXT: vcmpnleps %ymm2, %ymm3, %ymm2
2699 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
2700 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
2701 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
2702 ; AVX512F-32-NEXT: movl %ebp, %esp
2703 ; AVX512F-32-NEXT: popl %ebp
2704 ; AVX512F-32-NEXT: retl
2706 ; AVX512F-64-LABEL: test_v8f32_ult_s:
2707 ; AVX512F-64: # %bb.0:
2708 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
2709 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
2710 ; AVX512F-64-NEXT: vcmpnleps %ymm2, %ymm3, %ymm2
2711 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
2712 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
2713 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
2714 ; AVX512F-64-NEXT: retq
2760 ; AVX512F-32-LABEL: test_v8f32_ule_s:
2761 ; AVX512F-32: # %bb.0:
2762 ; AVX512F-32-NEXT: pushl %ebp
2763 ; AVX512F-32-NEXT: movl %esp, %ebp
2764 ; AVX512F-32-NEXT: andl $-32, %esp
2765 ; AVX512F-32-NEXT: subl $32, %esp
2766 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
2767 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
2768 ; AVX512F-32-NEXT: vmovaps 8(%ebp), %ymm3
2769 ; AVX512F-32-NEXT: vcmpnltps %ymm2, %ymm3, %ymm2
2770 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
2771 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
2772 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
2773 ; AVX512F-32-NEXT: movl %ebp, %esp
2774 ; AVX512F-32-NEXT: popl %ebp
2775 ; AVX512F-32-NEXT: retl
2777 ; AVX512F-64-LABEL: test_v8f32_ule_s:
2778 ; AVX512F-64: # %bb.0:
2779 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
2780 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
2781 ; AVX512F-64-NEXT: vcmpnltps %ymm2, %ymm3, %ymm2
2782 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
2783 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
2784 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
2785 ; AVX512F-64-NEXT: retq
2830 ; AVX512F-32-LABEL: test_v8f32_une_s:
2831 ; AVX512F-32: # %bb.0:
2832 ; AVX512F-32-NEXT: pushl %ebp
2833 ; AVX512F-32-NEXT: movl %esp, %ebp
2834 ; AVX512F-32-NEXT: andl $-32, %esp
2835 ; AVX512F-32-NEXT: subl $32, %esp
2836 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
2837 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
2838 ; AVX512F-32-NEXT: vcmpneq_usps 8(%ebp), %ymm2, %ymm2
2839 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
2840 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
2841 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
2842 ; AVX512F-32-NEXT: movl %ebp, %esp
2843 ; AVX512F-32-NEXT: popl %ebp
2844 ; AVX512F-32-NEXT: retl
2846 ; AVX512F-64-LABEL: test_v8f32_une_s:
2847 ; AVX512F-64: # %bb.0:
2848 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
2849 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
2850 ; AVX512F-64-NEXT: vcmpneq_usps %ymm3, %ymm2, %ymm2
2851 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
2852 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
2853 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
2854 ; AVX512F-64-NEXT: retq
2899 ; AVX512F-32-LABEL: test_v8f32_uno_s:
2900 ; AVX512F-32: # %bb.0:
2901 ; AVX512F-32-NEXT: pushl %ebp
2902 ; AVX512F-32-NEXT: movl %esp, %ebp
2903 ; AVX512F-32-NEXT: andl $-32, %esp
2904 ; AVX512F-32-NEXT: subl $32, %esp
2905 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
2906 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
2907 ; AVX512F-32-NEXT: vcmpunord_sps 8(%ebp), %ymm2, %ymm2
2908 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
2909 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
2910 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
2911 ; AVX512F-32-NEXT: movl %ebp, %esp
2912 ; AVX512F-32-NEXT: popl %ebp
2913 ; AVX512F-32-NEXT: retl
2915 ; AVX512F-64-LABEL: test_v8f32_uno_s:
2916 ; AVX512F-64: # %bb.0:
2917 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
2918 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
2919 ; AVX512F-64-NEXT: vcmpunord_sps %ymm3, %ymm2, %ymm2
2920 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
2921 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
2922 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
2923 ; AVX512F-64-NEXT: retq
2968 ; AVX512F-32-LABEL: test_v4f64_oeq_s:
2969 ; AVX512F-32: # %bb.0:
2970 ; AVX512F-32-NEXT: pushl %ebp
2971 ; AVX512F-32-NEXT: movl %esp, %ebp
2972 ; AVX512F-32-NEXT: andl $-32, %esp
2973 ; AVX512F-32-NEXT: subl $32, %esp
2974 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
2975 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
2976 ; AVX512F-32-NEXT: vcmpeq_ospd 8(%ebp), %ymm2, %ymm2
2977 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
2978 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
2979 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
2980 ; AVX512F-32-NEXT: movl %ebp, %esp
2981 ; AVX512F-32-NEXT: popl %ebp
2982 ; AVX512F-32-NEXT: retl
2984 ; AVX512F-64-LABEL: test_v4f64_oeq_s:
2985 ; AVX512F-64: # %bb.0:
2986 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
2987 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
2988 ; AVX512F-64-NEXT: vcmpeq_ospd %ymm3, %ymm2, %ymm2
2989 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
2990 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
2991 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
2992 ; AVX512F-64-NEXT: retq
3038 ; AVX512F-32-LABEL: test_v4f64_ogt_s:
3039 ; AVX512F-32: # %bb.0:
3040 ; AVX512F-32-NEXT: pushl %ebp
3041 ; AVX512F-32-NEXT: movl %esp, %ebp
3042 ; AVX512F-32-NEXT: andl $-32, %esp
3043 ; AVX512F-32-NEXT: subl $32, %esp
3044 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
3045 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
3046 ; AVX512F-32-NEXT: vmovapd 8(%ebp), %ymm3
3047 ; AVX512F-32-NEXT: vcmpltpd %ymm2, %ymm3, %ymm2
3048 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
3049 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3050 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
3051 ; AVX512F-32-NEXT: movl %ebp, %esp
3052 ; AVX512F-32-NEXT: popl %ebp
3053 ; AVX512F-32-NEXT: retl
3055 ; AVX512F-64-LABEL: test_v4f64_ogt_s:
3056 ; AVX512F-64: # %bb.0:
3057 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
3058 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
3059 ; AVX512F-64-NEXT: vcmpltpd %ymm2, %ymm3, %ymm2
3060 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
3061 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3062 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
3063 ; AVX512F-64-NEXT: retq
3109 ; AVX512F-32-LABEL: test_v4f64_oge_s:
3110 ; AVX512F-32: # %bb.0:
3111 ; AVX512F-32-NEXT: pushl %ebp
3112 ; AVX512F-32-NEXT: movl %esp, %ebp
3113 ; AVX512F-32-NEXT: andl $-32, %esp
3114 ; AVX512F-32-NEXT: subl $32, %esp
3115 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
3116 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
3117 ; AVX512F-32-NEXT: vmovapd 8(%ebp), %ymm3
3118 ; AVX512F-32-NEXT: vcmplepd %ymm2, %ymm3, %ymm2
3119 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
3120 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3121 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
3122 ; AVX512F-32-NEXT: movl %ebp, %esp
3123 ; AVX512F-32-NEXT: popl %ebp
3124 ; AVX512F-32-NEXT: retl
3126 ; AVX512F-64-LABEL: test_v4f64_oge_s:
3127 ; AVX512F-64: # %bb.0:
3128 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
3129 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
3130 ; AVX512F-64-NEXT: vcmplepd %ymm2, %ymm3, %ymm2
3131 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
3132 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3133 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
3134 ; AVX512F-64-NEXT: retq
3179 ; AVX512F-32-LABEL: test_v4f64_olt_s:
3180 ; AVX512F-32: # %bb.0:
3181 ; AVX512F-32-NEXT: pushl %ebp
3182 ; AVX512F-32-NEXT: movl %esp, %ebp
3183 ; AVX512F-32-NEXT: andl $-32, %esp
3184 ; AVX512F-32-NEXT: subl $32, %esp
3185 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
3186 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
3187 ; AVX512F-32-NEXT: vcmpltpd 8(%ebp), %ymm2, %ymm2
3188 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
3189 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3190 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
3191 ; AVX512F-32-NEXT: movl %ebp, %esp
3192 ; AVX512F-32-NEXT: popl %ebp
3193 ; AVX512F-32-NEXT: retl
3195 ; AVX512F-64-LABEL: test_v4f64_olt_s:
3196 ; AVX512F-64: # %bb.0:
3197 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
3198 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
3199 ; AVX512F-64-NEXT: vcmpltpd %ymm3, %ymm2, %ymm2
3200 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
3201 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3202 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
3203 ; AVX512F-64-NEXT: retq
3248 ; AVX512F-32-LABEL: test_v4f64_ole_s:
3249 ; AVX512F-32: # %bb.0:
3250 ; AVX512F-32-NEXT: pushl %ebp
3251 ; AVX512F-32-NEXT: movl %esp, %ebp
3252 ; AVX512F-32-NEXT: andl $-32, %esp
3253 ; AVX512F-32-NEXT: subl $32, %esp
3254 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
3255 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
3256 ; AVX512F-32-NEXT: vcmplepd 8(%ebp), %ymm2, %ymm2
3257 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
3258 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3259 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
3260 ; AVX512F-32-NEXT: movl %ebp, %esp
3261 ; AVX512F-32-NEXT: popl %ebp
3262 ; AVX512F-32-NEXT: retl
3264 ; AVX512F-64-LABEL: test_v4f64_ole_s:
3265 ; AVX512F-64: # %bb.0:
3266 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
3267 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
3268 ; AVX512F-64-NEXT: vcmplepd %ymm3, %ymm2, %ymm2
3269 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
3270 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3271 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
3272 ; AVX512F-64-NEXT: retq
3317 ; AVX512F-32-LABEL: test_v4f64_one_s:
3318 ; AVX512F-32: # %bb.0:
3319 ; AVX512F-32-NEXT: pushl %ebp
3320 ; AVX512F-32-NEXT: movl %esp, %ebp
3321 ; AVX512F-32-NEXT: andl $-32, %esp
3322 ; AVX512F-32-NEXT: subl $32, %esp
3323 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
3324 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
3325 ; AVX512F-32-NEXT: vcmpneq_ospd 8(%ebp), %ymm2, %ymm2
3326 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
3327 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3328 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
3329 ; AVX512F-32-NEXT: movl %ebp, %esp
3330 ; AVX512F-32-NEXT: popl %ebp
3331 ; AVX512F-32-NEXT: retl
3333 ; AVX512F-64-LABEL: test_v4f64_one_s:
3334 ; AVX512F-64: # %bb.0:
3335 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
3336 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
3337 ; AVX512F-64-NEXT: vcmpneq_ospd %ymm3, %ymm2, %ymm2
3338 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
3339 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3340 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
3341 ; AVX512F-64-NEXT: retq
3386 ; AVX512F-32-LABEL: test_v4f64_ord_s:
3387 ; AVX512F-32: # %bb.0:
3388 ; AVX512F-32-NEXT: pushl %ebp
3389 ; AVX512F-32-NEXT: movl %esp, %ebp
3390 ; AVX512F-32-NEXT: andl $-32, %esp
3391 ; AVX512F-32-NEXT: subl $32, %esp
3392 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
3393 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
3394 ; AVX512F-32-NEXT: vcmpord_spd 8(%ebp), %ymm2, %ymm2
3395 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
3396 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3397 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
3398 ; AVX512F-32-NEXT: movl %ebp, %esp
3399 ; AVX512F-32-NEXT: popl %ebp
3400 ; AVX512F-32-NEXT: retl
3402 ; AVX512F-64-LABEL: test_v4f64_ord_s:
3403 ; AVX512F-64: # %bb.0:
3404 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
3405 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
3406 ; AVX512F-64-NEXT: vcmpord_spd %ymm3, %ymm2, %ymm2
3407 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
3408 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3409 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
3410 ; AVX512F-64-NEXT: retq
3455 ; AVX512F-32-LABEL: test_v4f64_ueq_s:
3456 ; AVX512F-32: # %bb.0:
3457 ; AVX512F-32-NEXT: pushl %ebp
3458 ; AVX512F-32-NEXT: movl %esp, %ebp
3459 ; AVX512F-32-NEXT: andl $-32, %esp
3460 ; AVX512F-32-NEXT: subl $32, %esp
3461 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
3462 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
3463 ; AVX512F-32-NEXT: vcmpeq_uspd 8(%ebp), %ymm2, %ymm2
3464 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
3465 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3466 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
3467 ; AVX512F-32-NEXT: movl %ebp, %esp
3468 ; AVX512F-32-NEXT: popl %ebp
3469 ; AVX512F-32-NEXT: retl
3471 ; AVX512F-64-LABEL: test_v4f64_ueq_s:
3472 ; AVX512F-64: # %bb.0:
3473 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
3474 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
3475 ; AVX512F-64-NEXT: vcmpeq_uspd %ymm3, %ymm2, %ymm2
3476 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
3477 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3478 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
3479 ; AVX512F-64-NEXT: retq
3524 ; AVX512F-32-LABEL: test_v4f64_ugt_s:
3525 ; AVX512F-32: # %bb.0:
3526 ; AVX512F-32-NEXT: pushl %ebp
3527 ; AVX512F-32-NEXT: movl %esp, %ebp
3528 ; AVX512F-32-NEXT: andl $-32, %esp
3529 ; AVX512F-32-NEXT: subl $32, %esp
3530 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
3531 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
3532 ; AVX512F-32-NEXT: vcmpnlepd 8(%ebp), %ymm2, %ymm2
3533 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
3534 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3535 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
3536 ; AVX512F-32-NEXT: movl %ebp, %esp
3537 ; AVX512F-32-NEXT: popl %ebp
3538 ; AVX512F-32-NEXT: retl
3540 ; AVX512F-64-LABEL: test_v4f64_ugt_s:
3541 ; AVX512F-64: # %bb.0:
3542 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
3543 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
3544 ; AVX512F-64-NEXT: vcmpnlepd %ymm3, %ymm2, %ymm2
3545 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
3546 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3547 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
3548 ; AVX512F-64-NEXT: retq
3593 ; AVX512F-32-LABEL: test_v4f64_uge_s:
3594 ; AVX512F-32: # %bb.0:
3595 ; AVX512F-32-NEXT: pushl %ebp
3596 ; AVX512F-32-NEXT: movl %esp, %ebp
3597 ; AVX512F-32-NEXT: andl $-32, %esp
3598 ; AVX512F-32-NEXT: subl $32, %esp
3599 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
3600 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
3601 ; AVX512F-32-NEXT: vcmpnltpd 8(%ebp), %ymm2, %ymm2
3602 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
3603 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3604 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
3605 ; AVX512F-32-NEXT: movl %ebp, %esp
3606 ; AVX512F-32-NEXT: popl %ebp
3607 ; AVX512F-32-NEXT: retl
3609 ; AVX512F-64-LABEL: test_v4f64_uge_s:
3610 ; AVX512F-64: # %bb.0:
3611 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
3612 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
3613 ; AVX512F-64-NEXT: vcmpnltpd %ymm3, %ymm2, %ymm2
3614 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
3615 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3616 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
3617 ; AVX512F-64-NEXT: retq
3663 ; AVX512F-32-LABEL: test_v4f64_ult_s:
3664 ; AVX512F-32: # %bb.0:
3665 ; AVX512F-32-NEXT: pushl %ebp
3666 ; AVX512F-32-NEXT: movl %esp, %ebp
3667 ; AVX512F-32-NEXT: andl $-32, %esp
3668 ; AVX512F-32-NEXT: subl $32, %esp
3669 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
3670 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
3671 ; AVX512F-32-NEXT: vmovapd 8(%ebp), %ymm3
3672 ; AVX512F-32-NEXT: vcmpnlepd %ymm2, %ymm3, %ymm2
3673 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
3674 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3675 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
3676 ; AVX512F-32-NEXT: movl %ebp, %esp
3677 ; AVX512F-32-NEXT: popl %ebp
3678 ; AVX512F-32-NEXT: retl
3680 ; AVX512F-64-LABEL: test_v4f64_ult_s:
3681 ; AVX512F-64: # %bb.0:
3682 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
3683 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
3684 ; AVX512F-64-NEXT: vcmpnlepd %ymm2, %ymm3, %ymm2
3685 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
3686 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3687 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
3688 ; AVX512F-64-NEXT: retq
3734 ; AVX512F-32-LABEL: test_v4f64_ule_s:
3735 ; AVX512F-32: # %bb.0:
3736 ; AVX512F-32-NEXT: pushl %ebp
3737 ; AVX512F-32-NEXT: movl %esp, %ebp
3738 ; AVX512F-32-NEXT: andl $-32, %esp
3739 ; AVX512F-32-NEXT: subl $32, %esp
3740 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
3741 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
3742 ; AVX512F-32-NEXT: vmovapd 8(%ebp), %ymm3
3743 ; AVX512F-32-NEXT: vcmpnltpd %ymm2, %ymm3, %ymm2
3744 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
3745 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3746 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
3747 ; AVX512F-32-NEXT: movl %ebp, %esp
3748 ; AVX512F-32-NEXT: popl %ebp
3749 ; AVX512F-32-NEXT: retl
3751 ; AVX512F-64-LABEL: test_v4f64_ule_s:
3752 ; AVX512F-64: # %bb.0:
3753 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
3754 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
3755 ; AVX512F-64-NEXT: vcmpnltpd %ymm2, %ymm3, %ymm2
3756 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
3757 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3758 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
3759 ; AVX512F-64-NEXT: retq
3804 ; AVX512F-32-LABEL: test_v4f64_une_s:
3805 ; AVX512F-32: # %bb.0:
3806 ; AVX512F-32-NEXT: pushl %ebp
3807 ; AVX512F-32-NEXT: movl %esp, %ebp
3808 ; AVX512F-32-NEXT: andl $-32, %esp
3809 ; AVX512F-32-NEXT: subl $32, %esp
3810 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
3811 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
3812 ; AVX512F-32-NEXT: vcmpneq_uspd 8(%ebp), %ymm2, %ymm2
3813 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
3814 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3815 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
3816 ; AVX512F-32-NEXT: movl %ebp, %esp
3817 ; AVX512F-32-NEXT: popl %ebp
3818 ; AVX512F-32-NEXT: retl
3820 ; AVX512F-64-LABEL: test_v4f64_une_s:
3821 ; AVX512F-64: # %bb.0:
3822 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
3823 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
3824 ; AVX512F-64-NEXT: vcmpneq_uspd %ymm3, %ymm2, %ymm2
3825 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
3826 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3827 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
3828 ; AVX512F-64-NEXT: retq
3873 ; AVX512F-32-LABEL: test_v4f64_uno_s:
3874 ; AVX512F-32: # %bb.0:
3875 ; AVX512F-32-NEXT: pushl %ebp
3876 ; AVX512F-32-NEXT: movl %esp, %ebp
3877 ; AVX512F-32-NEXT: andl $-32, %esp
3878 ; AVX512F-32-NEXT: subl $32, %esp
3879 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
3880 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
3881 ; AVX512F-32-NEXT: vcmpunord_spd 8(%ebp), %ymm2, %ymm2
3882 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
3883 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3884 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
3885 ; AVX512F-32-NEXT: movl %ebp, %esp
3886 ; AVX512F-32-NEXT: popl %ebp
3887 ; AVX512F-32-NEXT: retl
3889 ; AVX512F-64-LABEL: test_v4f64_uno_s:
3890 ; AVX512F-64: # %bb.0:
3891 ; AVX512F-64-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1
3892 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
3893 ; AVX512F-64-NEXT: vcmpunord_spd %ymm3, %ymm2, %ymm2
3894 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
3895 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3896 ; AVX512F-64-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
3897 ; AVX512F-64-NEXT: retq