brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.4 KiB · ffe62cf Raw
346 lines · plain
1# RUN: llc -ppc-asm-full-reg-names -mtriple=powerpc-ibm-aix-xcoff \2# RUN:   -run-pass=ppc-ctrloops %s -o - -verify-machineinstrs | FileCheck %s 3 4---5name:            test_success16# CHECK: test_success17 8tracksRegLiveness: true9body:             |10  bb.0.entry:11 12    %0:gprc = LI 204813    ; CHECK: MTCTRloop14    ; CHECK: BDNZ15    ; CHECK-NOT: ADDI16    ; CHECK-NOT: CMPLWI17    ; CHECK-NOT: BC18    MTCTRloop killed %0:gprc, implicit-def dead $ctr19 20  bb.1:21 22    %1:crbitrc = DecreaseCTRloop 1, implicit-def dead $ctr, implicit $ctr23    BC killed %1:crbitrc, %bb.124    B %bb.225 26  bb.2:27 28    BLR implicit $lr, implicit $rm29...30---31name:            test_fail_clobber32# CHECK: test_fail_clobber33tracksRegLiveness: true34body:             |35  bb.0.entry:36 37    %0:gprc = LI 204838    ; CHECK-NOT: MTCTRloop39    ; CHECK-NOT: BDNZ40    ; CHECK: ADDI41    ; CHECK: CMPLWI42    ; CHECK: BC43    MTCTRloop killed %0:gprc, implicit-def dead $ctr44 45  bb.1:46 47    INLINEASM &"", 1 /* sideeffect attdialect */, 12 /* clobber */, implicit-def early-clobber $ctr48    %1:crbitrc = DecreaseCTRloop 1, implicit-def dead $ctr, implicit $ctr49    BC killed %1:crbitrc, %bb.150    B %bb.251 52  bb.2:53 54    BLR implicit $lr, implicit $rm55...56---57name:            test_fail_use_in_loop58# CHECK: test_fail_use_in_loop59tracksRegLiveness: true60body:             |61  bb.0.entry:62 63    %0:gprc = LI 204864    ; CHECK-NOT: MTCTRloop65    ; CHECK-NOT: BDNZ66    ; CHECK: ADDI67    ; CHECK: CMPLWI68    ; CHECK: BC69    MTCTRloop killed %0:gprc, implicit-def dead $ctr70 71  bb.1:72 73    %1:gprc = MFCTR implicit $ctr74    %2:crbitrc = DecreaseCTRloop 1, implicit-def dead $ctr, implicit $ctr75    BC killed %2:crbitrc, %bb.176    B %bb.277 78  bb.2:79 80    BLR implicit $lr, implicit $rm81...82---83name:            test_fail_call_in_preheader_after_mtctr84# CHECK: test_fail_call_in_preheader_after_mtctr85tracksRegLiveness: true86body:             |87  bb.0.entry:88 89    %0:gprc = LI 204890    ; CHECK-NOT: MTCTR91    ; CHECK-NOT: BDNZ92    ; CHECK: ADDI93    ; CHECK: CMPLWI94    ; CHECK: BC95    MTCTRloop killed %0:gprc, implicit-def dead $ctr96    BL @test_fail_use_in_loop, csr_aix32, implicit-def dead $lr, implicit $rm97 98  bb.1:99 100    %1:crbitrc = DecreaseCTRloop 1, implicit-def dead $ctr, implicit $ctr101    BC killed %1:crbitrc, %bb.1102    B %bb.2103 104  bb.2:105 106    BLR implicit $lr, implicit $rm107...108---109name:            test_succ_call_in_preheader_before_mtctr110# CHECK: test_succ_call_in_preheader_before_mtctr111tracksRegLiveness: true112body:             |113  bb.0.entry:114 115    %0:gprc = LI 2048116    BL @test_fail_use_in_loop, csr_aix32, implicit-def dead $lr, implicit $rm117    ; CHECK: MTCTR118    ; CHECK: BDNZ119    ; CHECK-NOT: ADDI120    ; CHECK-NOT: CMPLWI121    ; CHECK-NOT: BC122    MTCTRloop killed %0:gprc, implicit-def dead $ctr123 124  bb.1:125 126    %1:crbitrc = DecreaseCTRloop 1, implicit-def dead $ctr, implicit $ctr127    BC killed %1:crbitrc, %bb.1128    B %bb.2129 130  bb.2:131 132    BLR implicit $lr, implicit $rm133...134---135name:            test_fail_call_in_loop136# CHECK: test_fail_call_in_loop137tracksRegLiveness: true138body:             |139  bb.0.entry:140 141    %0:gprc = LI 2048142    ; CHECK-NOT: MTCTR143    ; CHECK-NOT: BDNZ144    ; CHECK: ADDI145    ; CHECK: CMPLWI146    ; CHECK: BC147    MTCTRloop killed %0:gprc, implicit-def dead $ctr148 149  bb.1:150 151    BL @test_fail_use_in_loop, csr_aix32, implicit-def dead $lr, implicit $rm152    %1:crbitrc = DecreaseCTRloop 1, implicit-def dead $ctr, implicit $ctr153    BC killed %1:crbitrc, %bb.1154    B %bb.2155 156  bb.2:157 158    BLR implicit $lr, implicit $rm159...160---161name:            test_fail_indirect_call_in_loop162# CHECK: test_fail_indirect_call_in_loop163tracksRegLiveness: true164body:             |165  bb.0.entry:166   liveins: $r3, $r4167 168    %0:gprc = LI 2048169    ; CHECK-NOT: MTCTR170    ; CHECK-NOT: BDNZ171    ; CHECK: ADDI172    ; CHECK: CMPLWI173    ; CHECK: BC174    renamable %1:crrc = CMPLW killed renamable $r3, killed renamable $r4175    renamable %2:crbitrc = COPY %1.sub_gt176    MTLR %0:gprc, implicit-def $lr177    MTCTRloop %0:gprc, implicit-def dead $ctr178 179  bb.1:180 181    BCLRL renamable %2, implicit $lr, implicit $rm182    %3:crbitrc = DecreaseCTRloop 1, implicit-def dead $ctr, implicit $ctr183    BC killed %3:crbitrc, %bb.1184    B %bb.2185 186  bb.2:187 188    BLR implicit $lr, implicit $rm189...190---191name:            test_fail_livein_preheader192# CHECK: test_fail_livein_preheader193tracksRegLiveness: true194body:             |195  bb.0.entry:196    liveins: $ctr197 198    %0:gprc = LI 2048199    ; CHECK-NOT: MTCTRloop200    ; CHECK-NOT: BDNZ201    ; CHECK: ADDI202    ; CHECK: CMPLWI203    ; CHECK: BC204    MTCTRloop killed %0:gprc, implicit-def dead $ctr205 206  bb.1:207 208    %1:crbitrc = DecreaseCTRloop 1, implicit-def dead $ctr, implicit $ctr209    BC killed %1:crbitrc, %bb.1210    B %bb.2211 212  bb.2:213 214    BLR implicit $lr, implicit $rm215...216---217name:            test_fail_def_preheader218# CHECK: test_fail_def_preheader219tracksRegLiveness: true220body:             |221  bb.0.entry:222 223    INLINEASM &"", 1 /* sideeffect attdialect */, 12 /* clobber */, implicit-def early-clobber $ctr224    %0:gprc = LI 2048225    ; CHECK-NOT: MTCTRloop226    ; CHECK-NOT: BDNZ227    ; CHECK: ADDI228    ; CHECK: CMPLWI229    ; CHECK: BC230    MTCTRloop killed %0:gprc, implicit-def dead $ctr231 232  bb.1:233 234    %1:crbitrc = DecreaseCTRloop 1, implicit-def dead $ctr, implicit $ctr235    BC killed %1:crbitrc, %bb.1236    B %bb.2237 238  bb.2:239 240    BLR implicit $lr, implicit $rm241...242---243name:            test_success_only_use_preheader244# CHECK: test_success_only_use_preheader245tracksRegLiveness: true246body:             |247  bb.0.entry:248 249    %0:gprc = MFCTR implicit $ctr250    %1:gprc = LI 2048251    ; CHECK: MTCTRloop252    ; CHECK: BDNZ253    ; CHECK-NOT: ADDI254    ; CHECK-NOT: CMPLWI255    ; CHECK-NOT: BC256    MTCTRloop killed %1:gprc, implicit-def dead $ctr257 258  bb.1:259 260    %2:crbitrc = DecreaseCTRloop 1, implicit-def dead $ctr, implicit $ctr261    BC killed %2:crbitrc, %bb.1262    B %bb.2263 264  bb.2:265 266    BLR implicit $lr, implicit $rm267...268---269name:            test_fail_use_after_mtctr270# CHECK: test_fail_use_after_mtctr271tracksRegLiveness: true272body:             |273  bb.0.entry:274 275    %0:gprc = LI 2048276    ; CHECK-NOT: MTCTRloop277    ; CHECK-NOT: BDNZ278    ; CHECK: ADDI279    ; CHECK: CMPLWI280    ; CHECK: BC281    MTCTRloop killed %0:gprc, implicit-def dead $ctr282    %1:gprc = MFCTR implicit $ctr283 284  bb.1:285 286    %2:crbitrc = DecreaseCTRloop 1, implicit-def dead $ctr, implicit $ctr287    BC killed %2:crbitrc, %bb.1288    B %bb.2289 290  bb.2:291 292    BLR implicit $lr, implicit $rm293...294---295name:            test_fail_def_after_mtctr296# CHECK: test_fail_def_after_mtctr297tracksRegLiveness: true298body:             |299  bb.0.entry:300 301    %0:gprc = LI 2048302    ; CHECK-NOT: MTCTRloop303    ; CHECK-NOT: BDNZ304    ; CHECK: ADDI305    ; CHECK: CMPLWI306    ; CHECK: BC307    MTCTRloop killed %0:gprc, implicit-def dead $ctr308    INLINEASM &"", 1 /* sideeffect attdialect */, 12 /* clobber */, implicit-def early-clobber $ctr309 310  bb.1:311 312    %2:crbitrc = DecreaseCTRloop 1, implicit-def dead $ctr, implicit $ctr313    BC killed %2:crbitrc, %bb.1314    B %bb.2315 316  bb.2:317 318    BLR implicit $lr, implicit $rm319...320---321name:            test_success_def_after_loop322# CHECK: test_success_def_after_loop323tracksRegLiveness: true324body:             |325  bb.0.entry:326 327    %0:gprc = LI 2048328    ; CHECK: MTCTRloop329    ; CHECK: BDNZ330    ; CHECK-NOT: ADDI331    ; CHECK-NOT: CMPLWI332    ; CHECK-NOT: BC333    MTCTRloop killed %0:gprc, implicit-def dead $ctr334 335  bb.1:336 337    %2:crbitrc = DecreaseCTRloop 1, implicit-def dead $ctr, implicit $ctr338    BC killed %2:crbitrc, %bb.1339    B %bb.2340 341  bb.2:342    INLINEASM &"", 1 /* sideeffect attdialect */, 12 /* clobber */, implicit-def early-clobber $ctr343 344    BLR implicit $lr, implicit $rm345...346