513 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple thumbv8m.base-none-eabi -run-pass=peephole-opt -verify-machineinstrs -o - %s | FileCheck %s3--- |4 target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"5 target triple = "thumbv8m.base-none-none-eabi"6 7 define i32 @test_adc(i32 %a, i32 %b) { ret i32 %a }8 define i32 @test_adc_mov(i32 %a, i32 %b) { ret i32 %a }9 define i32 @test_sbc(i32 %a, i32 %b) { ret i32 %a }10 define i32 @test_rsb(i32 %a) { ret i32 %a }11 define i32 @test_and(i32 %a, i32 %b) { ret i32 %a }12 define i32 @test_orr(i32 %a, i32 %b) { ret i32 %a }13 define i32 @test_eor(i32 %a, i32 %b) { ret i32 %a }14 define i32 @test_bic(i32 %a, i32 %b) { ret i32 %a }15 define i32 @test_mvn(i32 %a) { ret i32 %a }16 define i32 @test_asrrr(i32 %a, i32 %b) { ret i32 %a }17 define i32 @test_asrri(i32 %a) { ret i32 %a }18 define i32 @test_ror(i32 %a, i32 %b) { ret i32 %a }19 20...21---22name: test_adc23liveins:24 - { reg: '$r0', virtual-reg: '%0' }25 - { reg: '$r1', virtual-reg: '%1' }26body: |27 ; CHECK-LABEL: name: test_adc28 ; CHECK: bb.0:29 ; CHECK: successors: %bb.2(0x40000000), %bb.1(0x40000000)30 ; CHECK: [[COPY:%[0-9]+]]:tgpr = COPY $r131 ; CHECK: [[COPY1:%[0-9]+]]:tgpr = COPY $r032 ; CHECK: %2:tgpr, $cpsr = tADDrr [[COPY1]], [[COPY]], 14 /* CC::al */, $noreg33 ; CHECK: %3:tgpr, $cpsr = tADC [[COPY1]], [[COPY]], 14 /* CC::al */, $noreg, implicit $cpsr34 ; CHECK: tBcc %bb.2, 1 /* CC::ne */, $cpsr35 ; CHECK: tB %bb.1, 14 /* CC::al */, $noreg36 ; CHECK: bb.1:37 ; CHECK: $r0 = COPY [[COPY1]]38 ; CHECK: tBX_RET 14 /* CC::al */, $noreg, implicit $r039 ; CHECK: bb.2:40 ; CHECK: %4:tgpr, dead $cpsr = tMOVi8 0, 14 /* CC::al */, $noreg41 ; CHECK: $r0 = COPY %342 ; CHECK: tBX_RET 14 /* CC::al */, $noreg, implicit $r043 bb.0:44 successors: %bb.2(0x40000000), %bb.1(0x40000000)45 liveins: $r0, $r146 47 %1:tgpr = COPY $r148 %0:tgpr = COPY $r049 %3:tgpr, $cpsr = tADDrr %0, %1, 14, $noreg50 %2:tgpr, dead $cpsr = tADC %0, %1, 14, $noreg, implicit $cpsr51 tCMPi8 %2, 0, 14, $noreg, implicit-def $cpsr52 tBcc %bb.2, 1, $cpsr53 tB %bb.1, 14, $noreg54 55 bb.1:56 $r0 = COPY %057 tBX_RET 14, $noreg, implicit $r058 59 bb.2:60 %4:tgpr, dead $cpsr = tMOVi8 0, 14, $noreg61 $r0 = COPY %262 tBX_RET 14, $noreg, implicit $r063...64---65name: test_adc_mov66liveins:67 - { reg: '$r0', virtual-reg: '%0' }68 - { reg: '$r1', virtual-reg: '%1' }69body: |70 ; CHECK-LABEL: name: test_adc_mov71 ; CHECK: bb.0:72 ; CHECK: successors: %bb.2(0x40000000), %bb.1(0x40000000)73 ; CHECK: [[COPY:%[0-9]+]]:tgpr = COPY $r174 ; CHECK: [[COPY1:%[0-9]+]]:tgpr = COPY $r075 ; CHECK: %2:tgpr, $cpsr = tADDrr [[COPY1]], [[COPY]], 14 /* CC::al */, $noreg76 ; CHECK: %3:tgpr, dead $cpsr = tADC [[COPY1]], [[COPY]], 14 /* CC::al */, $noreg, implicit $cpsr77 ; CHECK: %4:tgpr, dead $cpsr = tMOVi8 0, 14 /* CC::al */, $noreg78 ; CHECK: tCMPi8 %3, 0, 14 /* CC::al */, $noreg, implicit-def $cpsr79 ; CHECK: tBcc %bb.2, 1 /* CC::ne */, $cpsr80 ; CHECK: tB %bb.1, 14 /* CC::al */, $noreg81 ; CHECK: bb.1:82 ; CHECK: $r0 = COPY [[COPY1]]83 ; CHECK: tBX_RET 14 /* CC::al */, $noreg, implicit $r084 ; CHECK: bb.2:85 ; CHECK: %5:tgpr, dead $cpsr = tMOVi8 0, 14 /* CC::al */, $noreg86 ; CHECK: $r0 = COPY %387 ; CHECK: tBX_RET 14 /* CC::al */, $noreg, implicit $r088 bb.0:89 successors: %bb.2(0x40000000), %bb.1(0x40000000)90 liveins: $r0, $r191 92 %1:tgpr = COPY $r193 %0:tgpr = COPY $r094 %3:tgpr, $cpsr = tADDrr %0, %1, 14, $noreg95 %2:tgpr, dead $cpsr = tADC %0, %1, 14, $noreg, implicit $cpsr96 %5:tgpr, dead $cpsr = tMOVi8 0, 14, $noreg97 tCMPi8 %2, 0, 14, $noreg, implicit-def $cpsr98 tBcc %bb.2, 1, $cpsr99 tB %bb.1, 14, $noreg100 101 bb.1:102 $r0 = COPY %0103 tBX_RET 14, $noreg, implicit $r0104 105 bb.2:106 %4:tgpr, dead $cpsr = tMOVi8 0, 14, $noreg107 $r0 = COPY %2108 tBX_RET 14, $noreg, implicit $r0109...110---111name: test_sbc112liveins:113 - { reg: '$r0', virtual-reg: '%0' }114 - { reg: '$r1', virtual-reg: '%1' }115body: |116 ; CHECK-LABEL: name: test_sbc117 ; CHECK: bb.0:118 ; CHECK: successors: %bb.2(0x40000000), %bb.1(0x40000000)119 ; CHECK: [[COPY:%[0-9]+]]:tgpr = COPY $r1120 ; CHECK: [[COPY1:%[0-9]+]]:tgpr = COPY $r0121 ; CHECK: %2:tgpr, $cpsr = tADDrr [[COPY1]], [[COPY]], 14 /* CC::al */, $noreg122 ; CHECK: %3:tgpr, $cpsr = tSBC [[COPY1]], [[COPY]], 14 /* CC::al */, $noreg, implicit $cpsr123 ; CHECK: tBcc %bb.2, 1 /* CC::ne */, $cpsr124 ; CHECK: tB %bb.1, 14 /* CC::al */, $noreg125 ; CHECK: bb.1:126 ; CHECK: $r0 = COPY [[COPY1]]127 ; CHECK: tBX_RET 14 /* CC::al */, $noreg, implicit $r0128 ; CHECK: bb.2:129 ; CHECK: %4:tgpr, dead $cpsr = tMOVi8 0, 14 /* CC::al */, $noreg130 ; CHECK: $r0 = COPY %3131 ; CHECK: tBX_RET 14 /* CC::al */, $noreg, implicit $r0132 bb.0:133 successors: %bb.2(0x40000000), %bb.1(0x40000000)134 liveins: $r0, $r1135 136 %1:tgpr = COPY $r1137 %0:tgpr = COPY $r0138 %3:tgpr, $cpsr = tADDrr %0, %1, 14, $noreg139 %2:tgpr, dead $cpsr = tSBC %0, %1, 14, $noreg, implicit $cpsr140 tCMPi8 %2, 0, 14, $noreg, implicit-def $cpsr141 tBcc %bb.2, 1, $cpsr142 tB %bb.1, 14, $noreg143 144 bb.1:145 $r0 = COPY %0146 tBX_RET 14, $noreg, implicit $r0147 148 bb.2:149 %4:tgpr, dead $cpsr = tMOVi8 0, 14, $noreg150 $r0 = COPY %2151 tBX_RET 14, $noreg, implicit $r0152...153---154name: test_rsb155liveins:156 - { reg: '$r0', virtual-reg: '%0' }157body: |158 ; CHECK-LABEL: name: test_rsb159 ; CHECK: bb.0:160 ; CHECK: successors: %bb.2(0x40000000), %bb.1(0x40000000)161 ; CHECK: [[COPY:%[0-9]+]]:tgpr = COPY $r0162 ; CHECK: %1:tgpr, $cpsr = tRSB [[COPY]], 14 /* CC::al */, $noreg163 ; CHECK: tBcc %bb.2, 1 /* CC::ne */, $cpsr164 ; CHECK: tB %bb.1, 14 /* CC::al */, $noreg165 ; CHECK: bb.1:166 ; CHECK: $r0 = COPY [[COPY]]167 ; CHECK: tBX_RET 14 /* CC::al */, $noreg, implicit $r0168 ; CHECK: bb.2:169 ; CHECK: %2:tgpr, dead $cpsr = tMOVi8 0, 14 /* CC::al */, $noreg170 ; CHECK: $r0 = COPY %1171 ; CHECK: tBX_RET 14 /* CC::al */, $noreg, implicit $r0172 bb.0:173 successors: %bb.2(0x40000000), %bb.1(0x40000000)174 liveins: $r0, $r1175 176 %0:tgpr = COPY $r0177 %1:tgpr, dead $cpsr = tRSB %0, 14, $noreg178 tCMPi8 %1, 0, 14, $noreg, implicit-def $cpsr179 tBcc %bb.2, 1, $cpsr180 tB %bb.1, 14, $noreg181 182 bb.1:183 $r0 = COPY %0184 tBX_RET 14, $noreg, implicit $r0185 186 bb.2:187 %4:tgpr, dead $cpsr = tMOVi8 0, 14, $noreg188 $r0 = COPY %1189 tBX_RET 14, $noreg, implicit $r0190...191---192name: test_and193liveins:194 - { reg: '$r0', virtual-reg: '%0' }195 - { reg: '$r1', virtual-reg: '%1' }196body: |197 ; CHECK-LABEL: name: test_and198 ; CHECK: bb.0:199 ; CHECK: successors: %bb.2(0x40000000), %bb.1(0x40000000)200 ; CHECK: [[COPY:%[0-9]+]]:tgpr = COPY $r1201 ; CHECK: [[COPY1:%[0-9]+]]:tgpr = COPY $r0202 ; CHECK: %2:tgpr, $cpsr = tAND [[COPY1]], [[COPY]], 14 /* CC::al */, $noreg203 ; CHECK: tBcc %bb.2, 1 /* CC::ne */, $cpsr204 ; CHECK: tB %bb.1, 14 /* CC::al */, $noreg205 ; CHECK: bb.1:206 ; CHECK: $r0 = COPY [[COPY1]]207 ; CHECK: tBX_RET 14 /* CC::al */, $noreg, implicit $r0208 ; CHECK: bb.2:209 ; CHECK: %3:tgpr, dead $cpsr = tMOVi8 0, 14 /* CC::al */, $noreg210 ; CHECK: $r0 = COPY %2211 ; CHECK: tBX_RET 14 /* CC::al */, $noreg, implicit $r0212 bb.0:213 successors: %bb.2(0x40000000), %bb.1(0x40000000)214 liveins: $r0, $r1215 216 %1:tgpr = COPY $r1217 %0:tgpr = COPY $r0218 %2:tgpr, dead $cpsr = tAND %0, %1, 14, $noreg219 tCMPi8 %2, 0, 14, $noreg, implicit-def $cpsr220 tBcc %bb.2, 1, $cpsr221 tB %bb.1, 14, $noreg222 223 bb.1:224 $r0 = COPY %0225 tBX_RET 14, $noreg, implicit $r0226 227 bb.2:228 %4:tgpr, dead $cpsr = tMOVi8 0, 14, $noreg229 $r0 = COPY %2230 tBX_RET 14, $noreg, implicit $r0231...232---233name: test_orr234liveins:235 - { reg: '$r0', virtual-reg: '%0' }236 - { reg: '$r1', virtual-reg: '%1' }237body: |238 ; CHECK-LABEL: name: test_orr239 ; CHECK: bb.0:240 ; CHECK: successors: %bb.2(0x40000000), %bb.1(0x40000000)241 ; CHECK: [[COPY:%[0-9]+]]:tgpr = COPY $r1242 ; CHECK: [[COPY1:%[0-9]+]]:tgpr = COPY $r0243 ; CHECK: %2:tgpr, $cpsr = tORR [[COPY1]], [[COPY]], 14 /* CC::al */, $noreg244 ; CHECK: tBcc %bb.2, 1 /* CC::ne */, $cpsr245 ; CHECK: tB %bb.1, 14 /* CC::al */, $noreg246 ; CHECK: bb.1:247 ; CHECK: $r0 = COPY [[COPY1]]248 ; CHECK: tBX_RET 14 /* CC::al */, $noreg, implicit $r0249 ; CHECK: bb.2:250 ; CHECK: %3:tgpr, dead $cpsr = tMOVi8 0, 14 /* CC::al */, $noreg251 ; CHECK: $r0 = COPY %2252 ; CHECK: tBX_RET 14 /* CC::al */, $noreg, implicit $r0253 bb.0:254 successors: %bb.2(0x40000000), %bb.1(0x40000000)255 liveins: $r0, $r1256 257 %1:tgpr = COPY $r1258 %0:tgpr = COPY $r0259 %2:tgpr, dead $cpsr = tORR %0, %1, 14, $noreg260 tCMPi8 %2, 0, 14, $noreg, implicit-def $cpsr261 tBcc %bb.2, 1, $cpsr262 tB %bb.1, 14, $noreg263 264 bb.1:265 $r0 = COPY %0266 tBX_RET 14, $noreg, implicit $r0267 268 bb.2:269 %4:tgpr, dead $cpsr = tMOVi8 0, 14, $noreg270 $r0 = COPY %2271 tBX_RET 14, $noreg, implicit $r0272...273---274name: test_eor275liveins:276 - { reg: '$r0', virtual-reg: '%0' }277 - { reg: '$r1', virtual-reg: '%1' }278body: |279 ; CHECK-LABEL: name: test_eor280 ; CHECK: bb.0:281 ; CHECK: successors: %bb.2(0x40000000), %bb.1(0x40000000)282 ; CHECK: [[COPY:%[0-9]+]]:tgpr = COPY $r1283 ; CHECK: [[COPY1:%[0-9]+]]:tgpr = COPY $r0284 ; CHECK: %2:tgpr, $cpsr = tEOR [[COPY1]], [[COPY]], 14 /* CC::al */, $noreg285 ; CHECK: tBcc %bb.2, 1 /* CC::ne */, $cpsr286 ; CHECK: tB %bb.1, 14 /* CC::al */, $noreg287 ; CHECK: bb.1:288 ; CHECK: $r0 = COPY [[COPY1]]289 ; CHECK: tBX_RET 14 /* CC::al */, $noreg, implicit $r0290 ; CHECK: bb.2:291 ; CHECK: %3:tgpr, dead $cpsr = tMOVi8 0, 14 /* CC::al */, $noreg292 ; CHECK: $r0 = COPY %2293 ; CHECK: tBX_RET 14 /* CC::al */, $noreg, implicit $r0294 bb.0:295 successors: %bb.2(0x40000000), %bb.1(0x40000000)296 liveins: $r0, $r1297 298 %1:tgpr = COPY $r1299 %0:tgpr = COPY $r0300 %2:tgpr, dead $cpsr = tEOR %0, %1, 14, $noreg301 tCMPi8 %2, 0, 14, $noreg, implicit-def $cpsr302 tBcc %bb.2, 1, $cpsr303 tB %bb.1, 14, $noreg304 305 bb.1:306 $r0 = COPY %0307 tBX_RET 14, $noreg, implicit $r0308 309 bb.2:310 %4:tgpr, dead $cpsr = tMOVi8 0, 14, $noreg311 $r0 = COPY %2312 tBX_RET 14, $noreg, implicit $r0313...314---315name: test_bic316liveins:317 - { reg: '$r0', virtual-reg: '%0' }318 - { reg: '$r1', virtual-reg: '%1' }319body: |320 ; CHECK-LABEL: name: test_bic321 ; CHECK: bb.0:322 ; CHECK: successors: %bb.2(0x40000000), %bb.1(0x40000000)323 ; CHECK: [[COPY:%[0-9]+]]:tgpr = COPY $r1324 ; CHECK: [[COPY1:%[0-9]+]]:tgpr = COPY $r0325 ; CHECK: %2:tgpr, $cpsr = tBIC [[COPY1]], [[COPY]], 14 /* CC::al */, $noreg326 ; CHECK: tBcc %bb.2, 1 /* CC::ne */, $cpsr327 ; CHECK: tB %bb.1, 14 /* CC::al */, $noreg328 ; CHECK: bb.1:329 ; CHECK: $r0 = COPY [[COPY1]]330 ; CHECK: tBX_RET 14 /* CC::al */, $noreg, implicit $r0331 ; CHECK: bb.2:332 ; CHECK: %3:tgpr, dead $cpsr = tMOVi8 0, 14 /* CC::al */, $noreg333 ; CHECK: $r0 = COPY %2334 ; CHECK: tBX_RET 14 /* CC::al */, $noreg, implicit $r0335 bb.0:336 successors: %bb.2(0x40000000), %bb.1(0x40000000)337 liveins: $r0, $r1338 339 %1:tgpr = COPY $r1340 %0:tgpr = COPY $r0341 %2:tgpr, dead $cpsr = tBIC %0, %1, 14, $noreg342 tCMPi8 %2, 0, 14, $noreg, implicit-def $cpsr343 tBcc %bb.2, 1, $cpsr344 tB %bb.1, 14, $noreg345 346 bb.1:347 $r0 = COPY %0348 tBX_RET 14, $noreg, implicit $r0349 350 bb.2:351 %4:tgpr, dead $cpsr = tMOVi8 0, 14, $noreg352 $r0 = COPY %2353 tBX_RET 14, $noreg, implicit $r0354...355---356name: test_mvn357liveins:358 - { reg: '$r0', virtual-reg: '%0' }359body: |360 ; CHECK-LABEL: name: test_mvn361 ; CHECK: bb.0:362 ; CHECK: successors: %bb.2(0x40000000), %bb.1(0x40000000)363 ; CHECK: [[COPY:%[0-9]+]]:tgpr = COPY $r0364 ; CHECK: %1:tgpr, $cpsr = tMVN [[COPY]], 14 /* CC::al */, $noreg365 ; CHECK: tBcc %bb.2, 1 /* CC::ne */, $cpsr366 ; CHECK: tB %bb.1, 14 /* CC::al */, $noreg367 ; CHECK: bb.1:368 ; CHECK: $r0 = COPY [[COPY]]369 ; CHECK: tBX_RET 14 /* CC::al */, $noreg, implicit $r0370 ; CHECK: bb.2:371 ; CHECK: %2:tgpr, dead $cpsr = tMOVi8 0, 14 /* CC::al */, $noreg372 ; CHECK: $r0 = COPY %1373 ; CHECK: tBX_RET 14 /* CC::al */, $noreg, implicit $r0374 bb.0:375 successors: %bb.2(0x40000000), %bb.1(0x40000000)376 liveins: $r0, $r1377 378 %0:tgpr = COPY $r0379 %1:tgpr, dead $cpsr = tMVN %0, 14, $noreg380 tCMPi8 %1, 0, 14, $noreg, implicit-def $cpsr381 tBcc %bb.2, 1, $cpsr382 tB %bb.1, 14, $noreg383 384 bb.1:385 $r0 = COPY %0386 tBX_RET 14, $noreg, implicit $r0387 388 bb.2:389 %4:tgpr, dead $cpsr = tMOVi8 0, 14, $noreg390 $r0 = COPY %1391 tBX_RET 14, $noreg, implicit $r0392...393---394name: test_asrrr395liveins:396 - { reg: '$r0', virtual-reg: '%0' }397 - { reg: '$r1', virtual-reg: '%1' }398body: |399 ; CHECK-LABEL: name: test_asrrr400 ; CHECK: bb.0:401 ; CHECK: successors: %bb.2(0x40000000), %bb.1(0x40000000)402 ; CHECK: [[COPY:%[0-9]+]]:tgpr = COPY $r1403 ; CHECK: [[COPY1:%[0-9]+]]:tgpr = COPY $r0404 ; CHECK: %2:tgpr, $cpsr = tASRrr [[COPY1]], [[COPY]], 14 /* CC::al */, $noreg405 ; CHECK: tBcc %bb.2, 1 /* CC::ne */, $cpsr406 ; CHECK: tB %bb.1, 14 /* CC::al */, $noreg407 ; CHECK: bb.1:408 ; CHECK: $r0 = COPY [[COPY1]]409 ; CHECK: tBX_RET 14 /* CC::al */, $noreg, implicit $r0410 ; CHECK: bb.2:411 ; CHECK: %3:tgpr, dead $cpsr = tMOVi8 0, 14 /* CC::al */, $noreg412 ; CHECK: $r0 = COPY %2413 ; CHECK: tBX_RET 14 /* CC::al */, $noreg, implicit $r0414 bb.0:415 successors: %bb.2(0x40000000), %bb.1(0x40000000)416 liveins: $r0, $r1417 418 %1:tgpr = COPY $r1419 %0:tgpr = COPY $r0420 %2:tgpr, dead $cpsr = tASRrr %0, %1, 14, $noreg421 tCMPi8 %2, 0, 14, $noreg, implicit-def $cpsr422 tBcc %bb.2, 1, $cpsr423 tB %bb.1, 14, $noreg424 425 bb.1:426 $r0 = COPY %0427 tBX_RET 14, $noreg, implicit $r0428 429 bb.2:430 %4:tgpr, dead $cpsr = tMOVi8 0, 14, $noreg431 $r0 = COPY %2432 tBX_RET 14, $noreg, implicit $r0433...434---435name: test_asrri436liveins:437 - { reg: '$r0', virtual-reg: '%0' }438body: |439 ; CHECK-LABEL: name: test_asrri440 ; CHECK: bb.0:441 ; CHECK: successors: %bb.2(0x40000000), %bb.1(0x40000000)442 ; CHECK: [[COPY:%[0-9]+]]:tgpr = COPY $r0443 ; CHECK: %1:tgpr, $cpsr = tASRri [[COPY]], 1, 14 /* CC::al */, $noreg444 ; CHECK: tBcc %bb.2, 1 /* CC::ne */, $cpsr445 ; CHECK: tB %bb.1, 14 /* CC::al */, $noreg446 ; CHECK: bb.1:447 ; CHECK: $r0 = COPY [[COPY]]448 ; CHECK: tBX_RET 14 /* CC::al */, $noreg, implicit $r0449 ; CHECK: bb.2:450 ; CHECK: %2:tgpr, dead $cpsr = tMOVi8 0, 14 /* CC::al */, $noreg451 ; CHECK: $r0 = COPY %1452 ; CHECK: tBX_RET 14 /* CC::al */, $noreg, implicit $r0453 bb.0:454 successors: %bb.2(0x40000000), %bb.1(0x40000000)455 liveins: $r0, $r1456 457 %0:tgpr = COPY $r0458 %2:tgpr, dead $cpsr = tASRri %0, 1, 14, $noreg459 tCMPi8 %2, 0, 14, $noreg, implicit-def $cpsr460 tBcc %bb.2, 1, $cpsr461 tB %bb.1, 14, $noreg462 463 bb.1:464 $r0 = COPY %0465 tBX_RET 14, $noreg, implicit $r0466 467 bb.2:468 %4:tgpr, dead $cpsr = tMOVi8 0, 14, $noreg469 $r0 = COPY %2470 tBX_RET 14, $noreg, implicit $r0471...472---473name: test_ror474liveins:475 - { reg: '$r0', virtual-reg: '%0' }476 - { reg: '$r1', virtual-reg: '%1' }477body: |478 ; CHECK-LABEL: name: test_ror479 ; CHECK: bb.0:480 ; CHECK: successors: %bb.2(0x40000000), %bb.1(0x40000000)481 ; CHECK: [[COPY:%[0-9]+]]:tgpr = COPY $r1482 ; CHECK: [[COPY1:%[0-9]+]]:tgpr = COPY $r0483 ; CHECK: %2:tgpr, $cpsr = tROR [[COPY1]], [[COPY]], 14 /* CC::al */, $noreg484 ; CHECK: tBcc %bb.2, 1 /* CC::ne */, $cpsr485 ; CHECK: tB %bb.1, 14 /* CC::al */, $noreg486 ; CHECK: bb.1:487 ; CHECK: $r0 = COPY [[COPY1]]488 ; CHECK: tBX_RET 14 /* CC::al */, $noreg, implicit $r0489 ; CHECK: bb.2:490 ; CHECK: %3:tgpr, dead $cpsr = tMOVi8 0, 14 /* CC::al */, $noreg491 ; CHECK: $r0 = COPY %2492 ; CHECK: tBX_RET 14 /* CC::al */, $noreg, implicit $r0493 bb.0:494 successors: %bb.2(0x40000000), %bb.1(0x40000000)495 liveins: $r0, $r1496 497 %1:tgpr = COPY $r1498 %0:tgpr = COPY $r0499 %2:tgpr, dead $cpsr = tROR %0, %1, 14, $noreg500 tCMPi8 %2, 0, 14, $noreg, implicit-def $cpsr501 tBcc %bb.2, 1, $cpsr502 tB %bb.1, 14, $noreg503 504 bb.1:505 $r0 = COPY %0506 tBX_RET 14, $noreg, implicit $r0507 508 bb.2:509 %4:tgpr, dead $cpsr = tMOVi8 0, 14, $noreg510 $r0 = COPY %2511 tBX_RET 14, $noreg, implicit $r0512...513