[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / CodeGen / Mips / longbranch / branch-limits-int.mir
blob41e3e51db73a3002711065b4404a426db19e5063
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=mips-mti-linux-gnu -o - %s -start-before mips-delay-slot-filler -stop-after mips-branch-expansion | FileCheck %s --check-prefix=MIPS
3 # RUN: llc -mtriple=mips-mti-linux-gnu -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_BEQ(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_BGEZ(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_BGTZ(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_BLEZ(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_BLTZ(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_BNE(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 ...
75 ---
77 name:            expand_BEQ
78 alignment:       4
79 exposesReturnsTwice: false
80 legalized:       false
81 regBankSelected: false
82 selected:        false
83 failedISel:      false
84 tracksRegLiveness: true
85 registers:
86 liveins:
87   - { reg: '$a0', virtual-reg: '' }
88 frameInfo:
89   isFrameAddressTaken: false
90   isReturnAddressTaken: false
91   hasStackMap:     false
92   hasPatchPoint:   false
93   stackSize:       0
94   offsetAdjustment: 0
95   maxAlignment:    1
96   adjustsStack:    false
97   hasCalls:        false
98   stackProtector:  ''
99   maxCallFrameSize: 0
100   hasOpaqueSPAdjustment: false
101   hasVAStart:      false
102   hasMustTailInVarArgFunc: false
103   localFrameSize:  0
104   savePoint:       ''
105   restorePoint:    ''
106 fixedStack:
107 stack:
108 constants:
109 body:             |
110   ; MIPS-LABEL: name: expand_BEQ
111   ; MIPS: bb.0 (%ir-block.0):
112   ; MIPS:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
113   ; MIPS:   renamable $at = ANDi killed renamable $a0, 1
114   ; MIPS:   BNE $at, $zero, %bb.2, implicit-def $at {
115   ; MIPS:     NOP
116   ; MIPS:   }
117   ; MIPS: bb.1 (%ir-block.0):
118   ; MIPS:   successors: %bb.3(0x80000000)
119   ; MIPS:   J %bb.3, implicit-def $at {
120   ; MIPS:     NOP
121   ; MIPS:   }
122   ; MIPS: bb.2.iftrue:
123   ; MIPS:   successors: %bb.3(0x80000000)
124   ; MIPS:   INLINEASM &".space 131068", 1
125   ; MIPS: bb.3.tail:
126   ; MIPS:   PseudoReturn undef $ra {
127   ; MIPS:     NOP
128   ; MIPS:   }
129   ; PIC-LABEL: name: expand_BEQ
130   ; PIC: bb.0 (%ir-block.0):
131   ; PIC:   successors: %bb.3(0x40000000), %bb.1(0x40000000)
132   ; PIC:   renamable $at = ANDi killed renamable $a0, 1
133   ; PIC:   BNE $at, $zero, %bb.3, implicit-def $at {
134   ; PIC:     NOP
135   ; PIC:   }
136   ; PIC: bb.1 (%ir-block.0):
137   ; PIC:   successors: %bb.2(0x80000000)
138   ; PIC:   $sp = ADDiu $sp, -8
139   ; PIC:   SW $ra, $sp, 0
140   ; PIC:   $at = LONG_BRANCH_LUi target-flags(mips-abs-hi) %bb.4, %bb.2
141   ; PIC:   BAL_BR %bb.2, implicit-def $ra {
142   ; PIC:     $at = LONG_BRANCH_ADDiu $at, target-flags(mips-abs-lo) %bb.4, %bb.2
143   ; PIC:   }
144   ; PIC: bb.2 (%ir-block.0):
145   ; PIC:   successors: %bb.4(0x80000000)
146   ; PIC:   $at = ADDu $ra, $at
147   ; PIC:   $ra = LW $sp, 0
148   ; PIC:   JR $at {
149   ; PIC:     $sp = ADDiu $sp, 8
150   ; PIC:   }
151   ; PIC: bb.3.iftrue:
152   ; PIC:   successors: %bb.4(0x80000000)
153   ; PIC:   INLINEASM &".space 131068", 1
154   ; PIC: bb.4.tail:
155   ; PIC:   PseudoReturn undef $ra {
156   ; PIC:     NOP
157   ; PIC:   }
158   bb.0 (%ir-block.0):
159     successors: %bb.1(0x40000000), %bb.2(0x40000000)
160     liveins: $a0
162     renamable $at = ANDi killed renamable $a0, 1
163     BEQ killed renamable $at, $zero, %bb.2, implicit-def $at
165   bb.1.iftrue:
166     successors: %bb.2(0x80000000)
168     INLINEASM &".space 131068", 1
170   bb.2.tail:
171     PseudoReturn undef $ra
176 name:            expand_BGEZ
177 alignment:       4
178 exposesReturnsTwice: false
179 legalized:       false
180 regBankSelected: false
181 selected:        false
182 failedISel:      false
183 tracksRegLiveness: true
184 registers:
185 liveins:
186   - { reg: '$a0', virtual-reg: '' }
187 frameInfo:
188   isFrameAddressTaken: false
189   isReturnAddressTaken: false
190   hasStackMap:     false
191   hasPatchPoint:   false
192   stackSize:       0
193   offsetAdjustment: 0
194   maxAlignment:    1
195   adjustsStack:    false
196   hasCalls:        false
197   stackProtector:  ''
198   maxCallFrameSize: 0
199   hasOpaqueSPAdjustment: false
200   hasVAStart:      false
201   hasMustTailInVarArgFunc: false
202   localFrameSize:  0
203   savePoint:       ''
204   restorePoint:    ''
205 fixedStack:
206 stack:
207 constants:
208 body:             |
209   ; MIPS-LABEL: name: expand_BGEZ
210   ; MIPS: bb.0 (%ir-block.0):
211   ; MIPS:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
212   ; MIPS:   renamable $at = ANDi killed renamable $a0, 1
213   ; MIPS:   BLTZ $at, %bb.2, implicit-def $at {
214   ; MIPS:     NOP
215   ; MIPS:   }
216   ; MIPS: bb.1 (%ir-block.0):
217   ; MIPS:   successors: %bb.3(0x80000000)
218   ; MIPS:   J %bb.3, implicit-def $at {
219   ; MIPS:     NOP
220   ; MIPS:   }
221   ; MIPS: bb.2.iftrue:
222   ; MIPS:   successors: %bb.3(0x80000000)
223   ; MIPS:   INLINEASM &".space 131068", 1
224   ; MIPS: bb.3.tail:
225   ; MIPS:   PseudoReturn undef $ra {
226   ; MIPS:     NOP
227   ; MIPS:   }
228   ; PIC-LABEL: name: expand_BGEZ
229   ; PIC: bb.0 (%ir-block.0):
230   ; PIC:   successors: %bb.3(0x40000000), %bb.1(0x40000000)
231   ; PIC:   renamable $at = ANDi killed renamable $a0, 1
232   ; PIC:   BLTZ $at, %bb.3, implicit-def $at {
233   ; PIC:     NOP
234   ; PIC:   }
235   ; PIC: bb.1 (%ir-block.0):
236   ; PIC:   successors: %bb.2(0x80000000)
237   ; PIC:   $sp = ADDiu $sp, -8
238   ; PIC:   SW $ra, $sp, 0
239   ; PIC:   $at = LONG_BRANCH_LUi target-flags(mips-abs-hi) %bb.4, %bb.2
240   ; PIC:   BAL_BR %bb.2, implicit-def $ra {
241   ; PIC:     $at = LONG_BRANCH_ADDiu $at, target-flags(mips-abs-lo) %bb.4, %bb.2
242   ; PIC:   }
243   ; PIC: bb.2 (%ir-block.0):
244   ; PIC:   successors: %bb.4(0x80000000)
245   ; PIC:   $at = ADDu $ra, $at
246   ; PIC:   $ra = LW $sp, 0
247   ; PIC:   JR $at {
248   ; PIC:     $sp = ADDiu $sp, 8
249   ; PIC:   }
250   ; PIC: bb.3.iftrue:
251   ; PIC:   successors: %bb.4(0x80000000)
252   ; PIC:   INLINEASM &".space 131068", 1
253   ; PIC: bb.4.tail:
254   ; PIC:   PseudoReturn undef $ra {
255   ; PIC:     NOP
256   ; PIC:   }
257   bb.0 (%ir-block.0):
258     successors: %bb.1(0x40000000), %bb.2(0x40000000)
259     liveins: $a0
261     renamable $at = ANDi killed renamable $a0, 1
262     BGEZ killed renamable $at, %bb.2, implicit-def $at
264   bb.1.iftrue:
265     successors: %bb.2(0x80000000)
267     INLINEASM &".space 131068", 1
269   bb.2.tail:
270     PseudoReturn undef $ra
275 name:            expand_BGTZ
276 alignment:       4
277 exposesReturnsTwice: false
278 legalized:       false
279 regBankSelected: false
280 selected:        false
281 failedISel:      false
282 tracksRegLiveness: true
283 registers:
284 liveins:
285   - { reg: '$a0', virtual-reg: '' }
286 frameInfo:
287   isFrameAddressTaken: false
288   isReturnAddressTaken: false
289   hasStackMap:     false
290   hasPatchPoint:   false
291   stackSize:       0
292   offsetAdjustment: 0
293   maxAlignment:    1
294   adjustsStack:    false
295   hasCalls:        false
296   stackProtector:  ''
297   maxCallFrameSize: 0
298   hasOpaqueSPAdjustment: false
299   hasVAStart:      false
300   hasMustTailInVarArgFunc: false
301   localFrameSize:  0
302   savePoint:       ''
303   restorePoint:    ''
304 fixedStack:
305 stack:
306 constants:
307 body:             |
308   ; MIPS-LABEL: name: expand_BGTZ
309   ; MIPS: bb.0 (%ir-block.0):
310   ; MIPS:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
311   ; MIPS:   renamable $at = ANDi killed renamable $a0, 1
312   ; MIPS:   BLEZ $at, %bb.2, implicit-def $at {
313   ; MIPS:     NOP
314   ; MIPS:   }
315   ; MIPS: bb.1 (%ir-block.0):
316   ; MIPS:   successors: %bb.3(0x80000000)
317   ; MIPS:   J %bb.3, implicit-def $at {
318   ; MIPS:     NOP
319   ; MIPS:   }
320   ; MIPS: bb.2.iftrue:
321   ; MIPS:   successors: %bb.3(0x80000000)
322   ; MIPS:   INLINEASM &".space 131068", 1
323   ; MIPS: bb.3.tail:
324   ; MIPS:   PseudoReturn undef $ra {
325   ; MIPS:     NOP
326   ; MIPS:   }
327   ; PIC-LABEL: name: expand_BGTZ
328   ; PIC: bb.0 (%ir-block.0):
329   ; PIC:   successors: %bb.3(0x40000000), %bb.1(0x40000000)
330   ; PIC:   renamable $at = ANDi killed renamable $a0, 1
331   ; PIC:   BLEZ $at, %bb.3, implicit-def $at {
332   ; PIC:     NOP
333   ; PIC:   }
334   ; PIC: bb.1 (%ir-block.0):
335   ; PIC:   successors: %bb.2(0x80000000)
336   ; PIC:   $sp = ADDiu $sp, -8
337   ; PIC:   SW $ra, $sp, 0
338   ; PIC:   $at = LONG_BRANCH_LUi target-flags(mips-abs-hi) %bb.4, %bb.2
339   ; PIC:   BAL_BR %bb.2, implicit-def $ra {
340   ; PIC:     $at = LONG_BRANCH_ADDiu $at, target-flags(mips-abs-lo) %bb.4, %bb.2
341   ; PIC:   }
342   ; PIC: bb.2 (%ir-block.0):
343   ; PIC:   successors: %bb.4(0x80000000)
344   ; PIC:   $at = ADDu $ra, $at
345   ; PIC:   $ra = LW $sp, 0
346   ; PIC:   JR $at {
347   ; PIC:     $sp = ADDiu $sp, 8
348   ; PIC:   }
349   ; PIC: bb.3.iftrue:
350   ; PIC:   successors: %bb.4(0x80000000)
351   ; PIC:   INLINEASM &".space 131068", 1
352   ; PIC: bb.4.tail:
353   ; PIC:   PseudoReturn undef $ra {
354   ; PIC:     NOP
355   ; PIC:   }
356   bb.0 (%ir-block.0):
357     successors: %bb.1(0x40000000), %bb.2(0x40000000)
358     liveins: $a0
360     renamable $at = ANDi killed renamable $a0, 1
361     BGTZ killed renamable $at, %bb.2, implicit-def $at
363   bb.1.iftrue:
364     successors: %bb.2(0x80000000)
366     INLINEASM &".space 131068", 1
368   bb.2.tail:
369     PseudoReturn undef $ra
374 name:            expand_BLEZ
375 alignment:       4
376 exposesReturnsTwice: false
377 legalized:       false
378 regBankSelected: false
379 selected:        false
380 failedISel:      false
381 tracksRegLiveness: true
382 registers:
383 liveins:
384   - { reg: '$a0', virtual-reg: '' }
385 frameInfo:
386   isFrameAddressTaken: false
387   isReturnAddressTaken: false
388   hasStackMap:     false
389   hasPatchPoint:   false
390   stackSize:       0
391   offsetAdjustment: 0
392   maxAlignment:    1
393   adjustsStack:    false
394   hasCalls:        false
395   stackProtector:  ''
396   maxCallFrameSize: 0
397   hasOpaqueSPAdjustment: false
398   hasVAStart:      false
399   hasMustTailInVarArgFunc: false
400   localFrameSize:  0
401   savePoint:       ''
402   restorePoint:    ''
403 fixedStack:
404 stack:
405 constants:
406 body:             |
407   ; MIPS-LABEL: name: expand_BLEZ
408   ; MIPS: bb.0 (%ir-block.0):
409   ; MIPS:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
410   ; MIPS:   renamable $at = ANDi killed renamable $a0, 1
411   ; MIPS:   BGTZ $at, %bb.2, implicit-def $at {
412   ; MIPS:     NOP
413   ; MIPS:   }
414   ; MIPS: bb.1 (%ir-block.0):
415   ; MIPS:   successors: %bb.3(0x80000000)
416   ; MIPS:   J %bb.3, implicit-def $at {
417   ; MIPS:     NOP
418   ; MIPS:   }
419   ; MIPS: bb.2.iftrue:
420   ; MIPS:   successors: %bb.3(0x80000000)
421   ; MIPS:   INLINEASM &".space 131068", 1
422   ; MIPS: bb.3.tail:
423   ; MIPS:   PseudoReturn undef $ra {
424   ; MIPS:     NOP
425   ; MIPS:   }
426   ; PIC-LABEL: name: expand_BLEZ
427   ; PIC: bb.0 (%ir-block.0):
428   ; PIC:   successors: %bb.3(0x40000000), %bb.1(0x40000000)
429   ; PIC:   renamable $at = ANDi killed renamable $a0, 1
430   ; PIC:   BGTZ $at, %bb.3, implicit-def $at {
431   ; PIC:     NOP
432   ; PIC:   }
433   ; PIC: bb.1 (%ir-block.0):
434   ; PIC:   successors: %bb.2(0x80000000)
435   ; PIC:   $sp = ADDiu $sp, -8
436   ; PIC:   SW $ra, $sp, 0
437   ; PIC:   $at = LONG_BRANCH_LUi target-flags(mips-abs-hi) %bb.4, %bb.2
438   ; PIC:   BAL_BR %bb.2, implicit-def $ra {
439   ; PIC:     $at = LONG_BRANCH_ADDiu $at, target-flags(mips-abs-lo) %bb.4, %bb.2
440   ; PIC:   }
441   ; PIC: bb.2 (%ir-block.0):
442   ; PIC:   successors: %bb.4(0x80000000)
443   ; PIC:   $at = ADDu $ra, $at
444   ; PIC:   $ra = LW $sp, 0
445   ; PIC:   JR $at {
446   ; PIC:     $sp = ADDiu $sp, 8
447   ; PIC:   }
448   ; PIC: bb.3.iftrue:
449   ; PIC:   successors: %bb.4(0x80000000)
450   ; PIC:   INLINEASM &".space 131068", 1
451   ; PIC: bb.4.tail:
452   ; PIC:   PseudoReturn undef $ra {
453   ; PIC:     NOP
454   ; PIC:   }
455   bb.0 (%ir-block.0):
456     successors: %bb.1(0x40000000), %bb.2(0x40000000)
457     liveins: $a0
459     renamable $at = ANDi killed renamable $a0, 1
460     BLEZ killed renamable $at, %bb.2, implicit-def $at
462   bb.1.iftrue:
463     successors: %bb.2(0x80000000)
465     INLINEASM &".space 131068", 1
467   bb.2.tail:
468     PseudoReturn undef $ra
473 name:            expand_BLTZ
474 alignment:       4
475 exposesReturnsTwice: false
476 legalized:       false
477 regBankSelected: false
478 selected:        false
479 failedISel:      false
480 tracksRegLiveness: true
481 registers:
482 liveins:
483   - { reg: '$a0', virtual-reg: '' }
484 frameInfo:
485   isFrameAddressTaken: false
486   isReturnAddressTaken: false
487   hasStackMap:     false
488   hasPatchPoint:   false
489   stackSize:       0
490   offsetAdjustment: 0
491   maxAlignment:    1
492   adjustsStack:    false
493   hasCalls:        false
494   stackProtector:  ''
495   maxCallFrameSize: 0
496   hasOpaqueSPAdjustment: false
497   hasVAStart:      false
498   hasMustTailInVarArgFunc: false
499   localFrameSize:  0
500   savePoint:       ''
501   restorePoint:    ''
502 fixedStack:
503 stack:
504 constants:
505 body:             |
506   ; MIPS-LABEL: name: expand_BLTZ
507   ; MIPS: bb.0 (%ir-block.0):
508   ; MIPS:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
509   ; MIPS:   renamable $at = ANDi killed renamable $a0, 1
510   ; MIPS:   BGEZ $at, %bb.2, implicit-def $at {
511   ; MIPS:     NOP
512   ; MIPS:   }
513   ; MIPS: bb.1 (%ir-block.0):
514   ; MIPS:   successors: %bb.3(0x80000000)
515   ; MIPS:   J %bb.3, implicit-def $at {
516   ; MIPS:     NOP
517   ; MIPS:   }
518   ; MIPS: bb.2.iftrue:
519   ; MIPS:   successors: %bb.3(0x80000000)
520   ; MIPS:   INLINEASM &".space 131068", 1
521   ; MIPS: bb.3.tail:
522   ; MIPS:   PseudoReturn undef $ra {
523   ; MIPS:     NOP
524   ; MIPS:   }
525   ; PIC-LABEL: name: expand_BLTZ
526   ; PIC: bb.0 (%ir-block.0):
527   ; PIC:   successors: %bb.3(0x40000000), %bb.1(0x40000000)
528   ; PIC:   renamable $at = ANDi killed renamable $a0, 1
529   ; PIC:   BGEZ $at, %bb.3, implicit-def $at {
530   ; PIC:     NOP
531   ; PIC:   }
532   ; PIC: bb.1 (%ir-block.0):
533   ; PIC:   successors: %bb.2(0x80000000)
534   ; PIC:   $sp = ADDiu $sp, -8
535   ; PIC:   SW $ra, $sp, 0
536   ; PIC:   $at = LONG_BRANCH_LUi target-flags(mips-abs-hi) %bb.4, %bb.2
537   ; PIC:   BAL_BR %bb.2, implicit-def $ra {
538   ; PIC:     $at = LONG_BRANCH_ADDiu $at, target-flags(mips-abs-lo) %bb.4, %bb.2
539   ; PIC:   }
540   ; PIC: bb.2 (%ir-block.0):
541   ; PIC:   successors: %bb.4(0x80000000)
542   ; PIC:   $at = ADDu $ra, $at
543   ; PIC:   $ra = LW $sp, 0
544   ; PIC:   JR $at {
545   ; PIC:     $sp = ADDiu $sp, 8
546   ; PIC:   }
547   ; PIC: bb.3.iftrue:
548   ; PIC:   successors: %bb.4(0x80000000)
549   ; PIC:   INLINEASM &".space 131068", 1
550   ; PIC: bb.4.tail:
551   ; PIC:   PseudoReturn undef $ra {
552   ; PIC:     NOP
553   ; PIC:   }
554   bb.0 (%ir-block.0):
555     successors: %bb.1(0x40000000), %bb.2(0x40000000)
556     liveins: $a0
558     renamable $at = ANDi killed renamable $a0, 1
559     BLTZ killed renamable $at, %bb.2, implicit-def $at
561   bb.1.iftrue:
562     successors: %bb.2(0x80000000)
564     INLINEASM &".space 131068", 1
566   bb.2.tail:
567     PseudoReturn undef $ra
572 name:            expand_BNE
573 alignment:       4
574 exposesReturnsTwice: false
575 legalized:       false
576 regBankSelected: false
577 selected:        false
578 failedISel:      false
579 tracksRegLiveness: true
580 registers:
581 liveins:
582   - { reg: '$a0', virtual-reg: '' }
583 frameInfo:
584   isFrameAddressTaken: false
585   isReturnAddressTaken: false
586   hasStackMap:     false
587   hasPatchPoint:   false
588   stackSize:       0
589   offsetAdjustment: 0
590   maxAlignment:    1
591   adjustsStack:    false
592   hasCalls:        false
593   stackProtector:  ''
594   maxCallFrameSize: 0
595   hasOpaqueSPAdjustment: false
596   hasVAStart:      false
597   hasMustTailInVarArgFunc: false
598   localFrameSize:  0
599   savePoint:       ''
600   restorePoint:    ''
601 fixedStack:
602 stack:
603 constants:
604 body:             |
605   ; MIPS-LABEL: name: expand_BNE
606   ; MIPS: bb.0 (%ir-block.0):
607   ; MIPS:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
608   ; MIPS:   renamable $at = ANDi killed renamable $a0, 1
609   ; MIPS:   BEQ $at, $zero, %bb.2, implicit-def $at {
610   ; MIPS:     NOP
611   ; MIPS:   }
612   ; MIPS: bb.1 (%ir-block.0):
613   ; MIPS:   successors: %bb.3(0x80000000)
614   ; MIPS:   J %bb.3, implicit-def $at {
615   ; MIPS:     NOP
616   ; MIPS:   }
617   ; MIPS: bb.2.iftrue:
618   ; MIPS:   successors: %bb.3(0x80000000)
619   ; MIPS:   INLINEASM &".space 131068", 1
620   ; MIPS: bb.3.tail:
621   ; MIPS:   PseudoReturn undef $ra {
622   ; MIPS:     NOP
623   ; MIPS:   }
624   ; PIC-LABEL: name: expand_BNE
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:   BEQ $at, $zero, %bb.3, implicit-def $at {
629   ; PIC:     NOP
630   ; PIC:   }
631   ; PIC: bb.1 (%ir-block.0):
632   ; PIC:   successors: %bb.2(0x80000000)
633   ; PIC:   $sp = ADDiu $sp, -8
634   ; PIC:   SW $ra, $sp, 0
635   ; PIC:   $at = LONG_BRANCH_LUi target-flags(mips-abs-hi) %bb.4, %bb.2
636   ; PIC:   BAL_BR %bb.2, implicit-def $ra {
637   ; PIC:     $at = LONG_BRANCH_ADDiu $at, target-flags(mips-abs-lo) %bb.4, %bb.2
638   ; PIC:   }
639   ; PIC: bb.2 (%ir-block.0):
640   ; PIC:   successors: %bb.4(0x80000000)
641   ; PIC:   $at = ADDu $ra, $at
642   ; PIC:   $ra = LW $sp, 0
643   ; PIC:   JR $at {
644   ; PIC:     $sp = ADDiu $sp, 8
645   ; PIC:   }
646   ; PIC: bb.3.iftrue:
647   ; PIC:   successors: %bb.4(0x80000000)
648   ; PIC:   INLINEASM &".space 131068", 1
649   ; PIC: bb.4.tail:
650   ; PIC:   PseudoReturn undef $ra {
651   ; PIC:     NOP
652   ; PIC:   }
653   bb.0 (%ir-block.0):
654     successors: %bb.1(0x40000000), %bb.2(0x40000000)
655     liveins: $a0
657     renamable $at = ANDi killed renamable $a0, 1
658     BNE killed renamable $at, $zero, %bb.2, implicit-def $at
660   bb.1.iftrue:
661     successors: %bb.2(0x80000000)
663     INLINEASM &".space 131068", 1
665   bb.2.tail:
666     PseudoReturn undef $ra