Home | History | Annotate | Download | only in longbranch
      1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
      2 # RUN: llc -mtriple=mips64-mti-linux-gnu -mcpu=mips64r5 -mattr=+fp64,+msa %s -o - -start-before mips-delay-slot-filler -stop-after mips-branch-expansion | FileCheck %s --check-prefix=MSA
      3 # RUN: llc -mtriple=mips64-mti-linux-gnu -mcpu=mips64r5 -mattr=+fp64,+msa %s -o - -start-before mips-delay-slot-filler -stop-after mips-branch-expansion -relocation-model=pic | FileCheck %s --check-prefix=PIC
      4 
      5 # Test the long branch expansion of various branches
      6 
      7 
      8 
      9 --- |
     10 
     11   define i32 @_Z4bz_8Dv16_a(i64 inreg %d.coerce0, i64 inreg %d.coerce1) {
     12     entry:
     13     %0 = bitcast i64 %d.coerce0 to <8 x i8>
     14     %d.0.vec.expand = shufflevector <8 x i8> %0, <8 x i8> undef, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
     15     %1 = bitcast i64 %d.coerce1 to <8 x i8>
     16     %d.8.vec.expand = shufflevector <8 x i8> %1, <8 x i8> undef, <16 x i32> <i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
     17     %d.8.vecblend = shufflevector <16 x i8> %d.8.vec.expand, <16 x i8> %d.0.vec.expand, <16 x i32> <i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
     18     %2 = tail call i32 @llvm.mips.bz.b(<16 x i8> %d.8.vecblend)
     19     %tobool = icmp eq i32 %2, 0
     20     br i1 %tobool, label %return, label %if.then
     21 
     22     if.then:
     23     tail call void asm sideeffect ".space 810680", "~{$1}"()
     24     br label %return
     25 
     26     return:
     27     %retval.0 = phi i32 [ 1, %if.then ], [ 0, %entry ]
     28     ret i32 %retval.0
     29   }
     30 
     31   declare i32 @llvm.mips.bz.b(<16 x i8>)
     32 
     33   define i32 @_Z5bz_16Dv8_s(i64 inreg %d.coerce0, i64 inreg %d.coerce1) {
     34     entry:
     35     %0 = bitcast i64 %d.coerce0 to <4 x i16>
     36     %d.0.vec.expand = shufflevector <4 x i16> %0, <4 x i16> undef, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef>
     37     %1 = bitcast i64 %d.coerce1 to <4 x i16>
     38     %d.8.vec.expand = shufflevector <4 x i16> %1, <4 x i16> undef, <8 x i32> <i32 undef, i32 undef, i32 undef, i32 undef, i32 0, i32 1, i32 2, i32 3>
     39     %d.8.vecblend = shufflevector <8 x i16> %d.8.vec.expand, <8 x i16> %d.0.vec.expand, <8 x i32> <i32 8, i32 9, i32 10, i32 11, i32 4, i32 5, i32 6, i32 7>
     40     %2 = tail call i32 @llvm.mips.bz.h(<8 x i16> %d.8.vecblend)
     41     %tobool = icmp eq i32 %2, 0
     42     br i1 %tobool, label %return, label %if.then
     43 
     44     if.then:
     45     tail call void asm sideeffect ".space 810680", "~{$1}"()
     46     br label %return
     47 
     48     return:
     49     %retval.0 = phi i32 [ 1, %if.then ], [ 0, %entry ]
     50     ret i32 %retval.0
     51   }
     52 
     53   declare i32 @llvm.mips.bz.h(<8 x i16>)
     54 
     55   define i32 @_Z5bz_32Dv4_i(i64 inreg %d.coerce0, i64 inreg %d.coerce1) {
     56     entry:
     57     %0 = bitcast i64 %d.coerce0 to <2 x i32>
     58     %d.0.vec.expand = shufflevector <2 x i32> %0, <2 x i32> undef, <4 x i32> <i32 0, i32 1, i32 undef, i32 undef>
     59     %1 = bitcast i64 %d.coerce1 to <2 x i32>
     60     %d.8.vec.expand = shufflevector <2 x i32> %1, <2 x i32> undef, <4 x i32> <i32 undef, i32 undef, i32 0, i32 1>
     61     %d.8.vecblend = shufflevector <4 x i32> %d.8.vec.expand, <4 x i32> %d.0.vec.expand, <4 x i32> <i32 4, i32 5, i32 2, i32 3>
     62     %2 = tail call i32 @llvm.mips.bz.w(<4 x i32> %d.8.vecblend)
     63     %tobool = icmp eq i32 %2, 0
     64     br i1 %tobool, label %return, label %if.then
     65 
     66     if.then:
     67     tail call void asm sideeffect ".space 810680", "~{$1}"()
     68     br label %return
     69 
     70     return:
     71     %retval.0 = phi i32 [ 1, %if.then ], [ 0, %entry ]
     72     ret i32 %retval.0
     73   }
     74 
     75   declare i32 @llvm.mips.bz.w(<4 x i32>)
     76 
     77   define i32 @_Z5bz_64Dv2_x(i64 inreg %d.coerce0, i64 inreg %d.coerce1) {
     78     entry:
     79     %d.0.vec.insert = insertelement <2 x i64> undef, i64 %d.coerce0, i32 0
     80     %d.8.vec.insert = insertelement <2 x i64> %d.0.vec.insert, i64 %d.coerce1, i32 1
     81     %0 = tail call i32 @llvm.mips.bz.d(<2 x i64> %d.8.vec.insert)
     82     %tobool = icmp eq i32 %0, 0
     83     br i1 %tobool, label %return, label %if.then
     84 
     85     if.then:
     86     tail call void asm sideeffect ".space 810680", "~{$1}"()
     87     br label %return
     88 
     89     return:
     90     %retval.0 = phi i32 [ 1, %if.then ], [ 0, %entry ]
     91     ret i32 %retval.0
     92   }
     93 
     94   declare i32 @llvm.mips.bz.d(<2 x i64>)
     95 
     96   define i32 @_Z5bz_64_vDv2_x(i64 inreg %d.coerce0, i64 inreg %d.coerce1) {
     97     entry:
     98     %d.0.vec.insert = insertelement <2 x i64> undef, i64 %d.coerce0, i32 0
     99     %d.8.vec.insert = insertelement <2 x i64> %d.0.vec.insert, i64 %d.coerce1, i32 1
    100     %d.16.vec.insert = bitcast <2 x i64> %d.8.vec.insert to <16 x i8>
    101     %0 = tail call i32 @llvm.mips.bz.v(<16 x i8> %d.16.vec.insert)
    102     %tobool = icmp eq i32 %0, 0
    103     br i1 %tobool, label %return, label %if.then
    104 
    105     if.then:
    106     tail call void asm sideeffect ".space 810680", "~{$1}"()
    107     br label %return
    108 
    109     return:
    110     %retval.0 = phi i32 [ 1, %if.then ], [ 0, %entry ]
    111     ret i32 %retval.0
    112   }
    113 
    114   declare i32 @llvm.mips.bz.v(<16 x i8>)
    115 
    116   define i32 @_Z5bnz_8Dv16_a(i64 inreg %d.coerce0, i64 inreg %d.coerce1) {
    117     entry:
    118     %0 = bitcast i64 %d.coerce0 to <8 x i8>
    119     %d.0.vec.expand = shufflevector <8 x i8> %0, <8 x i8> undef, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
    120     %1 = bitcast i64 %d.coerce1 to <8 x i8>
    121     %d.8.vec.expand = shufflevector <8 x i8> %1, <8 x i8> undef, <16 x i32> <i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
    122     %d.8.vecblend = shufflevector <16 x i8> %d.8.vec.expand, <16 x i8> %d.0.vec.expand, <16 x i32> <i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
    123     %2 = tail call i32 @llvm.mips.bnz.b(<16 x i8> %d.8.vecblend)
    124     %tobool = icmp eq i32 %2, 0
    125     br i1 %tobool, label %return, label %if.then
    126 
    127     if.then:
    128     tail call void asm sideeffect ".space 810680", "~{$1}"()
    129     br label %return
    130 
    131     return:
    132     %retval.0 = phi i32 [ 1, %if.then ], [ 0, %entry ]
    133     ret i32 %retval.0
    134   }
    135 
    136   declare i32 @llvm.mips.bnz.b(<16 x i8>)
    137 
    138   define i32 @_Z6bnz_16Dv8_s(i64 inreg %d.coerce0, i64 inreg %d.coerce1) {
    139     entry:
    140     %0 = bitcast i64 %d.coerce0 to <4 x i16>
    141     %d.0.vec.expand = shufflevector <4 x i16> %0, <4 x i16> undef, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef>
    142     %1 = bitcast i64 %d.coerce1 to <4 x i16>
    143     %d.8.vec.expand = shufflevector <4 x i16> %1, <4 x i16> undef, <8 x i32> <i32 undef, i32 undef, i32 undef, i32 undef, i32 0, i32 1, i32 2, i32 3>
    144     %d.8.vecblend = shufflevector <8 x i16> %d.8.vec.expand, <8 x i16> %d.0.vec.expand, <8 x i32> <i32 8, i32 9, i32 10, i32 11, i32 4, i32 5, i32 6, i32 7>
    145     %2 = tail call i32 @llvm.mips.bnz.h(<8 x i16> %d.8.vecblend)
    146     %tobool = icmp eq i32 %2, 0
    147     br i1 %tobool, label %return, label %if.then
    148 
    149     if.then:
    150     tail call void asm sideeffect ".space 810680", "~{$1}"()
    151     br label %return
    152 
    153     return:
    154     %retval.0 = phi i32 [ 1, %if.then ], [ 0, %entry ]
    155     ret i32 %retval.0
    156   }
    157 
    158   declare i32 @llvm.mips.bnz.h(<8 x i16>)
    159 
    160   define i32 @_Z6bnz_32Dv4_i(i64 inreg %d.coerce0, i64 inreg %d.coerce1) {
    161     entry:
    162     %0 = bitcast i64 %d.coerce0 to <2 x i32>
    163     %d.0.vec.expand = shufflevector <2 x i32> %0, <2 x i32> undef, <4 x i32> <i32 0, i32 1, i32 undef, i32 undef>
    164     %1 = bitcast i64 %d.coerce1 to <2 x i32>
    165     %d.8.vec.expand = shufflevector <2 x i32> %1, <2 x i32> undef, <4 x i32> <i32 undef, i32 undef, i32 0, i32 1>
    166     %d.8.vecblend = shufflevector <4 x i32> %d.8.vec.expand, <4 x i32> %d.0.vec.expand, <4 x i32> <i32 4, i32 5, i32 2, i32 3>
    167     %2 = tail call i32 @llvm.mips.bnz.w(<4 x i32> %d.8.vecblend)
    168     %tobool = icmp eq i32 %2, 0
    169     br i1 %tobool, label %return, label %if.then
    170 
    171     if.then:
    172     tail call void asm sideeffect ".space 810680", "~{$1}"()
    173     br label %return
    174 
    175     return:
    176     %retval.0 = phi i32 [ 1, %if.then ], [ 0, %entry ]
    177     ret i32 %retval.0
    178   }
    179 
    180   declare i32 @llvm.mips.bnz.w(<4 x i32>)
    181 
    182   define i32 @_Z6bnz_64Dv2_x(i64 inreg %d.coerce0, i64 inreg %d.coerce1) {
    183     entry:
    184     %d.0.vec.insert = insertelement <2 x i64> undef, i64 %d.coerce0, i32 0
    185     %d.8.vec.insert = insertelement <2 x i64> %d.0.vec.insert, i64 %d.coerce1, i32 1
    186     %0 = tail call i32 @llvm.mips.bnz.d(<2 x i64> %d.8.vec.insert)
    187     %tobool = icmp eq i32 %0, 0
    188     br i1 %tobool, label %return, label %if.then
    189 
    190     if.then:
    191     tail call void asm sideeffect ".space 810680", "~{$1}"()
    192     br label %return
    193 
    194     return:
    195     %retval.0 = phi i32 [ 1, %if.then ], [ 0, %entry ]
    196     ret i32 %retval.0
    197   }
    198 
    199   declare i32 @llvm.mips.bnz.d(<2 x i64>)
    200 
    201   define i32 @_Z6bnz_64_vDv2_x(i64 inreg %d.coerce0, i64 inreg %d.coerce1) {
    202     entry:
    203     %d.0.vec.insert = insertelement <2 x i64> undef, i64 %d.coerce0, i32 0
    204     %d.8.vec.insert = insertelement <2 x i64> %d.0.vec.insert, i64 %d.coerce1, i32 1
    205     %d.16.vec.insert = bitcast <2 x i64> %d.8.vec.insert to <16 x i8>
    206     %0 = tail call i32 @llvm.mips.bnz.v(<16 x i8> %d.16.vec.insert)
    207     %tobool = icmp eq i32 %0, 0
    208     br i1 %tobool, label %return, label %if.then
    209 
    210     if.then:
    211     tail call void asm sideeffect ".space 810680", "~{$1}"()
    212     br label %return
    213 
    214     return:
    215     %retval.0 = phi i32 [ 1, %if.then ], [ 0, %entry ]
    216     ret i32 %retval.0
    217   }
    218 
    219   declare i32 @llvm.mips.bnz.v(<16 x i8>)
    220 
    221 ...
    222 ---
    223 name:            _Z4bz_8Dv16_a
    224 alignment:       3
    225 exposesReturnsTwice: false
    226 legalized:       false
    227 regBankSelected: false
    228 selected:        false
    229 failedISel:      false
    230 tracksRegLiveness: true
    231 registers:
    232 liveins:
    233   - { reg: '$a0_64', virtual-reg: '' }
    234   - { reg: '$a1_64', virtual-reg: '' }
    235 frameInfo:
    236   isFrameAddressTaken: false
    237   isReturnAddressTaken: false
    238   hasStackMap:     false
    239   hasPatchPoint:   false
    240   stackSize:       0
    241   offsetAdjustment: 0
    242   maxAlignment:    1
    243   adjustsStack:    false
    244   hasCalls:        false
    245   stackProtector:  ''
    246   maxCallFrameSize: 0
    247   hasOpaqueSPAdjustment: false
    248   hasVAStart:      false
    249   hasMustTailInVarArgFunc: false
    250   localFrameSize:  0
    251   savePoint:       ''
    252   restorePoint:    ''
    253 fixedStack:
    254 stack:
    255 constants:
    256 body:             |
    257   ; MSA-LABEL: name: _Z4bz_8Dv16_a
    258   ; MSA: bb.0.entry:
    259   ; MSA:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
    260   ; MSA:   renamable $w0 = LDI_B 0
    261   ; MSA:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a0_64, 0
    262   ; MSA:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a1_64, 1
    263   ; MSA:   renamable $w0 = SHF_B killed renamable $w0, 27
    264   ; MSA:   renamable $w0 = SHF_W killed renamable $w0, 177
    265   ; MSA:   BNZ_B $w0, %bb.2, implicit-def $at {
    266   ; MSA:     NOP
    267   ; MSA:   }
    268   ; MSA: bb.1.entry:
    269   ; MSA:   successors: %bb.3(0x80000000)
    270   ; MSA:   J %bb.3, implicit-def $at {
    271   ; MSA:     NOP
    272   ; MSA:   }
    273   ; MSA: bb.2.if.then:
    274   ; MSA:   INLINEASM &".space 810680", 1, 12, implicit-def dead early-clobber $at
    275   ; MSA:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
    276   ; MSA:     renamable $v0 = ADDiu $zero, 1
    277   ; MSA:   }
    278   ; MSA: bb.3:
    279   ; MSA:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
    280   ; MSA:     renamable $v0 = ADDiu $zero, 0
    281   ; MSA:   }
    282   ; PIC-LABEL: name: _Z4bz_8Dv16_a
    283   ; PIC: bb.0.entry:
    284   ; PIC:   successors: %bb.3(0x40000000), %bb.1(0x40000000)
    285   ; PIC:   renamable $w0 = LDI_B 0
    286   ; PIC:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a0_64, 0
    287   ; PIC:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a1_64, 1
    288   ; PIC:   renamable $w0 = SHF_B killed renamable $w0, 27
    289   ; PIC:   renamable $w0 = SHF_W killed renamable $w0, 177
    290   ; PIC:   BNZ_B $w0, %bb.3, implicit-def $at {
    291   ; PIC:     NOP
    292   ; PIC:   }
    293   ; PIC: bb.1.entry:
    294   ; PIC:   successors: %bb.2(0x80000000)
    295   ; PIC:   $sp_64 = DADDiu $sp_64, -16
    296   ; PIC:   SD $ra_64, $sp_64, 0
    297   ; PIC:   $at_64 = LONG_BRANCH_DADDiu $zero_64, target-flags(mips-abs-hi) %bb.4, %bb.2
    298   ; PIC:   $at_64 = DSLL $at_64, 16
    299   ; PIC:   BAL_BR %bb.2, implicit-def $ra {
    300   ; PIC:     $at_64 = LONG_BRANCH_DADDiu $at_64, target-flags(mips-abs-lo) %bb.4, %bb.2
    301   ; PIC:   }
    302   ; PIC: bb.2.entry:
    303   ; PIC:   successors: %bb.4(0x80000000)
    304   ; PIC:   $at_64 = DADDu $ra_64, $at_64
    305   ; PIC:   $ra_64 = LD $sp_64, 0
    306   ; PIC:   JR64 $at_64 {
    307   ; PIC:     $sp_64 = DADDiu $sp_64, 16
    308   ; PIC:   }
    309   ; PIC: bb.3.if.then:
    310   ; PIC:   INLINEASM &".space 810680", 1, 12, implicit-def dead early-clobber $at
    311   ; PIC:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
    312   ; PIC:     renamable $v0 = ADDiu $zero, 1
    313   ; PIC:   }
    314   ; PIC: bb.4:
    315   ; PIC:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
    316   ; PIC:     renamable $v0 = ADDiu $zero, 0
    317   ; PIC:   }
    318   bb.0.entry:
    319     successors: %bb.1(0x40000000), %bb.2(0x40000000)
    320     liveins: $a0_64, $a1_64
    321 
    322     renamable $w0 = LDI_B 0
    323     renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a0_64, 0
    324     renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a1_64, 1
    325     renamable $w0 = SHF_B killed renamable $w0, 27
    326     renamable $w0 = SHF_W killed renamable $w0, 177
    327     BZ_B killed renamable $w0, %bb.2, implicit-def dead $at
    328 
    329   bb.1.if.then:
    330     INLINEASM &".space 810680", 1, 12, implicit-def dead early-clobber $at
    331     renamable $v0 = ADDiu $zero, 1
    332     PseudoReturn64 undef $ra_64, implicit killed $v0
    333 
    334   bb.2:
    335     renamable $v0 = ADDiu $zero, 0
    336     PseudoReturn64 undef $ra_64, implicit killed $v0
    337 
    338 ...
    339 ---
    340 name:            _Z5bz_16Dv8_s
    341 alignment:       3
    342 exposesReturnsTwice: false
    343 legalized:       false
    344 regBankSelected: false
    345 selected:        false
    346 failedISel:      false
    347 tracksRegLiveness: true
    348 registers:
    349 liveins:
    350   - { reg: '$a0_64', virtual-reg: '' }
    351   - { reg: '$a1_64', virtual-reg: '' }
    352 frameInfo:
    353   isFrameAddressTaken: false
    354   isReturnAddressTaken: false
    355   hasStackMap:     false
    356   hasPatchPoint:   false
    357   stackSize:       0
    358   offsetAdjustment: 0
    359   maxAlignment:    1
    360   adjustsStack:    false
    361   hasCalls:        false
    362   stackProtector:  ''
    363   maxCallFrameSize: 0
    364   hasOpaqueSPAdjustment: false
    365   hasVAStart:      false
    366   hasMustTailInVarArgFunc: false
    367   localFrameSize:  0
    368   savePoint:       ''
    369   restorePoint:    ''
    370 fixedStack:
    371 stack:
    372 constants:
    373 body:             |
    374   ; MSA-LABEL: name: _Z5bz_16Dv8_s
    375   ; MSA: bb.0.entry:
    376   ; MSA:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
    377   ; MSA:   renamable $w0 = LDI_B 0
    378   ; MSA:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a0_64, 0
    379   ; MSA:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a1_64, 1
    380   ; MSA:   renamable $w0 = SHF_H killed renamable $w0, 27
    381   ; MSA:   BNZ_H $w0, %bb.2, implicit-def $at {
    382   ; MSA:     NOP
    383   ; MSA:   }
    384   ; MSA: bb.1.entry:
    385   ; MSA:   successors: %bb.3(0x80000000)
    386   ; MSA:   J %bb.3, implicit-def $at {
    387   ; MSA:     NOP
    388   ; MSA:   }
    389   ; MSA: bb.2.if.then:
    390   ; MSA:   INLINEASM &".space 810680", 1, 12, implicit-def dead early-clobber $at
    391   ; MSA:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
    392   ; MSA:     renamable $v0 = ADDiu $zero, 1
    393   ; MSA:   }
    394   ; MSA: bb.3:
    395   ; MSA:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
    396   ; MSA:     renamable $v0 = ADDiu $zero, 0
    397   ; MSA:   }
    398   ; PIC-LABEL: name: _Z5bz_16Dv8_s
    399   ; PIC: bb.0.entry:
    400   ; PIC:   successors: %bb.3(0x40000000), %bb.1(0x40000000)
    401   ; PIC:   renamable $w0 = LDI_B 0
    402   ; PIC:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a0_64, 0
    403   ; PIC:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a1_64, 1
    404   ; PIC:   renamable $w0 = SHF_H killed renamable $w0, 27
    405   ; PIC:   BNZ_H $w0, %bb.3, implicit-def $at {
    406   ; PIC:     NOP
    407   ; PIC:   }
    408   ; PIC: bb.1.entry:
    409   ; PIC:   successors: %bb.2(0x80000000)
    410   ; PIC:   $sp_64 = DADDiu $sp_64, -16
    411   ; PIC:   SD $ra_64, $sp_64, 0
    412   ; PIC:   $at_64 = LONG_BRANCH_DADDiu $zero_64, target-flags(mips-abs-hi) %bb.4, %bb.2
    413   ; PIC:   $at_64 = DSLL $at_64, 16
    414   ; PIC:   BAL_BR %bb.2, implicit-def $ra {
    415   ; PIC:     $at_64 = LONG_BRANCH_DADDiu $at_64, target-flags(mips-abs-lo) %bb.4, %bb.2
    416   ; PIC:   }
    417   ; PIC: bb.2.entry:
    418   ; PIC:   successors: %bb.4(0x80000000)
    419   ; PIC:   $at_64 = DADDu $ra_64, $at_64
    420   ; PIC:   $ra_64 = LD $sp_64, 0
    421   ; PIC:   JR64 $at_64 {
    422   ; PIC:     $sp_64 = DADDiu $sp_64, 16
    423   ; PIC:   }
    424   ; PIC: bb.3.if.then:
    425   ; PIC:   INLINEASM &".space 810680", 1, 12, implicit-def dead early-clobber $at
    426   ; PIC:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
    427   ; PIC:     renamable $v0 = ADDiu $zero, 1
    428   ; PIC:   }
    429   ; PIC: bb.4:
    430   ; PIC:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
    431   ; PIC:     renamable $v0 = ADDiu $zero, 0
    432   ; PIC:   }
    433   bb.0.entry:
    434     successors: %bb.1(0x40000000), %bb.2(0x40000000)
    435     liveins: $a0_64, $a1_64
    436 
    437     renamable $w0 = LDI_B 0
    438     renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a0_64, 0
    439     renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a1_64, 1
    440     renamable $w0 = SHF_H killed renamable $w0, 27
    441     BZ_H killed renamable $w0, %bb.2, implicit-def dead $at
    442 
    443   bb.1.if.then:
    444     INLINEASM &".space 810680", 1, 12, implicit-def dead early-clobber $at
    445     renamable $v0 = ADDiu $zero, 1
    446     PseudoReturn64 undef $ra_64, implicit killed $v0
    447 
    448   bb.2:
    449     renamable $v0 = ADDiu $zero, 0
    450     PseudoReturn64 undef $ra_64, implicit killed $v0
    451 
    452 ...
    453 ---
    454 name:            _Z5bz_32Dv4_i
    455 alignment:       3
    456 exposesReturnsTwice: false
    457 legalized:       false
    458 regBankSelected: false
    459 selected:        false
    460 failedISel:      false
    461 tracksRegLiveness: true
    462 registers:
    463 liveins:
    464   - { reg: '$a0_64', virtual-reg: '' }
    465   - { reg: '$a1_64', virtual-reg: '' }
    466 frameInfo:
    467   isFrameAddressTaken: false
    468   isReturnAddressTaken: false
    469   hasStackMap:     false
    470   hasPatchPoint:   false
    471   stackSize:       0
    472   offsetAdjustment: 0
    473   maxAlignment:    1
    474   adjustsStack:    false
    475   hasCalls:        false
    476   stackProtector:  ''
    477   maxCallFrameSize: 0
    478   hasOpaqueSPAdjustment: false
    479   hasVAStart:      false
    480   hasMustTailInVarArgFunc: false
    481   localFrameSize:  0
    482   savePoint:       ''
    483   restorePoint:    ''
    484 fixedStack:
    485 stack:
    486 constants:
    487 body:             |
    488   ; MSA-LABEL: name: _Z5bz_32Dv4_i
    489   ; MSA: bb.0.entry:
    490   ; MSA:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
    491   ; MSA:   renamable $w0 = LDI_B 0
    492   ; MSA:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a0_64, 0
    493   ; MSA:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a1_64, 1
    494   ; MSA:   renamable $w0 = SHF_W killed renamable $w0, 177
    495   ; MSA:   BNZ_W $w0, %bb.2, implicit-def $at {
    496   ; MSA:     NOP
    497   ; MSA:   }
    498   ; MSA: bb.1.entry:
    499   ; MSA:   successors: %bb.3(0x80000000)
    500   ; MSA:   J %bb.3, implicit-def $at {
    501   ; MSA:     NOP
    502   ; MSA:   }
    503   ; MSA: bb.2.if.then:
    504   ; MSA:   INLINEASM &".space 810680", 1, 12, implicit-def dead early-clobber $at
    505   ; MSA:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
    506   ; MSA:     renamable $v0 = ADDiu $zero, 1
    507   ; MSA:   }
    508   ; MSA: bb.3:
    509   ; MSA:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
    510   ; MSA:     renamable $v0 = ADDiu $zero, 0
    511   ; MSA:   }
    512   ; PIC-LABEL: name: _Z5bz_32Dv4_i
    513   ; PIC: bb.0.entry:
    514   ; PIC:   successors: %bb.3(0x40000000), %bb.1(0x40000000)
    515   ; PIC:   renamable $w0 = LDI_B 0
    516   ; PIC:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a0_64, 0
    517   ; PIC:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a1_64, 1
    518   ; PIC:   renamable $w0 = SHF_W killed renamable $w0, 177
    519   ; PIC:   BNZ_W $w0, %bb.3, implicit-def $at {
    520   ; PIC:     NOP
    521   ; PIC:   }
    522   ; PIC: bb.1.entry:
    523   ; PIC:   successors: %bb.2(0x80000000)
    524   ; PIC:   $sp_64 = DADDiu $sp_64, -16
    525   ; PIC:   SD $ra_64, $sp_64, 0
    526   ; PIC:   $at_64 = LONG_BRANCH_DADDiu $zero_64, target-flags(mips-abs-hi) %bb.4, %bb.2
    527   ; PIC:   $at_64 = DSLL $at_64, 16
    528   ; PIC:   BAL_BR %bb.2, implicit-def $ra {
    529   ; PIC:     $at_64 = LONG_BRANCH_DADDiu $at_64, target-flags(mips-abs-lo) %bb.4, %bb.2
    530   ; PIC:   }
    531   ; PIC: bb.2.entry:
    532   ; PIC:   successors: %bb.4(0x80000000)
    533   ; PIC:   $at_64 = DADDu $ra_64, $at_64
    534   ; PIC:   $ra_64 = LD $sp_64, 0
    535   ; PIC:   JR64 $at_64 {
    536   ; PIC:     $sp_64 = DADDiu $sp_64, 16
    537   ; PIC:   }
    538   ; PIC: bb.3.if.then:
    539   ; PIC:   INLINEASM &".space 810680", 1, 12, implicit-def dead early-clobber $at
    540   ; PIC:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
    541   ; PIC:     renamable $v0 = ADDiu $zero, 1
    542   ; PIC:   }
    543   ; PIC: bb.4:
    544   ; PIC:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
    545   ; PIC:     renamable $v0 = ADDiu $zero, 0
    546   ; PIC:   }
    547   bb.0.entry:
    548     successors: %bb.1(0x40000000), %bb.2(0x40000000)
    549     liveins: $a0_64, $a1_64
    550 
    551     renamable $w0 = LDI_B 0
    552     renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a0_64, 0
    553     renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a1_64, 1
    554     renamable $w0 = SHF_W killed renamable $w0, 177
    555     BZ_W killed renamable $w0, %bb.2, implicit-def dead $at
    556 
    557   bb.1.if.then:
    558     INLINEASM &".space 810680", 1, 12, implicit-def dead early-clobber $at
    559     renamable $v0 = ADDiu $zero, 1
    560     PseudoReturn64 undef $ra_64, implicit killed $v0
    561 
    562   bb.2:
    563     renamable $v0 = ADDiu $zero, 0
    564     PseudoReturn64 undef $ra_64, implicit killed $v0
    565 
    566 ...
    567 ---
    568 name:            _Z5bz_64Dv2_x
    569 alignment:       3
    570 exposesReturnsTwice: false
    571 legalized:       false
    572 regBankSelected: false
    573 selected:        false
    574 failedISel:      false
    575 tracksRegLiveness: true
    576 registers:
    577 liveins:
    578   - { reg: '$a0_64', virtual-reg: '' }
    579   - { reg: '$a1_64', virtual-reg: '' }
    580 frameInfo:
    581   isFrameAddressTaken: false
    582   isReturnAddressTaken: false
    583   hasStackMap:     false
    584   hasPatchPoint:   false
    585   stackSize:       0
    586   offsetAdjustment: 0
    587   maxAlignment:    1
    588   adjustsStack:    false
    589   hasCalls:        false
    590   stackProtector:  ''
    591   maxCallFrameSize: 0
    592   hasOpaqueSPAdjustment: false
    593   hasVAStart:      false
    594   hasMustTailInVarArgFunc: false
    595   localFrameSize:  0
    596   savePoint:       ''
    597   restorePoint:    ''
    598 fixedStack:
    599 stack:
    600 constants:
    601 body:             |
    602   ; MSA-LABEL: name: _Z5bz_64Dv2_x
    603   ; MSA: bb.0.entry:
    604   ; MSA:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
    605   ; MSA:   renamable $w0 = LDI_B 0
    606   ; MSA:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a0_64, 0
    607   ; MSA:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a1_64, 1
    608   ; MSA:   BNZ_D $w0, %bb.2, implicit-def $at {
    609   ; MSA:     NOP
    610   ; MSA:   }
    611   ; MSA: bb.1.entry:
    612   ; MSA:   successors: %bb.3(0x80000000)
    613   ; MSA:   J %bb.3, implicit-def $at {
    614   ; MSA:     NOP
    615   ; MSA:   }
    616   ; MSA: bb.2.if.then:
    617   ; MSA:   INLINEASM &".space 810680", 1, 12, implicit-def dead early-clobber $at
    618   ; MSA:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
    619   ; MSA:     renamable $v0 = ADDiu $zero, 1
    620   ; MSA:   }
    621   ; MSA: bb.3:
    622   ; MSA:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
    623   ; MSA:     renamable $v0 = ADDiu $zero, 0
    624   ; MSA:   }
    625   ; PIC-LABEL: name: _Z5bz_64Dv2_x
    626   ; PIC: bb.0.entry:
    627   ; PIC:   successors: %bb.3(0x40000000), %bb.1(0x40000000)
    628   ; PIC:   renamable $w0 = LDI_B 0
    629   ; PIC:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a0_64, 0
    630   ; PIC:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a1_64, 1
    631   ; PIC:   BNZ_D $w0, %bb.3, implicit-def $at {
    632   ; PIC:     NOP
    633   ; PIC:   }
    634   ; PIC: bb.1.entry:
    635   ; PIC:   successors: %bb.2(0x80000000)
    636   ; PIC:   $sp_64 = DADDiu $sp_64, -16
    637   ; PIC:   SD $ra_64, $sp_64, 0
    638   ; PIC:   $at_64 = LONG_BRANCH_DADDiu $zero_64, target-flags(mips-abs-hi) %bb.4, %bb.2
    639   ; PIC:   $at_64 = DSLL $at_64, 16
    640   ; PIC:   BAL_BR %bb.2, implicit-def $ra {
    641   ; PIC:     $at_64 = LONG_BRANCH_DADDiu $at_64, target-flags(mips-abs-lo) %bb.4, %bb.2
    642   ; PIC:   }
    643   ; PIC: bb.2.entry:
    644   ; PIC:   successors: %bb.4(0x80000000)
    645   ; PIC:   $at_64 = DADDu $ra_64, $at_64
    646   ; PIC:   $ra_64 = LD $sp_64, 0
    647   ; PIC:   JR64 $at_64 {
    648   ; PIC:     $sp_64 = DADDiu $sp_64, 16
    649   ; PIC:   }
    650   ; PIC: bb.3.if.then:
    651   ; PIC:   INLINEASM &".space 810680", 1, 12, implicit-def dead early-clobber $at
    652   ; PIC:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
    653   ; PIC:     renamable $v0 = ADDiu $zero, 1
    654   ; PIC:   }
    655   ; PIC: bb.4:
    656   ; PIC:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
    657   ; PIC:     renamable $v0 = ADDiu $zero, 0
    658   ; PIC:   }
    659   bb.0.entry:
    660     successors: %bb.1(0x40000000), %bb.2(0x40000000)
    661     liveins: $a0_64, $a1_64
    662 
    663     renamable $w0 = LDI_B 0
    664     renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a0_64, 0
    665     renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a1_64, 1
    666     BZ_D killed renamable $w0, %bb.2, implicit-def dead $at
    667 
    668   bb.1.if.then:
    669     INLINEASM &".space 810680", 1, 12, implicit-def dead early-clobber $at
    670     renamable $v0 = ADDiu $zero, 1
    671     PseudoReturn64 undef $ra_64, implicit killed $v0
    672 
    673   bb.2:
    674     renamable $v0 = ADDiu $zero, 0
    675     PseudoReturn64 undef $ra_64, implicit killed $v0
    676 
    677 ...
    678 ---
    679 name:            _Z5bz_64_vDv2_x
    680 alignment:       3
    681 exposesReturnsTwice: false
    682 legalized:       false
    683 regBankSelected: false
    684 selected:        false
    685 failedISel:      false
    686 tracksRegLiveness: true
    687 registers:
    688 liveins:
    689   - { reg: '$a0_64', virtual-reg: '' }
    690   - { reg: '$a1_64', virtual-reg: '' }
    691 frameInfo:
    692   isFrameAddressTaken: false
    693   isReturnAddressTaken: false
    694   hasStackMap:     false
    695   hasPatchPoint:   false
    696   stackSize:       0
    697   offsetAdjustment: 0
    698   maxAlignment:    1
    699   adjustsStack:    false
    700   hasCalls:        false
    701   stackProtector:  ''
    702   maxCallFrameSize: 0
    703   hasOpaqueSPAdjustment: false
    704   hasVAStart:      false
    705   hasMustTailInVarArgFunc: false
    706   localFrameSize:  0
    707   savePoint:       ''
    708   restorePoint:    ''
    709 fixedStack:
    710 stack:
    711 constants:
    712 body:             |
    713   ; MSA-LABEL: name: _Z5bz_64_vDv2_x
    714   ; MSA: bb.0.entry:
    715   ; MSA:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
    716   ; MSA:   renamable $w0 = LDI_B 0
    717   ; MSA:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a0_64, 0
    718   ; MSA:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a1_64, 1
    719   ; MSA:   BNZ_V $w0, %bb.2, implicit-def $at {
    720   ; MSA:     NOP
    721   ; MSA:   }
    722   ; MSA: bb.1.entry:
    723   ; MSA:   successors: %bb.3(0x80000000)
    724   ; MSA:   J %bb.3, implicit-def $at {
    725   ; MSA:     NOP
    726   ; MSA:   }
    727   ; MSA: bb.2.if.then:
    728   ; MSA:   INLINEASM &".space 810680", 1, 12, implicit-def dead early-clobber $at
    729   ; MSA:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
    730   ; MSA:     renamable $v0 = ADDiu $zero, 1
    731   ; MSA:   }
    732   ; MSA: bb.3:
    733   ; MSA:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
    734   ; MSA:     renamable $v0 = ADDiu $zero, 0
    735   ; MSA:   }
    736   ; PIC-LABEL: name: _Z5bz_64_vDv2_x
    737   ; PIC: bb.0.entry:
    738   ; PIC:   successors: %bb.3(0x40000000), %bb.1(0x40000000)
    739   ; PIC:   renamable $w0 = LDI_B 0
    740   ; PIC:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a0_64, 0
    741   ; PIC:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a1_64, 1
    742   ; PIC:   BNZ_V $w0, %bb.3, implicit-def $at {
    743   ; PIC:     NOP
    744   ; PIC:   }
    745   ; PIC: bb.1.entry:
    746   ; PIC:   successors: %bb.2(0x80000000)
    747   ; PIC:   $sp_64 = DADDiu $sp_64, -16
    748   ; PIC:   SD $ra_64, $sp_64, 0
    749   ; PIC:   $at_64 = LONG_BRANCH_DADDiu $zero_64, target-flags(mips-abs-hi) %bb.4, %bb.2
    750   ; PIC:   $at_64 = DSLL $at_64, 16
    751   ; PIC:   BAL_BR %bb.2, implicit-def $ra {
    752   ; PIC:     $at_64 = LONG_BRANCH_DADDiu $at_64, target-flags(mips-abs-lo) %bb.4, %bb.2
    753   ; PIC:   }
    754   ; PIC: bb.2.entry:
    755   ; PIC:   successors: %bb.4(0x80000000)
    756   ; PIC:   $at_64 = DADDu $ra_64, $at_64
    757   ; PIC:   $ra_64 = LD $sp_64, 0
    758   ; PIC:   JR64 $at_64 {
    759   ; PIC:     $sp_64 = DADDiu $sp_64, 16
    760   ; PIC:   }
    761   ; PIC: bb.3.if.then:
    762   ; PIC:   INLINEASM &".space 810680", 1, 12, implicit-def dead early-clobber $at
    763   ; PIC:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
    764   ; PIC:     renamable $v0 = ADDiu $zero, 1
    765   ; PIC:   }
    766   ; PIC: bb.4:
    767   ; PIC:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
    768   ; PIC:     renamable $v0 = ADDiu $zero, 0
    769   ; PIC:   }
    770   bb.0.entry:
    771     successors: %bb.1(0x40000000), %bb.2(0x40000000)
    772     liveins: $a0_64, $a1_64
    773 
    774     renamable $w0 = LDI_B 0
    775     renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a0_64, 0
    776     renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a1_64, 1
    777     BZ_V killed renamable $w0, %bb.2, implicit-def dead $at
    778 
    779   bb.1.if.then:
    780     INLINEASM &".space 810680", 1, 12, implicit-def dead early-clobber $at
    781     renamable $v0 = ADDiu $zero, 1
    782     PseudoReturn64 undef $ra_64, implicit killed $v0
    783 
    784   bb.2:
    785     renamable $v0 = ADDiu $zero, 0
    786     PseudoReturn64 undef $ra_64, implicit killed $v0
    787 
    788 ...
    789 ---
    790 name:            _Z5bnz_8Dv16_a
    791 alignment:       3
    792 exposesReturnsTwice: false
    793 legalized:       false
    794 regBankSelected: false
    795 selected:        false
    796 failedISel:      false
    797 tracksRegLiveness: true
    798 registers:
    799 liveins:
    800   - { reg: '$a0_64', virtual-reg: '' }
    801   - { reg: '$a1_64', virtual-reg: '' }
    802 frameInfo:
    803   isFrameAddressTaken: false
    804   isReturnAddressTaken: false
    805   hasStackMap:     false
    806   hasPatchPoint:   false
    807   stackSize:       0
    808   offsetAdjustment: 0
    809   maxAlignment:    1
    810   adjustsStack:    false
    811   hasCalls:        false
    812   stackProtector:  ''
    813   maxCallFrameSize: 0
    814   hasOpaqueSPAdjustment: false
    815   hasVAStart:      false
    816   hasMustTailInVarArgFunc: false
    817   localFrameSize:  0
    818   savePoint:       ''
    819   restorePoint:    ''
    820 fixedStack:
    821 stack:
    822 constants:
    823 body:             |
    824   ; MSA-LABEL: name: _Z5bnz_8Dv16_a
    825   ; MSA: bb.0.entry:
    826   ; MSA:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
    827   ; MSA:   renamable $w0 = LDI_B 0
    828   ; MSA:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a0_64, 0
    829   ; MSA:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a1_64, 1
    830   ; MSA:   renamable $w0 = SHF_B killed renamable $w0, 27
    831   ; MSA:   renamable $w0 = SHF_W killed renamable $w0, 177
    832   ; MSA:   BZ_B $w0, %bb.2, implicit-def $at {
    833   ; MSA:     NOP
    834   ; MSA:   }
    835   ; MSA: bb.1.entry:
    836   ; MSA:   successors: %bb.3(0x80000000)
    837   ; MSA:   J %bb.3, implicit-def $at {
    838   ; MSA:     NOP
    839   ; MSA:   }
    840   ; MSA: bb.2.if.then:
    841   ; MSA:   INLINEASM &".space 810680", 1, 12, implicit-def dead early-clobber $at
    842   ; MSA:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
    843   ; MSA:     renamable $v0 = ADDiu $zero, 1
    844   ; MSA:   }
    845   ; MSA: bb.3:
    846   ; MSA:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
    847   ; MSA:     renamable $v0 = ADDiu $zero, 0
    848   ; MSA:   }
    849   ; PIC-LABEL: name: _Z5bnz_8Dv16_a
    850   ; PIC: bb.0.entry:
    851   ; PIC:   successors: %bb.3(0x40000000), %bb.1(0x40000000)
    852   ; PIC:   renamable $w0 = LDI_B 0
    853   ; PIC:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a0_64, 0
    854   ; PIC:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a1_64, 1
    855   ; PIC:   renamable $w0 = SHF_B killed renamable $w0, 27
    856   ; PIC:   renamable $w0 = SHF_W killed renamable $w0, 177
    857   ; PIC:   BZ_B $w0, %bb.3, implicit-def $at {
    858   ; PIC:     NOP
    859   ; PIC:   }
    860   ; PIC: bb.1.entry:
    861   ; PIC:   successors: %bb.2(0x80000000)
    862   ; PIC:   $sp_64 = DADDiu $sp_64, -16
    863   ; PIC:   SD $ra_64, $sp_64, 0
    864   ; PIC:   $at_64 = LONG_BRANCH_DADDiu $zero_64, target-flags(mips-abs-hi) %bb.4, %bb.2
    865   ; PIC:   $at_64 = DSLL $at_64, 16
    866   ; PIC:   BAL_BR %bb.2, implicit-def $ra {
    867   ; PIC:     $at_64 = LONG_BRANCH_DADDiu $at_64, target-flags(mips-abs-lo) %bb.4, %bb.2
    868   ; PIC:   }
    869   ; PIC: bb.2.entry:
    870   ; PIC:   successors: %bb.4(0x80000000)
    871   ; PIC:   $at_64 = DADDu $ra_64, $at_64
    872   ; PIC:   $ra_64 = LD $sp_64, 0
    873   ; PIC:   JR64 $at_64 {
    874   ; PIC:     $sp_64 = DADDiu $sp_64, 16
    875   ; PIC:   }
    876   ; PIC: bb.3.if.then:
    877   ; PIC:   INLINEASM &".space 810680", 1, 12, implicit-def dead early-clobber $at
    878   ; PIC:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
    879   ; PIC:     renamable $v0 = ADDiu $zero, 1
    880   ; PIC:   }
    881   ; PIC: bb.4:
    882   ; PIC:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
    883   ; PIC:     renamable $v0 = ADDiu $zero, 0
    884   ; PIC:   }
    885   bb.0.entry:
    886     successors: %bb.1(0x40000000), %bb.2(0x40000000)
    887     liveins: $a0_64, $a1_64
    888 
    889     renamable $w0 = LDI_B 0
    890     renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a0_64, 0
    891     renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a1_64, 1
    892     renamable $w0 = SHF_B killed renamable $w0, 27
    893     renamable $w0 = SHF_W killed renamable $w0, 177
    894     BNZ_B killed renamable $w0, %bb.2, implicit-def dead $at
    895 
    896   bb.1.if.then:
    897     INLINEASM &".space 810680", 1, 12, implicit-def dead early-clobber $at
    898     renamable $v0 = ADDiu $zero, 1
    899     PseudoReturn64 undef $ra_64, implicit killed $v0
    900 
    901   bb.2:
    902     renamable $v0 = ADDiu $zero, 0
    903     PseudoReturn64 undef $ra_64, implicit killed $v0
    904 
    905 ...
    906 ---
    907 name:            _Z6bnz_16Dv8_s
    908 alignment:       3
    909 exposesReturnsTwice: false
    910 legalized:       false
    911 regBankSelected: false
    912 selected:        false
    913 failedISel:      false
    914 tracksRegLiveness: true
    915 registers:
    916 liveins:
    917   - { reg: '$a0_64', virtual-reg: '' }
    918   - { reg: '$a1_64', virtual-reg: '' }
    919 frameInfo:
    920   isFrameAddressTaken: false
    921   isReturnAddressTaken: false
    922   hasStackMap:     false
    923   hasPatchPoint:   false
    924   stackSize:       0
    925   offsetAdjustment: 0
    926   maxAlignment:    1
    927   adjustsStack:    false
    928   hasCalls:        false
    929   stackProtector:  ''
    930   maxCallFrameSize: 0
    931   hasOpaqueSPAdjustment: false
    932   hasVAStart:      false
    933   hasMustTailInVarArgFunc: false
    934   localFrameSize:  0
    935   savePoint:       ''
    936   restorePoint:    ''
    937 fixedStack:
    938 stack:
    939 constants:
    940 body:             |
    941   ; MSA-LABEL: name: _Z6bnz_16Dv8_s
    942   ; MSA: bb.0.entry:
    943   ; MSA:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
    944   ; MSA:   renamable $w0 = LDI_B 0
    945   ; MSA:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a0_64, 0
    946   ; MSA:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a1_64, 1
    947   ; MSA:   renamable $w0 = SHF_H killed renamable $w0, 27
    948   ; MSA:   BZ_H $w0, %bb.2, implicit-def $at {
    949   ; MSA:     NOP
    950   ; MSA:   }
    951   ; MSA: bb.1.entry:
    952   ; MSA:   successors: %bb.3(0x80000000)
    953   ; MSA:   J %bb.3, implicit-def $at {
    954   ; MSA:     NOP
    955   ; MSA:   }
    956   ; MSA: bb.2.if.then:
    957   ; MSA:   INLINEASM &".space 810680", 1, 12, implicit-def dead early-clobber $at
    958   ; MSA:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
    959   ; MSA:     renamable $v0 = ADDiu $zero, 1
    960   ; MSA:   }
    961   ; MSA: bb.3:
    962   ; MSA:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
    963   ; MSA:     renamable $v0 = ADDiu $zero, 0
    964   ; MSA:   }
    965   ; PIC-LABEL: name: _Z6bnz_16Dv8_s
    966   ; PIC: bb.0.entry:
    967   ; PIC:   successors: %bb.3(0x40000000), %bb.1(0x40000000)
    968   ; PIC:   renamable $w0 = LDI_B 0
    969   ; PIC:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a0_64, 0
    970   ; PIC:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a1_64, 1
    971   ; PIC:   renamable $w0 = SHF_H killed renamable $w0, 27
    972   ; PIC:   BZ_H $w0, %bb.3, implicit-def $at {
    973   ; PIC:     NOP
    974   ; PIC:   }
    975   ; PIC: bb.1.entry:
    976   ; PIC:   successors: %bb.2(0x80000000)
    977   ; PIC:   $sp_64 = DADDiu $sp_64, -16
    978   ; PIC:   SD $ra_64, $sp_64, 0
    979   ; PIC:   $at_64 = LONG_BRANCH_DADDiu $zero_64, target-flags(mips-abs-hi) %bb.4, %bb.2
    980   ; PIC:   $at_64 = DSLL $at_64, 16
    981   ; PIC:   BAL_BR %bb.2, implicit-def $ra {
    982   ; PIC:     $at_64 = LONG_BRANCH_DADDiu $at_64, target-flags(mips-abs-lo) %bb.4, %bb.2
    983   ; PIC:   }
    984   ; PIC: bb.2.entry:
    985   ; PIC:   successors: %bb.4(0x80000000)
    986   ; PIC:   $at_64 = DADDu $ra_64, $at_64
    987   ; PIC:   $ra_64 = LD $sp_64, 0
    988   ; PIC:   JR64 $at_64 {
    989   ; PIC:     $sp_64 = DADDiu $sp_64, 16
    990   ; PIC:   }
    991   ; PIC: bb.3.if.then:
    992   ; PIC:   INLINEASM &".space 810680", 1, 12, implicit-def dead early-clobber $at
    993   ; PIC:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
    994   ; PIC:     renamable $v0 = ADDiu $zero, 1
    995   ; PIC:   }
    996   ; PIC: bb.4:
    997   ; PIC:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
    998   ; PIC:     renamable $v0 = ADDiu $zero, 0
    999   ; PIC:   }
   1000   bb.0.entry:
   1001     successors: %bb.1(0x40000000), %bb.2(0x40000000)
   1002     liveins: $a0_64, $a1_64
   1003 
   1004     renamable $w0 = LDI_B 0
   1005     renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a0_64, 0
   1006     renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a1_64, 1
   1007     renamable $w0 = SHF_H killed renamable $w0, 27
   1008     BNZ_H killed renamable $w0, %bb.2, implicit-def dead $at
   1009 
   1010   bb.1.if.then:
   1011     INLINEASM &".space 810680", 1, 12, implicit-def dead early-clobber $at
   1012     renamable $v0 = ADDiu $zero, 1
   1013     PseudoReturn64 undef $ra_64, implicit killed $v0
   1014 
   1015   bb.2:
   1016     renamable $v0 = ADDiu $zero, 0
   1017     PseudoReturn64 undef $ra_64, implicit killed $v0
   1018 
   1019 ...
   1020 ---
   1021 name:            _Z6bnz_32Dv4_i
   1022 alignment:       3
   1023 exposesReturnsTwice: false
   1024 legalized:       false
   1025 regBankSelected: false
   1026 selected:        false
   1027 failedISel:      false
   1028 tracksRegLiveness: true
   1029 registers:
   1030 liveins:
   1031   - { reg: '$a0_64', virtual-reg: '' }
   1032   - { reg: '$a1_64', virtual-reg: '' }
   1033 frameInfo:
   1034   isFrameAddressTaken: false
   1035   isReturnAddressTaken: false
   1036   hasStackMap:     false
   1037   hasPatchPoint:   false
   1038   stackSize:       0
   1039   offsetAdjustment: 0
   1040   maxAlignment:    1
   1041   adjustsStack:    false
   1042   hasCalls:        false
   1043   stackProtector:  ''
   1044   maxCallFrameSize: 0
   1045   hasOpaqueSPAdjustment: false
   1046   hasVAStart:      false
   1047   hasMustTailInVarArgFunc: false
   1048   localFrameSize:  0
   1049   savePoint:       ''
   1050   restorePoint:    ''
   1051 fixedStack:
   1052 stack:
   1053 constants:
   1054 body:             |
   1055   ; MSA-LABEL: name: _Z6bnz_32Dv4_i
   1056   ; MSA: bb.0.entry:
   1057   ; MSA:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
   1058   ; MSA:   renamable $w0 = LDI_B 0
   1059   ; MSA:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a0_64, 0
   1060   ; MSA:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a1_64, 1
   1061   ; MSA:   renamable $w0 = SHF_W killed renamable $w0, 177
   1062   ; MSA:   BZ_W $w0, %bb.2, implicit-def $at {
   1063   ; MSA:     NOP
   1064   ; MSA:   }
   1065   ; MSA: bb.1.entry:
   1066   ; MSA:   successors: %bb.3(0x80000000)
   1067   ; MSA:   J %bb.3, implicit-def $at {
   1068   ; MSA:     NOP
   1069   ; MSA:   }
   1070   ; MSA: bb.2.if.then:
   1071   ; MSA:   INLINEASM &".space 810680", 1, 12, implicit-def dead early-clobber $at
   1072   ; MSA:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
   1073   ; MSA:     renamable $v0 = ADDiu $zero, 1
   1074   ; MSA:   }
   1075   ; MSA: bb.3:
   1076   ; MSA:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
   1077   ; MSA:     renamable $v0 = ADDiu $zero, 0
   1078   ; MSA:   }
   1079   ; PIC-LABEL: name: _Z6bnz_32Dv4_i
   1080   ; PIC: bb.0.entry:
   1081   ; PIC:   successors: %bb.3(0x40000000), %bb.1(0x40000000)
   1082   ; PIC:   renamable $w0 = LDI_B 0
   1083   ; PIC:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a0_64, 0
   1084   ; PIC:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a1_64, 1
   1085   ; PIC:   renamable $w0 = SHF_W killed renamable $w0, 177
   1086   ; PIC:   BZ_W $w0, %bb.3, implicit-def $at {
   1087   ; PIC:     NOP
   1088   ; PIC:   }
   1089   ; PIC: bb.1.entry:
   1090   ; PIC:   successors: %bb.2(0x80000000)
   1091   ; PIC:   $sp_64 = DADDiu $sp_64, -16
   1092   ; PIC:   SD $ra_64, $sp_64, 0
   1093   ; PIC:   $at_64 = LONG_BRANCH_DADDiu $zero_64, target-flags(mips-abs-hi) %bb.4, %bb.2
   1094   ; PIC:   $at_64 = DSLL $at_64, 16
   1095   ; PIC:   BAL_BR %bb.2, implicit-def $ra {
   1096   ; PIC:     $at_64 = LONG_BRANCH_DADDiu $at_64, target-flags(mips-abs-lo) %bb.4, %bb.2
   1097   ; PIC:   }
   1098   ; PIC: bb.2.entry:
   1099   ; PIC:   successors: %bb.4(0x80000000)
   1100   ; PIC:   $at_64 = DADDu $ra_64, $at_64
   1101   ; PIC:   $ra_64 = LD $sp_64, 0
   1102   ; PIC:   JR64 $at_64 {
   1103   ; PIC:     $sp_64 = DADDiu $sp_64, 16
   1104   ; PIC:   }
   1105   ; PIC: bb.3.if.then:
   1106   ; PIC:   INLINEASM &".space 810680", 1, 12, implicit-def dead early-clobber $at
   1107   ; PIC:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
   1108   ; PIC:     renamable $v0 = ADDiu $zero, 1
   1109   ; PIC:   }
   1110   ; PIC: bb.4:
   1111   ; PIC:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
   1112   ; PIC:     renamable $v0 = ADDiu $zero, 0
   1113   ; PIC:   }
   1114   bb.0.entry:
   1115     successors: %bb.1(0x40000000), %bb.2(0x40000000)
   1116     liveins: $a0_64, $a1_64
   1117 
   1118     renamable $w0 = LDI_B 0
   1119     renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a0_64, 0
   1120     renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a1_64, 1
   1121     renamable $w0 = SHF_W killed renamable $w0, 177
   1122     BNZ_W killed renamable $w0, %bb.2, implicit-def dead $at
   1123 
   1124   bb.1.if.then:
   1125     INLINEASM &".space 810680", 1, 12, implicit-def dead early-clobber $at
   1126     renamable $v0 = ADDiu $zero, 1
   1127     PseudoReturn64 undef $ra_64, implicit killed $v0
   1128 
   1129   bb.2:
   1130     renamable $v0 = ADDiu $zero, 0
   1131     PseudoReturn64 undef $ra_64, implicit killed $v0
   1132 
   1133 ...
   1134 ---
   1135 name:            _Z6bnz_64Dv2_x
   1136 alignment:       3
   1137 exposesReturnsTwice: false
   1138 legalized:       false
   1139 regBankSelected: false
   1140 selected:        false
   1141 failedISel:      false
   1142 tracksRegLiveness: true
   1143 registers:
   1144 liveins:
   1145   - { reg: '$a0_64', virtual-reg: '' }
   1146   - { reg: '$a1_64', virtual-reg: '' }
   1147 frameInfo:
   1148   isFrameAddressTaken: false
   1149   isReturnAddressTaken: false
   1150   hasStackMap:     false
   1151   hasPatchPoint:   false
   1152   stackSize:       0
   1153   offsetAdjustment: 0
   1154   maxAlignment:    1
   1155   adjustsStack:    false
   1156   hasCalls:        false
   1157   stackProtector:  ''
   1158   maxCallFrameSize: 0
   1159   hasOpaqueSPAdjustment: false
   1160   hasVAStart:      false
   1161   hasMustTailInVarArgFunc: false
   1162   localFrameSize:  0
   1163   savePoint:       ''
   1164   restorePoint:    ''
   1165 fixedStack:
   1166 stack:
   1167 constants:
   1168 body:             |
   1169   ; MSA-LABEL: name: _Z6bnz_64Dv2_x
   1170   ; MSA: bb.0.entry:
   1171   ; MSA:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
   1172   ; MSA:   renamable $w0 = LDI_B 0
   1173   ; MSA:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a0_64, 0
   1174   ; MSA:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a1_64, 1
   1175   ; MSA:   BZ_D $w0, %bb.2, implicit-def $at {
   1176   ; MSA:     NOP
   1177   ; MSA:   }
   1178   ; MSA: bb.1.entry:
   1179   ; MSA:   successors: %bb.3(0x80000000)
   1180   ; MSA:   J %bb.3, implicit-def $at {
   1181   ; MSA:     NOP
   1182   ; MSA:   }
   1183   ; MSA: bb.2.if.then:
   1184   ; MSA:   INLINEASM &".space 810680", 1, 12, implicit-def dead early-clobber $at
   1185   ; MSA:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
   1186   ; MSA:     renamable $v0 = ADDiu $zero, 1
   1187   ; MSA:   }
   1188   ; MSA: bb.3:
   1189   ; MSA:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
   1190   ; MSA:     renamable $v0 = ADDiu $zero, 0
   1191   ; MSA:   }
   1192   ; PIC-LABEL: name: _Z6bnz_64Dv2_x
   1193   ; PIC: bb.0.entry:
   1194   ; PIC:   successors: %bb.3(0x40000000), %bb.1(0x40000000)
   1195   ; PIC:   renamable $w0 = LDI_B 0
   1196   ; PIC:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a0_64, 0
   1197   ; PIC:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a1_64, 1
   1198   ; PIC:   BZ_D $w0, %bb.3, implicit-def $at {
   1199   ; PIC:     NOP
   1200   ; PIC:   }
   1201   ; PIC: bb.1.entry:
   1202   ; PIC:   successors: %bb.2(0x80000000)
   1203   ; PIC:   $sp_64 = DADDiu $sp_64, -16
   1204   ; PIC:   SD $ra_64, $sp_64, 0
   1205   ; PIC:   $at_64 = LONG_BRANCH_DADDiu $zero_64, target-flags(mips-abs-hi) %bb.4, %bb.2
   1206   ; PIC:   $at_64 = DSLL $at_64, 16
   1207   ; PIC:   BAL_BR %bb.2, implicit-def $ra {
   1208   ; PIC:     $at_64 = LONG_BRANCH_DADDiu $at_64, target-flags(mips-abs-lo) %bb.4, %bb.2
   1209   ; PIC:   }
   1210   ; PIC: bb.2.entry:
   1211   ; PIC:   successors: %bb.4(0x80000000)
   1212   ; PIC:   $at_64 = DADDu $ra_64, $at_64
   1213   ; PIC:   $ra_64 = LD $sp_64, 0
   1214   ; PIC:   JR64 $at_64 {
   1215   ; PIC:     $sp_64 = DADDiu $sp_64, 16
   1216   ; PIC:   }
   1217   ; PIC: bb.3.if.then:
   1218   ; PIC:   INLINEASM &".space 810680", 1, 12, implicit-def dead early-clobber $at
   1219   ; PIC:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
   1220   ; PIC:     renamable $v0 = ADDiu $zero, 1
   1221   ; PIC:   }
   1222   ; PIC: bb.4:
   1223   ; PIC:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
   1224   ; PIC:     renamable $v0 = ADDiu $zero, 0
   1225   ; PIC:   }
   1226   bb.0.entry:
   1227     successors: %bb.1(0x40000000), %bb.2(0x40000000)
   1228     liveins: $a0_64, $a1_64
   1229 
   1230     renamable $w0 = LDI_B 0
   1231     renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a0_64, 0
   1232     renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a1_64, 1
   1233     BNZ_D killed renamable $w0, %bb.2, implicit-def dead $at
   1234 
   1235   bb.1.if.then:
   1236     INLINEASM &".space 810680", 1, 12, implicit-def dead early-clobber $at
   1237     renamable $v0 = ADDiu $zero, 1
   1238     PseudoReturn64 undef $ra_64, implicit killed $v0
   1239 
   1240   bb.2:
   1241     renamable $v0 = ADDiu $zero, 0
   1242     PseudoReturn64 undef $ra_64, implicit killed $v0
   1243 
   1244 ...
   1245 ---
   1246 name:            _Z6bnz_64_vDv2_x
   1247 alignment:       3
   1248 exposesReturnsTwice: false
   1249 legalized:       false
   1250 regBankSelected: false
   1251 selected:        false
   1252 failedISel:      false
   1253 tracksRegLiveness: true
   1254 registers:
   1255 liveins:
   1256   - { reg: '$a0_64', virtual-reg: '' }
   1257   - { reg: '$a1_64', virtual-reg: '' }
   1258 frameInfo:
   1259   isFrameAddressTaken: false
   1260   isReturnAddressTaken: false
   1261   hasStackMap:     false
   1262   hasPatchPoint:   false
   1263   stackSize:       0
   1264   offsetAdjustment: 0
   1265   maxAlignment:    1
   1266   adjustsStack:    false
   1267   hasCalls:        false
   1268   stackProtector:  ''
   1269   maxCallFrameSize: 0
   1270   hasOpaqueSPAdjustment: false
   1271   hasVAStart:      false
   1272   hasMustTailInVarArgFunc: false
   1273   localFrameSize:  0
   1274   savePoint:       ''
   1275   restorePoint:    ''
   1276 fixedStack:
   1277 stack:
   1278 constants:
   1279 body:             |
   1280   ; MSA-LABEL: name: _Z6bnz_64_vDv2_x
   1281   ; MSA: bb.0.entry:
   1282   ; MSA:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
   1283   ; MSA:   renamable $w0 = LDI_B 0
   1284   ; MSA:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a0_64, 0
   1285   ; MSA:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a1_64, 1
   1286   ; MSA:   BZ_V $w0, %bb.2, implicit-def $at {
   1287   ; MSA:     NOP
   1288   ; MSA:   }
   1289   ; MSA: bb.1.entry:
   1290   ; MSA:   successors: %bb.3(0x80000000)
   1291   ; MSA:   J %bb.3, implicit-def $at {
   1292   ; MSA:     NOP
   1293   ; MSA:   }
   1294   ; MSA: bb.2.if.then:
   1295   ; MSA:   INLINEASM &".space 810680", 1, 12, implicit-def dead early-clobber $at
   1296   ; MSA:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
   1297   ; MSA:     renamable $v0 = ADDiu $zero, 1
   1298   ; MSA:   }
   1299   ; MSA: bb.3:
   1300   ; MSA:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
   1301   ; MSA:     renamable $v0 = ADDiu $zero, 0
   1302   ; MSA:   }
   1303   ; PIC-LABEL: name: _Z6bnz_64_vDv2_x
   1304   ; PIC: bb.0.entry:
   1305   ; PIC:   successors: %bb.3(0x40000000), %bb.1(0x40000000)
   1306   ; PIC:   renamable $w0 = LDI_B 0
   1307   ; PIC:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a0_64, 0
   1308   ; PIC:   renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a1_64, 1
   1309   ; PIC:   BZ_V $w0, %bb.3, implicit-def $at {
   1310   ; PIC:     NOP
   1311   ; PIC:   }
   1312   ; PIC: bb.1.entry:
   1313   ; PIC:   successors: %bb.2(0x80000000)
   1314   ; PIC:   $sp_64 = DADDiu $sp_64, -16
   1315   ; PIC:   SD $ra_64, $sp_64, 0
   1316   ; PIC:   $at_64 = LONG_BRANCH_DADDiu $zero_64, target-flags(mips-abs-hi) %bb.4, %bb.2
   1317   ; PIC:   $at_64 = DSLL $at_64, 16
   1318   ; PIC:   BAL_BR %bb.2, implicit-def $ra {
   1319   ; PIC:     $at_64 = LONG_BRANCH_DADDiu $at_64, target-flags(mips-abs-lo) %bb.4, %bb.2
   1320   ; PIC:   }
   1321   ; PIC: bb.2.entry:
   1322   ; PIC:   successors: %bb.4(0x80000000)
   1323   ; PIC:   $at_64 = DADDu $ra_64, $at_64
   1324   ; PIC:   $ra_64 = LD $sp_64, 0
   1325   ; PIC:   JR64 $at_64 {
   1326   ; PIC:     $sp_64 = DADDiu $sp_64, 16
   1327   ; PIC:   }
   1328   ; PIC: bb.3.if.then:
   1329   ; PIC:   INLINEASM &".space 810680", 1, 12, implicit-def dead early-clobber $at
   1330   ; PIC:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
   1331   ; PIC:     renamable $v0 = ADDiu $zero, 1
   1332   ; PIC:   }
   1333   ; PIC: bb.4:
   1334   ; PIC:   PseudoReturn64 undef $ra_64, implicit killed $v0 {
   1335   ; PIC:     renamable $v0 = ADDiu $zero, 0
   1336   ; PIC:   }
   1337   bb.0.entry:
   1338     successors: %bb.1(0x40000000), %bb.2(0x40000000)
   1339     liveins: $a0_64, $a1_64
   1340 
   1341     renamable $w0 = LDI_B 0
   1342     renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a0_64, 0
   1343     renamable $w0 = INSERT_D killed renamable $w0, killed renamable $a1_64, 1
   1344     BNZ_V killed renamable $w0, %bb.2, implicit-def dead $at
   1345 
   1346   bb.1.if.then:
   1347     INLINEASM &".space 810680", 1, 12, implicit-def dead early-clobber $at
   1348     renamable $v0 = ADDiu $zero, 1
   1349     PseudoReturn64 undef $ra_64, implicit killed $v0
   1350 
   1351   bb.2:
   1352     renamable $v0 = ADDiu $zero, 0
   1353     PseudoReturn64 undef $ra_64, implicit killed $v0
   1354 
   1355 ...
   1356