brintos

brintos / llvm-project-archived public Read only

0
0
Text · 8.3 KiB · de37e6a Raw
375 lines · plain
1# RUN: llc -ppc-asm-full-reg-names -mtriple=powerpc64le-unknown-linux-gnu \2# RUN:   -run-pass=ppc-ctrloops %s -o - -verify-machineinstrs | FileCheck %s3# RUN: llc -ppc-asm-full-reg-names -mtriple=powerpc64-ibm-aix-xcoff \4# RUN:   -run-pass=ppc-ctrloops %s -o - -verify-machineinstrs | FileCheck %s5 6---7name:            test_success18# CHECK: test_success19 10tracksRegLiveness: true11body:             |12  bb.0.entry:13 14    %0:g8rc = LI8 204815    ; CHECK: MTCTR8loop16    ; CHECK: BDNZ817    ; CHECK-NOT: ADDI818    ; CHECK-NOT: CMPLDI19    ; CHECK-NOT: BC20    MTCTR8loop killed %0:g8rc, implicit-def dead $ctr821 22  bb.1:23 24    %1:crbitrc = DecreaseCTR8loop 1, implicit-def dead $ctr8, implicit $ctr825    BC killed %1:crbitrc, %bb.126    B %bb.227 28  bb.2:29 30    BLR8 implicit $lr8, implicit $rm31...32---33name:            test_fail_clobber34# CHECK: test_fail_clobber35tracksRegLiveness: true36body:             |37  bb.0.entry:38 39    %0:g8rc = LI8 204840    ; CHECK-NOT: MTCTR8loop41    ; CHECK-NOT: BDNZ842    ; CHECK: ADDI843    ; CHECK: CMPLDI44    ; CHECK: BC45    MTCTR8loop killed %0:g8rc, implicit-def dead $ctr846 47  bb.1:48 49    INLINEASM &"", 1 /* sideeffect attdialect */, 12 /* clobber */, implicit-def early-clobber $ctr850    %1:crbitrc = DecreaseCTR8loop 1, implicit-def dead $ctr8, implicit $ctr851    BC killed %1:crbitrc, %bb.152    B %bb.253 54  bb.2:55 56    BLR8 implicit $lr8, implicit $rm57...58---59name:            test_fail_use_in_loop60# CHECK: test_fail_use_in_loop61tracksRegLiveness: true62body:             |63  bb.0.entry:64 65    %0:g8rc = LI8 204866    ; CHECK-NOT: MTCTR8loop67    ; CHECK-NOT: BDNZ868    ; CHECK: ADDI869    ; CHECK: CMPLDI70    ; CHECK: BC71    MTCTR8loop killed %0:g8rc, implicit-def dead $ctr872 73  bb.1:74 75    %1:g8rc = MFCTR8 implicit $ctr876    %2:crbitrc = DecreaseCTR8loop 1, implicit-def dead $ctr8, implicit $ctr877    BC killed %2:crbitrc, %bb.178    B %bb.279 80  bb.2:81 82    BLR8 implicit $lr8, implicit $rm83...84---85name:            test_fail_call_in_preheader_after_mtctr86# CHECK: test_fail_call_in_preheader_after_mtctr87tracksRegLiveness: true88body:             |89  bb.0.entry:90 91    %0:g8rc = LI8 204892    ; CHECK-NOT: MTCTR893    ; CHECK-NOT: BDNZ894    ; CHECK: ADDI895    ; CHECK: CMPLDI96    ; CHECK: BC97    MTCTR8loop killed %0:g8rc, implicit-def dead $ctr898    BL8 @test_fail_use_in_loop, csr_ppc64, implicit-def dead $lr8, implicit $rm99 100  bb.1:101 102    %1:crbitrc = DecreaseCTR8loop 1, implicit-def dead $ctr8, implicit $ctr8103    BC killed %1:crbitrc, %bb.1104    B %bb.2105 106  bb.2:107 108    BLR8 implicit $lr8, implicit $rm109...110---111name:            test_succ_call_in_preheader_before_mtctr112# CHECK: test_succ_call_in_preheader_before_mtctr113tracksRegLiveness: true114body:             |115  bb.0.entry:116 117    %0:g8rc = LI8 2048118    BL8 @test_fail_use_in_loop, csr_ppc64, implicit-def dead $lr8, implicit $rm119    ; CHECK: MTCTR8120    ; CHECK: BDNZ8121    ; CHECK-NOT: ADDI8122    ; CHECK-NOT: CMPLDI123    ; CHECK-NOT: BC124    MTCTR8loop killed %0:g8rc, implicit-def dead $ctr8125 126  bb.1:127 128    %1:crbitrc = DecreaseCTR8loop 1, implicit-def dead $ctr8, implicit $ctr8129    BC killed %1:crbitrc, %bb.1130    B %bb.2131 132  bb.2:133 134    BLR8 implicit $lr8, implicit $rm135...136---137name:            test_fail_call_in_loop138# CHECK: test_fail_call_in_loop139tracksRegLiveness: true140body:             |141  bb.0.entry:142 143    %0:g8rc = LI8 2048144    ; CHECK-NOT: MTCTR8145    ; CHECK-NOT: BDNZ8146    ; CHECK: ADDI8147    ; CHECK: CMPLDI148    ; CHECK: BC149    MTCTR8loop killed %0:g8rc, implicit-def dead $ctr8150 151  bb.1:152 153    BL8 @test_fail_use_in_loop, csr_ppc64, implicit-def dead $lr8, implicit $rm154    %1:crbitrc = DecreaseCTR8loop 1, implicit-def dead $ctr8, implicit $ctr8155    BC killed %1:crbitrc, %bb.1156    B %bb.2157 158  bb.2:159 160    BLR8 implicit $lr8, implicit $rm161...162---163name:            test_fail_indirect_call_in_loop164# CHECK: test_fail_indirect_call_in_loop165tracksRegLiveness: true166body:             |167  bb.0.entry:168    liveins: $x3, $x4169 170    %0:g8rc = LI8 2048171    ; CHECK-NOT: MTCTR8172    ; CHECK-NOT: BDNZ8173    ; CHECK: ADDI8174    ; CHECK: CMPLDI175    ; CHECK: BC176    renamable %1:crrc = CMPLD killed renamable $x3, killed renamable $x4177    renamable %2:crbitrc = COPY %1.sub_gt178    MTLR8 %0:g8rc, implicit-def $lr8179    MTCTR8loop killed %0:g8rc, implicit-def dead $ctr8180 181  bb.1:182 183    BCLRL renamable %2, implicit $lr, implicit $rm184    %3:crbitrc = DecreaseCTR8loop 1, implicit-def dead $ctr8, implicit $ctr8185    BC killed %3:crbitrc, %bb.1186    B %bb.2187 188  bb.2:189 190    BLR8 implicit $lr8, implicit $rm191...192---193name:            test_fail_livein_preheader194# CHECK: test_fail_livein_preheader195tracksRegLiveness: true196body:             |197  bb.0.entry:198    liveins: $ctr8199 200    %0:g8rc = LI8 2048201    ; CHECK-NOT: MTCTR8loop202    ; CHECK-NOT: BDNZ8203    ; CHECK: ADDI8204    ; CHECK: CMPLDI205    ; CHECK: BC206    MTCTR8loop killed %0:g8rc, implicit-def dead $ctr8207 208  bb.1:209 210    %1:crbitrc = DecreaseCTR8loop 1, implicit-def dead $ctr8, implicit $ctr8211    BC killed %1:crbitrc, %bb.1212    B %bb.2213 214  bb.2:215 216    BLR8 implicit $lr8, implicit $rm217...218---219name:            test_fail_def_preheader220# CHECK: test_fail_def_preheader221tracksRegLiveness: true222body:             |223  bb.0.entry:224 225    INLINEASM &"", 1 /* sideeffect attdialect */, 12 /* clobber */, implicit-def early-clobber $ctr8226    %0:g8rc = LI8 2048227    ; CHECK-NOT: MTCTR8loop228    ; CHECK-NOT: BDNZ8229    ; CHECK: ADDI8230    ; CHECK: CMPLDI231    ; CHECK: BC232    MTCTR8loop killed %0:g8rc, implicit-def dead $ctr8233 234  bb.1:235 236    %1:crbitrc = DecreaseCTR8loop 1, implicit-def dead $ctr8, implicit $ctr8237    BC killed %1:crbitrc, %bb.1238    B %bb.2239 240  bb.2:241 242    BLR8 implicit $lr8, implicit $rm243...244---245name:            test_success_only_use_preheader246# CHECK: test_success_only_use_preheader247tracksRegLiveness: true248body:             |249  bb.0.entry:250 251    %0:g8rc = MFCTR8 implicit $ctr8252    %1:g8rc = LI8 2048253    ; CHECK: MTCTR8loop254    ; CHECK: BDNZ8255    ; CHECK-NOT: ADDI8256    ; CHECK-NOT: CMPLDI257    ; CHECK-NOT: BC258    MTCTR8loop killed %1:g8rc, implicit-def dead $ctr8259 260  bb.1:261 262    %2:crbitrc = DecreaseCTR8loop 1, implicit-def dead $ctr8, implicit $ctr8263    BC killed %2:crbitrc, %bb.1264    B %bb.2265 266  bb.2:267 268    BLR8 implicit $lr8, implicit $rm269...270---271name:            test_fail_use_after_mtctr272# CHECK: test_fail_use_after_mtctr273tracksRegLiveness: true274body:             |275  bb.0.entry:276 277    %0:g8rc = LI8 2048278    ; CHECK-NOT: MTCTR8loop279    ; CHECK-NOT: BDNZ8280    ; CHECK: ADDI8281    ; CHECK: CMPLDI282    ; CHECK: BC283    MTCTR8loop killed %0:g8rc, implicit-def dead $ctr8284    %1:g8rc = MFCTR8 implicit $ctr8285 286  bb.1:287 288    %2:crbitrc = DecreaseCTR8loop 1, implicit-def dead $ctr8, implicit $ctr8289    BC killed %2:crbitrc, %bb.1290    B %bb.2291 292  bb.2:293 294    BLR8 implicit $lr8, implicit $rm295...296---297name:            test_fail_def_after_mtctr298# CHECK: test_fail_def_after_mtctr299tracksRegLiveness: true300body:             |301  bb.0.entry:302 303    %0:g8rc = LI8 2048304    ; CHECK-NOT: MTCTR8loop305    ; CHECK-NOT: BDNZ8306    ; CHECK: ADDI8307    ; CHECK: CMPLDI308    ; CHECK: BC309    MTCTR8loop killed %0:g8rc, implicit-def dead $ctr8310    INLINEASM &"", 1 /* sideeffect attdialect */, 12 /* clobber */, implicit-def early-clobber $ctr8311 312  bb.1:313 314    %2:crbitrc = DecreaseCTR8loop 1, implicit-def dead $ctr8, implicit $ctr8315    BC killed %2:crbitrc, %bb.1316    B %bb.2317 318  bb.2:319 320    BLR8 implicit $lr8, implicit $rm321...322---323name:            test_success_def_after_loop324# CHECK: test_success_def_after_loop325tracksRegLiveness: true326body:             |327  bb.0.entry:328 329    %0:g8rc = LI8 2048330    ; CHECK: MTCTR8loop331    ; CHECK: BDNZ8332    ; CHECK-NOT: ADDI8333    ; CHECK-NOT: CMPLDI334    ; CHECK-NOT: BC335    MTCTR8loop killed %0:g8rc, implicit-def dead $ctr8336 337  bb.1:338 339    %2:crbitrc = DecreaseCTR8loop 1, implicit-def dead $ctr8, implicit $ctr8340    BC killed %2:crbitrc, %bb.1341    B %bb.2342 343  bb.2:344    INLINEASM &"", 1 /* sideeffect attdialect */, 12 /* clobber */, implicit-def early-clobber $ctr8345 346    BLR8 implicit $lr8, implicit $rm347...348---349name:            test_fail_dead_def_in_preheader350# CHECK: test_fail_dead_def_in_preheader351tracksRegLiveness: true352body:             |353  bb.0.entry:354 355    %0:g8rc = LI8 2048356    %1:g8rc = LI8 1024357    MTCTR8loop killed %0:g8rc, implicit-def dead $ctr8358    MTCTR8 killed %1:g8rc, implicit-def dead $ctr8359    ; CHECK-NOT: MTCTR8loop360    ; CHECK-NOT: BDNZ8361    ; CHECK: ADDI8362    ; CHECK: CMPLDI363    ; CHECK: BC364 365  bb.1:366 367    %2:crbitrc = DecreaseCTR8loop 1, implicit-def dead $ctr8, implicit $ctr8368    BC killed %2:crbitrc, %bb.1369    B %bb.2370 371  bb.2:372 373    BLR8 implicit $lr8, implicit $rm374...375