blob: a83a0c5730212ff953b8fb447157c2b5ca94c649 [file] [log] [blame]
Simon Dardis5cf9de42018-05-16 10:03:05 +00001# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
Aleksandar Beserminjia5f75512018-05-22 13:24:38 +00002# 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
Simon Dardis5cf9de42018-05-16 10:03:05 +00004
5# Test the long branch expansion of various branches
6
7--- |
8 define void @expand_BEQC(i1 %a) {
9 br i1 %a, label %iftrue, label %tail
10
11 iftrue:
12 call void asm sideeffect ".space 131068", ""()
13 br label %tail
14
15 tail:
16 ret void
17 }
18
19 define void @expand_BNEC(i1 %a) {
20 br i1 %a, label %iftrue, label %tail
21
22 iftrue:
23 call void asm sideeffect ".space 131068", ""()
24 br label %tail
25
26 tail:
27 ret void
28 }
29
30 define void @expand_BGEC(i1 %a) {
31 br i1 %a, label %iftrue, label %tail
32
33 iftrue:
34 call void asm sideeffect ".space 131068", ""()
35 br label %tail
36
37 tail:
38 ret void
39 }
40
41 define void @expand_BGEUC(i1 %a) {
42 br i1 %a, label %iftrue, label %tail
43
44 iftrue:
45 call void asm sideeffect ".space 131068", ""()
46 br label %tail
47
48 tail:
49 ret void
50 }
51
52 define void @expand_BGEZC(i1 %a) {
53 br i1 %a, label %iftrue, label %tail
54
55 iftrue:
56 call void asm sideeffect ".space 131068", ""()
57 br label %tail
58
59 tail:
60 ret void
61 }
62
63 define void @expand_BGTZC(i1 %a) {
64 br i1 %a, label %iftrue, label %tail
65
66 iftrue:
67 call void asm sideeffect ".space 131068", ""()
68 br label %tail
69
70 tail:
71 ret void
72 }
73
74 define void @expand_BLEZC(i1 %a) {
75 br i1 %a, label %iftrue, label %tail
76
77 iftrue:
78 call void asm sideeffect ".space 131068", ""()
79 br label %tail
80
81 tail:
82 ret void
83 }
84
85 define void @expand_BLTC(i1 %a) {
86 br i1 %a, label %iftrue, label %tail
87
88 iftrue:
89 call void asm sideeffect ".space 131068", ""()
90 br label %tail
91
92 tail:
93 ret void
94 }
95
96 define void @expand_BLTUC(i1 %a) {
97 br i1 %a, label %iftrue, label %tail
98
99 iftrue:
100 call void asm sideeffect ".space 131068", ""()
101 br label %tail
102
103 tail:
104 ret void
105 }
106
107 define void @expand_BLTZC(i1 %a) {
108 br i1 %a, label %iftrue, label %tail
109
110 iftrue:
111 call void asm sideeffect ".space 131068", ""()
112 br label %tail
113
114 tail:
115 ret void
116 }
117
118 define void @expand_BEQZC(i1 %a) {
119 br i1 %a, label %iftrue, label %tail
120
121 iftrue:
122 call void asm sideeffect ".space 8388608", ""()
123 br label %tail
124
125 tail:
126 ret void
127 }
128
129 define void @expand_BNEZC(i1 %a) {
130 br i1 %a, label %iftrue, label %tail
131
132 iftrue:
133 call void asm sideeffect ".space 8388608", ""()
134 br label %tail
135
136 tail:
137 ret void
138 }
139
140...
141---
142
143name: expand_BEQC
144alignment: 2
145exposesReturnsTwice: false
146legalized: false
147regBankSelected: false
148selected: false
149failedISel: false
150tracksRegLiveness: true
151registers:
152liveins:
153 - { reg: '$a0', virtual-reg: '' }
154frameInfo:
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: ''
172fixedStack:
173stack:
174constants:
175body: |
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 %bb.4, %bb.2
199 ; PIC: $at = LONG_BRANCH_ADDiu $at, %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
215
216 renamable $at = ANDi killed renamable $a0, 1
217 BEQC killed renamable $at, $zero, %bb.2, implicit-def $at
218
219 bb.1.iftrue:
220 successors: %bb.2(0x80000000)
221
222 INLINEASM &".space 131068", 1
223
224 bb.2.tail:
225 PseudoReturn undef $ra
226
227...
228---
229
230name: expand_BNEC
231alignment: 2
232exposesReturnsTwice: false
233legalized: false
234regBankSelected: false
235selected: false
236failedISel: false
237tracksRegLiveness: true
238registers:
239liveins:
240 - { reg: '$a0', virtual-reg: '' }
241frameInfo:
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: ''
259fixedStack:
260stack:
261constants:
262body: |
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 %bb.4, %bb.2
286 ; PIC: $at = LONG_BRANCH_ADDiu $at, %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
302
303 renamable $at = ANDi killed renamable $a0, 1
304 BNEC killed renamable $at, $zero, %bb.2, implicit-def $at
305
306 bb.1.iftrue:
307 successors: %bb.2(0x80000000)
308
309 INLINEASM &".space 131068", 1
310
311 bb.2.tail:
312 PseudoReturn undef $ra
313
314...
315---
316
317name: expand_BGEC
318alignment: 2
319exposesReturnsTwice: false
320legalized: false
321regBankSelected: false
322selected: false
323failedISel: false
324tracksRegLiveness: true
325registers:
326liveins:
327 - { reg: '$a0', virtual-reg: '' }
328frameInfo:
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: ''
346fixedStack:
347stack:
348constants:
349body: |
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 %bb.4, %bb.2
373 ; PIC: $at = LONG_BRANCH_ADDiu $at, %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
389
390 renamable $at = ANDi killed renamable $a0, 1
391 BGEC killed renamable $at, $zero, %bb.2, implicit-def $at
392
393 bb.1.iftrue:
394 successors: %bb.2(0x80000000)
395
396 INLINEASM &".space 131068", 1
397
398 bb.2.tail:
399 PseudoReturn undef $ra
400
401...
402---
403
404name: expand_BGEUC
405alignment: 2
406exposesReturnsTwice: false
407legalized: false
408regBankSelected: false
409selected: false
410failedISel: false
411tracksRegLiveness: true
412registers:
413liveins:
414 - { reg: '$a0', virtual-reg: '' }
415frameInfo:
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: ''
433fixedStack:
434stack:
435constants:
436body: |
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 %bb.4, %bb.2
460 ; PIC: $at = LONG_BRANCH_ADDiu $at, %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
476
477 renamable $at = ANDi killed renamable $a0, 1
478 BGEUC killed renamable $at, $zero, %bb.2, implicit-def $at
479
480 bb.1.iftrue:
481 successors: %bb.2(0x80000000)
482
483 INLINEASM &".space 131068", 1
484
485 bb.2.tail:
486 PseudoReturn undef $ra
487
488...
489---
490
491name: expand_BGEZC
492alignment: 2
493exposesReturnsTwice: false
494legalized: false
495regBankSelected: false
496selected: false
497failedISel: false
498tracksRegLiveness: true
499registers:
500liveins:
501 - { reg: '$a0', virtual-reg: '' }
502frameInfo:
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: ''
520fixedStack:
521stack:
522constants:
523body: |
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 %bb.4, %bb.2
547 ; PIC: $at = LONG_BRANCH_ADDiu $at, %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
563
564 renamable $at = ANDi killed renamable $a0, 1
565 BGEZC killed renamable $at, %bb.2, implicit-def $at
566
567 bb.1.iftrue:
568 successors: %bb.2(0x80000000)
569
570 INLINEASM &".space 131068", 1
571
572 bb.2.tail:
573 PseudoReturn undef $ra
574
575...
576---
577
578name: expand_BGTZC
579alignment: 2
580exposesReturnsTwice: false
581legalized: false
582regBankSelected: false
583selected: false
584failedISel: false
585tracksRegLiveness: true
586registers:
587liveins:
588 - { reg: '$a0', virtual-reg: '' }
589frameInfo:
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: ''
607fixedStack:
608stack:
609constants:
610body: |
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 %bb.4, %bb.2
634 ; PIC: $at = LONG_BRANCH_ADDiu $at, %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
650
651 renamable $at = ANDi killed renamable $a0, 1
652 BGTZC killed renamable $at, %bb.2, implicit-def $at
653
654 bb.1.iftrue:
655 successors: %bb.2(0x80000000)
656
657 INLINEASM &".space 131068", 1
658
659 bb.2.tail:
660 PseudoReturn undef $ra
661
662...
663---
664
665name: expand_BLEZC
666alignment: 2
667exposesReturnsTwice: false
668legalized: false
669regBankSelected: false
670selected: false
671failedISel: false
672tracksRegLiveness: true
673registers:
674liveins:
675 - { reg: '$a0', virtual-reg: '' }
676frameInfo:
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: ''
694fixedStack:
695stack:
696constants:
697body: |
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 %bb.4, %bb.2
721 ; PIC: $at = LONG_BRANCH_ADDiu $at, %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
737
738 renamable $at = ANDi killed renamable $a0, 1
739 BLEZC killed renamable $at, %bb.2, implicit-def $at
740
741 bb.1.iftrue:
742 successors: %bb.2(0x80000000)
743
744 INLINEASM &".space 131068", 1
745
746 bb.2.tail:
747 PseudoReturn undef $ra
748
749...
750---
751
752name: expand_BLTC
753alignment: 2
754exposesReturnsTwice: false
755legalized: false
756regBankSelected: false
757selected: false
758failedISel: false
759tracksRegLiveness: true
760registers:
761liveins:
762 - { reg: '$a0', virtual-reg: '' }
763frameInfo:
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: ''
781fixedStack:
782stack:
783constants:
784body: |
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 %bb.4, %bb.2
808 ; PIC: $at = LONG_BRANCH_ADDiu $at, %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
824
825 renamable $at = ANDi killed renamable $a0, 1
826 BLTC killed renamable $at, $zero, %bb.2, implicit-def $at
827
828 bb.1.iftrue:
829 successors: %bb.2(0x80000000)
830
831 INLINEASM &".space 131068", 1
832
833 bb.2.tail:
834 PseudoReturn undef $ra
835
836...
837---
838
839name: expand_BLTUC
840alignment: 2
841exposesReturnsTwice: false
842legalized: false
843regBankSelected: false
844selected: false
845failedISel: false
846tracksRegLiveness: true
847registers:
848liveins:
849 - { reg: '$a0', virtual-reg: '' }
850frameInfo:
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: ''
868fixedStack:
869stack:
870constants:
871body: |
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 %bb.4, %bb.2
895 ; PIC: $at = LONG_BRANCH_ADDiu $at, %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
911
912 renamable $at = ANDi killed renamable $a0, 1
913 BLTUC killed renamable $at, $zero, %bb.2, implicit-def $at
914
915 bb.1.iftrue:
916 successors: %bb.2(0x80000000)
917
918 INLINEASM &".space 131068", 1
919
920 bb.2.tail:
921 PseudoReturn undef $ra
922
923...
924---
925
926name: expand_BLTZC
927alignment: 2
928exposesReturnsTwice: false
929legalized: false
930regBankSelected: false
931selected: false
932failedISel: false
933tracksRegLiveness: true
934registers:
935liveins:
936 - { reg: '$a0', virtual-reg: '' }
937frameInfo:
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: ''
955fixedStack:
956stack:
957constants:
958body: |
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 %bb.4, %bb.2
982 ; PIC: $at = LONG_BRANCH_ADDiu $at, %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
998
999 renamable $at = ANDi killed renamable $a0, 1
1000 BLTZC killed renamable $at, %bb.2, implicit-def $at
1001
1002 bb.1.iftrue:
1003 successors: %bb.2(0x80000000)
1004
1005 INLINEASM &".space 131068", 1
1006
1007 bb.2.tail:
1008 PseudoReturn undef $ra
1009
1010...
1011---
1012
1013name: expand_BEQZC
1014alignment: 2
1015exposesReturnsTwice: false
1016legalized: false
1017regBankSelected: false
1018selected: false
1019failedISel: false
1020tracksRegLiveness: true
1021registers:
1022liveins:
1023 - { reg: '$a0', virtual-reg: '' }
1024frameInfo:
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: ''
1042fixedStack:
1043stack:
1044constants:
1045body: |
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 %bb.4, %bb.2
1069 ; PIC: $at = LONG_BRANCH_ADDiu $at, %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
1085
1086 renamable $at = ANDi killed renamable $a0, 1
1087 BEQZC killed renamable $at, %bb.2, implicit-def $at
1088
1089 bb.1.iftrue:
1090 successors: %bb.2(0x80000000)
1091
1092 INLINEASM &".space 8388608", 1
1093
1094 bb.2.tail:
1095 PseudoReturn undef $ra
1096
1097...
1098---
1099
1100name: expand_BNEZC
1101alignment: 2
1102exposesReturnsTwice: false
1103legalized: false
1104regBankSelected: false
1105selected: false
1106failedISel: false
1107tracksRegLiveness: true
1108registers:
1109liveins:
1110 - { reg: '$a0', virtual-reg: '' }
1111frameInfo:
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: ''
1129fixedStack:
1130stack:
1131constants:
1132body: |
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 %bb.4, %bb.2
1156 ; PIC: $at = LONG_BRANCH_ADDiu $at, %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
1172
1173 renamable $at = ANDi killed renamable $a0, 1
1174 BNEZC killed renamable $at, %bb.2, implicit-def $at
1175
1176 bb.1.iftrue:
1177 successors: %bb.2(0x80000000)
1178
1179 INLINEASM &".space 8388608", 1
1180
1181 bb.2.tail:
1182 PseudoReturn undef $ra
1183
1184...