1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=mips-img-linux-gnu -mcpu=mips32r6 -mattr=+micromips -o - %s -start-before mips-delay-slot-filler -stop-after mips-branch-expansion | FileCheck %s --check-prefix=MMR6
3 # RUN: llc -mtriple=mips-img-linux-gnu -mcpu=mips32r6 -mattr=+micromips -o - %s -start-before mips-delay-slot-filler -stop-after mips-branch-expansion -relocation-model=pic | FileCheck %s --check-prefix=PIC
5 # Test the long branch expansion of various branches
8 define void @expand_BEQC_MMR6(i1 %a) {
9 br i1 %a, label %iftrue, label %tail
12 call void asm sideeffect ".space 131068", ""()
19 define void @expand_BNEC_MMR6(i1 %a) {
20 br i1 %a, label %iftrue, label %tail
23 call void asm sideeffect ".space 131068", ""()
30 define void @expand_BGEC_MMR6(i1 %a) {
31 br i1 %a, label %iftrue, label %tail
34 call void asm sideeffect ".space 131068", ""()
41 define void @expand_BGEUC_MMR6(i1 %a) {
42 br i1 %a, label %iftrue, label %tail
45 call void asm sideeffect ".space 131068", ""()
52 define void @expand_BGEZC_MMR6(i1 %a) {
53 br i1 %a, label %iftrue, label %tail
56 call void asm sideeffect ".space 131068", ""()
63 define void @expand_BGTZC_MMR6(i1 %a) {
64 br i1 %a, label %iftrue, label %tail
67 call void asm sideeffect ".space 131068", ""()
74 define void @expand_BLEZC_MMR6(i1 %a) {
75 br i1 %a, label %iftrue, label %tail
78 call void asm sideeffect ".space 131068", ""()
85 define void @expand_BLTC_MMR6(i1 %a) {
86 br i1 %a, label %iftrue, label %tail
89 call void asm sideeffect ".space 131068", ""()
96 define void @expand_BLTUC_MMR6(i1 %a) {
97 br i1 %a, label %iftrue, label %tail
100 call void asm sideeffect ".space 131068", ""()
107 define void @expand_BLTZC_MMR6(i1 %a) {
108 br i1 %a, label %iftrue, label %tail
111 call void asm sideeffect ".space 131068", ""()
118 define void @expand_BEQZC_MMR6(i1 %a) {
119 br i1 %a, label %iftrue, label %tail
122 call void asm sideeffect ".space 8388608", ""()
129 define void @expand_BNEZC_MMR6(i1 %a) {
130 br i1 %a, label %iftrue, label %tail
133 call void asm sideeffect ".space 8388608", ""()
143 name: expand_BEQC_MMR6
145 exposesReturnsTwice: false
147 regBankSelected: false
150 tracksRegLiveness: true
153 - { reg: '$a0', virtual-reg: '' }
155 isFrameAddressTaken: false
156 isReturnAddressTaken: false
166 hasOpaqueSPAdjustment: false
168 hasMustTailInVarArgFunc: false
176 ; MMR6-LABEL: name: expand_BEQC_MMR6
177 ; MMR6: bb.0 (%ir-block.0):
178 ; MMR6: successors: %bb.2(0x40000000), %bb.1(0x40000000)
179 ; MMR6: renamable $at = ANDi killed renamable $a0, 1
180 ; MMR6: BNEC_MMR6 $at, $zero, %bb.2, implicit-def $at
181 ; MMR6: bb.1 (%ir-block.0):
182 ; MMR6: successors: %bb.3(0x80000000)
183 ; MMR6: BC_MMR6 %bb.3
185 ; MMR6: successors: %bb.3(0x80000000)
186 ; MMR6: INLINEASM &".space 131068", 1
188 ; MMR6: JRC16_MM undef $ra
189 ; PIC-LABEL: name: expand_BEQC_MMR6
190 ; PIC: bb.0 (%ir-block.0):
191 ; PIC: successors: %bb.3(0x40000000), %bb.1(0x40000000)
192 ; PIC: renamable $at = ANDi killed renamable $a0, 1
193 ; PIC: BNEC_MMR6 $at, $zero, %bb.3, implicit-def $at
194 ; PIC: bb.1 (%ir-block.0):
195 ; PIC: successors: %bb.2(0x80000000)
196 ; PIC: $sp = ADDiu $sp, -8
197 ; PIC: SW $ra, $sp, 0
198 ; PIC: $at = LONG_BRANCH_LUi target-flags(mips-abs-hi) %bb.4, %bb.2
199 ; PIC: $at = LONG_BRANCH_ADDiu $at, target-flags(mips-abs-lo) %bb.4, %bb.2
200 ; PIC: BALC_MMR6 %bb.2, implicit-def $ra
201 ; PIC: bb.2 (%ir-block.0):
202 ; PIC: successors: %bb.4(0x80000000)
203 ; PIC: $at = ADDu $ra, $at
204 ; PIC: $ra = LW $sp, 0
205 ; PIC: $sp = ADDiu $sp, 8
206 ; PIC: JIC_MMR6 $at, 0, implicit-def $at
208 ; PIC: successors: %bb.4(0x80000000)
209 ; PIC: INLINEASM &".space 131068", 1
211 ; PIC: JRC16_MM undef $ra
213 successors: %bb.1(0x40000000), %bb.2(0x40000000)
216 renamable $at = ANDi killed renamable $a0, 1
217 BEQC_MMR6 killed renamable $at, $zero, %bb.2, implicit-def $at
220 successors: %bb.2(0x80000000)
222 INLINEASM &".space 131068", 1
225 PseudoReturn undef $ra
230 name: expand_BNEC_MMR6
232 exposesReturnsTwice: false
234 regBankSelected: false
237 tracksRegLiveness: true
240 - { reg: '$a0', virtual-reg: '' }
242 isFrameAddressTaken: false
243 isReturnAddressTaken: false
253 hasOpaqueSPAdjustment: false
255 hasMustTailInVarArgFunc: false
263 ; MMR6-LABEL: name: expand_BNEC_MMR6
264 ; MMR6: bb.0 (%ir-block.0):
265 ; MMR6: successors: %bb.2(0x40000000), %bb.1(0x40000000)
266 ; MMR6: renamable $at = ANDi killed renamable $a0, 1
267 ; MMR6: BEQC_MMR6 $at, $zero, %bb.2, implicit-def $at
268 ; MMR6: bb.1 (%ir-block.0):
269 ; MMR6: successors: %bb.3(0x80000000)
270 ; MMR6: BC_MMR6 %bb.3
272 ; MMR6: successors: %bb.3(0x80000000)
273 ; MMR6: INLINEASM &".space 131068", 1
275 ; MMR6: JRC16_MM undef $ra
276 ; PIC-LABEL: name: expand_BNEC_MMR6
277 ; PIC: bb.0 (%ir-block.0):
278 ; PIC: successors: %bb.3(0x40000000), %bb.1(0x40000000)
279 ; PIC: renamable $at = ANDi killed renamable $a0, 1
280 ; PIC: BEQC_MMR6 $at, $zero, %bb.3, implicit-def $at
281 ; PIC: bb.1 (%ir-block.0):
282 ; PIC: successors: %bb.2(0x80000000)
283 ; PIC: $sp = ADDiu $sp, -8
284 ; PIC: SW $ra, $sp, 0
285 ; PIC: $at = LONG_BRANCH_LUi target-flags(mips-abs-hi) %bb.4, %bb.2
286 ; PIC: $at = LONG_BRANCH_ADDiu $at, target-flags(mips-abs-lo) %bb.4, %bb.2
287 ; PIC: BALC_MMR6 %bb.2, implicit-def $ra
288 ; PIC: bb.2 (%ir-block.0):
289 ; PIC: successors: %bb.4(0x80000000)
290 ; PIC: $at = ADDu $ra, $at
291 ; PIC: $ra = LW $sp, 0
292 ; PIC: $sp = ADDiu $sp, 8
293 ; PIC: JIC_MMR6 $at, 0, implicit-def $at
295 ; PIC: successors: %bb.4(0x80000000)
296 ; PIC: INLINEASM &".space 131068", 1
298 ; PIC: JRC16_MM undef $ra
300 successors: %bb.1(0x40000000), %bb.2(0x40000000)
303 renamable $at = ANDi killed renamable $a0, 1
304 BNEC_MMR6 killed renamable $at, $zero, %bb.2, implicit-def $at
307 successors: %bb.2(0x80000000)
309 INLINEASM &".space 131068", 1
312 PseudoReturn undef $ra
317 name: expand_BGEC_MMR6
319 exposesReturnsTwice: false
321 regBankSelected: false
324 tracksRegLiveness: true
327 - { reg: '$a0', virtual-reg: '' }
329 isFrameAddressTaken: false
330 isReturnAddressTaken: false
340 hasOpaqueSPAdjustment: false
342 hasMustTailInVarArgFunc: false
350 ; MMR6-LABEL: name: expand_BGEC_MMR6
351 ; MMR6: bb.0 (%ir-block.0):
352 ; MMR6: successors: %bb.2(0x40000000), %bb.1(0x40000000)
353 ; MMR6: renamable $at = ANDi killed renamable $a0, 1
354 ; MMR6: BLTC_MMR6 $at, $zero, %bb.2, implicit-def $at
355 ; MMR6: bb.1 (%ir-block.0):
356 ; MMR6: successors: %bb.3(0x80000000)
357 ; MMR6: BC_MMR6 %bb.3
359 ; MMR6: successors: %bb.3(0x80000000)
360 ; MMR6: INLINEASM &".space 131068", 1
362 ; MMR6: JRC16_MM undef $ra
363 ; PIC-LABEL: name: expand_BGEC_MMR6
364 ; PIC: bb.0 (%ir-block.0):
365 ; PIC: successors: %bb.3(0x40000000), %bb.1(0x40000000)
366 ; PIC: renamable $at = ANDi killed renamable $a0, 1
367 ; PIC: BLTC_MMR6 $at, $zero, %bb.3, implicit-def $at
368 ; PIC: bb.1 (%ir-block.0):
369 ; PIC: successors: %bb.2(0x80000000)
370 ; PIC: $sp = ADDiu $sp, -8
371 ; PIC: SW $ra, $sp, 0
372 ; PIC: $at = LONG_BRANCH_LUi target-flags(mips-abs-hi) %bb.4, %bb.2
373 ; PIC: $at = LONG_BRANCH_ADDiu $at, target-flags(mips-abs-lo) %bb.4, %bb.2
374 ; PIC: BALC_MMR6 %bb.2, implicit-def $ra
375 ; PIC: bb.2 (%ir-block.0):
376 ; PIC: successors: %bb.4(0x80000000)
377 ; PIC: $at = ADDu $ra, $at
378 ; PIC: $ra = LW $sp, 0
379 ; PIC: $sp = ADDiu $sp, 8
380 ; PIC: JIC_MMR6 $at, 0, implicit-def $at
382 ; PIC: successors: %bb.4(0x80000000)
383 ; PIC: INLINEASM &".space 131068", 1
385 ; PIC: JRC16_MM undef $ra
387 successors: %bb.1(0x40000000), %bb.2(0x40000000)
390 renamable $at = ANDi killed renamable $a0, 1
391 BGEC_MMR6 killed renamable $at, $zero, %bb.2, implicit-def $at
394 successors: %bb.2(0x80000000)
396 INLINEASM &".space 131068", 1
399 PseudoReturn undef $ra
404 name: expand_BGEUC_MMR6
406 exposesReturnsTwice: false
408 regBankSelected: false
411 tracksRegLiveness: true
414 - { reg: '$a0', virtual-reg: '' }
416 isFrameAddressTaken: false
417 isReturnAddressTaken: false
427 hasOpaqueSPAdjustment: false
429 hasMustTailInVarArgFunc: false
437 ; MMR6-LABEL: name: expand_BGEUC_MMR6
438 ; MMR6: bb.0 (%ir-block.0):
439 ; MMR6: successors: %bb.2(0x40000000), %bb.1(0x40000000)
440 ; MMR6: renamable $at = ANDi killed renamable $a0, 1
441 ; MMR6: BLTUC_MMR6 $at, $zero, %bb.2, implicit-def $at
442 ; MMR6: bb.1 (%ir-block.0):
443 ; MMR6: successors: %bb.3(0x80000000)
444 ; MMR6: BC_MMR6 %bb.3
446 ; MMR6: successors: %bb.3(0x80000000)
447 ; MMR6: INLINEASM &".space 131068", 1
449 ; MMR6: JRC16_MM undef $ra
450 ; PIC-LABEL: name: expand_BGEUC_MMR6
451 ; PIC: bb.0 (%ir-block.0):
452 ; PIC: successors: %bb.3(0x40000000), %bb.1(0x40000000)
453 ; PIC: renamable $at = ANDi killed renamable $a0, 1
454 ; PIC: BLTUC_MMR6 $at, $zero, %bb.3, implicit-def $at
455 ; PIC: bb.1 (%ir-block.0):
456 ; PIC: successors: %bb.2(0x80000000)
457 ; PIC: $sp = ADDiu $sp, -8
458 ; PIC: SW $ra, $sp, 0
459 ; PIC: $at = LONG_BRANCH_LUi target-flags(mips-abs-hi) %bb.4, %bb.2
460 ; PIC: $at = LONG_BRANCH_ADDiu $at, target-flags(mips-abs-lo) %bb.4, %bb.2
461 ; PIC: BALC_MMR6 %bb.2, implicit-def $ra
462 ; PIC: bb.2 (%ir-block.0):
463 ; PIC: successors: %bb.4(0x80000000)
464 ; PIC: $at = ADDu $ra, $at
465 ; PIC: $ra = LW $sp, 0
466 ; PIC: $sp = ADDiu $sp, 8
467 ; PIC: JIC_MMR6 $at, 0, implicit-def $at
469 ; PIC: successors: %bb.4(0x80000000)
470 ; PIC: INLINEASM &".space 131068", 1
472 ; PIC: JRC16_MM undef $ra
474 successors: %bb.1(0x40000000), %bb.2(0x40000000)
477 renamable $at = ANDi killed renamable $a0, 1
478 BGEUC_MMR6 killed renamable $at, $zero, %bb.2, implicit-def $at
481 successors: %bb.2(0x80000000)
483 INLINEASM &".space 131068", 1
486 PseudoReturn undef $ra
491 name: expand_BGEZC_MMR6
493 exposesReturnsTwice: false
495 regBankSelected: false
498 tracksRegLiveness: true
501 - { reg: '$a0', virtual-reg: '' }
503 isFrameAddressTaken: false
504 isReturnAddressTaken: false
514 hasOpaqueSPAdjustment: false
516 hasMustTailInVarArgFunc: false
524 ; MMR6-LABEL: name: expand_BGEZC_MMR6
525 ; MMR6: bb.0 (%ir-block.0):
526 ; MMR6: successors: %bb.2(0x40000000), %bb.1(0x40000000)
527 ; MMR6: renamable $at = ANDi killed renamable $a0, 1
528 ; MMR6: BLTZC_MMR6 $at, %bb.2, implicit-def $at
529 ; MMR6: bb.1 (%ir-block.0):
530 ; MMR6: successors: %bb.3(0x80000000)
531 ; MMR6: BC_MMR6 %bb.3
533 ; MMR6: successors: %bb.3(0x80000000)
534 ; MMR6: INLINEASM &".space 131068", 1
536 ; MMR6: JRC16_MM undef $ra
537 ; PIC-LABEL: name: expand_BGEZC_MMR6
538 ; PIC: bb.0 (%ir-block.0):
539 ; PIC: successors: %bb.3(0x40000000), %bb.1(0x40000000)
540 ; PIC: renamable $at = ANDi killed renamable $a0, 1
541 ; PIC: BLTZC_MMR6 $at, %bb.3, implicit-def $at
542 ; PIC: bb.1 (%ir-block.0):
543 ; PIC: successors: %bb.2(0x80000000)
544 ; PIC: $sp = ADDiu $sp, -8
545 ; PIC: SW $ra, $sp, 0
546 ; PIC: $at = LONG_BRANCH_LUi target-flags(mips-abs-hi) %bb.4, %bb.2
547 ; PIC: $at = LONG_BRANCH_ADDiu $at, target-flags(mips-abs-lo) %bb.4, %bb.2
548 ; PIC: BALC_MMR6 %bb.2, implicit-def $ra
549 ; PIC: bb.2 (%ir-block.0):
550 ; PIC: successors: %bb.4(0x80000000)
551 ; PIC: $at = ADDu $ra, $at
552 ; PIC: $ra = LW $sp, 0
553 ; PIC: $sp = ADDiu $sp, 8
554 ; PIC: JIC_MMR6 $at, 0, implicit-def $at
556 ; PIC: successors: %bb.4(0x80000000)
557 ; PIC: INLINEASM &".space 131068", 1
559 ; PIC: JRC16_MM undef $ra
561 successors: %bb.1(0x40000000), %bb.2(0x40000000)
564 renamable $at = ANDi killed renamable $a0, 1
565 BGEZC_MMR6 killed renamable $at, %bb.2, implicit-def $at
568 successors: %bb.2(0x80000000)
570 INLINEASM &".space 131068", 1
573 PseudoReturn undef $ra
578 name: expand_BGTZC_MMR6
580 exposesReturnsTwice: false
582 regBankSelected: false
585 tracksRegLiveness: true
588 - { reg: '$a0', virtual-reg: '' }
590 isFrameAddressTaken: false
591 isReturnAddressTaken: false
601 hasOpaqueSPAdjustment: false
603 hasMustTailInVarArgFunc: false
611 ; MMR6-LABEL: name: expand_BGTZC_MMR6
612 ; MMR6: bb.0 (%ir-block.0):
613 ; MMR6: successors: %bb.2(0x40000000), %bb.1(0x40000000)
614 ; MMR6: renamable $at = ANDi killed renamable $a0, 1
615 ; MMR6: BLEZC_MMR6 $at, %bb.2, implicit-def $at
616 ; MMR6: bb.1 (%ir-block.0):
617 ; MMR6: successors: %bb.3(0x80000000)
618 ; MMR6: BC_MMR6 %bb.3
620 ; MMR6: successors: %bb.3(0x80000000)
621 ; MMR6: INLINEASM &".space 131068", 1
623 ; MMR6: JRC16_MM undef $ra
624 ; PIC-LABEL: name: expand_BGTZC_MMR6
625 ; PIC: bb.0 (%ir-block.0):
626 ; PIC: successors: %bb.3(0x40000000), %bb.1(0x40000000)
627 ; PIC: renamable $at = ANDi killed renamable $a0, 1
628 ; PIC: BLEZC_MMR6 $at, %bb.3, implicit-def $at
629 ; PIC: bb.1 (%ir-block.0):
630 ; PIC: successors: %bb.2(0x80000000)
631 ; PIC: $sp = ADDiu $sp, -8
632 ; PIC: SW $ra, $sp, 0
633 ; PIC: $at = LONG_BRANCH_LUi target-flags(mips-abs-hi) %bb.4, %bb.2
634 ; PIC: $at = LONG_BRANCH_ADDiu $at, target-flags(mips-abs-lo) %bb.4, %bb.2
635 ; PIC: BALC_MMR6 %bb.2, implicit-def $ra
636 ; PIC: bb.2 (%ir-block.0):
637 ; PIC: successors: %bb.4(0x80000000)
638 ; PIC: $at = ADDu $ra, $at
639 ; PIC: $ra = LW $sp, 0
640 ; PIC: $sp = ADDiu $sp, 8
641 ; PIC: JIC_MMR6 $at, 0, implicit-def $at
643 ; PIC: successors: %bb.4(0x80000000)
644 ; PIC: INLINEASM &".space 131068", 1
646 ; PIC: JRC16_MM undef $ra
648 successors: %bb.1(0x40000000), %bb.2(0x40000000)
651 renamable $at = ANDi killed renamable $a0, 1
652 BGTZC_MMR6 killed renamable $at, %bb.2, implicit-def $at
655 successors: %bb.2(0x80000000)
657 INLINEASM &".space 131068", 1
660 PseudoReturn undef $ra
665 name: expand_BLEZC_MMR6
667 exposesReturnsTwice: false
669 regBankSelected: false
672 tracksRegLiveness: true
675 - { reg: '$a0', virtual-reg: '' }
677 isFrameAddressTaken: false
678 isReturnAddressTaken: false
688 hasOpaqueSPAdjustment: false
690 hasMustTailInVarArgFunc: false
698 ; MMR6-LABEL: name: expand_BLEZC_MMR6
699 ; MMR6: bb.0 (%ir-block.0):
700 ; MMR6: successors: %bb.2(0x40000000), %bb.1(0x40000000)
701 ; MMR6: renamable $at = ANDi killed renamable $a0, 1
702 ; MMR6: BGTZC_MMR6 $at, %bb.2, implicit-def $at
703 ; MMR6: bb.1 (%ir-block.0):
704 ; MMR6: successors: %bb.3(0x80000000)
705 ; MMR6: BC_MMR6 %bb.3
707 ; MMR6: successors: %bb.3(0x80000000)
708 ; MMR6: INLINEASM &".space 131068", 1
710 ; MMR6: JRC16_MM undef $ra
711 ; PIC-LABEL: name: expand_BLEZC_MMR6
712 ; PIC: bb.0 (%ir-block.0):
713 ; PIC: successors: %bb.3(0x40000000), %bb.1(0x40000000)
714 ; PIC: renamable $at = ANDi killed renamable $a0, 1
715 ; PIC: BGTZC_MMR6 $at, %bb.3, implicit-def $at
716 ; PIC: bb.1 (%ir-block.0):
717 ; PIC: successors: %bb.2(0x80000000)
718 ; PIC: $sp = ADDiu $sp, -8
719 ; PIC: SW $ra, $sp, 0
720 ; PIC: $at = LONG_BRANCH_LUi target-flags(mips-abs-hi) %bb.4, %bb.2
721 ; PIC: $at = LONG_BRANCH_ADDiu $at, target-flags(mips-abs-lo) %bb.4, %bb.2
722 ; PIC: BALC_MMR6 %bb.2, implicit-def $ra
723 ; PIC: bb.2 (%ir-block.0):
724 ; PIC: successors: %bb.4(0x80000000)
725 ; PIC: $at = ADDu $ra, $at
726 ; PIC: $ra = LW $sp, 0
727 ; PIC: $sp = ADDiu $sp, 8
728 ; PIC: JIC_MMR6 $at, 0, implicit-def $at
730 ; PIC: successors: %bb.4(0x80000000)
731 ; PIC: INLINEASM &".space 131068", 1
733 ; PIC: JRC16_MM undef $ra
735 successors: %bb.1(0x40000000), %bb.2(0x40000000)
738 renamable $at = ANDi killed renamable $a0, 1
739 BLEZC_MMR6 killed renamable $at, %bb.2, implicit-def $at
742 successors: %bb.2(0x80000000)
744 INLINEASM &".space 131068", 1
747 PseudoReturn undef $ra
752 name: expand_BLTC_MMR6
754 exposesReturnsTwice: false
756 regBankSelected: false
759 tracksRegLiveness: true
762 - { reg: '$a0', virtual-reg: '' }
764 isFrameAddressTaken: false
765 isReturnAddressTaken: false
775 hasOpaqueSPAdjustment: false
777 hasMustTailInVarArgFunc: false
785 ; MMR6-LABEL: name: expand_BLTC_MMR6
786 ; MMR6: bb.0 (%ir-block.0):
787 ; MMR6: successors: %bb.2(0x40000000), %bb.1(0x40000000)
788 ; MMR6: renamable $at = ANDi killed renamable $a0, 1
789 ; MMR6: BGEC_MMR6 $at, $zero, %bb.2, implicit-def $at
790 ; MMR6: bb.1 (%ir-block.0):
791 ; MMR6: successors: %bb.3(0x80000000)
792 ; MMR6: BC_MMR6 %bb.3
794 ; MMR6: successors: %bb.3(0x80000000)
795 ; MMR6: INLINEASM &".space 131068", 1
797 ; MMR6: JRC16_MM undef $ra
798 ; PIC-LABEL: name: expand_BLTC_MMR6
799 ; PIC: bb.0 (%ir-block.0):
800 ; PIC: successors: %bb.3(0x40000000), %bb.1(0x40000000)
801 ; PIC: renamable $at = ANDi killed renamable $a0, 1
802 ; PIC: BGEC_MMR6 $at, $zero, %bb.3, implicit-def $at
803 ; PIC: bb.1 (%ir-block.0):
804 ; PIC: successors: %bb.2(0x80000000)
805 ; PIC: $sp = ADDiu $sp, -8
806 ; PIC: SW $ra, $sp, 0
807 ; PIC: $at = LONG_BRANCH_LUi target-flags(mips-abs-hi) %bb.4, %bb.2
808 ; PIC: $at = LONG_BRANCH_ADDiu $at, target-flags(mips-abs-lo) %bb.4, %bb.2
809 ; PIC: BALC_MMR6 %bb.2, implicit-def $ra
810 ; PIC: bb.2 (%ir-block.0):
811 ; PIC: successors: %bb.4(0x80000000)
812 ; PIC: $at = ADDu $ra, $at
813 ; PIC: $ra = LW $sp, 0
814 ; PIC: $sp = ADDiu $sp, 8
815 ; PIC: JIC_MMR6 $at, 0, implicit-def $at
817 ; PIC: successors: %bb.4(0x80000000)
818 ; PIC: INLINEASM &".space 131068", 1
820 ; PIC: JRC16_MM undef $ra
822 successors: %bb.1(0x40000000), %bb.2(0x40000000)
825 renamable $at = ANDi killed renamable $a0, 1
826 BLTC_MMR6 killed renamable $at, $zero, %bb.2, implicit-def $at
829 successors: %bb.2(0x80000000)
831 INLINEASM &".space 131068", 1
834 PseudoReturn undef $ra
839 name: expand_BLTUC_MMR6
841 exposesReturnsTwice: false
843 regBankSelected: false
846 tracksRegLiveness: true
849 - { reg: '$a0', virtual-reg: '' }
851 isFrameAddressTaken: false
852 isReturnAddressTaken: false
862 hasOpaqueSPAdjustment: false
864 hasMustTailInVarArgFunc: false
872 ; MMR6-LABEL: name: expand_BLTUC_MMR6
873 ; MMR6: bb.0 (%ir-block.0):
874 ; MMR6: successors: %bb.2(0x40000000), %bb.1(0x40000000)
875 ; MMR6: renamable $at = ANDi killed renamable $a0, 1
876 ; MMR6: BGEUC_MMR6 $at, $zero, %bb.2, implicit-def $at
877 ; MMR6: bb.1 (%ir-block.0):
878 ; MMR6: successors: %bb.3(0x80000000)
879 ; MMR6: BC_MMR6 %bb.3
881 ; MMR6: successors: %bb.3(0x80000000)
882 ; MMR6: INLINEASM &".space 131068", 1
884 ; MMR6: JRC16_MM undef $ra
885 ; PIC-LABEL: name: expand_BLTUC_MMR6
886 ; PIC: bb.0 (%ir-block.0):
887 ; PIC: successors: %bb.3(0x40000000), %bb.1(0x40000000)
888 ; PIC: renamable $at = ANDi killed renamable $a0, 1
889 ; PIC: BGEUC_MMR6 $at, $zero, %bb.3, implicit-def $at
890 ; PIC: bb.1 (%ir-block.0):
891 ; PIC: successors: %bb.2(0x80000000)
892 ; PIC: $sp = ADDiu $sp, -8
893 ; PIC: SW $ra, $sp, 0
894 ; PIC: $at = LONG_BRANCH_LUi target-flags(mips-abs-hi) %bb.4, %bb.2
895 ; PIC: $at = LONG_BRANCH_ADDiu $at, target-flags(mips-abs-lo) %bb.4, %bb.2
896 ; PIC: BALC_MMR6 %bb.2, implicit-def $ra
897 ; PIC: bb.2 (%ir-block.0):
898 ; PIC: successors: %bb.4(0x80000000)
899 ; PIC: $at = ADDu $ra, $at
900 ; PIC: $ra = LW $sp, 0
901 ; PIC: $sp = ADDiu $sp, 8
902 ; PIC: JIC_MMR6 $at, 0, implicit-def $at
904 ; PIC: successors: %bb.4(0x80000000)
905 ; PIC: INLINEASM &".space 131068", 1
907 ; PIC: JRC16_MM undef $ra
909 successors: %bb.1(0x40000000), %bb.2(0x40000000)
912 renamable $at = ANDi killed renamable $a0, 1
913 BLTUC_MMR6 killed renamable $at, $zero, %bb.2, implicit-def $at
916 successors: %bb.2(0x80000000)
918 INLINEASM &".space 131068", 1
921 PseudoReturn undef $ra
926 name: expand_BLTZC_MMR6
928 exposesReturnsTwice: false
930 regBankSelected: false
933 tracksRegLiveness: true
936 - { reg: '$a0', virtual-reg: '' }
938 isFrameAddressTaken: false
939 isReturnAddressTaken: false
949 hasOpaqueSPAdjustment: false
951 hasMustTailInVarArgFunc: false
959 ; MMR6-LABEL: name: expand_BLTZC_MMR6
960 ; MMR6: bb.0 (%ir-block.0):
961 ; MMR6: successors: %bb.2(0x40000000), %bb.1(0x40000000)
962 ; MMR6: renamable $at = ANDi killed renamable $a0, 1
963 ; MMR6: BGEZC_MMR6 $at, %bb.2, implicit-def $at
964 ; MMR6: bb.1 (%ir-block.0):
965 ; MMR6: successors: %bb.3(0x80000000)
966 ; MMR6: BC_MMR6 %bb.3
968 ; MMR6: successors: %bb.3(0x80000000)
969 ; MMR6: INLINEASM &".space 131068", 1
971 ; MMR6: JRC16_MM undef $ra
972 ; PIC-LABEL: name: expand_BLTZC_MMR6
973 ; PIC: bb.0 (%ir-block.0):
974 ; PIC: successors: %bb.3(0x40000000), %bb.1(0x40000000)
975 ; PIC: renamable $at = ANDi killed renamable $a0, 1
976 ; PIC: BGEZC_MMR6 $at, %bb.3, implicit-def $at
977 ; PIC: bb.1 (%ir-block.0):
978 ; PIC: successors: %bb.2(0x80000000)
979 ; PIC: $sp = ADDiu $sp, -8
980 ; PIC: SW $ra, $sp, 0
981 ; PIC: $at = LONG_BRANCH_LUi target-flags(mips-abs-hi) %bb.4, %bb.2
982 ; PIC: $at = LONG_BRANCH_ADDiu $at, target-flags(mips-abs-lo) %bb.4, %bb.2
983 ; PIC: BALC_MMR6 %bb.2, implicit-def $ra
984 ; PIC: bb.2 (%ir-block.0):
985 ; PIC: successors: %bb.4(0x80000000)
986 ; PIC: $at = ADDu $ra, $at
987 ; PIC: $ra = LW $sp, 0
988 ; PIC: $sp = ADDiu $sp, 8
989 ; PIC: JIC_MMR6 $at, 0, implicit-def $at
991 ; PIC: successors: %bb.4(0x80000000)
992 ; PIC: INLINEASM &".space 131068", 1
994 ; PIC: JRC16_MM undef $ra
996 successors: %bb.1(0x40000000), %bb.2(0x40000000)
999 renamable $at = ANDi killed renamable $a0, 1
1000 BLTZC_MMR6 killed renamable $at, %bb.2, implicit-def $at
1003 successors: %bb.2(0x80000000)
1005 INLINEASM &".space 131068", 1
1008 PseudoReturn undef $ra
1013 name: expand_BEQZC_MMR6
1015 exposesReturnsTwice: false
1017 regBankSelected: false
1020 tracksRegLiveness: true
1023 - { reg: '$a0', virtual-reg: '' }
1025 isFrameAddressTaken: false
1026 isReturnAddressTaken: false
1028 hasPatchPoint: false
1036 hasOpaqueSPAdjustment: false
1038 hasMustTailInVarArgFunc: false
1046 ; MMR6-LABEL: name: expand_BEQZC_MMR6
1047 ; MMR6: bb.0 (%ir-block.0):
1048 ; MMR6: successors: %bb.2(0x40000000), %bb.1(0x40000000)
1049 ; MMR6: renamable $at = ANDi killed renamable $a0, 1
1050 ; MMR6: BNEZC_MMR6 $at, %bb.2, implicit-def $at
1051 ; MMR6: bb.1 (%ir-block.0):
1052 ; MMR6: successors: %bb.3(0x80000000)
1053 ; MMR6: BC_MMR6 %bb.3
1054 ; MMR6: bb.2.iftrue:
1055 ; MMR6: successors: %bb.3(0x80000000)
1056 ; MMR6: INLINEASM &".space 8388608", 1
1058 ; MMR6: JRC16_MM undef $ra
1059 ; PIC-LABEL: name: expand_BEQZC_MMR6
1060 ; PIC: bb.0 (%ir-block.0):
1061 ; PIC: successors: %bb.3(0x40000000), %bb.1(0x40000000)
1062 ; PIC: renamable $at = ANDi killed renamable $a0, 1
1063 ; PIC: BNEZC_MMR6 $at, %bb.3, implicit-def $at
1064 ; PIC: bb.1 (%ir-block.0):
1065 ; PIC: successors: %bb.2(0x80000000)
1066 ; PIC: $sp = ADDiu $sp, -8
1067 ; PIC: SW $ra, $sp, 0
1068 ; PIC: $at = LONG_BRANCH_LUi target-flags(mips-abs-hi) %bb.4, %bb.2
1069 ; PIC: $at = LONG_BRANCH_ADDiu $at, target-flags(mips-abs-lo) %bb.4, %bb.2
1070 ; PIC: BALC_MMR6 %bb.2, implicit-def $ra
1071 ; PIC: bb.2 (%ir-block.0):
1072 ; PIC: successors: %bb.4(0x80000000)
1073 ; PIC: $at = ADDu $ra, $at
1074 ; PIC: $ra = LW $sp, 0
1075 ; PIC: $sp = ADDiu $sp, 8
1076 ; PIC: JIC_MMR6 $at, 0, implicit-def $at
1078 ; PIC: successors: %bb.4(0x80000000)
1079 ; PIC: INLINEASM &".space 8388608", 1
1081 ; PIC: JRC16_MM undef $ra
1083 successors: %bb.1(0x40000000), %bb.2(0x40000000)
1086 renamable $at = ANDi killed renamable $a0, 1
1087 BEQZC_MMR6 killed renamable $at, %bb.2, implicit-def $at
1090 successors: %bb.2(0x80000000)
1092 INLINEASM &".space 8388608", 1
1095 PseudoReturn undef $ra
1100 name: expand_BNEZC_MMR6
1102 exposesReturnsTwice: false
1104 regBankSelected: false
1107 tracksRegLiveness: true
1110 - { reg: '$a0', virtual-reg: '' }
1112 isFrameAddressTaken: false
1113 isReturnAddressTaken: false
1115 hasPatchPoint: false
1123 hasOpaqueSPAdjustment: false
1125 hasMustTailInVarArgFunc: false
1133 ; MMR6-LABEL: name: expand_BNEZC_MMR6
1134 ; MMR6: bb.0 (%ir-block.0):
1135 ; MMR6: successors: %bb.2(0x40000000), %bb.1(0x40000000)
1136 ; MMR6: renamable $at = ANDi killed renamable $a0, 1
1137 ; MMR6: BEQZC_MMR6 $at, %bb.2, implicit-def $at
1138 ; MMR6: bb.1 (%ir-block.0):
1139 ; MMR6: successors: %bb.3(0x80000000)
1140 ; MMR6: BC_MMR6 %bb.3
1141 ; MMR6: bb.2.iftrue:
1142 ; MMR6: successors: %bb.3(0x80000000)
1143 ; MMR6: INLINEASM &".space 8388608", 1
1145 ; MMR6: JRC16_MM undef $ra
1146 ; PIC-LABEL: name: expand_BNEZC_MMR6
1147 ; PIC: bb.0 (%ir-block.0):
1148 ; PIC: successors: %bb.3(0x40000000), %bb.1(0x40000000)
1149 ; PIC: renamable $at = ANDi killed renamable $a0, 1
1150 ; PIC: BEQZC_MMR6 $at, %bb.3, implicit-def $at
1151 ; PIC: bb.1 (%ir-block.0):
1152 ; PIC: successors: %bb.2(0x80000000)
1153 ; PIC: $sp = ADDiu $sp, -8
1154 ; PIC: SW $ra, $sp, 0
1155 ; PIC: $at = LONG_BRANCH_LUi target-flags(mips-abs-hi) %bb.4, %bb.2
1156 ; PIC: $at = LONG_BRANCH_ADDiu $at, target-flags(mips-abs-lo) %bb.4, %bb.2
1157 ; PIC: BALC_MMR6 %bb.2, implicit-def $ra
1158 ; PIC: bb.2 (%ir-block.0):
1159 ; PIC: successors: %bb.4(0x80000000)
1160 ; PIC: $at = ADDu $ra, $at
1161 ; PIC: $ra = LW $sp, 0
1162 ; PIC: $sp = ADDiu $sp, 8
1163 ; PIC: JIC_MMR6 $at, 0, implicit-def $at
1165 ; PIC: successors: %bb.4(0x80000000)
1166 ; PIC: INLINEASM &".space 8388608", 1
1168 ; PIC: JRC16_MM undef $ra
1170 successors: %bb.1(0x40000000), %bb.2(0x40000000)
1173 renamable $at = ANDi killed renamable $a0, 1
1174 BNEZC_MMR6 killed renamable $at, %bb.2, implicit-def $at
1177 successors: %bb.2(0x80000000)
1179 INLINEASM &".space 8388608", 1
1182 PseudoReturn undef $ra