Lines Matching full:global

4 ; RUN: llc -mtriple=aarch64 -global-isel %s -o - | FileCheck %s --check-prefixes=CHECK,CHECK-GLOBAL
5 ; RUN: llc -mtriple=aarch64 -global-isel %s -o - -mattr=+cssc | FileCheck %s --check-prefixes=CHECK…
28 ; CHECK-GLOBAL-LABEL: smaxi8:
29 ; CHECK-GLOBAL: // %bb.0:
30 ; CHECK-GLOBAL-NEXT: sxtb w8, w0
31 ; CHECK-GLOBAL-NEXT: cmp w8, w1, sxtb
32 ; CHECK-GLOBAL-NEXT: csel w0, w0, w1, gt
33 ; CHECK-GLOBAL-NEXT: ret
35 ; CHECK-GLOBAL-CSSC-LABEL: smaxi8:
36 ; CHECK-GLOBAL-CSSC: // %bb.0:
37 ; CHECK-GLOBAL-CSSC-NEXT: sxtb w8, w0
38 ; CHECK-GLOBAL-CSSC-NEXT: sxtb w9, w1
39 ; CHECK-GLOBAL-CSSC-NEXT: smax w0, w8, w9
40 ; CHECK-GLOBAL-CSSC-NEXT: ret
63 ; CHECK-GLOBAL-LABEL: smaxi16:
64 ; CHECK-GLOBAL: // %bb.0:
65 ; CHECK-GLOBAL-NEXT: sxth w8, w0
66 ; CHECK-GLOBAL-NEXT: cmp w8, w1, sxth
67 ; CHECK-GLOBAL-NEXT: csel w0, w0, w1, gt
68 ; CHECK-GLOBAL-NEXT: ret
70 ; CHECK-GLOBAL-CSSC-LABEL: smaxi16:
71 ; CHECK-GLOBAL-CSSC: // %bb.0:
72 ; CHECK-GLOBAL-CSSC-NEXT: sxth w8, w0
73 ; CHECK-GLOBAL-CSSC-NEXT: sxth w9, w1
74 ; CHECK-GLOBAL-CSSC-NEXT: smax w0, w8, w9
75 ; CHECK-GLOBAL-CSSC-NEXT: ret
94 ; CHECK-GLOBAL-LABEL: smaxi32:
95 ; CHECK-GLOBAL: // %bb.0:
96 ; CHECK-GLOBAL-NEXT: cmp w0, w1
97 ; CHECK-GLOBAL-NEXT: csel w0, w0, w1, gt
98 ; CHECK-GLOBAL-NEXT: ret
100 ; CHECK-GLOBAL-CSSC-LABEL: smaxi32:
101 ; CHECK-GLOBAL-CSSC: // %bb.0:
102 ; CHECK-GLOBAL-CSSC-NEXT: smax w0, w0, w1
103 ; CHECK-GLOBAL-CSSC-NEXT: ret
122 ; CHECK-GLOBAL-LABEL: smaxi64:
123 ; CHECK-GLOBAL: // %bb.0:
124 ; CHECK-GLOBAL-NEXT: cmp x0, x1
125 ; CHECK-GLOBAL-NEXT: csel x0, x0, x1, gt
126 ; CHECK-GLOBAL-NEXT: ret
128 ; CHECK-GLOBAL-CSSC-LABEL: smaxi64:
129 ; CHECK-GLOBAL-CSSC: // %bb.0:
130 ; CHECK-GLOBAL-CSSC-NEXT: smax x0, x0, x1
131 ; CHECK-GLOBAL-CSSC-NEXT: ret
175 ; CHECK-GLOBAL-LABEL: smax32i8:
176 ; CHECK-GLOBAL: // %bb.0:
177 ; CHECK-GLOBAL-NEXT: smax v0.16b, v0.16b, v2.16b
178 ; CHECK-GLOBAL-NEXT: smax v1.16b, v1.16b, v3.16b
179 ; CHECK-GLOBAL-NEXT: stp q0, q1, [x0]
180 ; CHECK-GLOBAL-NEXT: ret
182 ; CHECK-GLOBAL-CSSC-LABEL: smax32i8:
183 ; CHECK-GLOBAL-CSSC: // %bb.0:
184 ; CHECK-GLOBAL-CSSC-NEXT: smax v0.16b, v0.16b, v2.16b
185 ; CHECK-GLOBAL-CSSC-NEXT: smax v1.16b, v1.16b, v3.16b
186 ; CHECK-GLOBAL-CSSC-NEXT: stp q0, q1, [x0]
187 ; CHECK-GLOBAL-CSSC-NEXT: ret
232 ; CHECK-GLOBAL-LABEL: smax16i16:
233 ; CHECK-GLOBAL: // %bb.0:
234 ; CHECK-GLOBAL-NEXT: smax v0.8h, v0.8h, v2.8h
235 ; CHECK-GLOBAL-NEXT: smax v1.8h, v1.8h, v3.8h
236 ; CHECK-GLOBAL-NEXT: stp q0, q1, [x0]
237 ; CHECK-GLOBAL-NEXT: ret
239 ; CHECK-GLOBAL-CSSC-LABEL: smax16i16:
240 ; CHECK-GLOBAL-CSSC: // %bb.0:
241 ; CHECK-GLOBAL-CSSC-NEXT: smax v0.8h, v0.8h, v2.8h
242 ; CHECK-GLOBAL-CSSC-NEXT: smax v1.8h, v1.8h, v3.8h
243 ; CHECK-GLOBAL-CSSC-NEXT: stp q0, q1, [x0]
244 ; CHECK-GLOBAL-CSSC-NEXT: ret
289 ; CHECK-GLOBAL-LABEL: smax8i32:
290 ; CHECK-GLOBAL: // %bb.0:
291 ; CHECK-GLOBAL-NEXT: smax v0.4s, v0.4s, v2.4s
292 ; CHECK-GLOBAL-NEXT: smax v1.4s, v1.4s, v3.4s
293 ; CHECK-GLOBAL-NEXT: stp q0, q1, [x0]
294 ; CHECK-GLOBAL-NEXT: ret
296 ; CHECK-GLOBAL-CSSC-LABEL: smax8i32:
297 ; CHECK-GLOBAL-CSSC: // %bb.0:
298 ; CHECK-GLOBAL-CSSC-NEXT: smax v0.4s, v0.4s, v2.4s
299 ; CHECK-GLOBAL-CSSC-NEXT: smax v1.4s, v1.4s, v3.4s
300 ; CHECK-GLOBAL-CSSC-NEXT: stp q0, q1, [x0]
301 ; CHECK-GLOBAL-CSSC-NEXT: ret
322 ; CHECK-GLOBAL-LABEL: smax1i64:
323 ; CHECK-GLOBAL: // %bb.0:
324 ; CHECK-GLOBAL-NEXT: fmov x8, d0
325 ; CHECK-GLOBAL-NEXT: fmov x9, d1
326 ; CHECK-GLOBAL-NEXT: cmp x8, x9
327 ; CHECK-GLOBAL-NEXT: fcsel d0, d0, d1, gt
328 ; CHECK-GLOBAL-NEXT: ret
330 ; CHECK-GLOBAL-CSSC-LABEL: smax1i64:
331 ; CHECK-GLOBAL-CSSC: // %bb.0:
332 ; CHECK-GLOBAL-CSSC-NEXT: fmov x8, d0
333 ; CHECK-GLOBAL-CSSC-NEXT: fmov x9, d1
334 ; CHECK-GLOBAL-CSSC-NEXT: smax x8, x8, x9
335 ; CHECK-GLOBAL-CSSC-NEXT: fmov d0, x8
336 ; CHECK-GLOBAL-CSSC-NEXT: ret
374 ; CHECK-GLOBAL-LABEL: smax4i64:
375 ; CHECK-GLOBAL: // %bb.0:
376 ; CHECK-GLOBAL-NEXT: cmgt v4.2d, v0.2d, v2.2d
377 ; CHECK-GLOBAL-NEXT: cmgt v5.2d, v1.2d, v3.2d
378 ; CHECK-GLOBAL-NEXT: bif v0.16b, v2.16b, v4.16b
379 ; CHECK-GLOBAL-NEXT: bif v1.16b, v3.16b, v5.16b
380 ; CHECK-GLOBAL-NEXT: stp q0, q1, [x0]
381 ; CHECK-GLOBAL-NEXT: ret
383 ; CHECK-GLOBAL-CSSC-LABEL: smax4i64:
384 ; CHECK-GLOBAL-CSSC: // %bb.0:
385 ; CHECK-GLOBAL-CSSC-NEXT: cmgt v4.2d, v0.2d, v2.2d
386 ; CHECK-GLOBAL-CSSC-NEXT: cmgt v5.2d, v1.2d, v3.2d
387 ; CHECK-GLOBAL-CSSC-NEXT: bif v0.16b, v2.16b, v4.16b
388 ; CHECK-GLOBAL-CSSC-NEXT: bif v1.16b, v3.16b, v5.16b
389 ; CHECK-GLOBAL-CSSC-NEXT: stp q0, q1, [x0]
390 ; CHECK-GLOBAL-CSSC-NEXT: ret
414 ; CHECK-GLOBAL-LABEL: umaxi8:
415 ; CHECK-GLOBAL: // %bb.0:
416 ; CHECK-GLOBAL-NEXT: and w8, w0, #0xff
417 ; CHECK-GLOBAL-NEXT: cmp w8, w1, uxtb
418 ; CHECK-GLOBAL-NEXT: csel w0, w0, w1, hi
419 ; CHECK-GLOBAL-NEXT: ret
421 ; CHECK-GLOBAL-CSSC-LABEL: umaxi8:
422 ; CHECK-GLOBAL-CSSC: // %bb.0:
423 ; CHECK-GLOBAL-CSSC-NEXT: and w8, w0, #0xff
424 ; CHECK-GLOBAL-CSSC-NEXT: and w9, w1, #0xff
425 ; CHECK-GLOBAL-CSSC-NEXT: umax w0, w8, w9
426 ; CHECK-GLOBAL-CSSC-NEXT: ret
445 ; CHECK-GLOBAL-LABEL: umaxi8_1:
446 ; CHECK-GLOBAL: // %bb.0:
447 ; CHECK-GLOBAL-NEXT: and w8, w0, #0xff
448 ; CHECK-GLOBAL-NEXT: cmp w8, #1
449 ; CHECK-GLOBAL-NEXT: csinc w0, w0, wzr, hi
450 ; CHECK-GLOBAL-NEXT: ret
452 ; CHECK-GLOBAL-CSSC-LABEL: umaxi8_1:
453 ; CHECK-GLOBAL-CSSC: // %bb.0:
454 ; CHECK-GLOBAL-CSSC-NEXT: and w8, w0, #0xff
455 ; CHECK-GLOBAL-CSSC-NEXT: umax w0, w8, #1
456 ; CHECK-GLOBAL-CSSC-NEXT: ret
479 ; CHECK-GLOBAL-LABEL: umaxi16:
480 ; CHECK-GLOBAL: // %bb.0:
481 ; CHECK-GLOBAL-NEXT: and w8, w0, #0xffff
482 ; CHECK-GLOBAL-NEXT: cmp w8, w1, uxth
483 ; CHECK-GLOBAL-NEXT: csel w0, w0, w1, hi
484 ; CHECK-GLOBAL-NEXT: ret
486 ; CHECK-GLOBAL-CSSC-LABEL: umaxi16:
487 ; CHECK-GLOBAL-CSSC: // %bb.0:
488 ; CHECK-GLOBAL-CSSC-NEXT: and w8, w0, #0xffff
489 ; CHECK-GLOBAL-CSSC-NEXT: and w9, w1, #0xffff
490 ; CHECK-GLOBAL-CSSC-NEXT: umax w0, w8, w9
491 ; CHECK-GLOBAL-CSSC-NEXT: ret
510 ; CHECK-GLOBAL-LABEL: umaxi16_1:
511 ; CHECK-GLOBAL: // %bb.0:
512 ; CHECK-GLOBAL-NEXT: and w8, w0, #0xffff
513 ; CHECK-GLOBAL-NEXT: cmp w8, #1
514 ; CHECK-GLOBAL-NEXT: csinc w0, w0, wzr, hi
515 ; CHECK-GLOBAL-NEXT: ret
517 ; CHECK-GLOBAL-CSSC-LABEL: umaxi16_1:
518 ; CHECK-GLOBAL-CSSC: // %bb.0:
519 ; CHECK-GLOBAL-CSSC-NEXT: and w8, w0, #0xffff
520 ; CHECK-GLOBAL-CSSC-NEXT: umax w0, w8, #1
521 ; CHECK-GLOBAL-CSSC-NEXT: ret
540 ; CHECK-GLOBAL-LABEL: umaxi32:
541 ; CHECK-GLOBAL: // %bb.0:
542 ; CHECK-GLOBAL-NEXT: cmp w0, w1
543 ; CHECK-GLOBAL-NEXT: csel w0, w0, w1, hi
544 ; CHECK-GLOBAL-NEXT: ret
546 ; CHECK-GLOBAL-CSSC-LABEL: umaxi32:
547 ; CHECK-GLOBAL-CSSC: // %bb.0:
548 ; CHECK-GLOBAL-CSSC-NEXT: umax w0, w0, w1
549 ; CHECK-GLOBAL-CSSC-NEXT: ret
566 ; CHECK-GLOBAL-LABEL: umaxi32_1:
567 ; CHECK-GLOBAL: // %bb.0:
568 ; CHECK-GLOBAL-NEXT: cmp w0, #1
569 ; CHECK-GLOBAL-NEXT: csinc w0, w0, wzr, hi
570 ; CHECK-GLOBAL-NEXT: ret
572 ; CHECK-GLOBAL-CSSC-LABEL: umaxi32_1:
573 ; CHECK-GLOBAL-CSSC: // %bb.0:
574 ; CHECK-GLOBAL-CSSC-NEXT: umax w0, w0, #1
575 ; CHECK-GLOBAL-CSSC-NEXT: ret
594 ; CHECK-GLOBAL-LABEL: umaxi64:
595 ; CHECK-GLOBAL: // %bb.0:
596 ; CHECK-GLOBAL-NEXT: cmp x0, x1
597 ; CHECK-GLOBAL-NEXT: csel x0, x0, x1, hi
598 ; CHECK-GLOBAL-NEXT: ret
600 ; CHECK-GLOBAL-CSSC-LABEL: umaxi64:
601 ; CHECK-GLOBAL-CSSC: // %bb.0:
602 ; CHECK-GLOBAL-CSSC-NEXT: umax x0, x0, x1
603 ; CHECK-GLOBAL-CSSC-NEXT: ret
620 ; CHECK-GLOBAL-LABEL: umaxi64_1:
621 ; CHECK-GLOBAL: // %bb.0:
622 ; CHECK-GLOBAL-NEXT: cmp x0, #1
623 ; CHECK-GLOBAL-NEXT: csinc x0, x0, xzr, hi
624 ; CHECK-GLOBAL-NEXT: ret
626 ; CHECK-GLOBAL-CSSC-LABEL: umaxi64_1:
627 ; CHECK-GLOBAL-CSSC: // %bb.0:
628 ; CHECK-GLOBAL-CSSC-NEXT: umax x0, x0, #1
629 ; CHECK-GLOBAL-CSSC-NEXT: ret
673 ; CHECK-GLOBAL-LABEL: umax32i8:
674 ; CHECK-GLOBAL: // %bb.0:
675 ; CHECK-GLOBAL-NEXT: umax v0.16b, v0.16b, v2.16b
676 ; CHECK-GLOBAL-NEXT: umax v1.16b, v1.16b, v3.16b
677 ; CHECK-GLOBAL-NEXT: stp q0, q1, [x0]
678 ; CHECK-GLOBAL-NEXT: ret
680 ; CHECK-GLOBAL-CSSC-LABEL: umax32i8:
681 ; CHECK-GLOBAL-CSSC: // %bb.0:
682 ; CHECK-GLOBAL-CSSC-NEXT: umax v0.16b, v0.16b, v2.16b
683 ; CHECK-GLOBAL-CSSC-NEXT: umax v1.16b, v1.16b, v3.16b
684 ; CHECK-GLOBAL-CSSC-NEXT: stp q0, q1, [x0]
685 ; CHECK-GLOBAL-CSSC-NEXT: ret
730 ; CHECK-GLOBAL-LABEL: umax16i16:
731 ; CHECK-GLOBAL: // %bb.0:
732 ; CHECK-GLOBAL-NEXT: umax v0.8h, v0.8h, v2.8h
733 ; CHECK-GLOBAL-NEXT: umax v1.8h, v1.8h, v3.8h
734 ; CHECK-GLOBAL-NEXT: stp q0, q1, [x0]
735 ; CHECK-GLOBAL-NEXT: ret
737 ; CHECK-GLOBAL-CSSC-LABEL: umax16i16:
738 ; CHECK-GLOBAL-CSSC: // %bb.0:
739 ; CHECK-GLOBAL-CSSC-NEXT: umax v0.8h, v0.8h, v2.8h
740 ; CHECK-GLOBAL-CSSC-NEXT: umax v1.8h, v1.8h, v3.8h
741 ; CHECK-GLOBAL-CSSC-NEXT: stp q0, q1, [x0]
742 ; CHECK-GLOBAL-CSSC-NEXT: ret
787 ; CHECK-GLOBAL-LABEL: umax8i32:
788 ; CHECK-GLOBAL: // %bb.0:
789 ; CHECK-GLOBAL-NEXT: umax v0.4s, v0.4s, v2.4s
790 ; CHECK-GLOBAL-NEXT: umax v1.4s, v1.4s, v3.4s
791 ; CHECK-GLOBAL-NEXT: stp q0, q1, [x0]
792 ; CHECK-GLOBAL-NEXT: ret
794 ; CHECK-GLOBAL-CSSC-LABEL: umax8i32:
795 ; CHECK-GLOBAL-CSSC: // %bb.0:
796 ; CHECK-GLOBAL-CSSC-NEXT: umax v0.4s, v0.4s, v2.4s
797 ; CHECK-GLOBAL-CSSC-NEXT: umax v1.4s, v1.4s, v3.4s
798 ; CHECK-GLOBAL-CSSC-NEXT: stp q0, q1, [x0]
799 ; CHECK-GLOBAL-CSSC-NEXT: ret
820 ; CHECK-GLOBAL-LABEL: umax1i64:
821 ; CHECK-GLOBAL: // %bb.0:
822 ; CHECK-GLOBAL-NEXT: fmov x8, d0
823 ; CHECK-GLOBAL-NEXT: fmov x9, d1
824 ; CHECK-GLOBAL-NEXT: cmp x8, x9
825 ; CHECK-GLOBAL-NEXT: fcsel d0, d0, d1, hi
826 ; CHECK-GLOBAL-NEXT: ret
828 ; CHECK-GLOBAL-CSSC-LABEL: umax1i64:
829 ; CHECK-GLOBAL-CSSC: // %bb.0:
830 ; CHECK-GLOBAL-CSSC-NEXT: fmov x8, d0
831 ; CHECK-GLOBAL-CSSC-NEXT: fmov x9, d1
832 ; CHECK-GLOBAL-CSSC-NEXT: umax x8, x8, x9
833 ; CHECK-GLOBAL-CSSC-NEXT: fmov d0, x8
834 ; CHECK-GLOBAL-CSSC-NEXT: ret
872 ; CHECK-GLOBAL-LABEL: umax4i64:
873 ; CHECK-GLOBAL: // %bb.0:
874 ; CHECK-GLOBAL-NEXT: cmhi v4.2d, v0.2d, v2.2d
875 ; CHECK-GLOBAL-NEXT: cmhi v5.2d, v1.2d, v3.2d
876 ; CHECK-GLOBAL-NEXT: bif v0.16b, v2.16b, v4.16b
877 ; CHECK-GLOBAL-NEXT: bif v1.16b, v3.16b, v5.16b
878 ; CHECK-GLOBAL-NEXT: stp q0, q1, [x0]
879 ; CHECK-GLOBAL-NEXT: ret
881 ; CHECK-GLOBAL-CSSC-LABEL: umax4i64:
882 ; CHECK-GLOBAL-CSSC: // %bb.0:
883 ; CHECK-GLOBAL-CSSC-NEXT: cmhi v4.2d, v0.2d, v2.2d
884 ; CHECK-GLOBAL-CSSC-NEXT: cmhi v5.2d, v1.2d, v3.2d
885 ; CHECK-GLOBAL-CSSC-NEXT: bif v0.16b, v2.16b, v4.16b
886 ; CHECK-GLOBAL-CSSC-NEXT: bif v1.16b, v3.16b, v5.16b
887 ; CHECK-GLOBAL-CSSC-NEXT: stp q0, q1, [x0]
888 ; CHECK-GLOBAL-CSSC-NEXT: ret
912 ; CHECK-GLOBAL-LABEL: smini8:
913 ; CHECK-GLOBAL: // %bb.0:
914 ; CHECK-GLOBAL-NEXT: sxtb w8, w0
915 ; CHECK-GLOBAL-NEXT: cmp w8, w1, sxtb
916 ; CHECK-GLOBAL-NEXT: csel w0, w0, w1, lt
917 ; CHECK-GLOBAL-NEXT: ret
919 ; CHECK-GLOBAL-CSSC-LABEL: smini8:
920 ; CHECK-GLOBAL-CSSC: // %bb.0:
921 ; CHECK-GLOBAL-CSSC-NEXT: sxtb w8, w0
922 ; CHECK-GLOBAL-CSSC-NEXT: sxtb w9, w1
923 ; CHECK-GLOBAL-CSSC-NEXT: smin w0, w8, w9
924 ; CHECK-GLOBAL-CSSC-NEXT: ret
947 ; CHECK-GLOBAL-LABEL: smini16:
948 ; CHECK-GLOBAL: // %bb.0:
949 ; CHECK-GLOBAL-NEXT: sxth w8, w0
950 ; CHECK-GLOBAL-NEXT: cmp w8, w1, sxth
951 ; CHECK-GLOBAL-NEXT: csel w0, w0, w1, lt
952 ; CHECK-GLOBAL-NEXT: ret
954 ; CHECK-GLOBAL-CSSC-LABEL: smini16:
955 ; CHECK-GLOBAL-CSSC: // %bb.0:
956 ; CHECK-GLOBAL-CSSC-NEXT: sxth w8, w0
957 ; CHECK-GLOBAL-CSSC-NEXT: sxth w9, w1
958 ; CHECK-GLOBAL-CSSC-NEXT: smin w0, w8, w9
959 ; CHECK-GLOBAL-CSSC-NEXT: ret
978 ; CHECK-GLOBAL-LABEL: smini32:
979 ; CHECK-GLOBAL: // %bb.0:
980 ; CHECK-GLOBAL-NEXT: cmp w0, w1
981 ; CHECK-GLOBAL-NEXT: csel w0, w0, w1, lt
982 ; CHECK-GLOBAL-NEXT: ret
984 ; CHECK-GLOBAL-CSSC-LABEL: smini32:
985 ; CHECK-GLOBAL-CSSC: // %bb.0:
986 ; CHECK-GLOBAL-CSSC-NEXT: smin w0, w0, w1
987 ; CHECK-GLOBAL-CSSC-NEXT: ret
1006 ; CHECK-GLOBAL-LABEL: smini64:
1007 ; CHECK-GLOBAL: // %bb.0:
1008 ; CHECK-GLOBAL-NEXT: cmp x0, x1
1009 ; CHECK-GLOBAL-NEXT: csel x0, x0, x1, lt
1010 ; CHECK-GLOBAL-NEXT: ret
1012 ; CHECK-GLOBAL-CSSC-LABEL: smini64:
1013 ; CHECK-GLOBAL-CSSC: // %bb.0:
1014 ; CHECK-GLOBAL-CSSC-NEXT: smin x0, x0, x1
1015 ; CHECK-GLOBAL-CSSC-NEXT: ret
1059 ; CHECK-GLOBAL-LABEL: smin32i8:
1060 ; CHECK-GLOBAL: // %bb.0:
1061 ; CHECK-GLOBAL-NEXT: smin v0.16b, v0.16b, v2.16b
1062 ; CHECK-GLOBAL-NEXT: smin v1.16b, v1.16b, v3.16b
1063 ; CHECK-GLOBAL-NEXT: stp q0, q1, [x0]
1064 ; CHECK-GLOBAL-NEXT: ret
1066 ; CHECK-GLOBAL-CSSC-LABEL: smin32i8:
1067 ; CHECK-GLOBAL-CSSC: // %bb.0:
1068 ; CHECK-GLOBAL-CSSC-NEXT: smin v0.16b, v0.16b, v2.16b
1069 ; CHECK-GLOBAL-CSSC-NEXT: smin v1.16b, v1.16b, v3.16b
1070 ; CHECK-GLOBAL-CSSC-NEXT: stp q0, q1, [x0]
1071 ; CHECK-GLOBAL-CSSC-NEXT: ret
1116 ; CHECK-GLOBAL-LABEL: smin16i16:
1117 ; CHECK-GLOBAL: // %bb.0:
1118 ; CHECK-GLOBAL-NEXT: smin v0.8h, v0.8h, v2.8h
1119 ; CHECK-GLOBAL-NEXT: smin v1.8h, v1.8h, v3.8h
1120 ; CHECK-GLOBAL-NEXT: stp q0, q1, [x0]
1121 ; CHECK-GLOBAL-NEXT: ret
1123 ; CHECK-GLOBAL-CSSC-LABEL: smin16i16:
1124 ; CHECK-GLOBAL-CSSC: // %bb.0:
1125 ; CHECK-GLOBAL-CSSC-NEXT: smin v0.8h, v0.8h, v2.8h
1126 ; CHECK-GLOBAL-CSSC-NEXT: smin v1.8h, v1.8h, v3.8h
1127 ; CHECK-GLOBAL-CSSC-NEXT: stp q0, q1, [x0]
1128 ; CHECK-GLOBAL-CSSC-NEXT: ret
1173 ; CHECK-GLOBAL-LABEL: smin8i32:
1174 ; CHECK-GLOBAL: // %bb.0:
1175 ; CHECK-GLOBAL-NEXT: smin v0.4s, v0.4s, v2.4s
1176 ; CHECK-GLOBAL-NEXT: smin v1.4s, v1.4s, v3.4s
1177 ; CHECK-GLOBAL-NEXT: stp q0, q1, [x0]
1178 ; CHECK-GLOBAL-NEXT: ret
1180 ; CHECK-GLOBAL-CSSC-LABEL: smin8i32:
1181 ; CHECK-GLOBAL-CSSC: // %bb.0:
1182 ; CHECK-GLOBAL-CSSC-NEXT: smin v0.4s, v0.4s, v2.4s
1183 ; CHECK-GLOBAL-CSSC-NEXT: smin v1.4s, v1.4s, v3.4s
1184 ; CHECK-GLOBAL-CSSC-NEXT: stp q0, q1, [x0]
1185 ; CHECK-GLOBAL-CSSC-NEXT: ret
1206 ; CHECK-GLOBAL-LABEL: smin1i64:
1207 ; CHECK-GLOBAL: // %bb.0:
1208 ; CHECK-GLOBAL-NEXT: fmov x8, d0
1209 ; CHECK-GLOBAL-NEXT: fmov x9, d1
1210 ; CHECK-GLOBAL-NEXT: cmp x8, x9
1211 ; CHECK-GLOBAL-NEXT: fcsel d0, d0, d1, lt
1212 ; CHECK-GLOBAL-NEXT: ret
1214 ; CHECK-GLOBAL-CSSC-LABEL: smin1i64:
1215 ; CHECK-GLOBAL-CSSC: // %bb.0:
1216 ; CHECK-GLOBAL-CSSC-NEXT: fmov x8, d0
1217 ; CHECK-GLOBAL-CSSC-NEXT: fmov x9, d1
1218 ; CHECK-GLOBAL-CSSC-NEXT: smin x8, x8, x9
1219 ; CHECK-GLOBAL-CSSC-NEXT: fmov d0, x8
1220 ; CHECK-GLOBAL-CSSC-NEXT: ret
1258 ; CHECK-GLOBAL-LABEL: smin4i64:
1259 ; CHECK-GLOBAL: // %bb.0:
1260 ; CHECK-GLOBAL-NEXT: cmgt v4.2d, v2.2d, v0.2d
1261 ; CHECK-GLOBAL-NEXT: cmgt v5.2d, v3.2d, v1.2d
1262 ; CHECK-GLOBAL-NEXT: bif v0.16b, v2.16b, v4.16b
1263 ; CHECK-GLOBAL-NEXT: bif v1.16b, v3.16b, v5.16b
1264 ; CHECK-GLOBAL-NEXT: stp q0, q1, [x0]
1265 ; CHECK-GLOBAL-NEXT: ret
1267 ; CHECK-GLOBAL-CSSC-LABEL: smin4i64:
1268 ; CHECK-GLOBAL-CSSC: // %bb.0:
1269 ; CHECK-GLOBAL-CSSC-NEXT: cmgt v4.2d, v2.2d, v0.2d
1270 ; CHECK-GLOBAL-CSSC-NEXT: cmgt v5.2d, v3.2d, v1.2d
1271 ; CHECK-GLOBAL-CSSC-NEXT: bif v0.16b, v2.16b, v4.16b
1272 ; CHECK-GLOBAL-CSSC-NEXT: bif v1.16b, v3.16b, v5.16b
1273 ; CHECK-GLOBAL-CSSC-NEXT: stp q0, q1, [x0]
1274 ; CHECK-GLOBAL-CSSC-NEXT: ret
1298 ; CHECK-GLOBAL-LABEL: umini8:
1299 ; CHECK-GLOBAL: // %bb.0:
1300 ; CHECK-GLOBAL-NEXT: and w8, w0, #0xff
1301 ; CHECK-GLOBAL-NEXT: cmp w8, w1, uxtb
1302 ; CHECK-GLOBAL-NEXT: csel w0, w0, w1, lo
1303 ; CHECK-GLOBAL-NEXT: ret
1305 ; CHECK-GLOBAL-CSSC-LABEL: umini8:
1306 ; CHECK-GLOBAL-CSSC: // %bb.0:
1307 ; CHECK-GLOBAL-CSSC-NEXT: and w8, w0, #0xff
1308 ; CHECK-GLOBAL-CSSC-NEXT: and w9, w1, #0xff
1309 ; CHECK-GLOBAL-CSSC-NEXT: umin w0, w8, w9
1310 ; CHECK-GLOBAL-CSSC-NEXT: ret
1333 ; CHECK-GLOBAL-LABEL: umini16:
1334 ; CHECK-GLOBAL: // %bb.0:
1335 ; CHECK-GLOBAL-NEXT: and w8, w0, #0xffff
1336 ; CHECK-GLOBAL-NEXT: cmp w8, w1, uxth
1337 ; CHECK-GLOBAL-NEXT: csel w0, w0, w1, lo
1338 ; CHECK-GLOBAL-NEXT: ret
1340 ; CHECK-GLOBAL-CSSC-LABEL: umini16:
1341 ; CHECK-GLOBAL-CSSC: // %bb.0:
1342 ; CHECK-GLOBAL-CSSC-NEXT: and w8, w0, #0xffff
1343 ; CHECK-GLOBAL-CSSC-NEXT: and w9, w1, #0xffff
1344 ; CHECK-GLOBAL-CSSC-NEXT: umin w0, w8, w9
1345 ; CHECK-GLOBAL-CSSC-NEXT: ret
1364 ; CHECK-GLOBAL-LABEL: umini32:
1365 ; CHECK-GLOBAL: // %bb.0:
1366 ; CHECK-GLOBAL-NEXT: cmp w0, w1
1367 ; CHECK-GLOBAL-NEXT: csel w0, w0, w1, lo
1368 ; CHECK-GLOBAL-NEXT: ret
1370 ; CHECK-GLOBAL-CSSC-LABEL: umini32:
1371 ; CHECK-GLOBAL-CSSC: // %bb.0:
1372 ; CHECK-GLOBAL-CSSC-NEXT: umin w0, w0, w1
1373 ; CHECK-GLOBAL-CSSC-NEXT: ret
1392 ; CHECK-GLOBAL-LABEL: umini64:
1393 ; CHECK-GLOBAL: // %bb.0:
1394 ; CHECK-GLOBAL-NEXT: cmp x0, x1
1395 ; CHECK-GLOBAL-NEXT: csel x0, x0, x1, lo
1396 ; CHECK-GLOBAL-NEXT: ret
1398 ; CHECK-GLOBAL-CSSC-LABEL: umini64:
1399 ; CHECK-GLOBAL-CSSC: // %bb.0:
1400 ; CHECK-GLOBAL-CSSC-NEXT: umin x0, x0, x1
1401 ; CHECK-GLOBAL-CSSC-NEXT: ret
1445 ; CHECK-GLOBAL-LABEL: umin32i8:
1446 ; CHECK-GLOBAL: // %bb.0:
1447 ; CHECK-GLOBAL-NEXT: umin v0.16b, v0.16b, v2.16b
1448 ; CHECK-GLOBAL-NEXT: umin v1.16b, v1.16b, v3.16b
1449 ; CHECK-GLOBAL-NEXT: stp q0, q1, [x0]
1450 ; CHECK-GLOBAL-NEXT: ret
1452 ; CHECK-GLOBAL-CSSC-LABEL: umin32i8:
1453 ; CHECK-GLOBAL-CSSC: // %bb.0:
1454 ; CHECK-GLOBAL-CSSC-NEXT: umin v0.16b, v0.16b, v2.16b
1455 ; CHECK-GLOBAL-CSSC-NEXT: umin v1.16b, v1.16b, v3.16b
1456 ; CHECK-GLOBAL-CSSC-NEXT: stp q0, q1, [x0]
1457 ; CHECK-GLOBAL-CSSC-NEXT: ret
1502 ; CHECK-GLOBAL-LABEL: umin16i16:
1503 ; CHECK-GLOBAL: // %bb.0:
1504 ; CHECK-GLOBAL-NEXT: umin v0.8h, v0.8h, v2.8h
1505 ; CHECK-GLOBAL-NEXT: umin v1.8h, v1.8h, v3.8h
1506 ; CHECK-GLOBAL-NEXT: stp q0, q1, [x0]
1507 ; CHECK-GLOBAL-NEXT: ret
1509 ; CHECK-GLOBAL-CSSC-LABEL: umin16i16:
1510 ; CHECK-GLOBAL-CSSC: // %bb.0:
1511 ; CHECK-GLOBAL-CSSC-NEXT: umin v0.8h, v0.8h, v2.8h
1512 ; CHECK-GLOBAL-CSSC-NEXT: umin v1.8h, v1.8h, v3.8h
1513 ; CHECK-GLOBAL-CSSC-NEXT: stp q0, q1, [x0]
1514 ; CHECK-GLOBAL-CSSC-NEXT: ret
1559 ; CHECK-GLOBAL-LABEL: umin8i32:
1560 ; CHECK-GLOBAL: // %bb.0:
1561 ; CHECK-GLOBAL-NEXT: umin v0.4s, v0.4s, v2.4s
1562 ; CHECK-GLOBAL-NEXT: umin v1.4s, v1.4s, v3.4s
1563 ; CHECK-GLOBAL-NEXT: stp q0, q1, [x0]
1564 ; CHECK-GLOBAL-NEXT: ret
1566 ; CHECK-GLOBAL-CSSC-LABEL: umin8i32:
1567 ; CHECK-GLOBAL-CSSC: // %bb.0:
1568 ; CHECK-GLOBAL-CSSC-NEXT: umin v0.4s, v0.4s, v2.4s
1569 ; CHECK-GLOBAL-CSSC-NEXT: umin v1.4s, v1.4s, v3.4s
1570 ; CHECK-GLOBAL-CSSC-NEXT: stp q0, q1, [x0]
1571 ; CHECK-GLOBAL-CSSC-NEXT: ret
1592 ; CHECK-GLOBAL-LABEL: umin1i64:
1593 ; CHECK-GLOBAL: // %bb.0:
1594 ; CHECK-GLOBAL-NEXT: fmov x8, d0
1595 ; CHECK-GLOBAL-NEXT: fmov x9, d1
1596 ; CHECK-GLOBAL-NEXT: cmp x8, x9
1597 ; CHECK-GLOBAL-NEXT: fcsel d0, d0, d1, lo
1598 ; CHECK-GLOBAL-NEXT: ret
1600 ; CHECK-GLOBAL-CSSC-LABEL: umin1i64:
1601 ; CHECK-GLOBAL-CSSC: // %bb.0:
1602 ; CHECK-GLOBAL-CSSC-NEXT: fmov x8, d0
1603 ; CHECK-GLOBAL-CSSC-NEXT: fmov x9, d1
1604 ; CHECK-GLOBAL-CSSC-NEXT: umin x8, x8, x9
1605 ; CHECK-GLOBAL-CSSC-NEXT: fmov d0, x8
1606 ; CHECK-GLOBAL-CSSC-NEXT: ret
1644 ; CHECK-GLOBAL-LABEL: umin4i64:
1645 ; CHECK-GLOBAL: // %bb.0:
1646 ; CHECK-GLOBAL-NEXT: cmhi v4.2d, v2.2d, v0.2d
1647 ; CHECK-GLOBAL-NEXT: cmhi v5.2d, v3.2d, v1.2d
1648 ; CHECK-GLOBAL-NEXT: bif v0.16b, v2.16b, v4.16b
1649 ; CHECK-GLOBAL-NEXT: bif v1.16b, v3.16b, v5.16b
1650 ; CHECK-GLOBAL-NEXT: stp q0, q1, [x0]
1651 ; CHECK-GLOBAL-NEXT: ret
1653 ; CHECK-GLOBAL-CSSC-LABEL: umin4i64:
1654 ; CHECK-GLOBAL-CSSC: // %bb.0:
1655 ; CHECK-GLOBAL-CSSC-NEXT: cmhi v4.2d, v2.2d, v0.2d
1656 ; CHECK-GLOBAL-CSSC-NEXT: cmhi v5.2d, v3.2d, v1.2d
1657 ; CHECK-GLOBAL-CSSC-NEXT: bif v0.16b, v2.16b, v4.16b
1658 ; CHECK-GLOBAL-CSSC-NEXT: bif v1.16b, v3.16b, v5.16b
1659 ; CHECK-GLOBAL-CSSC-NEXT: stp q0, q1, [x0]
1660 ; CHECK-GLOBAL-CSSC-NEXT: ret