Lines Matching refs:AVX512F
8 …c < %s -mtriple=i686-unknown-unknown -mattr=+avx512f -O3 | FileCheck %s --check-prefixes=AVX512F-32
9 …< %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f -O3 | FileCheck %s --check-prefixes=AVX512F-64
70 ; AVX512F-32-LABEL: test_v4f32_oeq_q:
71 ; AVX512F-32: # %bb.0:
72 ; AVX512F-32-NEXT: pushl %ebp
73 ; AVX512F-32-NEXT: movl %esp, %ebp
74 ; AVX512F-32-NEXT: andl $-16, %esp
75 ; AVX512F-32-NEXT: subl $16, %esp
76 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
77 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
78 ; AVX512F-32-NEXT: vcmpeqps 8(%ebp), %xmm2, %xmm2
79 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
80 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
81 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
82 ; AVX512F-32-NEXT: movl %ebp, %esp
83 ; AVX512F-32-NEXT: popl %ebp
84 ; AVX512F-32-NEXT: vzeroupper
85 ; AVX512F-32-NEXT: retl
87 ; AVX512F-64-LABEL: test_v4f32_oeq_q:
88 ; AVX512F-64: # %bb.0:
89 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
90 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
91 ; AVX512F-64-NEXT: vcmpeqps %xmm3, %xmm2, %xmm2
92 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
93 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
94 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
95 ; AVX512F-64-NEXT: vzeroupper
96 ; AVX512F-64-NEXT: retq
223 ; AVX512F-32-LABEL: test_v4f32_ogt_q:
224 ; AVX512F-32: # %bb.0:
225 ; AVX512F-32-NEXT: pushl %ebp
226 ; AVX512F-32-NEXT: movl %esp, %ebp
227 ; AVX512F-32-NEXT: andl $-16, %esp
228 ; AVX512F-32-NEXT: subl $16, %esp
229 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
230 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
231 ; AVX512F-32-NEXT: vmovaps 8(%ebp), %xmm3
232 ; AVX512F-32-NEXT: vcmplt_oqps %xmm2, %xmm3, %xmm2
233 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
234 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
235 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
236 ; AVX512F-32-NEXT: movl %ebp, %esp
237 ; AVX512F-32-NEXT: popl %ebp
238 ; AVX512F-32-NEXT: vzeroupper
239 ; AVX512F-32-NEXT: retl
241 ; AVX512F-64-LABEL: test_v4f32_ogt_q:
242 ; AVX512F-64: # %bb.0:
243 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
244 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
245 ; AVX512F-64-NEXT: vcmplt_oqps %xmm2, %xmm3, %xmm2
246 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
247 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
248 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
249 ; AVX512F-64-NEXT: vzeroupper
250 ; AVX512F-64-NEXT: retq
377 ; AVX512F-32-LABEL: test_v4f32_oge_q:
378 ; AVX512F-32: # %bb.0:
379 ; AVX512F-32-NEXT: pushl %ebp
380 ; AVX512F-32-NEXT: movl %esp, %ebp
381 ; AVX512F-32-NEXT: andl $-16, %esp
382 ; AVX512F-32-NEXT: subl $16, %esp
383 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
384 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
385 ; AVX512F-32-NEXT: vmovaps 8(%ebp), %xmm3
386 ; AVX512F-32-NEXT: vcmple_oqps %xmm2, %xmm3, %xmm2
387 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
388 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
389 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
390 ; AVX512F-32-NEXT: movl %ebp, %esp
391 ; AVX512F-32-NEXT: popl %ebp
392 ; AVX512F-32-NEXT: vzeroupper
393 ; AVX512F-32-NEXT: retl
395 ; AVX512F-64-LABEL: test_v4f32_oge_q:
396 ; AVX512F-64: # %bb.0:
397 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
398 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
399 ; AVX512F-64-NEXT: vcmple_oqps %xmm2, %xmm3, %xmm2
400 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
401 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
402 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
403 ; AVX512F-64-NEXT: vzeroupper
404 ; AVX512F-64-NEXT: retq
530 ; AVX512F-32-LABEL: test_v4f32_olt_q:
531 ; AVX512F-32: # %bb.0:
532 ; AVX512F-32-NEXT: pushl %ebp
533 ; AVX512F-32-NEXT: movl %esp, %ebp
534 ; AVX512F-32-NEXT: andl $-16, %esp
535 ; AVX512F-32-NEXT: subl $16, %esp
536 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
537 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
538 ; AVX512F-32-NEXT: vcmplt_oqps 8(%ebp), %xmm2, %xmm2
539 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
540 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
541 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
542 ; AVX512F-32-NEXT: movl %ebp, %esp
543 ; AVX512F-32-NEXT: popl %ebp
544 ; AVX512F-32-NEXT: vzeroupper
545 ; AVX512F-32-NEXT: retl
547 ; AVX512F-64-LABEL: test_v4f32_olt_q:
548 ; AVX512F-64: # %bb.0:
549 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
550 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
551 ; AVX512F-64-NEXT: vcmplt_oqps %xmm3, %xmm2, %xmm2
552 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
553 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
554 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
555 ; AVX512F-64-NEXT: vzeroupper
556 ; AVX512F-64-NEXT: retq
682 ; AVX512F-32-LABEL: test_v4f32_ole_q:
683 ; AVX512F-32: # %bb.0:
684 ; AVX512F-32-NEXT: pushl %ebp
685 ; AVX512F-32-NEXT: movl %esp, %ebp
686 ; AVX512F-32-NEXT: andl $-16, %esp
687 ; AVX512F-32-NEXT: subl $16, %esp
688 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
689 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
690 ; AVX512F-32-NEXT: vcmple_oqps 8(%ebp), %xmm2, %xmm2
691 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
692 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
693 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
694 ; AVX512F-32-NEXT: movl %ebp, %esp
695 ; AVX512F-32-NEXT: popl %ebp
696 ; AVX512F-32-NEXT: vzeroupper
697 ; AVX512F-32-NEXT: retl
699 ; AVX512F-64-LABEL: test_v4f32_ole_q:
700 ; AVX512F-64: # %bb.0:
701 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
702 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
703 ; AVX512F-64-NEXT: vcmple_oqps %xmm3, %xmm2, %xmm2
704 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
705 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
706 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
707 ; AVX512F-64-NEXT: vzeroupper
708 ; AVX512F-64-NEXT: retq
782 ; AVX512F-32-LABEL: test_v4f32_one_q:
783 ; AVX512F-32: # %bb.0:
784 ; AVX512F-32-NEXT: pushl %ebp
785 ; AVX512F-32-NEXT: movl %esp, %ebp
786 ; AVX512F-32-NEXT: andl $-16, %esp
787 ; AVX512F-32-NEXT: subl $16, %esp
788 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
789 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
790 ; AVX512F-32-NEXT: vcmpneq_oqps 8(%ebp), %xmm2, %xmm2
791 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
792 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
793 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
794 ; AVX512F-32-NEXT: movl %ebp, %esp
795 ; AVX512F-32-NEXT: popl %ebp
796 ; AVX512F-32-NEXT: vzeroupper
797 ; AVX512F-32-NEXT: retl
799 ; AVX512F-64-LABEL: test_v4f32_one_q:
800 ; AVX512F-64: # %bb.0:
801 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
802 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
803 ; AVX512F-64-NEXT: vcmpneq_oqps %xmm3, %xmm2, %xmm2
804 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
805 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
806 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
807 ; AVX512F-64-NEXT: vzeroupper
808 ; AVX512F-64-NEXT: retq
875 ; AVX512F-32-LABEL: test_v4f32_ord_q:
876 ; AVX512F-32: # %bb.0:
877 ; AVX512F-32-NEXT: pushl %ebp
878 ; AVX512F-32-NEXT: movl %esp, %ebp
879 ; AVX512F-32-NEXT: andl $-16, %esp
880 ; AVX512F-32-NEXT: subl $16, %esp
881 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
882 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
883 ; AVX512F-32-NEXT: vcmpordps 8(%ebp), %xmm2, %xmm2
884 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
885 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
886 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
887 ; AVX512F-32-NEXT: movl %ebp, %esp
888 ; AVX512F-32-NEXT: popl %ebp
889 ; AVX512F-32-NEXT: vzeroupper
890 ; AVX512F-32-NEXT: retl
892 ; AVX512F-64-LABEL: test_v4f32_ord_q:
893 ; AVX512F-64: # %bb.0:
894 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
895 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
896 ; AVX512F-64-NEXT: vcmpordps %xmm3, %xmm2, %xmm2
897 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
898 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
899 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
900 ; AVX512F-64-NEXT: vzeroupper
901 ; AVX512F-64-NEXT: retq
975 ; AVX512F-32-LABEL: test_v4f32_ueq_q:
976 ; AVX512F-32: # %bb.0:
977 ; AVX512F-32-NEXT: pushl %ebp
978 ; AVX512F-32-NEXT: movl %esp, %ebp
979 ; AVX512F-32-NEXT: andl $-16, %esp
980 ; AVX512F-32-NEXT: subl $16, %esp
981 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
982 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
983 ; AVX512F-32-NEXT: vcmpeq_uqps 8(%ebp), %xmm2, %xmm2
984 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
985 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
986 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
987 ; AVX512F-32-NEXT: movl %ebp, %esp
988 ; AVX512F-32-NEXT: popl %ebp
989 ; AVX512F-32-NEXT: vzeroupper
990 ; AVX512F-32-NEXT: retl
992 ; AVX512F-64-LABEL: test_v4f32_ueq_q:
993 ; AVX512F-64: # %bb.0:
994 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
995 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
996 ; AVX512F-64-NEXT: vcmpeq_uqps %xmm3, %xmm2, %xmm2
997 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
998 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
999 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
1000 ; AVX512F-64-NEXT: vzeroupper
1001 ; AVX512F-64-NEXT: retq
1127 ; AVX512F-32-LABEL: test_v4f32_ugt_q:
1128 ; AVX512F-32: # %bb.0:
1129 ; AVX512F-32-NEXT: pushl %ebp
1130 ; AVX512F-32-NEXT: movl %esp, %ebp
1131 ; AVX512F-32-NEXT: andl $-16, %esp
1132 ; AVX512F-32-NEXT: subl $16, %esp
1133 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
1134 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
1135 ; AVX512F-32-NEXT: vcmpnle_uqps 8(%ebp), %xmm2, %xmm2
1136 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
1137 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
1138 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
1139 ; AVX512F-32-NEXT: movl %ebp, %esp
1140 ; AVX512F-32-NEXT: popl %ebp
1141 ; AVX512F-32-NEXT: vzeroupper
1142 ; AVX512F-32-NEXT: retl
1144 ; AVX512F-64-LABEL: test_v4f32_ugt_q:
1145 ; AVX512F-64: # %bb.0:
1146 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
1147 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
1148 ; AVX512F-64-NEXT: vcmpnle_uqps %xmm3, %xmm2, %xmm2
1149 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
1150 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
1151 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
1152 ; AVX512F-64-NEXT: vzeroupper
1153 ; AVX512F-64-NEXT: retq
1279 ; AVX512F-32-LABEL: test_v4f32_uge_q:
1280 ; AVX512F-32: # %bb.0:
1281 ; AVX512F-32-NEXT: pushl %ebp
1282 ; AVX512F-32-NEXT: movl %esp, %ebp
1283 ; AVX512F-32-NEXT: andl $-16, %esp
1284 ; AVX512F-32-NEXT: subl $16, %esp
1285 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
1286 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
1287 ; AVX512F-32-NEXT: vcmpnlt_uqps 8(%ebp), %xmm2, %xmm2
1288 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
1289 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
1290 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
1291 ; AVX512F-32-NEXT: movl %ebp, %esp
1292 ; AVX512F-32-NEXT: popl %ebp
1293 ; AVX512F-32-NEXT: vzeroupper
1294 ; AVX512F-32-NEXT: retl
1296 ; AVX512F-64-LABEL: test_v4f32_uge_q:
1297 ; AVX512F-64: # %bb.0:
1298 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
1299 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
1300 ; AVX512F-64-NEXT: vcmpnlt_uqps %xmm3, %xmm2, %xmm2
1301 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
1302 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
1303 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
1304 ; AVX512F-64-NEXT: vzeroupper
1305 ; AVX512F-64-NEXT: retq
1432 ; AVX512F-32-LABEL: test_v4f32_ult_q:
1433 ; AVX512F-32: # %bb.0:
1434 ; AVX512F-32-NEXT: pushl %ebp
1435 ; AVX512F-32-NEXT: movl %esp, %ebp
1436 ; AVX512F-32-NEXT: andl $-16, %esp
1437 ; AVX512F-32-NEXT: subl $16, %esp
1438 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
1439 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
1440 ; AVX512F-32-NEXT: vmovaps 8(%ebp), %xmm3
1441 ; AVX512F-32-NEXT: vcmpnle_uqps %xmm2, %xmm3, %xmm2
1442 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
1443 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
1444 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
1445 ; AVX512F-32-NEXT: movl %ebp, %esp
1446 ; AVX512F-32-NEXT: popl %ebp
1447 ; AVX512F-32-NEXT: vzeroupper
1448 ; AVX512F-32-NEXT: retl
1450 ; AVX512F-64-LABEL: test_v4f32_ult_q:
1451 ; AVX512F-64: # %bb.0:
1452 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
1453 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
1454 ; AVX512F-64-NEXT: vcmpnle_uqps %xmm2, %xmm3, %xmm2
1455 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
1456 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
1457 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
1458 ; AVX512F-64-NEXT: vzeroupper
1459 ; AVX512F-64-NEXT: retq
1586 ; AVX512F-32-LABEL: test_v4f32_ule_q:
1587 ; AVX512F-32: # %bb.0:
1588 ; AVX512F-32-NEXT: pushl %ebp
1589 ; AVX512F-32-NEXT: movl %esp, %ebp
1590 ; AVX512F-32-NEXT: andl $-16, %esp
1591 ; AVX512F-32-NEXT: subl $16, %esp
1592 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
1593 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
1594 ; AVX512F-32-NEXT: vmovaps 8(%ebp), %xmm3
1595 ; AVX512F-32-NEXT: vcmpnlt_uqps %xmm2, %xmm3, %xmm2
1596 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
1597 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
1598 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
1599 ; AVX512F-32-NEXT: movl %ebp, %esp
1600 ; AVX512F-32-NEXT: popl %ebp
1601 ; AVX512F-32-NEXT: vzeroupper
1602 ; AVX512F-32-NEXT: retl
1604 ; AVX512F-64-LABEL: test_v4f32_ule_q:
1605 ; AVX512F-64: # %bb.0:
1606 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
1607 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
1608 ; AVX512F-64-NEXT: vcmpnlt_uqps %xmm2, %xmm3, %xmm2
1609 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
1610 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
1611 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
1612 ; AVX512F-64-NEXT: vzeroupper
1613 ; AVX512F-64-NEXT: retq
1680 ; AVX512F-32-LABEL: test_v4f32_une_q:
1681 ; AVX512F-32: # %bb.0:
1682 ; AVX512F-32-NEXT: pushl %ebp
1683 ; AVX512F-32-NEXT: movl %esp, %ebp
1684 ; AVX512F-32-NEXT: andl $-16, %esp
1685 ; AVX512F-32-NEXT: subl $16, %esp
1686 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
1687 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
1688 ; AVX512F-32-NEXT: vcmpneqps 8(%ebp), %xmm2, %xmm2
1689 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
1690 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
1691 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
1692 ; AVX512F-32-NEXT: movl %ebp, %esp
1693 ; AVX512F-32-NEXT: popl %ebp
1694 ; AVX512F-32-NEXT: vzeroupper
1695 ; AVX512F-32-NEXT: retl
1697 ; AVX512F-64-LABEL: test_v4f32_une_q:
1698 ; AVX512F-64: # %bb.0:
1699 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
1700 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
1701 ; AVX512F-64-NEXT: vcmpneqps %xmm3, %xmm2, %xmm2
1702 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
1703 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
1704 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
1705 ; AVX512F-64-NEXT: vzeroupper
1706 ; AVX512F-64-NEXT: retq
1773 ; AVX512F-32-LABEL: test_v4f32_uno_q:
1774 ; AVX512F-32: # %bb.0:
1775 ; AVX512F-32-NEXT: pushl %ebp
1776 ; AVX512F-32-NEXT: movl %esp, %ebp
1777 ; AVX512F-32-NEXT: andl $-16, %esp
1778 ; AVX512F-32-NEXT: subl $16, %esp
1779 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
1780 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
1781 ; AVX512F-32-NEXT: vcmpunordps 8(%ebp), %xmm2, %xmm2
1782 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
1783 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
1784 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
1785 ; AVX512F-32-NEXT: movl %ebp, %esp
1786 ; AVX512F-32-NEXT: popl %ebp
1787 ; AVX512F-32-NEXT: vzeroupper
1788 ; AVX512F-32-NEXT: retl
1790 ; AVX512F-64-LABEL: test_v4f32_uno_q:
1791 ; AVX512F-64: # %bb.0:
1792 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
1793 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
1794 ; AVX512F-64-NEXT: vcmpunordps %xmm3, %xmm2, %xmm2
1795 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
1796 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
1797 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
1798 ; AVX512F-64-NEXT: vzeroupper
1799 ; AVX512F-64-NEXT: retq
1866 ; AVX512F-32-LABEL: test_v2f64_oeq_q:
1867 ; AVX512F-32: # %bb.0:
1868 ; AVX512F-32-NEXT: pushl %ebp
1869 ; AVX512F-32-NEXT: movl %esp, %ebp
1870 ; AVX512F-32-NEXT: andl $-16, %esp
1871 ; AVX512F-32-NEXT: subl $16, %esp
1872 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
1873 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
1874 ; AVX512F-32-NEXT: vcmpeqpd 8(%ebp), %xmm2, %xmm2
1875 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
1876 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
1877 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
1878 ; AVX512F-32-NEXT: movl %ebp, %esp
1879 ; AVX512F-32-NEXT: popl %ebp
1880 ; AVX512F-32-NEXT: vzeroupper
1881 ; AVX512F-32-NEXT: retl
1883 ; AVX512F-64-LABEL: test_v2f64_oeq_q:
1884 ; AVX512F-64: # %bb.0:
1885 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
1886 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
1887 ; AVX512F-64-NEXT: vcmpeqpd %xmm3, %xmm2, %xmm2
1888 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
1889 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
1890 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
1891 ; AVX512F-64-NEXT: vzeroupper
1892 ; AVX512F-64-NEXT: retq
1985 ; AVX512F-32-LABEL: test_v2f64_ogt_q:
1986 ; AVX512F-32: # %bb.0:
1987 ; AVX512F-32-NEXT: pushl %ebp
1988 ; AVX512F-32-NEXT: movl %esp, %ebp
1989 ; AVX512F-32-NEXT: andl $-16, %esp
1990 ; AVX512F-32-NEXT: subl $16, %esp
1991 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
1992 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
1993 ; AVX512F-32-NEXT: vmovapd 8(%ebp), %xmm3
1994 ; AVX512F-32-NEXT: vcmplt_oqpd %xmm2, %xmm3, %xmm2
1995 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
1996 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
1997 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
1998 ; AVX512F-32-NEXT: movl %ebp, %esp
1999 ; AVX512F-32-NEXT: popl %ebp
2000 ; AVX512F-32-NEXT: vzeroupper
2001 ; AVX512F-32-NEXT: retl
2003 ; AVX512F-64-LABEL: test_v2f64_ogt_q:
2004 ; AVX512F-64: # %bb.0:
2005 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
2006 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
2007 ; AVX512F-64-NEXT: vcmplt_oqpd %xmm2, %xmm3, %xmm2
2008 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
2009 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
2010 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
2011 ; AVX512F-64-NEXT: vzeroupper
2012 ; AVX512F-64-NEXT: retq
2105 ; AVX512F-32-LABEL: test_v2f64_oge_q:
2106 ; AVX512F-32: # %bb.0:
2107 ; AVX512F-32-NEXT: pushl %ebp
2108 ; AVX512F-32-NEXT: movl %esp, %ebp
2109 ; AVX512F-32-NEXT: andl $-16, %esp
2110 ; AVX512F-32-NEXT: subl $16, %esp
2111 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
2112 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
2113 ; AVX512F-32-NEXT: vmovapd 8(%ebp), %xmm3
2114 ; AVX512F-32-NEXT: vcmple_oqpd %xmm2, %xmm3, %xmm2
2115 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
2116 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
2117 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
2118 ; AVX512F-32-NEXT: movl %ebp, %esp
2119 ; AVX512F-32-NEXT: popl %ebp
2120 ; AVX512F-32-NEXT: vzeroupper
2121 ; AVX512F-32-NEXT: retl
2123 ; AVX512F-64-LABEL: test_v2f64_oge_q:
2124 ; AVX512F-64: # %bb.0:
2125 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
2126 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
2127 ; AVX512F-64-NEXT: vcmple_oqpd %xmm2, %xmm3, %xmm2
2128 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
2129 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
2130 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
2131 ; AVX512F-64-NEXT: vzeroupper
2132 ; AVX512F-64-NEXT: retq
2224 ; AVX512F-32-LABEL: test_v2f64_olt_q:
2225 ; AVX512F-32: # %bb.0:
2226 ; AVX512F-32-NEXT: pushl %ebp
2227 ; AVX512F-32-NEXT: movl %esp, %ebp
2228 ; AVX512F-32-NEXT: andl $-16, %esp
2229 ; AVX512F-32-NEXT: subl $16, %esp
2230 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
2231 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
2232 ; AVX512F-32-NEXT: vcmplt_oqpd 8(%ebp), %xmm2, %xmm2
2233 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
2234 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
2235 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
2236 ; AVX512F-32-NEXT: movl %ebp, %esp
2237 ; AVX512F-32-NEXT: popl %ebp
2238 ; AVX512F-32-NEXT: vzeroupper
2239 ; AVX512F-32-NEXT: retl
2241 ; AVX512F-64-LABEL: test_v2f64_olt_q:
2242 ; AVX512F-64: # %bb.0:
2243 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
2244 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
2245 ; AVX512F-64-NEXT: vcmplt_oqpd %xmm3, %xmm2, %xmm2
2246 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
2247 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
2248 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
2249 ; AVX512F-64-NEXT: vzeroupper
2250 ; AVX512F-64-NEXT: retq
2342 ; AVX512F-32-LABEL: test_v2f64_ole_q:
2343 ; AVX512F-32: # %bb.0:
2344 ; AVX512F-32-NEXT: pushl %ebp
2345 ; AVX512F-32-NEXT: movl %esp, %ebp
2346 ; AVX512F-32-NEXT: andl $-16, %esp
2347 ; AVX512F-32-NEXT: subl $16, %esp
2348 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
2349 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
2350 ; AVX512F-32-NEXT: vcmple_oqpd 8(%ebp), %xmm2, %xmm2
2351 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
2352 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
2353 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
2354 ; AVX512F-32-NEXT: movl %ebp, %esp
2355 ; AVX512F-32-NEXT: popl %ebp
2356 ; AVX512F-32-NEXT: vzeroupper
2357 ; AVX512F-32-NEXT: retl
2359 ; AVX512F-64-LABEL: test_v2f64_ole_q:
2360 ; AVX512F-64: # %bb.0:
2361 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
2362 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
2363 ; AVX512F-64-NEXT: vcmple_oqpd %xmm3, %xmm2, %xmm2
2364 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
2365 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
2366 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
2367 ; AVX512F-64-NEXT: vzeroupper
2368 ; AVX512F-64-NEXT: retq
2442 ; AVX512F-32-LABEL: test_v2f64_one_q:
2443 ; AVX512F-32: # %bb.0:
2444 ; AVX512F-32-NEXT: pushl %ebp
2445 ; AVX512F-32-NEXT: movl %esp, %ebp
2446 ; AVX512F-32-NEXT: andl $-16, %esp
2447 ; AVX512F-32-NEXT: subl $16, %esp
2448 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
2449 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
2450 ; AVX512F-32-NEXT: vcmpneq_oqpd 8(%ebp), %xmm2, %xmm2
2451 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
2452 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
2453 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
2454 ; AVX512F-32-NEXT: movl %ebp, %esp
2455 ; AVX512F-32-NEXT: popl %ebp
2456 ; AVX512F-32-NEXT: vzeroupper
2457 ; AVX512F-32-NEXT: retl
2459 ; AVX512F-64-LABEL: test_v2f64_one_q:
2460 ; AVX512F-64: # %bb.0:
2461 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
2462 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
2463 ; AVX512F-64-NEXT: vcmpneq_oqpd %xmm3, %xmm2, %xmm2
2464 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
2465 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
2466 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
2467 ; AVX512F-64-NEXT: vzeroupper
2468 ; AVX512F-64-NEXT: retq
2535 ; AVX512F-32-LABEL: test_v2f64_ord_q:
2536 ; AVX512F-32: # %bb.0:
2537 ; AVX512F-32-NEXT: pushl %ebp
2538 ; AVX512F-32-NEXT: movl %esp, %ebp
2539 ; AVX512F-32-NEXT: andl $-16, %esp
2540 ; AVX512F-32-NEXT: subl $16, %esp
2541 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
2542 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
2543 ; AVX512F-32-NEXT: vcmpordpd 8(%ebp), %xmm2, %xmm2
2544 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
2545 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
2546 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
2547 ; AVX512F-32-NEXT: movl %ebp, %esp
2548 ; AVX512F-32-NEXT: popl %ebp
2549 ; AVX512F-32-NEXT: vzeroupper
2550 ; AVX512F-32-NEXT: retl
2552 ; AVX512F-64-LABEL: test_v2f64_ord_q:
2553 ; AVX512F-64: # %bb.0:
2554 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
2555 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
2556 ; AVX512F-64-NEXT: vcmpordpd %xmm3, %xmm2, %xmm2
2557 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
2558 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
2559 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
2560 ; AVX512F-64-NEXT: vzeroupper
2561 ; AVX512F-64-NEXT: retq
2635 ; AVX512F-32-LABEL: test_v2f64_ueq_q:
2636 ; AVX512F-32: # %bb.0:
2637 ; AVX512F-32-NEXT: pushl %ebp
2638 ; AVX512F-32-NEXT: movl %esp, %ebp
2639 ; AVX512F-32-NEXT: andl $-16, %esp
2640 ; AVX512F-32-NEXT: subl $16, %esp
2641 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
2642 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
2643 ; AVX512F-32-NEXT: vcmpeq_uqpd 8(%ebp), %xmm2, %xmm2
2644 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
2645 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
2646 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
2647 ; AVX512F-32-NEXT: movl %ebp, %esp
2648 ; AVX512F-32-NEXT: popl %ebp
2649 ; AVX512F-32-NEXT: vzeroupper
2650 ; AVX512F-32-NEXT: retl
2652 ; AVX512F-64-LABEL: test_v2f64_ueq_q:
2653 ; AVX512F-64: # %bb.0:
2654 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
2655 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
2656 ; AVX512F-64-NEXT: vcmpeq_uqpd %xmm3, %xmm2, %xmm2
2657 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
2658 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
2659 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
2660 ; AVX512F-64-NEXT: vzeroupper
2661 ; AVX512F-64-NEXT: retq
2753 ; AVX512F-32-LABEL: test_v2f64_ugt_q:
2754 ; AVX512F-32: # %bb.0:
2755 ; AVX512F-32-NEXT: pushl %ebp
2756 ; AVX512F-32-NEXT: movl %esp, %ebp
2757 ; AVX512F-32-NEXT: andl $-16, %esp
2758 ; AVX512F-32-NEXT: subl $16, %esp
2759 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
2760 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
2761 ; AVX512F-32-NEXT: vcmpnle_uqpd 8(%ebp), %xmm2, %xmm2
2762 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
2763 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
2764 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
2765 ; AVX512F-32-NEXT: movl %ebp, %esp
2766 ; AVX512F-32-NEXT: popl %ebp
2767 ; AVX512F-32-NEXT: vzeroupper
2768 ; AVX512F-32-NEXT: retl
2770 ; AVX512F-64-LABEL: test_v2f64_ugt_q:
2771 ; AVX512F-64: # %bb.0:
2772 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
2773 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
2774 ; AVX512F-64-NEXT: vcmpnle_uqpd %xmm3, %xmm2, %xmm2
2775 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
2776 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
2777 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
2778 ; AVX512F-64-NEXT: vzeroupper
2779 ; AVX512F-64-NEXT: retq
2871 ; AVX512F-32-LABEL: test_v2f64_uge_q:
2872 ; AVX512F-32: # %bb.0:
2873 ; AVX512F-32-NEXT: pushl %ebp
2874 ; AVX512F-32-NEXT: movl %esp, %ebp
2875 ; AVX512F-32-NEXT: andl $-16, %esp
2876 ; AVX512F-32-NEXT: subl $16, %esp
2877 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
2878 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
2879 ; AVX512F-32-NEXT: vcmpnlt_uqpd 8(%ebp), %xmm2, %xmm2
2880 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
2881 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
2882 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
2883 ; AVX512F-32-NEXT: movl %ebp, %esp
2884 ; AVX512F-32-NEXT: popl %ebp
2885 ; AVX512F-32-NEXT: vzeroupper
2886 ; AVX512F-32-NEXT: retl
2888 ; AVX512F-64-LABEL: test_v2f64_uge_q:
2889 ; AVX512F-64: # %bb.0:
2890 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
2891 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
2892 ; AVX512F-64-NEXT: vcmpnlt_uqpd %xmm3, %xmm2, %xmm2
2893 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
2894 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
2895 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
2896 ; AVX512F-64-NEXT: vzeroupper
2897 ; AVX512F-64-NEXT: retq
2990 ; AVX512F-32-LABEL: test_v2f64_ult_q:
2991 ; AVX512F-32: # %bb.0:
2992 ; AVX512F-32-NEXT: pushl %ebp
2993 ; AVX512F-32-NEXT: movl %esp, %ebp
2994 ; AVX512F-32-NEXT: andl $-16, %esp
2995 ; AVX512F-32-NEXT: subl $16, %esp
2996 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
2997 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
2998 ; AVX512F-32-NEXT: vmovapd 8(%ebp), %xmm3
2999 ; AVX512F-32-NEXT: vcmpnle_uqpd %xmm2, %xmm3, %xmm2
3000 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
3001 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3002 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
3003 ; AVX512F-32-NEXT: movl %ebp, %esp
3004 ; AVX512F-32-NEXT: popl %ebp
3005 ; AVX512F-32-NEXT: vzeroupper
3006 ; AVX512F-32-NEXT: retl
3008 ; AVX512F-64-LABEL: test_v2f64_ult_q:
3009 ; AVX512F-64: # %bb.0:
3010 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
3011 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
3012 ; AVX512F-64-NEXT: vcmpnle_uqpd %xmm2, %xmm3, %xmm2
3013 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
3014 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3015 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
3016 ; AVX512F-64-NEXT: vzeroupper
3017 ; AVX512F-64-NEXT: retq
3110 ; AVX512F-32-LABEL: test_v2f64_ule_q:
3111 ; AVX512F-32: # %bb.0:
3112 ; AVX512F-32-NEXT: pushl %ebp
3113 ; AVX512F-32-NEXT: movl %esp, %ebp
3114 ; AVX512F-32-NEXT: andl $-16, %esp
3115 ; AVX512F-32-NEXT: subl $16, %esp
3116 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
3117 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
3118 ; AVX512F-32-NEXT: vmovapd 8(%ebp), %xmm3
3119 ; AVX512F-32-NEXT: vcmpnlt_uqpd %xmm2, %xmm3, %xmm2
3120 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
3121 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3122 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
3123 ; AVX512F-32-NEXT: movl %ebp, %esp
3124 ; AVX512F-32-NEXT: popl %ebp
3125 ; AVX512F-32-NEXT: vzeroupper
3126 ; AVX512F-32-NEXT: retl
3128 ; AVX512F-64-LABEL: test_v2f64_ule_q:
3129 ; AVX512F-64: # %bb.0:
3130 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
3131 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
3132 ; AVX512F-64-NEXT: vcmpnlt_uqpd %xmm2, %xmm3, %xmm2
3133 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
3134 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3135 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
3136 ; AVX512F-64-NEXT: vzeroupper
3137 ; AVX512F-64-NEXT: retq
3204 ; AVX512F-32-LABEL: test_v2f64_une_q:
3205 ; AVX512F-32: # %bb.0:
3206 ; AVX512F-32-NEXT: pushl %ebp
3207 ; AVX512F-32-NEXT: movl %esp, %ebp
3208 ; AVX512F-32-NEXT: andl $-16, %esp
3209 ; AVX512F-32-NEXT: subl $16, %esp
3210 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
3211 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
3212 ; AVX512F-32-NEXT: vcmpneqpd 8(%ebp), %xmm2, %xmm2
3213 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
3214 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3215 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
3216 ; AVX512F-32-NEXT: movl %ebp, %esp
3217 ; AVX512F-32-NEXT: popl %ebp
3218 ; AVX512F-32-NEXT: vzeroupper
3219 ; AVX512F-32-NEXT: retl
3221 ; AVX512F-64-LABEL: test_v2f64_une_q:
3222 ; AVX512F-64: # %bb.0:
3223 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
3224 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
3225 ; AVX512F-64-NEXT: vcmpneqpd %xmm3, %xmm2, %xmm2
3226 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
3227 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3228 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
3229 ; AVX512F-64-NEXT: vzeroupper
3230 ; AVX512F-64-NEXT: retq
3297 ; AVX512F-32-LABEL: test_v2f64_uno_q:
3298 ; AVX512F-32: # %bb.0:
3299 ; AVX512F-32-NEXT: pushl %ebp
3300 ; AVX512F-32-NEXT: movl %esp, %ebp
3301 ; AVX512F-32-NEXT: andl $-16, %esp
3302 ; AVX512F-32-NEXT: subl $16, %esp
3303 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
3304 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
3305 ; AVX512F-32-NEXT: vcmpunordpd 8(%ebp), %xmm2, %xmm2
3306 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
3307 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3308 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
3309 ; AVX512F-32-NEXT: movl %ebp, %esp
3310 ; AVX512F-32-NEXT: popl %ebp
3311 ; AVX512F-32-NEXT: vzeroupper
3312 ; AVX512F-32-NEXT: retl
3314 ; AVX512F-64-LABEL: test_v2f64_uno_q:
3315 ; AVX512F-64: # %bb.0:
3316 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
3317 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
3318 ; AVX512F-64-NEXT: vcmpunordpd %xmm3, %xmm2, %xmm2
3319 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
3320 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
3321 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
3322 ; AVX512F-64-NEXT: vzeroupper
3323 ; AVX512F-64-NEXT: retq
3395 ; AVX512F-32-LABEL: test_v4f32_oeq_s:
3396 ; AVX512F-32: # %bb.0:
3397 ; AVX512F-32-NEXT: pushl %ebp
3398 ; AVX512F-32-NEXT: movl %esp, %ebp
3399 ; AVX512F-32-NEXT: andl $-16, %esp
3400 ; AVX512F-32-NEXT: subl $16, %esp
3401 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
3402 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
3403 ; AVX512F-32-NEXT: vcmpeq_osps 8(%ebp), %xmm2, %xmm2
3404 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
3405 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
3406 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
3407 ; AVX512F-32-NEXT: movl %ebp, %esp
3408 ; AVX512F-32-NEXT: popl %ebp
3409 ; AVX512F-32-NEXT: vzeroupper
3410 ; AVX512F-32-NEXT: retl
3412 ; AVX512F-64-LABEL: test_v4f32_oeq_s:
3413 ; AVX512F-64: # %bb.0:
3414 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
3415 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
3416 ; AVX512F-64-NEXT: vcmpeq_osps %xmm3, %xmm2, %xmm2
3417 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
3418 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
3419 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
3420 ; AVX512F-64-NEXT: vzeroupper
3421 ; AVX512F-64-NEXT: retq
3490 ; AVX512F-32-LABEL: test_v4f32_ogt_s:
3491 ; AVX512F-32: # %bb.0:
3492 ; AVX512F-32-NEXT: pushl %ebp
3493 ; AVX512F-32-NEXT: movl %esp, %ebp
3494 ; AVX512F-32-NEXT: andl $-16, %esp
3495 ; AVX512F-32-NEXT: subl $16, %esp
3496 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
3497 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
3498 ; AVX512F-32-NEXT: vmovaps 8(%ebp), %xmm3
3499 ; AVX512F-32-NEXT: vcmpltps %xmm2, %xmm3, %xmm2
3500 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
3501 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
3502 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
3503 ; AVX512F-32-NEXT: movl %ebp, %esp
3504 ; AVX512F-32-NEXT: popl %ebp
3505 ; AVX512F-32-NEXT: vzeroupper
3506 ; AVX512F-32-NEXT: retl
3508 ; AVX512F-64-LABEL: test_v4f32_ogt_s:
3509 ; AVX512F-64: # %bb.0:
3510 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
3511 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
3512 ; AVX512F-64-NEXT: vcmpltps %xmm2, %xmm3, %xmm2
3513 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
3514 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
3515 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
3516 ; AVX512F-64-NEXT: vzeroupper
3517 ; AVX512F-64-NEXT: retq
3586 ; AVX512F-32-LABEL: test_v4f32_oge_s:
3587 ; AVX512F-32: # %bb.0:
3588 ; AVX512F-32-NEXT: pushl %ebp
3589 ; AVX512F-32-NEXT: movl %esp, %ebp
3590 ; AVX512F-32-NEXT: andl $-16, %esp
3591 ; AVX512F-32-NEXT: subl $16, %esp
3592 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
3593 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
3594 ; AVX512F-32-NEXT: vmovaps 8(%ebp), %xmm3
3595 ; AVX512F-32-NEXT: vcmpleps %xmm2, %xmm3, %xmm2
3596 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
3597 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
3598 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
3599 ; AVX512F-32-NEXT: movl %ebp, %esp
3600 ; AVX512F-32-NEXT: popl %ebp
3601 ; AVX512F-32-NEXT: vzeroupper
3602 ; AVX512F-32-NEXT: retl
3604 ; AVX512F-64-LABEL: test_v4f32_oge_s:
3605 ; AVX512F-64: # %bb.0:
3606 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
3607 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
3608 ; AVX512F-64-NEXT: vcmpleps %xmm2, %xmm3, %xmm2
3609 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
3610 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
3611 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
3612 ; AVX512F-64-NEXT: vzeroupper
3613 ; AVX512F-64-NEXT: retq
3680 ; AVX512F-32-LABEL: test_v4f32_olt_s:
3681 ; AVX512F-32: # %bb.0:
3682 ; AVX512F-32-NEXT: pushl %ebp
3683 ; AVX512F-32-NEXT: movl %esp, %ebp
3684 ; AVX512F-32-NEXT: andl $-16, %esp
3685 ; AVX512F-32-NEXT: subl $16, %esp
3686 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
3687 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
3688 ; AVX512F-32-NEXT: vcmpltps 8(%ebp), %xmm2, %xmm2
3689 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
3690 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
3691 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
3692 ; AVX512F-32-NEXT: movl %ebp, %esp
3693 ; AVX512F-32-NEXT: popl %ebp
3694 ; AVX512F-32-NEXT: vzeroupper
3695 ; AVX512F-32-NEXT: retl
3697 ; AVX512F-64-LABEL: test_v4f32_olt_s:
3698 ; AVX512F-64: # %bb.0:
3699 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
3700 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
3701 ; AVX512F-64-NEXT: vcmpltps %xmm3, %xmm2, %xmm2
3702 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
3703 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
3704 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
3705 ; AVX512F-64-NEXT: vzeroupper
3706 ; AVX512F-64-NEXT: retq
3773 ; AVX512F-32-LABEL: test_v4f32_ole_s:
3774 ; AVX512F-32: # %bb.0:
3775 ; AVX512F-32-NEXT: pushl %ebp
3776 ; AVX512F-32-NEXT: movl %esp, %ebp
3777 ; AVX512F-32-NEXT: andl $-16, %esp
3778 ; AVX512F-32-NEXT: subl $16, %esp
3779 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
3780 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
3781 ; AVX512F-32-NEXT: vcmpleps 8(%ebp), %xmm2, %xmm2
3782 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
3783 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
3784 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
3785 ; AVX512F-32-NEXT: movl %ebp, %esp
3786 ; AVX512F-32-NEXT: popl %ebp
3787 ; AVX512F-32-NEXT: vzeroupper
3788 ; AVX512F-32-NEXT: retl
3790 ; AVX512F-64-LABEL: test_v4f32_ole_s:
3791 ; AVX512F-64: # %bb.0:
3792 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
3793 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
3794 ; AVX512F-64-NEXT: vcmpleps %xmm3, %xmm2, %xmm2
3795 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
3796 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
3797 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
3798 ; AVX512F-64-NEXT: vzeroupper
3799 ; AVX512F-64-NEXT: retq
3877 ; AVX512F-32-LABEL: test_v4f32_one_s:
3878 ; AVX512F-32: # %bb.0:
3879 ; AVX512F-32-NEXT: pushl %ebp
3880 ; AVX512F-32-NEXT: movl %esp, %ebp
3881 ; AVX512F-32-NEXT: andl $-16, %esp
3882 ; AVX512F-32-NEXT: subl $16, %esp
3883 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
3884 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
3885 ; AVX512F-32-NEXT: vcmpneq_osps 8(%ebp), %xmm2, %xmm2
3886 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
3887 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
3888 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
3889 ; AVX512F-32-NEXT: movl %ebp, %esp
3890 ; AVX512F-32-NEXT: popl %ebp
3891 ; AVX512F-32-NEXT: vzeroupper
3892 ; AVX512F-32-NEXT: retl
3894 ; AVX512F-64-LABEL: test_v4f32_one_s:
3895 ; AVX512F-64: # %bb.0:
3896 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
3897 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
3898 ; AVX512F-64-NEXT: vcmpneq_osps %xmm3, %xmm2, %xmm2
3899 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
3900 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
3901 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
3902 ; AVX512F-64-NEXT: vzeroupper
3903 ; AVX512F-64-NEXT: retq
3975 ; AVX512F-32-LABEL: test_v4f32_ord_s:
3976 ; AVX512F-32: # %bb.0:
3977 ; AVX512F-32-NEXT: pushl %ebp
3978 ; AVX512F-32-NEXT: movl %esp, %ebp
3979 ; AVX512F-32-NEXT: andl $-16, %esp
3980 ; AVX512F-32-NEXT: subl $16, %esp
3981 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
3982 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
3983 ; AVX512F-32-NEXT: vcmpord_sps 8(%ebp), %xmm2, %xmm2
3984 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
3985 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
3986 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
3987 ; AVX512F-32-NEXT: movl %ebp, %esp
3988 ; AVX512F-32-NEXT: popl %ebp
3989 ; AVX512F-32-NEXT: vzeroupper
3990 ; AVX512F-32-NEXT: retl
3992 ; AVX512F-64-LABEL: test_v4f32_ord_s:
3993 ; AVX512F-64: # %bb.0:
3994 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
3995 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
3996 ; AVX512F-64-NEXT: vcmpord_sps %xmm3, %xmm2, %xmm2
3997 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
3998 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
3999 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
4000 ; AVX512F-64-NEXT: vzeroupper
4001 ; AVX512F-64-NEXT: retq
4079 ; AVX512F-32-LABEL: test_v4f32_ueq_s:
4080 ; AVX512F-32: # %bb.0:
4081 ; AVX512F-32-NEXT: pushl %ebp
4082 ; AVX512F-32-NEXT: movl %esp, %ebp
4083 ; AVX512F-32-NEXT: andl $-16, %esp
4084 ; AVX512F-32-NEXT: subl $16, %esp
4085 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
4086 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
4087 ; AVX512F-32-NEXT: vcmpeq_usps 8(%ebp), %xmm2, %xmm2
4088 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
4089 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
4090 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
4091 ; AVX512F-32-NEXT: movl %ebp, %esp
4092 ; AVX512F-32-NEXT: popl %ebp
4093 ; AVX512F-32-NEXT: vzeroupper
4094 ; AVX512F-32-NEXT: retl
4096 ; AVX512F-64-LABEL: test_v4f32_ueq_s:
4097 ; AVX512F-64: # %bb.0:
4098 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
4099 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
4100 ; AVX512F-64-NEXT: vcmpeq_usps %xmm3, %xmm2, %xmm2
4101 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
4102 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
4103 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
4104 ; AVX512F-64-NEXT: vzeroupper
4105 ; AVX512F-64-NEXT: retq
4172 ; AVX512F-32-LABEL: test_v4f32_ugt_s:
4173 ; AVX512F-32: # %bb.0:
4174 ; AVX512F-32-NEXT: pushl %ebp
4175 ; AVX512F-32-NEXT: movl %esp, %ebp
4176 ; AVX512F-32-NEXT: andl $-16, %esp
4177 ; AVX512F-32-NEXT: subl $16, %esp
4178 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
4179 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
4180 ; AVX512F-32-NEXT: vcmpnleps 8(%ebp), %xmm2, %xmm2
4181 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
4182 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
4183 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
4184 ; AVX512F-32-NEXT: movl %ebp, %esp
4185 ; AVX512F-32-NEXT: popl %ebp
4186 ; AVX512F-32-NEXT: vzeroupper
4187 ; AVX512F-32-NEXT: retl
4189 ; AVX512F-64-LABEL: test_v4f32_ugt_s:
4190 ; AVX512F-64: # %bb.0:
4191 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
4192 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
4193 ; AVX512F-64-NEXT: vcmpnleps %xmm3, %xmm2, %xmm2
4194 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
4195 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
4196 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
4197 ; AVX512F-64-NEXT: vzeroupper
4198 ; AVX512F-64-NEXT: retq
4265 ; AVX512F-32-LABEL: test_v4f32_uge_s:
4266 ; AVX512F-32: # %bb.0:
4267 ; AVX512F-32-NEXT: pushl %ebp
4268 ; AVX512F-32-NEXT: movl %esp, %ebp
4269 ; AVX512F-32-NEXT: andl $-16, %esp
4270 ; AVX512F-32-NEXT: subl $16, %esp
4271 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
4272 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
4273 ; AVX512F-32-NEXT: vcmpnltps 8(%ebp), %xmm2, %xmm2
4274 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
4275 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
4276 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
4277 ; AVX512F-32-NEXT: movl %ebp, %esp
4278 ; AVX512F-32-NEXT: popl %ebp
4279 ; AVX512F-32-NEXT: vzeroupper
4280 ; AVX512F-32-NEXT: retl
4282 ; AVX512F-64-LABEL: test_v4f32_uge_s:
4283 ; AVX512F-64: # %bb.0:
4284 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
4285 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
4286 ; AVX512F-64-NEXT: vcmpnltps %xmm3, %xmm2, %xmm2
4287 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
4288 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
4289 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
4290 ; AVX512F-64-NEXT: vzeroupper
4291 ; AVX512F-64-NEXT: retq
4360 ; AVX512F-32-LABEL: test_v4f32_ult_s:
4361 ; AVX512F-32: # %bb.0:
4362 ; AVX512F-32-NEXT: pushl %ebp
4363 ; AVX512F-32-NEXT: movl %esp, %ebp
4364 ; AVX512F-32-NEXT: andl $-16, %esp
4365 ; AVX512F-32-NEXT: subl $16, %esp
4366 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
4367 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
4368 ; AVX512F-32-NEXT: vmovaps 8(%ebp), %xmm3
4369 ; AVX512F-32-NEXT: vcmpnleps %xmm2, %xmm3, %xmm2
4370 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
4371 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
4372 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
4373 ; AVX512F-32-NEXT: movl %ebp, %esp
4374 ; AVX512F-32-NEXT: popl %ebp
4375 ; AVX512F-32-NEXT: vzeroupper
4376 ; AVX512F-32-NEXT: retl
4378 ; AVX512F-64-LABEL: test_v4f32_ult_s:
4379 ; AVX512F-64: # %bb.0:
4380 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
4381 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
4382 ; AVX512F-64-NEXT: vcmpnleps %xmm2, %xmm3, %xmm2
4383 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
4384 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
4385 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
4386 ; AVX512F-64-NEXT: vzeroupper
4387 ; AVX512F-64-NEXT: retq
4456 ; AVX512F-32-LABEL: test_v4f32_ule_s:
4457 ; AVX512F-32: # %bb.0:
4458 ; AVX512F-32-NEXT: pushl %ebp
4459 ; AVX512F-32-NEXT: movl %esp, %ebp
4460 ; AVX512F-32-NEXT: andl $-16, %esp
4461 ; AVX512F-32-NEXT: subl $16, %esp
4462 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
4463 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
4464 ; AVX512F-32-NEXT: vmovaps 8(%ebp), %xmm3
4465 ; AVX512F-32-NEXT: vcmpnltps %xmm2, %xmm3, %xmm2
4466 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
4467 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
4468 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
4469 ; AVX512F-32-NEXT: movl %ebp, %esp
4470 ; AVX512F-32-NEXT: popl %ebp
4471 ; AVX512F-32-NEXT: vzeroupper
4472 ; AVX512F-32-NEXT: retl
4474 ; AVX512F-64-LABEL: test_v4f32_ule_s:
4475 ; AVX512F-64: # %bb.0:
4476 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
4477 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
4478 ; AVX512F-64-NEXT: vcmpnltps %xmm2, %xmm3, %xmm2
4479 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
4480 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
4481 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
4482 ; AVX512F-64-NEXT: vzeroupper
4483 ; AVX512F-64-NEXT: retq
4555 ; AVX512F-32-LABEL: test_v4f32_une_s:
4556 ; AVX512F-32: # %bb.0:
4557 ; AVX512F-32-NEXT: pushl %ebp
4558 ; AVX512F-32-NEXT: movl %esp, %ebp
4559 ; AVX512F-32-NEXT: andl $-16, %esp
4560 ; AVX512F-32-NEXT: subl $16, %esp
4561 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
4562 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
4563 ; AVX512F-32-NEXT: vcmpneq_usps 8(%ebp), %xmm2, %xmm2
4564 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
4565 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
4566 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
4567 ; AVX512F-32-NEXT: movl %ebp, %esp
4568 ; AVX512F-32-NEXT: popl %ebp
4569 ; AVX512F-32-NEXT: vzeroupper
4570 ; AVX512F-32-NEXT: retl
4572 ; AVX512F-64-LABEL: test_v4f32_une_s:
4573 ; AVX512F-64: # %bb.0:
4574 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
4575 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
4576 ; AVX512F-64-NEXT: vcmpneq_usps %xmm3, %xmm2, %xmm2
4577 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
4578 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
4579 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
4580 ; AVX512F-64-NEXT: vzeroupper
4581 ; AVX512F-64-NEXT: retq
4653 ; AVX512F-32-LABEL: test_v4f32_uno_s:
4654 ; AVX512F-32: # %bb.0:
4655 ; AVX512F-32-NEXT: pushl %ebp
4656 ; AVX512F-32-NEXT: movl %esp, %ebp
4657 ; AVX512F-32-NEXT: andl $-16, %esp
4658 ; AVX512F-32-NEXT: subl $16, %esp
4659 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
4660 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
4661 ; AVX512F-32-NEXT: vcmpunord_sps 8(%ebp), %xmm2, %xmm2
4662 ; AVX512F-32-NEXT: vptestmd %zmm2, %zmm2, %k1
4663 ; AVX512F-32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
4664 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
4665 ; AVX512F-32-NEXT: movl %ebp, %esp
4666 ; AVX512F-32-NEXT: popl %ebp
4667 ; AVX512F-32-NEXT: vzeroupper
4668 ; AVX512F-32-NEXT: retl
4670 ; AVX512F-64-LABEL: test_v4f32_uno_s:
4671 ; AVX512F-64: # %bb.0:
4672 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
4673 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
4674 ; AVX512F-64-NEXT: vcmpunord_sps %xmm3, %xmm2, %xmm2
4675 ; AVX512F-64-NEXT: vptestmd %zmm2, %zmm2, %k1
4676 ; AVX512F-64-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
4677 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
4678 ; AVX512F-64-NEXT: vzeroupper
4679 ; AVX512F-64-NEXT: retq
4751 ; AVX512F-32-LABEL: test_v2f64_oeq_s:
4752 ; AVX512F-32: # %bb.0:
4753 ; AVX512F-32-NEXT: pushl %ebp
4754 ; AVX512F-32-NEXT: movl %esp, %ebp
4755 ; AVX512F-32-NEXT: andl $-16, %esp
4756 ; AVX512F-32-NEXT: subl $16, %esp
4757 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
4758 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
4759 ; AVX512F-32-NEXT: vcmpeq_ospd 8(%ebp), %xmm2, %xmm2
4760 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
4761 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
4762 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
4763 ; AVX512F-32-NEXT: movl %ebp, %esp
4764 ; AVX512F-32-NEXT: popl %ebp
4765 ; AVX512F-32-NEXT: vzeroupper
4766 ; AVX512F-32-NEXT: retl
4768 ; AVX512F-64-LABEL: test_v2f64_oeq_s:
4769 ; AVX512F-64: # %bb.0:
4770 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
4771 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
4772 ; AVX512F-64-NEXT: vcmpeq_ospd %xmm3, %xmm2, %xmm2
4773 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
4774 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
4775 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
4776 ; AVX512F-64-NEXT: vzeroupper
4777 ; AVX512F-64-NEXT: retq
4846 ; AVX512F-32-LABEL: test_v2f64_ogt_s:
4847 ; AVX512F-32: # %bb.0:
4848 ; AVX512F-32-NEXT: pushl %ebp
4849 ; AVX512F-32-NEXT: movl %esp, %ebp
4850 ; AVX512F-32-NEXT: andl $-16, %esp
4851 ; AVX512F-32-NEXT: subl $16, %esp
4852 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
4853 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
4854 ; AVX512F-32-NEXT: vmovapd 8(%ebp), %xmm3
4855 ; AVX512F-32-NEXT: vcmpltpd %xmm2, %xmm3, %xmm2
4856 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
4857 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
4858 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
4859 ; AVX512F-32-NEXT: movl %ebp, %esp
4860 ; AVX512F-32-NEXT: popl %ebp
4861 ; AVX512F-32-NEXT: vzeroupper
4862 ; AVX512F-32-NEXT: retl
4864 ; AVX512F-64-LABEL: test_v2f64_ogt_s:
4865 ; AVX512F-64: # %bb.0:
4866 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
4867 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
4868 ; AVX512F-64-NEXT: vcmpltpd %xmm2, %xmm3, %xmm2
4869 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
4870 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
4871 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
4872 ; AVX512F-64-NEXT: vzeroupper
4873 ; AVX512F-64-NEXT: retq
4942 ; AVX512F-32-LABEL: test_v2f64_oge_s:
4943 ; AVX512F-32: # %bb.0:
4944 ; AVX512F-32-NEXT: pushl %ebp
4945 ; AVX512F-32-NEXT: movl %esp, %ebp
4946 ; AVX512F-32-NEXT: andl $-16, %esp
4947 ; AVX512F-32-NEXT: subl $16, %esp
4948 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
4949 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
4950 ; AVX512F-32-NEXT: vmovapd 8(%ebp), %xmm3
4951 ; AVX512F-32-NEXT: vcmplepd %xmm2, %xmm3, %xmm2
4952 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
4953 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
4954 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
4955 ; AVX512F-32-NEXT: movl %ebp, %esp
4956 ; AVX512F-32-NEXT: popl %ebp
4957 ; AVX512F-32-NEXT: vzeroupper
4958 ; AVX512F-32-NEXT: retl
4960 ; AVX512F-64-LABEL: test_v2f64_oge_s:
4961 ; AVX512F-64: # %bb.0:
4962 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
4963 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
4964 ; AVX512F-64-NEXT: vcmplepd %xmm2, %xmm3, %xmm2
4965 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
4966 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
4967 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
4968 ; AVX512F-64-NEXT: vzeroupper
4969 ; AVX512F-64-NEXT: retq
5036 ; AVX512F-32-LABEL: test_v2f64_olt_s:
5037 ; AVX512F-32: # %bb.0:
5038 ; AVX512F-32-NEXT: pushl %ebp
5039 ; AVX512F-32-NEXT: movl %esp, %ebp
5040 ; AVX512F-32-NEXT: andl $-16, %esp
5041 ; AVX512F-32-NEXT: subl $16, %esp
5042 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
5043 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
5044 ; AVX512F-32-NEXT: vcmpltpd 8(%ebp), %xmm2, %xmm2
5045 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
5046 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
5047 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
5048 ; AVX512F-32-NEXT: movl %ebp, %esp
5049 ; AVX512F-32-NEXT: popl %ebp
5050 ; AVX512F-32-NEXT: vzeroupper
5051 ; AVX512F-32-NEXT: retl
5053 ; AVX512F-64-LABEL: test_v2f64_olt_s:
5054 ; AVX512F-64: # %bb.0:
5055 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
5056 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
5057 ; AVX512F-64-NEXT: vcmpltpd %xmm3, %xmm2, %xmm2
5058 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
5059 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
5060 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
5061 ; AVX512F-64-NEXT: vzeroupper
5062 ; AVX512F-64-NEXT: retq
5129 ; AVX512F-32-LABEL: test_v2f64_ole_s:
5130 ; AVX512F-32: # %bb.0:
5131 ; AVX512F-32-NEXT: pushl %ebp
5132 ; AVX512F-32-NEXT: movl %esp, %ebp
5133 ; AVX512F-32-NEXT: andl $-16, %esp
5134 ; AVX512F-32-NEXT: subl $16, %esp
5135 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
5136 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
5137 ; AVX512F-32-NEXT: vcmplepd 8(%ebp), %xmm2, %xmm2
5138 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
5139 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
5140 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
5141 ; AVX512F-32-NEXT: movl %ebp, %esp
5142 ; AVX512F-32-NEXT: popl %ebp
5143 ; AVX512F-32-NEXT: vzeroupper
5144 ; AVX512F-32-NEXT: retl
5146 ; AVX512F-64-LABEL: test_v2f64_ole_s:
5147 ; AVX512F-64: # %bb.0:
5148 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
5149 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
5150 ; AVX512F-64-NEXT: vcmplepd %xmm3, %xmm2, %xmm2
5151 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
5152 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
5153 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
5154 ; AVX512F-64-NEXT: vzeroupper
5155 ; AVX512F-64-NEXT: retq
5233 ; AVX512F-32-LABEL: test_v2f64_one_s:
5234 ; AVX512F-32: # %bb.0:
5235 ; AVX512F-32-NEXT: pushl %ebp
5236 ; AVX512F-32-NEXT: movl %esp, %ebp
5237 ; AVX512F-32-NEXT: andl $-16, %esp
5238 ; AVX512F-32-NEXT: subl $16, %esp
5239 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
5240 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
5241 ; AVX512F-32-NEXT: vcmpneq_ospd 8(%ebp), %xmm2, %xmm2
5242 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
5243 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
5244 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
5245 ; AVX512F-32-NEXT: movl %ebp, %esp
5246 ; AVX512F-32-NEXT: popl %ebp
5247 ; AVX512F-32-NEXT: vzeroupper
5248 ; AVX512F-32-NEXT: retl
5250 ; AVX512F-64-LABEL: test_v2f64_one_s:
5251 ; AVX512F-64: # %bb.0:
5252 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
5253 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
5254 ; AVX512F-64-NEXT: vcmpneq_ospd %xmm3, %xmm2, %xmm2
5255 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
5256 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
5257 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
5258 ; AVX512F-64-NEXT: vzeroupper
5259 ; AVX512F-64-NEXT: retq
5331 ; AVX512F-32-LABEL: test_v2f64_ord_s:
5332 ; AVX512F-32: # %bb.0:
5333 ; AVX512F-32-NEXT: pushl %ebp
5334 ; AVX512F-32-NEXT: movl %esp, %ebp
5335 ; AVX512F-32-NEXT: andl $-16, %esp
5336 ; AVX512F-32-NEXT: subl $16, %esp
5337 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
5338 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
5339 ; AVX512F-32-NEXT: vcmpord_spd 8(%ebp), %xmm2, %xmm2
5340 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
5341 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
5342 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
5343 ; AVX512F-32-NEXT: movl %ebp, %esp
5344 ; AVX512F-32-NEXT: popl %ebp
5345 ; AVX512F-32-NEXT: vzeroupper
5346 ; AVX512F-32-NEXT: retl
5348 ; AVX512F-64-LABEL: test_v2f64_ord_s:
5349 ; AVX512F-64: # %bb.0:
5350 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
5351 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
5352 ; AVX512F-64-NEXT: vcmpord_spd %xmm3, %xmm2, %xmm2
5353 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
5354 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
5355 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
5356 ; AVX512F-64-NEXT: vzeroupper
5357 ; AVX512F-64-NEXT: retq
5435 ; AVX512F-32-LABEL: test_v2f64_ueq_s:
5436 ; AVX512F-32: # %bb.0:
5437 ; AVX512F-32-NEXT: pushl %ebp
5438 ; AVX512F-32-NEXT: movl %esp, %ebp
5439 ; AVX512F-32-NEXT: andl $-16, %esp
5440 ; AVX512F-32-NEXT: subl $16, %esp
5441 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
5442 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
5443 ; AVX512F-32-NEXT: vcmpeq_uspd 8(%ebp), %xmm2, %xmm2
5444 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
5445 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
5446 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
5447 ; AVX512F-32-NEXT: movl %ebp, %esp
5448 ; AVX512F-32-NEXT: popl %ebp
5449 ; AVX512F-32-NEXT: vzeroupper
5450 ; AVX512F-32-NEXT: retl
5452 ; AVX512F-64-LABEL: test_v2f64_ueq_s:
5453 ; AVX512F-64: # %bb.0:
5454 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
5455 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
5456 ; AVX512F-64-NEXT: vcmpeq_uspd %xmm3, %xmm2, %xmm2
5457 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
5458 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
5459 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
5460 ; AVX512F-64-NEXT: vzeroupper
5461 ; AVX512F-64-NEXT: retq
5528 ; AVX512F-32-LABEL: test_v2f64_ugt_s:
5529 ; AVX512F-32: # %bb.0:
5530 ; AVX512F-32-NEXT: pushl %ebp
5531 ; AVX512F-32-NEXT: movl %esp, %ebp
5532 ; AVX512F-32-NEXT: andl $-16, %esp
5533 ; AVX512F-32-NEXT: subl $16, %esp
5534 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
5535 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
5536 ; AVX512F-32-NEXT: vcmpnlepd 8(%ebp), %xmm2, %xmm2
5537 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
5538 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
5539 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
5540 ; AVX512F-32-NEXT: movl %ebp, %esp
5541 ; AVX512F-32-NEXT: popl %ebp
5542 ; AVX512F-32-NEXT: vzeroupper
5543 ; AVX512F-32-NEXT: retl
5545 ; AVX512F-64-LABEL: test_v2f64_ugt_s:
5546 ; AVX512F-64: # %bb.0:
5547 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
5548 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
5549 ; AVX512F-64-NEXT: vcmpnlepd %xmm3, %xmm2, %xmm2
5550 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
5551 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
5552 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
5553 ; AVX512F-64-NEXT: vzeroupper
5554 ; AVX512F-64-NEXT: retq
5621 ; AVX512F-32-LABEL: test_v2f64_uge_s:
5622 ; AVX512F-32: # %bb.0:
5623 ; AVX512F-32-NEXT: pushl %ebp
5624 ; AVX512F-32-NEXT: movl %esp, %ebp
5625 ; AVX512F-32-NEXT: andl $-16, %esp
5626 ; AVX512F-32-NEXT: subl $16, %esp
5627 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
5628 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
5629 ; AVX512F-32-NEXT: vcmpnltpd 8(%ebp), %xmm2, %xmm2
5630 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
5631 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
5632 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
5633 ; AVX512F-32-NEXT: movl %ebp, %esp
5634 ; AVX512F-32-NEXT: popl %ebp
5635 ; AVX512F-32-NEXT: vzeroupper
5636 ; AVX512F-32-NEXT: retl
5638 ; AVX512F-64-LABEL: test_v2f64_uge_s:
5639 ; AVX512F-64: # %bb.0:
5640 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
5641 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
5642 ; AVX512F-64-NEXT: vcmpnltpd %xmm3, %xmm2, %xmm2
5643 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
5644 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
5645 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
5646 ; AVX512F-64-NEXT: vzeroupper
5647 ; AVX512F-64-NEXT: retq
5716 ; AVX512F-32-LABEL: test_v2f64_ult_s:
5717 ; AVX512F-32: # %bb.0:
5718 ; AVX512F-32-NEXT: pushl %ebp
5719 ; AVX512F-32-NEXT: movl %esp, %ebp
5720 ; AVX512F-32-NEXT: andl $-16, %esp
5721 ; AVX512F-32-NEXT: subl $16, %esp
5722 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
5723 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
5724 ; AVX512F-32-NEXT: vmovapd 8(%ebp), %xmm3
5725 ; AVX512F-32-NEXT: vcmpnlepd %xmm2, %xmm3, %xmm2
5726 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
5727 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
5728 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
5729 ; AVX512F-32-NEXT: movl %ebp, %esp
5730 ; AVX512F-32-NEXT: popl %ebp
5731 ; AVX512F-32-NEXT: vzeroupper
5732 ; AVX512F-32-NEXT: retl
5734 ; AVX512F-64-LABEL: test_v2f64_ult_s:
5735 ; AVX512F-64: # %bb.0:
5736 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
5737 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
5738 ; AVX512F-64-NEXT: vcmpnlepd %xmm2, %xmm3, %xmm2
5739 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
5740 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
5741 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
5742 ; AVX512F-64-NEXT: vzeroupper
5743 ; AVX512F-64-NEXT: retq
5812 ; AVX512F-32-LABEL: test_v2f64_ule_s:
5813 ; AVX512F-32: # %bb.0:
5814 ; AVX512F-32-NEXT: pushl %ebp
5815 ; AVX512F-32-NEXT: movl %esp, %ebp
5816 ; AVX512F-32-NEXT: andl $-16, %esp
5817 ; AVX512F-32-NEXT: subl $16, %esp
5818 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
5819 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
5820 ; AVX512F-32-NEXT: vmovapd 8(%ebp), %xmm3
5821 ; AVX512F-32-NEXT: vcmpnltpd %xmm2, %xmm3, %xmm2
5822 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
5823 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
5824 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
5825 ; AVX512F-32-NEXT: movl %ebp, %esp
5826 ; AVX512F-32-NEXT: popl %ebp
5827 ; AVX512F-32-NEXT: vzeroupper
5828 ; AVX512F-32-NEXT: retl
5830 ; AVX512F-64-LABEL: test_v2f64_ule_s:
5831 ; AVX512F-64: # %bb.0:
5832 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
5833 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
5834 ; AVX512F-64-NEXT: vcmpnltpd %xmm2, %xmm3, %xmm2
5835 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
5836 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
5837 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
5838 ; AVX512F-64-NEXT: vzeroupper
5839 ; AVX512F-64-NEXT: retq
5911 ; AVX512F-32-LABEL: test_v2f64_une_s:
5912 ; AVX512F-32: # %bb.0:
5913 ; AVX512F-32-NEXT: pushl %ebp
5914 ; AVX512F-32-NEXT: movl %esp, %ebp
5915 ; AVX512F-32-NEXT: andl $-16, %esp
5916 ; AVX512F-32-NEXT: subl $16, %esp
5917 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
5918 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
5919 ; AVX512F-32-NEXT: vcmpneq_uspd 8(%ebp), %xmm2, %xmm2
5920 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
5921 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
5922 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
5923 ; AVX512F-32-NEXT: movl %ebp, %esp
5924 ; AVX512F-32-NEXT: popl %ebp
5925 ; AVX512F-32-NEXT: vzeroupper
5926 ; AVX512F-32-NEXT: retl
5928 ; AVX512F-64-LABEL: test_v2f64_une_s:
5929 ; AVX512F-64: # %bb.0:
5930 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
5931 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
5932 ; AVX512F-64-NEXT: vcmpneq_uspd %xmm3, %xmm2, %xmm2
5933 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
5934 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
5935 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
5936 ; AVX512F-64-NEXT: vzeroupper
5937 ; AVX512F-64-NEXT: retq
6009 ; AVX512F-32-LABEL: test_v2f64_uno_s:
6010 ; AVX512F-32: # %bb.0:
6011 ; AVX512F-32-NEXT: pushl %ebp
6012 ; AVX512F-32-NEXT: movl %esp, %ebp
6013 ; AVX512F-32-NEXT: andl $-16, %esp
6014 ; AVX512F-32-NEXT: subl $16, %esp
6015 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
6016 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
6017 ; AVX512F-32-NEXT: vcmpunord_spd 8(%ebp), %xmm2, %xmm2
6018 ; AVX512F-32-NEXT: vptestmq %zmm2, %zmm2, %k1
6019 ; AVX512F-32-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
6020 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
6021 ; AVX512F-32-NEXT: movl %ebp, %esp
6022 ; AVX512F-32-NEXT: popl %ebp
6023 ; AVX512F-32-NEXT: vzeroupper
6024 ; AVX512F-32-NEXT: retl
6026 ; AVX512F-64-LABEL: test_v2f64_uno_s:
6027 ; AVX512F-64: # %bb.0:
6028 ; AVX512F-64-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1
6029 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
6030 ; AVX512F-64-NEXT: vcmpunord_spd %xmm3, %xmm2, %xmm2
6031 ; AVX512F-64-NEXT: vptestmq %zmm2, %zmm2, %k1
6032 ; AVX512F-64-NEXT: vpblendmq %zmm0, %zmm1, %zmm0 {%k1}
6033 ; AVX512F-64-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
6034 ; AVX512F-64-NEXT: vzeroupper
6035 ; AVX512F-64-NEXT: retq