[ARM] Fixup the creation of VPT blocks
[llvm-core.git] / test / CodeGen / Mips / longbranch / branch-limits-int-mipsr6.mir
blobf945014a53bad7724cb83416bc3df1ab8145a5fe
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=mips-img-linux-gnu -mcpu=mips32r6 -o - %s -start-before mips-delay-slot-filler -stop-after mips-branch-expansion | FileCheck %s --check-prefix=R6
3 # RUN: llc -mtriple=mips-img-linux-gnu -mcpu=mips32r6 -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
7 --- |
8   define void @expand_BEQC(i1 %a) {
9     br i1 %a, label %iftrue, label %tail
11   iftrue:
12     call void asm sideeffect ".space 131068", ""()
13     br label %tail
15   tail:
16     ret void
17   }
19   define void @expand_BNEC(i1 %a) {
20     br i1 %a, label %iftrue, label %tail
22   iftrue:
23     call void asm sideeffect ".space 131068", ""()
24     br label %tail
26   tail:
27     ret void
28   }
30   define void @expand_BGEC(i1 %a) {
31     br i1 %a, label %iftrue, label %tail
33   iftrue:
34     call void asm sideeffect ".space 131068", ""()
35     br label %tail
37   tail:
38     ret void
39   }
41   define void @expand_BGEUC(i1 %a) {
42     br i1 %a, label %iftrue, label %tail
44   iftrue:
45     call void asm sideeffect ".space 131068", ""()
46     br label %tail
48   tail:
49     ret void
50   }
52   define void @expand_BGEZC(i1 %a) {
53     br i1 %a, label %iftrue, label %tail
55   iftrue:
56     call void asm sideeffect ".space 131068", ""()
57     br label %tail
59   tail:
60     ret void
61   }
63   define void @expand_BGTZC(i1 %a) {
64     br i1 %a, label %iftrue, label %tail
66   iftrue:
67     call void asm sideeffect ".space 131068", ""()
68     br label %tail
70   tail:
71     ret void
72   }
74   define void @expand_BLEZC(i1 %a) {
75     br i1 %a, label %iftrue, label %tail
77   iftrue:
78     call void asm sideeffect ".space 131068", ""()
79     br label %tail
81   tail:
82     ret void
83   }
85   define void @expand_BLTC(i1 %a) {
86     br i1 %a, label %iftrue, label %tail
88   iftrue:
89     call void asm sideeffect ".space 131068", ""()
90     br label %tail
92   tail:
93     ret void
94   }
96   define void @expand_BLTUC(i1 %a) {
97     br i1 %a, label %iftrue, label %tail
99   iftrue:
100     call void asm sideeffect ".space 131068", ""()
101     br label %tail
103   tail:
104     ret void
105   }
107   define void @expand_BLTZC(i1 %a) {
108     br i1 %a, label %iftrue, label %tail
110   iftrue:
111     call void asm sideeffect ".space 131068", ""()
112     br label %tail
114   tail:
115     ret void
116   }
118   define void @expand_BEQZC(i1 %a) {
119     br i1 %a, label %iftrue, label %tail
121   iftrue:
122     call void asm sideeffect ".space 8388608", ""()
123     br label %tail
125   tail:
126     ret void
127   }
129   define void @expand_BNEZC(i1 %a) {
130     br i1 %a, label %iftrue, label %tail
132   iftrue:
133     call void asm sideeffect ".space 8388608", ""()
134     br label %tail
136   tail:
137     ret void
138   }
143 name:            expand_BEQC
144 alignment:       2
145 exposesReturnsTwice: false
146 legalized:       false
147 regBankSelected: false
148 selected:        false
149 failedISel:      false
150 tracksRegLiveness: true
151 registers:
152 liveins:
153   - { reg: '$a0', virtual-reg: '' }
154 frameInfo:
155   isFrameAddressTaken: false
156   isReturnAddressTaken: false
157   hasStackMap:     false
158   hasPatchPoint:   false
159   stackSize:       0
160   offsetAdjustment: 0
161   maxAlignment:    1
162   adjustsStack:    false
163   hasCalls:        false
164   stackProtector:  ''
165   maxCallFrameSize: 0
166   hasOpaqueSPAdjustment: false
167   hasVAStart:      false
168   hasMustTailInVarArgFunc: false
169   localFrameSize:  0
170   savePoint:       ''
171   restorePoint:    ''
172 fixedStack:
173 stack:
174 constants:
175 body:             |
176   ; R6-LABEL: name: expand_BEQC
177   ; R6: bb.0 (%ir-block.0):
178   ; R6:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
179   ; R6:   renamable $at = ANDi killed renamable $a0, 1
180   ; R6:   BNEC $at, $zero, %bb.2, implicit-def $at
181   ; R6: bb.1 (%ir-block.0):
182   ; R6:   successors: %bb.3(0x80000000)
183   ; R6:   BC %bb.3
184   ; R6: bb.2.iftrue:
185   ; R6:   successors: %bb.3(0x80000000)
186   ; R6:   INLINEASM &".space 131068", 1
187   ; R6: bb.3.tail:
188   ; R6:   JIC undef $ra, 0, implicit-def $at
189   ; PIC-LABEL: name: expand_BEQC
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 $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 %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 $at, 0, implicit-def $at
207   ; PIC: bb.3.iftrue:
208   ; PIC:   successors: %bb.4(0x80000000)
209   ; PIC:   INLINEASM &".space 131068", 1
210   ; PIC: bb.4.tail:
211   ; PIC:   JIC undef $ra, 0, implicit-def $at
212   bb.0 (%ir-block.0):
213     successors: %bb.1(0x40000000), %bb.2(0x40000000)
214     liveins: $a0
216     renamable $at = ANDi killed renamable $a0, 1
217     BEQC killed renamable $at, $zero, %bb.2, implicit-def $at
219   bb.1.iftrue:
220     successors: %bb.2(0x80000000)
222     INLINEASM &".space 131068", 1
224   bb.2.tail:
225     PseudoReturn undef $ra
230 name:            expand_BNEC
231 alignment:       2
232 exposesReturnsTwice: false
233 legalized:       false
234 regBankSelected: false
235 selected:        false
236 failedISel:      false
237 tracksRegLiveness: true
238 registers:
239 liveins:
240   - { reg: '$a0', virtual-reg: '' }
241 frameInfo:
242   isFrameAddressTaken: false
243   isReturnAddressTaken: false
244   hasStackMap:     false
245   hasPatchPoint:   false
246   stackSize:       0
247   offsetAdjustment: 0
248   maxAlignment:    1
249   adjustsStack:    false
250   hasCalls:        false
251   stackProtector:  ''
252   maxCallFrameSize: 0
253   hasOpaqueSPAdjustment: false
254   hasVAStart:      false
255   hasMustTailInVarArgFunc: false
256   localFrameSize:  0
257   savePoint:       ''
258   restorePoint:    ''
259 fixedStack:
260 stack:
261 constants:
262 body:             |
263   ; R6-LABEL: name: expand_BNEC
264   ; R6: bb.0 (%ir-block.0):
265   ; R6:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
266   ; R6:   renamable $at = ANDi killed renamable $a0, 1
267   ; R6:   BEQC $at, $zero, %bb.2, implicit-def $at
268   ; R6: bb.1 (%ir-block.0):
269   ; R6:   successors: %bb.3(0x80000000)
270   ; R6:   BC %bb.3
271   ; R6: bb.2.iftrue:
272   ; R6:   successors: %bb.3(0x80000000)
273   ; R6:   INLINEASM &".space 131068", 1
274   ; R6: bb.3.tail:
275   ; R6:   JIC undef $ra, 0, implicit-def $at
276   ; PIC-LABEL: name: expand_BNEC
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 $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 %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 $at, 0, implicit-def $at
294   ; PIC: bb.3.iftrue:
295   ; PIC:   successors: %bb.4(0x80000000)
296   ; PIC:   INLINEASM &".space 131068", 1
297   ; PIC: bb.4.tail:
298   ; PIC:   JIC undef $ra, 0, implicit-def $at
299   bb.0 (%ir-block.0):
300     successors: %bb.1(0x40000000), %bb.2(0x40000000)
301     liveins: $a0
303     renamable $at = ANDi killed renamable $a0, 1
304     BNEC killed renamable $at, $zero, %bb.2, implicit-def $at
306   bb.1.iftrue:
307     successors: %bb.2(0x80000000)
309     INLINEASM &".space 131068", 1
311   bb.2.tail:
312     PseudoReturn undef $ra
317 name:            expand_BGEC
318 alignment:       2
319 exposesReturnsTwice: false
320 legalized:       false
321 regBankSelected: false
322 selected:        false
323 failedISel:      false
324 tracksRegLiveness: true
325 registers:
326 liveins:
327   - { reg: '$a0', virtual-reg: '' }
328 frameInfo:
329   isFrameAddressTaken: false
330   isReturnAddressTaken: false
331   hasStackMap:     false
332   hasPatchPoint:   false
333   stackSize:       0
334   offsetAdjustment: 0
335   maxAlignment:    1
336   adjustsStack:    false
337   hasCalls:        false
338   stackProtector:  ''
339   maxCallFrameSize: 0
340   hasOpaqueSPAdjustment: false
341   hasVAStart:      false
342   hasMustTailInVarArgFunc: false
343   localFrameSize:  0
344   savePoint:       ''
345   restorePoint:    ''
346 fixedStack:
347 stack:
348 constants:
349 body:             |
350   ; R6-LABEL: name: expand_BGEC
351   ; R6: bb.0 (%ir-block.0):
352   ; R6:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
353   ; R6:   renamable $at = ANDi killed renamable $a0, 1
354   ; R6:   BLTC $at, $zero, %bb.2, implicit-def $at
355   ; R6: bb.1 (%ir-block.0):
356   ; R6:   successors: %bb.3(0x80000000)
357   ; R6:   BC %bb.3
358   ; R6: bb.2.iftrue:
359   ; R6:   successors: %bb.3(0x80000000)
360   ; R6:   INLINEASM &".space 131068", 1
361   ; R6: bb.3.tail:
362   ; R6:   JIC undef $ra, 0, implicit-def $at
363   ; PIC-LABEL: name: expand_BGEC
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 $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 %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 $at, 0, implicit-def $at
381   ; PIC: bb.3.iftrue:
382   ; PIC:   successors: %bb.4(0x80000000)
383   ; PIC:   INLINEASM &".space 131068", 1
384   ; PIC: bb.4.tail:
385   ; PIC:   JIC undef $ra, 0, implicit-def $at
386   bb.0 (%ir-block.0):
387     successors: %bb.1(0x40000000), %bb.2(0x40000000)
388     liveins: $a0
390     renamable $at = ANDi killed renamable $a0, 1
391     BGEC killed renamable $at, $zero, %bb.2, implicit-def $at
393   bb.1.iftrue:
394     successors: %bb.2(0x80000000)
396     INLINEASM &".space 131068", 1
398   bb.2.tail:
399     PseudoReturn undef $ra
404 name:            expand_BGEUC
405 alignment:       2
406 exposesReturnsTwice: false
407 legalized:       false
408 regBankSelected: false
409 selected:        false
410 failedISel:      false
411 tracksRegLiveness: true
412 registers:
413 liveins:
414   - { reg: '$a0', virtual-reg: '' }
415 frameInfo:
416   isFrameAddressTaken: false
417   isReturnAddressTaken: false
418   hasStackMap:     false
419   hasPatchPoint:   false
420   stackSize:       0
421   offsetAdjustment: 0
422   maxAlignment:    1
423   adjustsStack:    false
424   hasCalls:        false
425   stackProtector:  ''
426   maxCallFrameSize: 0
427   hasOpaqueSPAdjustment: false
428   hasVAStart:      false
429   hasMustTailInVarArgFunc: false
430   localFrameSize:  0
431   savePoint:       ''
432   restorePoint:    ''
433 fixedStack:
434 stack:
435 constants:
436 body:             |
437   ; R6-LABEL: name: expand_BGEUC
438   ; R6: bb.0 (%ir-block.0):
439   ; R6:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
440   ; R6:   renamable $at = ANDi killed renamable $a0, 1
441   ; R6:   BLTUC $at, $zero, %bb.2, implicit-def $at
442   ; R6: bb.1 (%ir-block.0):
443   ; R6:   successors: %bb.3(0x80000000)
444   ; R6:   BC %bb.3
445   ; R6: bb.2.iftrue:
446   ; R6:   successors: %bb.3(0x80000000)
447   ; R6:   INLINEASM &".space 131068", 1
448   ; R6: bb.3.tail:
449   ; R6:   JIC undef $ra, 0, implicit-def $at
450   ; PIC-LABEL: name: expand_BGEUC
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 $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 %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 $at, 0, implicit-def $at
468   ; PIC: bb.3.iftrue:
469   ; PIC:   successors: %bb.4(0x80000000)
470   ; PIC:   INLINEASM &".space 131068", 1
471   ; PIC: bb.4.tail:
472   ; PIC:   JIC undef $ra, 0, implicit-def $at
473   bb.0 (%ir-block.0):
474     successors: %bb.1(0x40000000), %bb.2(0x40000000)
475     liveins: $a0
477     renamable $at = ANDi killed renamable $a0, 1
478     BGEUC killed renamable $at, $zero, %bb.2, implicit-def $at
480   bb.1.iftrue:
481     successors: %bb.2(0x80000000)
483     INLINEASM &".space 131068", 1
485   bb.2.tail:
486     PseudoReturn undef $ra
491 name:            expand_BGEZC
492 alignment:       2
493 exposesReturnsTwice: false
494 legalized:       false
495 regBankSelected: false
496 selected:        false
497 failedISel:      false
498 tracksRegLiveness: true
499 registers:
500 liveins:
501   - { reg: '$a0', virtual-reg: '' }
502 frameInfo:
503   isFrameAddressTaken: false
504   isReturnAddressTaken: false
505   hasStackMap:     false
506   hasPatchPoint:   false
507   stackSize:       0
508   offsetAdjustment: 0
509   maxAlignment:    1
510   adjustsStack:    false
511   hasCalls:        false
512   stackProtector:  ''
513   maxCallFrameSize: 0
514   hasOpaqueSPAdjustment: false
515   hasVAStart:      false
516   hasMustTailInVarArgFunc: false
517   localFrameSize:  0
518   savePoint:       ''
519   restorePoint:    ''
520 fixedStack:
521 stack:
522 constants:
523 body:             |
524   ; R6-LABEL: name: expand_BGEZC
525   ; R6: bb.0 (%ir-block.0):
526   ; R6:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
527   ; R6:   renamable $at = ANDi killed renamable $a0, 1
528   ; R6:   BLTZC $at, %bb.2, implicit-def $at
529   ; R6: bb.1 (%ir-block.0):
530   ; R6:   successors: %bb.3(0x80000000)
531   ; R6:   BC %bb.3
532   ; R6: bb.2.iftrue:
533   ; R6:   successors: %bb.3(0x80000000)
534   ; R6:   INLINEASM &".space 131068", 1
535   ; R6: bb.3.tail:
536   ; R6:   JIC undef $ra, 0, implicit-def $at
537   ; PIC-LABEL: name: expand_BGEZC
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 $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 %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 $at, 0, implicit-def $at
555   ; PIC: bb.3.iftrue:
556   ; PIC:   successors: %bb.4(0x80000000)
557   ; PIC:   INLINEASM &".space 131068", 1
558   ; PIC: bb.4.tail:
559   ; PIC:   JIC undef $ra, 0, implicit-def $at
560   bb.0 (%ir-block.0):
561     successors: %bb.1(0x40000000), %bb.2(0x40000000)
562     liveins: $a0
564     renamable $at = ANDi killed renamable $a0, 1
565     BGEZC killed renamable $at, %bb.2, implicit-def $at
567   bb.1.iftrue:
568     successors: %bb.2(0x80000000)
570     INLINEASM &".space 131068", 1
572   bb.2.tail:
573     PseudoReturn undef $ra
578 name:            expand_BGTZC
579 alignment:       2
580 exposesReturnsTwice: false
581 legalized:       false
582 regBankSelected: false
583 selected:        false
584 failedISel:      false
585 tracksRegLiveness: true
586 registers:
587 liveins:
588   - { reg: '$a0', virtual-reg: '' }
589 frameInfo:
590   isFrameAddressTaken: false
591   isReturnAddressTaken: false
592   hasStackMap:     false
593   hasPatchPoint:   false
594   stackSize:       0
595   offsetAdjustment: 0
596   maxAlignment:    1
597   adjustsStack:    false
598   hasCalls:        false
599   stackProtector:  ''
600   maxCallFrameSize: 0
601   hasOpaqueSPAdjustment: false
602   hasVAStart:      false
603   hasMustTailInVarArgFunc: false
604   localFrameSize:  0
605   savePoint:       ''
606   restorePoint:    ''
607 fixedStack:
608 stack:
609 constants:
610 body:             |
611   ; R6-LABEL: name: expand_BGTZC
612   ; R6: bb.0 (%ir-block.0):
613   ; R6:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
614   ; R6:   renamable $at = ANDi killed renamable $a0, 1
615   ; R6:   BLEZC $at, %bb.2, implicit-def $at
616   ; R6: bb.1 (%ir-block.0):
617   ; R6:   successors: %bb.3(0x80000000)
618   ; R6:   BC %bb.3
619   ; R6: bb.2.iftrue:
620   ; R6:   successors: %bb.3(0x80000000)
621   ; R6:   INLINEASM &".space 131068", 1
622   ; R6: bb.3.tail:
623   ; R6:   JIC undef $ra, 0, implicit-def $at
624   ; PIC-LABEL: name: expand_BGTZC
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 $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 %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 $at, 0, implicit-def $at
642   ; PIC: bb.3.iftrue:
643   ; PIC:   successors: %bb.4(0x80000000)
644   ; PIC:   INLINEASM &".space 131068", 1
645   ; PIC: bb.4.tail:
646   ; PIC:   JIC undef $ra, 0, implicit-def $at
647   bb.0 (%ir-block.0):
648     successors: %bb.1(0x40000000), %bb.2(0x40000000)
649     liveins: $a0
651     renamable $at = ANDi killed renamable $a0, 1
652     BGTZC killed renamable $at, %bb.2, implicit-def $at
654   bb.1.iftrue:
655     successors: %bb.2(0x80000000)
657     INLINEASM &".space 131068", 1
659   bb.2.tail:
660     PseudoReturn undef $ra
665 name:            expand_BLEZC
666 alignment:       2
667 exposesReturnsTwice: false
668 legalized:       false
669 regBankSelected: false
670 selected:        false
671 failedISel:      false
672 tracksRegLiveness: true
673 registers:
674 liveins:
675   - { reg: '$a0', virtual-reg: '' }
676 frameInfo:
677   isFrameAddressTaken: false
678   isReturnAddressTaken: false
679   hasStackMap:     false
680   hasPatchPoint:   false
681   stackSize:       0
682   offsetAdjustment: 0
683   maxAlignment:    1
684   adjustsStack:    false
685   hasCalls:        false
686   stackProtector:  ''
687   maxCallFrameSize: 0
688   hasOpaqueSPAdjustment: false
689   hasVAStart:      false
690   hasMustTailInVarArgFunc: false
691   localFrameSize:  0
692   savePoint:       ''
693   restorePoint:    ''
694 fixedStack:
695 stack:
696 constants:
697 body:             |
698   ; R6-LABEL: name: expand_BLEZC
699   ; R6: bb.0 (%ir-block.0):
700   ; R6:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
701   ; R6:   renamable $at = ANDi killed renamable $a0, 1
702   ; R6:   BGTZC $at, %bb.2, implicit-def $at
703   ; R6: bb.1 (%ir-block.0):
704   ; R6:   successors: %bb.3(0x80000000)
705   ; R6:   BC %bb.3
706   ; R6: bb.2.iftrue:
707   ; R6:   successors: %bb.3(0x80000000)
708   ; R6:   INLINEASM &".space 131068", 1
709   ; R6: bb.3.tail:
710   ; R6:   JIC undef $ra, 0, implicit-def $at
711   ; PIC-LABEL: name: expand_BLEZC
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 $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 %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 $at, 0, implicit-def $at
729   ; PIC: bb.3.iftrue:
730   ; PIC:   successors: %bb.4(0x80000000)
731   ; PIC:   INLINEASM &".space 131068", 1
732   ; PIC: bb.4.tail:
733   ; PIC:   JIC undef $ra, 0, implicit-def $at
734   bb.0 (%ir-block.0):
735     successors: %bb.1(0x40000000), %bb.2(0x40000000)
736     liveins: $a0
738     renamable $at = ANDi killed renamable $a0, 1
739     BLEZC killed renamable $at, %bb.2, implicit-def $at
741   bb.1.iftrue:
742     successors: %bb.2(0x80000000)
744     INLINEASM &".space 131068", 1
746   bb.2.tail:
747     PseudoReturn undef $ra
752 name:            expand_BLTC
753 alignment:       2
754 exposesReturnsTwice: false
755 legalized:       false
756 regBankSelected: false
757 selected:        false
758 failedISel:      false
759 tracksRegLiveness: true
760 registers:
761 liveins:
762   - { reg: '$a0', virtual-reg: '' }
763 frameInfo:
764   isFrameAddressTaken: false
765   isReturnAddressTaken: false
766   hasStackMap:     false
767   hasPatchPoint:   false
768   stackSize:       0
769   offsetAdjustment: 0
770   maxAlignment:    1
771   adjustsStack:    false
772   hasCalls:        false
773   stackProtector:  ''
774   maxCallFrameSize: 0
775   hasOpaqueSPAdjustment: false
776   hasVAStart:      false
777   hasMustTailInVarArgFunc: false
778   localFrameSize:  0
779   savePoint:       ''
780   restorePoint:    ''
781 fixedStack:
782 stack:
783 constants:
784 body:             |
785   ; R6-LABEL: name: expand_BLTC
786   ; R6: bb.0 (%ir-block.0):
787   ; R6:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
788   ; R6:   renamable $at = ANDi killed renamable $a0, 1
789   ; R6:   BGEC $at, $zero, %bb.2, implicit-def $at
790   ; R6: bb.1 (%ir-block.0):
791   ; R6:   successors: %bb.3(0x80000000)
792   ; R6:   BC %bb.3
793   ; R6: bb.2.iftrue:
794   ; R6:   successors: %bb.3(0x80000000)
795   ; R6:   INLINEASM &".space 131068", 1
796   ; R6: bb.3.tail:
797   ; R6:   JIC undef $ra, 0, implicit-def $at
798   ; PIC-LABEL: name: expand_BLTC
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 $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 %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 $at, 0, implicit-def $at
816   ; PIC: bb.3.iftrue:
817   ; PIC:   successors: %bb.4(0x80000000)
818   ; PIC:   INLINEASM &".space 131068", 1
819   ; PIC: bb.4.tail:
820   ; PIC:   JIC undef $ra, 0, implicit-def $at
821   bb.0 (%ir-block.0):
822     successors: %bb.1(0x40000000), %bb.2(0x40000000)
823     liveins: $a0
825     renamable $at = ANDi killed renamable $a0, 1
826     BLTC killed renamable $at, $zero, %bb.2, implicit-def $at
828   bb.1.iftrue:
829     successors: %bb.2(0x80000000)
831     INLINEASM &".space 131068", 1
833   bb.2.tail:
834     PseudoReturn undef $ra
839 name:            expand_BLTUC
840 alignment:       2
841 exposesReturnsTwice: false
842 legalized:       false
843 regBankSelected: false
844 selected:        false
845 failedISel:      false
846 tracksRegLiveness: true
847 registers:
848 liveins:
849   - { reg: '$a0', virtual-reg: '' }
850 frameInfo:
851   isFrameAddressTaken: false
852   isReturnAddressTaken: false
853   hasStackMap:     false
854   hasPatchPoint:   false
855   stackSize:       0
856   offsetAdjustment: 0
857   maxAlignment:    1
858   adjustsStack:    false
859   hasCalls:        false
860   stackProtector:  ''
861   maxCallFrameSize: 0
862   hasOpaqueSPAdjustment: false
863   hasVAStart:      false
864   hasMustTailInVarArgFunc: false
865   localFrameSize:  0
866   savePoint:       ''
867   restorePoint:    ''
868 fixedStack:
869 stack:
870 constants:
871 body:             |
872   ; R6-LABEL: name: expand_BLTUC
873   ; R6: bb.0 (%ir-block.0):
874   ; R6:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
875   ; R6:   renamable $at = ANDi killed renamable $a0, 1
876   ; R6:   BGEUC $at, $zero, %bb.2, implicit-def $at
877   ; R6: bb.1 (%ir-block.0):
878   ; R6:   successors: %bb.3(0x80000000)
879   ; R6:   BC %bb.3
880   ; R6: bb.2.iftrue:
881   ; R6:   successors: %bb.3(0x80000000)
882   ; R6:   INLINEASM &".space 131068", 1
883   ; R6: bb.3.tail:
884   ; R6:   JIC undef $ra, 0, implicit-def $at
885   ; PIC-LABEL: name: expand_BLTUC
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 $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 %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 $at, 0, implicit-def $at
903   ; PIC: bb.3.iftrue:
904   ; PIC:   successors: %bb.4(0x80000000)
905   ; PIC:   INLINEASM &".space 131068", 1
906   ; PIC: bb.4.tail:
907   ; PIC:   JIC undef $ra, 0, implicit-def $at
908   bb.0 (%ir-block.0):
909     successors: %bb.1(0x40000000), %bb.2(0x40000000)
910     liveins: $a0
912     renamable $at = ANDi killed renamable $a0, 1
913     BLTUC killed renamable $at, $zero, %bb.2, implicit-def $at
915   bb.1.iftrue:
916     successors: %bb.2(0x80000000)
918     INLINEASM &".space 131068", 1
920   bb.2.tail:
921     PseudoReturn undef $ra
926 name:            expand_BLTZC
927 alignment:       2
928 exposesReturnsTwice: false
929 legalized:       false
930 regBankSelected: false
931 selected:        false
932 failedISel:      false
933 tracksRegLiveness: true
934 registers:
935 liveins:
936   - { reg: '$a0', virtual-reg: '' }
937 frameInfo:
938   isFrameAddressTaken: false
939   isReturnAddressTaken: false
940   hasStackMap:     false
941   hasPatchPoint:   false
942   stackSize:       0
943   offsetAdjustment: 0
944   maxAlignment:    1
945   adjustsStack:    false
946   hasCalls:        false
947   stackProtector:  ''
948   maxCallFrameSize: 0
949   hasOpaqueSPAdjustment: false
950   hasVAStart:      false
951   hasMustTailInVarArgFunc: false
952   localFrameSize:  0
953   savePoint:       ''
954   restorePoint:    ''
955 fixedStack:
956 stack:
957 constants:
958 body:             |
959   ; R6-LABEL: name: expand_BLTZC
960   ; R6: bb.0 (%ir-block.0):
961   ; R6:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
962   ; R6:   renamable $at = ANDi killed renamable $a0, 1
963   ; R6:   BGEZC $at, %bb.2, implicit-def $at
964   ; R6: bb.1 (%ir-block.0):
965   ; R6:   successors: %bb.3(0x80000000)
966   ; R6:   BC %bb.3
967   ; R6: bb.2.iftrue:
968   ; R6:   successors: %bb.3(0x80000000)
969   ; R6:   INLINEASM &".space 131068", 1
970   ; R6: bb.3.tail:
971   ; R6:   JIC undef $ra, 0, implicit-def $at
972   ; PIC-LABEL: name: expand_BLTZC
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 $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 %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 $at, 0, implicit-def $at
990   ; PIC: bb.3.iftrue:
991   ; PIC:   successors: %bb.4(0x80000000)
992   ; PIC:   INLINEASM &".space 131068", 1
993   ; PIC: bb.4.tail:
994   ; PIC:   JIC undef $ra, 0, implicit-def $at
995   bb.0 (%ir-block.0):
996     successors: %bb.1(0x40000000), %bb.2(0x40000000)
997     liveins: $a0
999     renamable $at = ANDi killed renamable $a0, 1
1000     BLTZC killed renamable $at, %bb.2, implicit-def $at
1002   bb.1.iftrue:
1003     successors: %bb.2(0x80000000)
1005     INLINEASM &".space 131068", 1
1007   bb.2.tail:
1008     PseudoReturn undef $ra
1013 name:            expand_BEQZC
1014 alignment:       2
1015 exposesReturnsTwice: false
1016 legalized:       false
1017 regBankSelected: false
1018 selected:        false
1019 failedISel:      false
1020 tracksRegLiveness: true
1021 registers:
1022 liveins:
1023   - { reg: '$a0', virtual-reg: '' }
1024 frameInfo:
1025   isFrameAddressTaken: false
1026   isReturnAddressTaken: false
1027   hasStackMap:     false
1028   hasPatchPoint:   false
1029   stackSize:       0
1030   offsetAdjustment: 0
1031   maxAlignment:    1
1032   adjustsStack:    false
1033   hasCalls:        false
1034   stackProtector:  ''
1035   maxCallFrameSize: 0
1036   hasOpaqueSPAdjustment: false
1037   hasVAStart:      false
1038   hasMustTailInVarArgFunc: false
1039   localFrameSize:  0
1040   savePoint:       ''
1041   restorePoint:    ''
1042 fixedStack:
1043 stack:
1044 constants:
1045 body:             |
1046   ; R6-LABEL: name: expand_BEQZC
1047   ; R6: bb.0 (%ir-block.0):
1048   ; R6:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
1049   ; R6:   renamable $at = ANDi killed renamable $a0, 1
1050   ; R6:   BNEZC $at, %bb.2, implicit-def $at
1051   ; R6: bb.1 (%ir-block.0):
1052   ; R6:   successors: %bb.3(0x80000000)
1053   ; R6:   BC %bb.3
1054   ; R6: bb.2.iftrue:
1055   ; R6:   successors: %bb.3(0x80000000)
1056   ; R6:   INLINEASM &".space 8388608", 1
1057   ; R6: bb.3.tail:
1058   ; R6:   JIC undef $ra, 0, implicit-def $at
1059   ; PIC-LABEL: name: expand_BEQZC
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 $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 %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 $at, 0, implicit-def $at
1077   ; PIC: bb.3.iftrue:
1078   ; PIC:   successors: %bb.4(0x80000000)
1079   ; PIC:   INLINEASM &".space 8388608", 1
1080   ; PIC: bb.4.tail:
1081   ; PIC:   JIC undef $ra, 0, implicit-def $at
1082   bb.0 (%ir-block.0):
1083     successors: %bb.1(0x40000000), %bb.2(0x40000000)
1084     liveins: $a0
1086     renamable $at = ANDi killed renamable $a0, 1
1087     BEQZC killed renamable $at, %bb.2, implicit-def $at
1089   bb.1.iftrue:
1090     successors: %bb.2(0x80000000)
1092     INLINEASM &".space 8388608", 1
1094   bb.2.tail:
1095     PseudoReturn undef $ra
1100 name:            expand_BNEZC
1101 alignment:       2
1102 exposesReturnsTwice: false
1103 legalized:       false
1104 regBankSelected: false
1105 selected:        false
1106 failedISel:      false
1107 tracksRegLiveness: true
1108 registers:
1109 liveins:
1110   - { reg: '$a0', virtual-reg: '' }
1111 frameInfo:
1112   isFrameAddressTaken: false
1113   isReturnAddressTaken: false
1114   hasStackMap:     false
1115   hasPatchPoint:   false
1116   stackSize:       0
1117   offsetAdjustment: 0
1118   maxAlignment:    1
1119   adjustsStack:    false
1120   hasCalls:        false
1121   stackProtector:  ''
1122   maxCallFrameSize: 0
1123   hasOpaqueSPAdjustment: false
1124   hasVAStart:      false
1125   hasMustTailInVarArgFunc: false
1126   localFrameSize:  0
1127   savePoint:       ''
1128   restorePoint:    ''
1129 fixedStack:
1130 stack:
1131 constants:
1132 body:             |
1133   ; R6-LABEL: name: expand_BNEZC
1134   ; R6: bb.0 (%ir-block.0):
1135   ; R6:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
1136   ; R6:   renamable $at = ANDi killed renamable $a0, 1
1137   ; R6:   BEQZC $at, %bb.2, implicit-def $at
1138   ; R6: bb.1 (%ir-block.0):
1139   ; R6:   successors: %bb.3(0x80000000)
1140   ; R6:   BC %bb.3
1141   ; R6: bb.2.iftrue:
1142   ; R6:   successors: %bb.3(0x80000000)
1143   ; R6:   INLINEASM &".space 8388608", 1
1144   ; R6: bb.3.tail:
1145   ; R6:   JIC undef $ra, 0, implicit-def $at
1146   ; PIC-LABEL: name: expand_BNEZC
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 $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 %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 $at, 0, implicit-def $at
1164   ; PIC: bb.3.iftrue:
1165   ; PIC:   successors: %bb.4(0x80000000)
1166   ; PIC:   INLINEASM &".space 8388608", 1
1167   ; PIC: bb.4.tail:
1168   ; PIC:   JIC undef $ra, 0, implicit-def $at
1169   bb.0 (%ir-block.0):
1170     successors: %bb.1(0x40000000), %bb.2(0x40000000)
1171     liveins: $a0
1173     renamable $at = ANDi killed renamable $a0, 1
1174     BNEZC killed renamable $at, %bb.2, implicit-def $at
1176   bb.1.iftrue:
1177     successors: %bb.2(0x80000000)
1179     INLINEASM &".space 8388608", 1
1181   bb.2.tail:
1182     PseudoReturn undef $ra