1 # RUN: llc -mtriple powerpc64le-unknown-linux-gnu -mcpu=pwr8 -x mir < %s \
2 # RUN: -verify-machineinstrs -start-before=ppc-mi-peepholes \
3 # RUN: -ppc-opt-conditional-trap | FileCheck %s
6 name: conditional_trap_opt_reg_implicit_def
8 tracksRegLiveness: true
11 %0:gprc = IMPLICIT_DEF
12 %1:gprc = IMPLICIT_DEF
13 %2:g8rc = IMPLICIT_DEF
14 %3:g8rc = IMPLICIT_DEF
19 BLR8 implicit $lr8, implicit $rm
21 # CHECK-LABEL: conditional_trap_opt_reg_implicit_def
22 # CHECK: # %bb.0: # %entry
23 # CHECK-NEXT: twgt 3, 3
24 # CHECK-NEXT: tdgt 3, 3
25 # CHECK-NEXT: twnei 3, 0
26 # CHECK-NEXT: tdnei 3, 0
30 name: conditional_trap_opt_int_return
32 tracksRegLiveness: true
41 BLR8 implicit $lr8, implicit $rm, implicit $x3
43 # CHECK-LABEL: conditional_trap_opt_int_return
44 # CHECK: # %bb.0: # %entry
49 name: conditional_trap_opt_TW_31
51 tracksRegLiveness: true
57 BLR8 implicit $lr8, implicit $rm
59 # CHECK-LABEL: conditional_trap_opt_TW_31
60 # CHECK: # %bb.0: # %entry
65 name: conditional_trap_opt_TW_24
67 tracksRegLiveness: true
73 BLR8 implicit $lr8, implicit $rm
75 # CHECK-LABEL: conditional_trap_opt_TW_24
76 # CHECK: # %bb.0: # %entry
81 name: conditional_trap_opt_no_trap_TW_24
83 tracksRegLiveness: true
89 BLR8 implicit $lr8, implicit $rm
91 # CHECK-LABEL: conditional_trap_opt_no_trap_TW_24
92 # CHECK: # %bb.0: # %entry
96 name: conditional_trap_opt_TW_20
98 tracksRegLiveness: true
104 BLR8 implicit $lr8, implicit $rm
106 # CHECK-LABEL: conditional_trap_opt_TW_20
107 # CHECK: # %bb.0: # %entry
112 name: conditional_trap_opt_no_trap_TW_20
114 tracksRegLiveness: true
120 BLR8 implicit $lr8, implicit $rm
122 # CHECK-LABEL: conditional_trap_opt_no_trap_TW_20
123 # CHECK: # %bb.0: # %entry
127 name: conditional_trap_opt_no_trap_TW_16
129 tracksRegLiveness: true
135 BLR8 implicit $lr8, implicit $rm
137 # CHECK-LABEL: conditional_trap_opt_no_trap_TW_16
138 # CHECK: # %bb.0: # %entry
142 name: conditional_trap_opt_TW_16
144 tracksRegLiveness: true
151 BLR8 implicit $lr8, implicit $rm
153 # CHECK-LABEL: conditional_trap_opt_TW_16
154 # CHECK: # %bb.0: # %entry
159 name: conditional_trap_opt_TW_8
161 tracksRegLiveness: true
168 BLR8 implicit $lr8, implicit $rm
170 # CHECK-LABEL: conditional_trap_opt_TW_8
171 # CHECK: # %bb.0: # %entry
176 name: conditional_trap_opt_TW_2
178 tracksRegLiveness: true
185 BLR8 implicit $lr8, implicit $rm
187 # CHECK-LABEL: conditional_trap_opt_TW_2
188 # CHECK: # %bb.0: # %entry
193 name: conditional_trap_opt_TW_1
195 tracksRegLiveness: true
202 BLR8 implicit $lr8, implicit $rm
204 # CHECK-LABEL: conditional_trap_opt_TW_1
205 # CHECK: # %bb.0: # %entry
210 name: conditional_trap_opt_TW_4
212 tracksRegLiveness: true
219 BLR8 implicit $lr8, implicit $rm
221 # CHECK-LABEL: conditional_trap_opt_TW_4
222 # CHECK: # %bb.0: # %entry
227 name: conditional_trap_opt_TWI_31
229 tracksRegLiveness: true
234 BLR8 implicit $lr8, implicit $rm
236 # CHECK-LABEL: conditional_trap_opt_TWI_31
237 # CHECK: # %bb.0: # %entry
242 name: conditional_trap_opt_TWI_24
244 tracksRegLiveness: true
249 BLR8 implicit $lr8, implicit $rm
251 # CHECK-LABEL: conditional_trap_opt_TWI_24
252 # CHECK: # %bb.0: # %entry
257 name: conditional_trap_opt_no_trap_TWI_24
259 tracksRegLiveness: true
264 BLR8 implicit $lr8, implicit $rm
266 # CHECK-LABEL: conditional_trap_opt_no_trap_TWI_24
267 # CHECK: # %bb.0: # %entry
271 name: conditional_trap_opt_TWI_20
273 tracksRegLiveness: true
278 BLR8 implicit $lr8, implicit $rm
280 # CHECK-LABEL: conditional_trap_opt_TWI_20
281 # CHECK: # %bb.0: # %entry
286 name: conditional_trap_opt_no_trap_TWI_20
288 tracksRegLiveness: true
293 BLR8 implicit $lr8, implicit $rm
295 # CHECK-LABEL: conditional_trap_opt_no_trap_TWI_20
296 # CHECK: # %bb.0: # %entry
300 name: conditional_trap_opt_no_trap_TWI_16
302 tracksRegLiveness: true
307 BLR8 implicit $lr8, implicit $rm
309 # CHECK-LABEL: conditional_trap_opt_no_trap_TWI_16
310 # CHECK: # %bb.0: # %entry
314 name: conditional_trap_opt_TWI_16
316 tracksRegLiveness: true
323 BLR8 implicit $lr8, implicit $rm
325 # CHECK-LABEL: conditional_trap_opt_TWI_16
326 # CHECK: # %bb.0: # %entry
331 name: conditional_trap_opt_TWI_8
333 tracksRegLiveness: true
340 BLR8 implicit $lr8, implicit $rm
342 # CHECK-LABEL: conditional_trap_opt_TWI_8
343 # CHECK: # %bb.0: # %entry
348 name: conditional_trap_opt_TWI_2
350 tracksRegLiveness: true
357 BLR8 implicit $lr8, implicit $rm
359 # CHECK-LABEL: conditional_trap_opt_TWI_2
360 # CHECK: # %bb.0: # %entry
365 name: conditional_trap_opt_TWI_1
367 tracksRegLiveness: true
374 BLR8 implicit $lr8, implicit $rm
376 # CHECK-LABEL: conditional_trap_opt_TWI_1
377 # CHECK: # %bb.0: # %entry
382 name: conditional_trap_opt_TWI_4
384 tracksRegLiveness: true
391 BLR8 implicit $lr8, implicit $rm
393 # CHECK-LABEL: conditional_trap_opt_TWI_4
394 # CHECK: # %bb.0: # %entry
399 name: conditional_trap_opt_TD_31
401 tracksRegLiveness: true
407 BLR8 implicit $lr8, implicit $rm
409 # CHECK-LABEL: conditional_trap_opt_TD_31
410 # CHECK: # %bb.0: # %entry
415 name: conditional_trap_opt_TD_24
417 tracksRegLiveness: true
423 BLR8 implicit $lr8, implicit $rm
425 # CHECK-LABEL: conditional_trap_opt_TD_24
426 # CHECK: # %bb.0: # %entry
431 name: conditional_trap_opt_no_trap_TD_24
433 tracksRegLiveness: true
439 BLR8 implicit $lr8, implicit $rm
441 # CHECK-LABEL: conditional_trap_opt_no_trap_TD_24
442 # CHECK: # %bb.0: # %entry
446 name: conditional_trap_opt_TD_20
448 tracksRegLiveness: true
454 BLR8 implicit $lr8, implicit $rm
456 # CHECK-LABEL: conditional_trap_opt_TD_20
457 # CHECK: # %bb.0: # %entry
462 name: conditional_trap_opt_no_trap_TD_20
464 tracksRegLiveness: true
470 BLR8 implicit $lr8, implicit $rm
472 # CHECK-LABEL: conditional_trap_opt_no_trap_TD_20
473 # CHECK: # %bb.0: # %entry
477 name: conditional_trap_opt_no_trap_TD_16
479 tracksRegLiveness: true
485 BLR8 implicit $lr8, implicit $rm
487 # CHECK-LABEL: conditional_trap_opt_no_trap_TD_16
488 # CHECK: # %bb.0: # %entry
492 name: conditional_trap_opt_TD_16
494 tracksRegLiveness: true
501 BLR8 implicit $lr8, implicit $rm
503 # CHECK-LABEL: conditional_trap_opt_TD_16
504 # CHECK: # %bb.0: # %entry
509 name: conditional_trap_opt_TD_8
511 tracksRegLiveness: true
518 BLR8 implicit $lr8, implicit $rm
520 # CHECK-LABEL: conditional_trap_opt_TD_8
521 # CHECK: # %bb.0: # %entry
526 name: conditional_trap_opt_TD_2
528 tracksRegLiveness: true
535 BLR8 implicit $lr8, implicit $rm
537 # CHECK-LABEL: conditional_trap_opt_TD_2
538 # CHECK: # %bb.0: # %entry
543 name: conditional_trap_opt_TD_1
545 tracksRegLiveness: true
552 BLR8 implicit $lr8, implicit $rm
554 # CHECK-LABEL: conditional_trap_opt_TD_1
555 # CHECK: # %bb.0: # %entry
560 name: conditional_trap_opt_TD_4
562 tracksRegLiveness: true
569 BLR8 implicit $lr8, implicit $rm
571 # CHECK-LABEL: conditional_trap_opt_TD_4
572 # CHECK: # %bb.0: # %entry
577 name: conditional_trap_opt_TDI_31
579 tracksRegLiveness: true
584 BLR8 implicit $lr8, implicit $rm
586 # CHECK-LABEL: conditional_trap_opt_TDI_31
587 # CHECK: # %bb.0: # %entry
592 name: conditional_trap_opt_TDI_24
594 tracksRegLiveness: true
599 BLR8 implicit $lr8, implicit $rm
601 # CHECK-LABEL: conditional_trap_opt_TDI_24
602 # CHECK: # %bb.0: # %entry
607 name: conditional_trap_opt_no_trap_TDI_24
609 tracksRegLiveness: true
614 BLR8 implicit $lr8, implicit $rm
616 # CHECK-LABEL: conditional_trap_opt_no_trap_TDI_24
617 # CHECK: # %bb.0: # %entry
621 name: conditional_trap_opt_TDI_20
623 tracksRegLiveness: true
628 BLR8 implicit $lr8, implicit $rm
630 # CHECK-LABEL: conditional_trap_opt_TDI_20
631 # CHECK: # %bb.0: # %entry
636 name: conditional_trap_opt_no_trap_TDI_20
638 tracksRegLiveness: true
643 BLR8 implicit $lr8, implicit $rm
645 # CHECK-LABEL: conditional_trap_opt_no_trap_TDI_20
646 # CHECK: # %bb.0: # %entry
650 name: conditional_trap_opt_no_trap_TDI_16
652 tracksRegLiveness: true
657 BLR8 implicit $lr8, implicit $rm
659 # CHECK-LABEL: conditional_trap_opt_no_trap_TDI_16
660 # CHECK: # %bb.0: # %entry
664 name: conditional_trap_opt_TDI_16
666 tracksRegLiveness: true
673 BLR8 implicit $lr8, implicit $rm
675 # CHECK-LABEL: conditional_trap_opt_TDI_16
676 # CHECK: # %bb.0: # %entry
681 name: conditional_trap_opt_TDI_8
683 tracksRegLiveness: true
690 BLR8 implicit $lr8, implicit $rm
692 # CHECK-LABEL: conditional_trap_opt_TDI_8
693 # CHECK: # %bb.0: # %entry
698 name: conditional_trap_opt_TDI_2
700 tracksRegLiveness: true
707 BLR8 implicit $lr8, implicit $rm
709 # CHECK-LABEL: conditional_trap_opt_TDI_2
710 # CHECK: # %bb.0: # %entry
715 name: conditional_trap_opt_TDI_1
717 tracksRegLiveness: true
724 BLR8 implicit $lr8, implicit $rm
726 # CHECK-LABEL: conditional_trap_opt_TDI_1
727 # CHECK: # %bb.0: # %entry
732 name: conditional_trap_opt_TDI_4
734 tracksRegLiveness: true
741 BLR8 implicit $lr8, implicit $rm
743 # CHECK-LABEL: conditional_trap_opt_TDI_4
744 # CHECK: # %bb.0: # %entry
749 name: conditional_trap_opt_multiple_traps
751 tracksRegLiveness: true
762 BLR8 implicit $lr8, implicit $rm
764 # CHECK-LABEL: conditional_trap_opt_multiple_traps
765 # CHECK: # %bb.0: # %entry