Lines Matching full:code
3 ; RUN: llc < %s -mtriple=aarch64--linux-gnu -mattr=+fullfp16 | FileCheck %s --check-prefix=CODE
11 ; CODE-LABEL: v8i8_select_eq
12 ; CODE: bb.0
13 ; CODE-NEXT: cmeq v{{.+}}.8b, v{{.+}}.8b, v{{.+}}.8b
14 ; CODE-NEXT: bif v{{.+}}.8b, v{{.+}}.8b, v{{.+}}.8b
15 ; CODE-NEXT: ret
27 ; CODE-LABEL: v16i8_select_sgt
28 ; CODE: bb.0
29 ; CODE-NEXT: cmgt v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
30 ; CODE-NEXT: bif v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
31 ; CODE-NEXT: ret
43 ; CODE-LABEL: v4i16_select_ne
44 ; CODE: bb.0
45 ; CODE-NEXT: cmeq v{{.+}}.4h, v{{.+}}.4h, v{{.+}}.4h
46 ; CODE-NEXT: bit v{{.+}}.8b, v{{.+}}.8b, v{{.+}}.8b
47 ; CODE-NEXT: ret
59 ; CODE-LABEL: v8i16_select_ugt
60 ; CODE: bb.0
61 ; CODE-NEXT: cmhi v{{.+}}.8h, v{{.+}}.8h, v{{.+}}.8h
62 ; CODE-NEXT: bif v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
63 ; CODE-NEXT: ret
75 ; CODE-LABEL: v2i32_select_ule
76 ; CODE: bb.0
77 ; CODE-NEXT: cmhs v{{.+}}.2s, v{{.+}}.2s, v{{.+}}.2s
78 ; CODE-NEXT: bif v{{.+}}.8b, v{{.+}}.8b, v{{.+}}.8b
79 ; CODE-NEXT: ret
91 ; CODE-LABEL: v4i32_select_ult
92 ; CODE: bb.0
93 ; CODE-NEXT: cmhi v{{.+}}.4s, v{{.+}}.4s, v{{.+}}.4s
94 ; CODE-NEXT: bif v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
95 ; CODE-NEXT: ret
107 ; CODE-LABEL: v2i64_select_sle
108 ; CODE: bb.0
109 ; CODE-NEXT: cmge v{{.+}}.2d, v{{.+}}.2d, v{{.+}}.2d
110 ; CODE-NEXT: bif v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
111 ; CODE-NEXT: ret
123 ; CODE-LABEL: v3i64_select_sle
124 ; CODE: bb.0
125 ; CODE: mov
126 ; CODE: mov
127 ; CODE: mov
128 ; CODE: cmge
129 ; CODE: ldr
130 ; CODE: bif
131 ; CODE: cmge
132 ; CODE: bif
133 ; CODE: ext
134 ; CODE: ret
145 ; CODE-LABEL: v2i64_select_no_cmp
146 ; CODE: bb.0
147 ; CODE-NEXT: ushll v{{.+}}.2d, v{{.+}}.2s, #0
148 ; CODE-NEXT: shl v{{.+}}.2d, v{{.+}}.2d, #63
149 ; CODE-NEXT: cmlt v{{.+}}.2d, v{{.+}}.2d, #0
150 ; CODE-NEXT: bif v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
151 ; CODE-NEXT: ret
165 ; CODE-LABEL: v4f16_select_ogt
166 ; CODE: bb.0
167 ; CODE-NEXT: fcmgt v{{.+}}.4h, v{{.+}}.4h, v{{.+}}.4h
168 ; CODE-NEXT: bif v{{.+}}.8b, v{{.+}}.8b, v{{.+}}.8b
169 ; CODE-NEXT: ret
183 ; CODE-LABEL: v8f16_select_ogt
184 ; CODE: bb.0
185 ; CODE-NEXT: fcmgt v{{.+}}.8h, v{{.+}}.8h, v{{.+}}.8h
186 ; CODE-NEXT: bif v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
187 ; CODE-NEXT: ret
199 ; CODE-LABEL: v2f32_select_ogt
200 ; CODE: bb.0
201 ; CODE-NEXT: fcmgt v{{.+}}.2s, v{{.+}}.2s, v{{.+}}.2s
202 ; CODE-NEXT: bif v{{.+}}.8b, v{{.+}}.8b, v{{.+}}.8b
203 ; CODE-NEXT: ret
215 ; CODE-LABEL: v4f32_select_ogt
216 ; CODE: bb.0
217 ; CODE-NEXT: fcmgt v{{.+}}.4s, v{{.+}}.4s, v{{.+}}.4s
218 ; CODE-NEXT: bif v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
219 ; CODE-NEXT: ret
231 ; CODE-LABEL: v2f64_select_ogt
232 ; CODE: bb.0
233 ; CODE-NEXT: fcmgt v{{.+}}.2d, v{{.+}}.2d, v{{.+}}.2d
234 ; CODE-NEXT: bif v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
235 ; CODE-NEXT: ret
249 ; CODE-LABEL: v4f16_select_oge
250 ; CODE: bb.0
251 ; CODE-NEXT: fcmge v{{.+}}.4h, v{{.+}}.4h, v{{.+}}.4h
252 ; CODE-NEXT: bif v{{.+}}.8b, v{{.+}}.8b, v{{.+}}.8b
253 ; CODE-NEXT: ret
267 ; CODE-LABEL: v8f16_select_oge
268 ; CODE: bb.0
269 ; CODE-NEXT: fcmge v{{.+}}.8h, v{{.+}}.8h, v{{.+}}.8h
270 ; CODE-NEXT: bif v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
271 ; CODE-NEXT: ret
283 ; CODE-LABEL: v2f32_select_oge
284 ; CODE: bb.0
285 ; CODE-NEXT: fcmge v{{.+}}.2s, v{{.+}}.2s, v{{.+}}.2s
286 ; CODE-NEXT: bif v{{.+}}.8b, v{{.+}}.8b, v{{.+}}.8b
287 ; CODE-NEXT: ret
299 ; CODE-LABEL: v4f32_select_oge
300 ; CODE: bb.0
301 ; CODE-NEXT: fcmge v{{.+}}.4s, v{{.+}}.4s, v{{.+}}.4s
302 ; CODE-NEXT: bif v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
303 ; CODE-NEXT: ret
315 ; CODE-LABEL: v2f64_select_oge
316 ; CODE: bb.0
317 ; CODE-NEXT: fcmge v{{.+}}.2d, v{{.+}}.2d, v{{.+}}.2d
318 ; CODE-NEXT: bif v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
319 ; CODE-NEXT: ret
333 ; CODE-LABEL: v4f16_select_olt
334 ; CODE: bb.0
335 ; CODE-NEXT: fcmgt v{{.+}}.4h, v{{.+}}.4h, v{{.+}}.4h
336 ; CODE-NEXT: bif v{{.+}}.8b, v{{.+}}.8b, v{{.+}}.8b
337 ; CODE-NEXT: ret
351 ; CODE-LABEL: v8f16_select_olt
352 ; CODE: bb.0
353 ; CODE-NEXT: fcmgt v{{.+}}.8h, v{{.+}}.8h, v{{.+}}.8h
354 ; CODE-NEXT: bif v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
355 ; CODE-NEXT: ret
367 ; CODE-LABEL: v2f32_select_olt
368 ; CODE: bb.0
369 ; CODE-NEXT: fcmgt v{{.+}}.2s, v{{.+}}.2s, v{{.+}}.2s
370 ; CODE-NEXT: bif v{{.+}}.8b, v{{.+}}.8b, v{{.+}}.8b
371 ; CODE-NEXT: ret
383 ; CODE-LABEL: v4f32_select_olt
384 ; CODE: bb.0
385 ; CODE-NEXT: fcmgt v{{.+}}.4s, v{{.+}}.4s, v{{.+}}.4s
386 ; CODE-NEXT: bif v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
387 ; CODE-NEXT: ret
399 ; CODE-LABEL: v2f64_select_olt
400 ; CODE: bb.0
401 ; CODE-NEXT: fcmgt v{{.+}}.2d, v{{.+}}.2d, v{{.+}}.2d
402 ; CODE-NEXT: bif v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
403 ; CODE-NEXT: ret
417 ; CODE-LABEL: v4f16_select_ole
418 ; CODE: bb.0
419 ; CODE-NEXT: fcmge v{{.+}}.4h, v{{.+}}.4h, v{{.+}}.4h
420 ; CODE-NEXT: bif v{{.+}}.8b, v{{.+}}.8b, v{{.+}}.8b
421 ; CODE-NEXT: ret
435 ; CODE-LABEL: v8f16_select_ole
436 ; CODE: bb.0
437 ; CODE-NEXT: fcmge v{{.+}}.8h, v{{.+}}.8h, v{{.+}}.8h
438 ; CODE-NEXT: bif v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
439 ; CODE-NEXT: ret
451 ; CODE-LABEL: v2f32_select_ole
452 ; CODE: bb.0
453 ; CODE-NEXT: fcmge v{{.+}}.2s, v{{.+}}.2s, v{{.+}}.2s
454 ; CODE-NEXT: bif v{{.+}}.8b, v{{.+}}.8b, v{{.+}}.8b
455 ; CODE-NEXT: ret
467 ; CODE-LABEL: v4f32_select_ole
468 ; CODE: bb.0
469 ; CODE-NEXT: fcmge v{{.+}}.4s, v{{.+}}.4s, v{{.+}}.4s
470 ; CODE-NEXT: bif v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
471 ; CODE-NEXT: ret
483 ; CODE-LABEL: v2f64_select_ole
484 ; CODE: bb.0
485 ; CODE-NEXT: fcmge v{{.+}}.2d, v{{.+}}.2d, v{{.+}}.2d
486 ; CODE-NEXT: bif v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
487 ; CODE-NEXT: ret
501 ; CODE-LABEL: v4f16_select_oeq
502 ; CODE: bb.0
503 ; CODE-NEXT: fcmeq v{{.+}}.4h, v{{.+}}.4h, v{{.+}}.4h
504 ; CODE-NEXT: bif v{{.+}}.8b, v{{.+}}.8b, v{{.+}}.8b
505 ; CODE-NEXT: ret
519 ; CODE-LABEL: v8f16_select_oeq
520 ; CODE: bb.0
521 ; CODE-NEXT: fcmeq v{{.+}}.8h, v{{.+}}.8h, v{{.+}}.8h
522 ; CODE-NEXT: bif v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
523 ; CODE-NEXT: ret
535 ; CODE-LABEL: v2f32_select_oeq
536 ; CODE: bb.0
537 ; CODE-NEXT: fcmeq v{{.+}}.2s, v{{.+}}.2s, v{{.+}}.2s
538 ; CODE-NEXT: bif v{{.+}}.8b, v{{.+}}.8b, v{{.+}}.8b
539 ; CODE-NEXT: ret
551 ; CODE-LABEL: v4f32_select_oeq
552 ; CODE: bb.0
553 ; CODE-NEXT: fcmeq v{{.+}}.4s, v{{.+}}.4s, v{{.+}}.4s
554 ; CODE-NEXT: bif v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
555 ; CODE-NEXT: ret
567 ; CODE-LABEL: v2f64_select_oeq
568 ; CODE: bb.0
569 ; CODE-NEXT: fcmeq v{{.+}}.2d, v{{.+}}.2d, v{{.+}}.2d
570 ; CODE-NEXT: bif v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
571 ; CODE-NEXT: ret
585 ; CODE-LABEL: v4f16_select_one
586 ; CODE: bb.0
587 ; CODE-NEXT: fcmgt v{{.+}}.4h, v{{.+}}.4h, v{{.+}}.4h
588 ; CODE-NEXT: fcmgt v{{.+}}.4h, v{{.+}}.4h, v{{.+}}.4h
589 ; CODE-NEXT: orr v{{.+}}.8b, v{{.+}}.8b, v{{.+}}.8b
590 ; CODE-NEXT: bif v{{.+}}.8b, v{{.+}}.8b, v{{.+}}.8b
591 ; CODE-NEXT: ret
605 ; CODE-LABEL: v8f16_select_one
606 ; CODE: bb.0
607 ; CODE-NEXT: fcmgt v{{.+}}.8h, v{{.+}}.8h, v{{.+}}.8h
608 ; CODE-NEXT: fcmgt v{{.+}}.8h, v{{.+}}.8h, v{{.+}}.8h
609 ; CODE-NEXT: orr v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
610 ; CODE-NEXT: bif v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
611 ; CODE-NEXT: ret
623 ; CODE-LABEL: v2f32_select_one
624 ; CODE: bb.0
625 ; CODE-NEXT: fcmgt v{{.+}}.2s, v{{.+}}.2s, v{{.+}}.2s
626 ; CODE-NEXT: fcmgt v{{.+}}.2s, v{{.+}}.2s, v{{.+}}.2s
627 ; CODE-NEXT: orr v{{.+}}.8b, v{{.+}}.8b, v{{.+}}.8b
628 ; CODE-NEXT: bif v{{.+}}.8b, v{{.+}}.8b, v{{.+}}.8b
629 ; CODE-NEXT: ret
641 ; CODE-LABEL: v4f32_select_one
642 ; CODE: bb.0
643 ; CODE-NEXT: fcmgt v{{.+}}.4s, v{{.+}}.4s, v{{.+}}.4s
644 ; CODE-NEXT: fcmgt v{{.+}}.4s, v{{.+}}.4s, v{{.+}}.4s
645 ; CODE-NEXT: orr v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
646 ; CODE-NEXT: bif v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
647 ; CODE-NEXT: ret
659 ; CODE-LABEL: v2f64_select_one
660 ; CODE: bb.0
661 ; CODE-NEXT: fcmgt v{{.+}}.2d, v{{.+}}.2d, v{{.+}}.2d
662 ; CODE-NEXT: fcmgt v{{.+}}.2d, v{{.+}}.2d, v{{.+}}.2d
663 ; CODE-NEXT: orr v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
664 ; CODE-NEXT: bif v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
665 ; CODE-NEXT: ret
679 ; CODE-LABEL: v4f16_select_une
680 ; CODE: bb.0
681 ; CODE-NEXT: fcmeq v{{.+}}.4h, v{{.+}}.4h, v{{.+}}.4h
682 ; CODE-NEXT: bit v{{.+}}.8b, v{{.+}}.8b, v{{.+}}.8b
683 ; CODE-NEXT: ret
697 ; CODE-LABEL: v8f16_select_une
698 ; CODE: bb.0
699 ; CODE-NEXT: fcmeq v{{.+}}.8h, v{{.+}}.8h, v{{.+}}.8h
700 ; CODE-NEXT: bit v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
701 ; CODE-NEXT: ret
713 ; CODE-LABEL: v2f32_select_une
714 ; CODE: bb.0
715 ; CODE-NEXT: fcmeq v{{.+}}.2s, v{{.+}}.2s, v{{.+}}.2s
716 ; CODE-NEXT: bit v{{.+}}.8b, v{{.+}}.8b, v{{.+}}.8b
717 ; CODE-NEXT: ret
729 ; CODE-LABEL: v4f32_select_une
730 ; CODE: bb.0
731 ; CODE-NEXT: fcmeq v{{.+}}.4s, v{{.+}}.4s, v{{.+}}.4s
732 ; CODE-NEXT: bit v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
733 ; CODE-NEXT: ret
745 ; CODE-LABEL: v2f64_select_une
746 ; CODE: bb.0
747 ; CODE-NEXT: fcmeq v{{.+}}.2d, v{{.+}}.2d, v{{.+}}.2d
748 ; CODE-NEXT: bit v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
749 ; CODE-NEXT: ret
761 ; CODE-LABEL: v2f32_select_ord
762 ; CODE: bb.0
763 ; CODE-NEXT: fcmge v{{.+}}.2s, v{{.+}}.2s, v{{.+}}.2s
764 ; CODE-NEXT: fcmgt v{{.+}}.2s, v{{.+}}.2s, v{{.+}}.2s
765 ; CODE-NEXT: orr v{{.+}}.8b, v{{.+}}.8b, v{{.+}}.8b
766 ; CODE-NEXT: bif v{{.+}}.8b, v{{.+}}.8b, v{{.+}}.8b
767 ; CODE-NEXT: ret
779 ; CODE-LABEL: v4f32_select_ord
780 ; CODE: bb.0
781 ; CODE-NEXT: fcmge v{{.+}}.4s, v{{.+}}.4s, v{{.+}}.4s
782 ; CODE-NEXT: fcmgt v{{.+}}.4s, v{{.+}}.4s, v{{.+}}.4s
783 ; CODE-NEXT: orr v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
784 ; CODE-NEXT: bif v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
785 ; CODE-NEXT: ret
797 ; CODE-LABEL: v2f64_select_ord
798 ; CODE: bb.0
799 ; CODE-NEXT: fcmge v{{.+}}.2d, v{{.+}}.2d, v{{.+}}.2d
800 ; CODE-NEXT: fcmgt v{{.+}}.2d, v{{.+}}.2d, v{{.+}}.2d
801 ; CODE-NEXT: orr v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
802 ; CODE-NEXT: bif v{{.+}}.16b, v{{.+}}.16b, v{{.+}}.16b
803 ; CODE-NEXT: ret