brintos

brintos / llvm-project-archived public Read only

0
0
Text · 11.9 KiB · 1636549 Raw
457 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 22# RUN: llc -mtriple aarch64 -run-pass=aarch64-prelegalizer-combiner -verify-machineinstrs %s -o - | FileCheck %s3---4name:            add5tracksRegLiveness: true6body:             |7  bb.1:8    liveins: $s09 10    ; CHECK-LABEL: name: add11    ; CHECK: liveins: $s012    ; CHECK-NEXT: {{  $}}13    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s014    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 115    ; CHECK-NEXT: %add:_(s32) = G_ADD [[COPY]], %cst16    ; CHECK-NEXT: $s0 = COPY %add(s32)17    ; CHECK-NEXT: RET_ReallyLR18    %0:_(s32) = COPY $s019    %cst:_(s32) = G_CONSTANT i32 120    %add:_(s32) = G_ADD %cst, %021    $s0 = COPY %add22    RET_ReallyLR23 24...25---26name:            mul27tracksRegLiveness: true28body:             |29  bb.1:30    liveins: $s031 32    ; CHECK-LABEL: name: mul33    ; CHECK: liveins: $s034    ; CHECK-NEXT: {{  $}}35    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s036    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 337    ; CHECK-NEXT: %mul:_(s32) = G_MUL [[COPY]], %cst38    ; CHECK-NEXT: $s0 = COPY %mul(s32)39    ; CHECK-NEXT: RET_ReallyLR40    %0:_(s32) = COPY $s041    %cst:_(s32) = G_CONSTANT i32 342    %mul:_(s32) = G_MUL %cst, %043    $s0 = COPY %mul44    RET_ReallyLR45...46---47name:            and48tracksRegLiveness: true49body:             |50  bb.1:51    liveins: $s052 53    ; CHECK-LABEL: name: and54    ; CHECK: liveins: $s055    ; CHECK-NEXT: {{  $}}56    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s057    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 558    ; CHECK-NEXT: %and:_(s32) = G_AND [[COPY]], %cst59    ; CHECK-NEXT: $s0 = COPY %and(s32)60    ; CHECK-NEXT: RET_ReallyLR61    %0:_(s32) = COPY $s062    %cst:_(s32) = G_CONSTANT i32 563    %and:_(s32) = G_AND %cst, %064    $s0 = COPY %and65    RET_ReallyLR66...67---68name:            or69tracksRegLiveness: true70body:             |71  bb.1:72    liveins: $s073 74    ; CHECK-LABEL: name: or75    ; CHECK: liveins: $s076    ; CHECK-NEXT: {{  $}}77    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s078    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 579    ; CHECK-NEXT: %or:_(s32) = G_OR [[COPY]], %cst80    ; CHECK-NEXT: $s0 = COPY %or(s32)81    ; CHECK-NEXT: RET_ReallyLR82    %0:_(s32) = COPY $s083    %cst:_(s32) = G_CONSTANT i32 584    %or:_(s32) = G_OR %cst, %085    $s0 = COPY %or86    RET_ReallyLR87...88---89name:            xor90tracksRegLiveness: true91body:             |92  bb.1:93    liveins: $s094 95    ; CHECK-LABEL: name: xor96    ; CHECK: liveins: $s097    ; CHECK-NEXT: {{  $}}98    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s099    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 5100    ; CHECK-NEXT: %xor:_(s32) = G_XOR [[COPY]], %cst101    ; CHECK-NEXT: $s0 = COPY %xor(s32)102    ; CHECK-NEXT: RET_ReallyLR103    %0:_(s32) = COPY $s0104    %cst:_(s32) = G_CONSTANT i32 5105    %xor:_(s32) = G_XOR %cst, %0106    $s0 = COPY %xor107    RET_ReallyLR108...109---110name:            smin111tracksRegLiveness: true112body:             |113  bb.1:114    liveins: $s0115 116    ; CHECK-LABEL: name: smin117    ; CHECK: liveins: $s0118    ; CHECK-NEXT: {{  $}}119    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s0120    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 10121    ; CHECK-NEXT: %min:_(s32) = G_SMIN [[COPY]], %cst122    ; CHECK-NEXT: $s0 = COPY %min(s32)123    ; CHECK-NEXT: RET_ReallyLR124    %0:_(s32) = COPY $s0125    %cst:_(s32) = G_CONSTANT i32 10126    %min:_(s32) = G_SMIN %cst, %0127    $s0 = COPY %min128    RET_ReallyLR129...130---131name:            smax132tracksRegLiveness: true133body:             |134  bb.1:135    liveins: $s0136 137    ; CHECK-LABEL: name: smax138    ; CHECK: liveins: $s0139    ; CHECK-NEXT: {{  $}}140    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s0141    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 10142    ; CHECK-NEXT: %max:_(s32) = G_SMAX [[COPY]], %cst143    ; CHECK-NEXT: $s0 = COPY %max(s32)144    ; CHECK-NEXT: RET_ReallyLR145    %0:_(s32) = COPY $s0146    %cst:_(s32) = G_CONSTANT i32 10147    %max:_(s32) = G_SMAX %cst, %0148    $s0 = COPY %max149    RET_ReallyLR150...151---152name:            umin153tracksRegLiveness: true154body:             |155  bb.1:156    liveins: $s0157 158    ; CHECK-LABEL: name: umin159    ; CHECK: liveins: $s0160    ; CHECK-NEXT: {{  $}}161    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s0162    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 10163    ; CHECK-NEXT: %min:_(s32) = G_UMIN [[COPY]], %cst164    ; CHECK-NEXT: $s0 = COPY %min(s32)165    ; CHECK-NEXT: RET_ReallyLR166    %0:_(s32) = COPY $s0167    %cst:_(s32) = G_CONSTANT i32 10168    %min:_(s32) = G_UMIN %cst, %0169    $s0 = COPY %min170    RET_ReallyLR171...172---173name:            umax174tracksRegLiveness: true175body:             |176  bb.1:177    liveins: $s0178 179    ; CHECK-LABEL: name: umax180    ; CHECK: liveins: $s0181    ; CHECK-NEXT: {{  $}}182    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s0183    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 10184    ; CHECK-NEXT: %max:_(s32) = G_UMAX [[COPY]], %cst185    ; CHECK-NEXT: $s0 = COPY %max(s32)186    ; CHECK-NEXT: RET_ReallyLR187    %0:_(s32) = COPY $s0188    %cst:_(s32) = G_CONSTANT i32 10189    %max:_(s32) = G_UMAX %cst, %0190    $s0 = COPY %max191    RET_ReallyLR192...193---194name:            uaddo195tracksRegLiveness: true196body:             |197  bb.1:198    liveins: $s0199 200    ; CHECK-LABEL: name: uaddo201    ; CHECK: liveins: $s0202    ; CHECK-NEXT: {{  $}}203    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s0204    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 1205    ; CHECK-NEXT: %add:_(s32), %overflow:_(s1) = G_UADDO [[COPY]], %cst206    ; CHECK-NEXT: %ret:_(s32) = G_ANYEXT %overflow(s1)207    ; CHECK-NEXT: $s0 = COPY %ret(s32)208    ; CHECK-NEXT: RET_ReallyLR209    %0:_(s32) = COPY $s0210    %cst:_(s32) = G_CONSTANT i32 1211    %add:_(s32), %overflow:_(s1) = G_UADDO %cst, %0212    %ret:_(s32) = G_ANYEXT %overflow213    $s0 = COPY %ret214    RET_ReallyLR215 216...217---218name:            saddo219tracksRegLiveness: true220body:             |221  bb.1:222    liveins: $s0223 224    ; CHECK-LABEL: name: saddo225    ; CHECK: liveins: $s0226    ; CHECK-NEXT: {{  $}}227    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s0228    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 1229    ; CHECK-NEXT: %add:_(s32), %overflow:_(s1) = G_SADDO [[COPY]], %cst230    ; CHECK-NEXT: %ret:_(s32) = G_ANYEXT %overflow(s1)231    ; CHECK-NEXT: $s0 = COPY %ret(s32)232    ; CHECK-NEXT: RET_ReallyLR233    %0:_(s32) = COPY $s0234    %cst:_(s32) = G_CONSTANT i32 1235    %add:_(s32), %overflow:_(s1) = G_SADDO %cst, %0236    %ret:_(s32) = G_ANYEXT %overflow237    $s0 = COPY %ret238    RET_ReallyLR239 240...241---242name:            umulo243tracksRegLiveness: true244body:             |245  bb.1:246    liveins: $s0247 248    ; CHECK-LABEL: name: umulo249    ; CHECK: liveins: $s0250    ; CHECK-NEXT: {{  $}}251    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s0252    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 3253    ; CHECK-NEXT: %mul:_(s32), %overflow:_(s1) = G_UMULO [[COPY]], %cst254    ; CHECK-NEXT: %ret:_(s32) = G_ANYEXT %overflow(s1)255    ; CHECK-NEXT: $s0 = COPY %ret(s32)256    ; CHECK-NEXT: RET_ReallyLR257    %0:_(s32) = COPY $s0258    %cst:_(s32) = G_CONSTANT i32 3259    %mul:_(s32), %overflow:_(s1) = G_UMULO %cst, %0260    %ret:_(s32) = G_ANYEXT %overflow261    $s0 = COPY %ret262    RET_ReallyLR263...264---265name:            smulo266tracksRegLiveness: true267body:             |268  bb.1:269    liveins: $s0270 271    ; CHECK-LABEL: name: smulo272    ; CHECK: liveins: $s0273    ; CHECK-NEXT: {{  $}}274    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s0275    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 3276    ; CHECK-NEXT: %mul:_(s32), %overflow:_(s1) = G_SMULO [[COPY]], %cst277    ; CHECK-NEXT: %ret:_(s32) = G_ANYEXT %overflow(s1)278    ; CHECK-NEXT: $s0 = COPY %ret(s32)279    ; CHECK-NEXT: RET_ReallyLR280    %0:_(s32) = COPY $s0281    %cst:_(s32) = G_CONSTANT i32 3282    %mul:_(s32), %overflow:_(s1) = G_SMULO %cst, %0283    %ret:_(s32) = G_ANYEXT %overflow284    $s0 = COPY %ret285    RET_ReallyLR286...287---288name:            umulh289tracksRegLiveness: true290body:             |291  bb.1:292    liveins: $s0293 294    ; CHECK-LABEL: name: umulh295    ; CHECK: liveins: $s0296    ; CHECK-NEXT: {{  $}}297    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s0298    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 3299    ; CHECK-NEXT: %mul:_(s32) = G_UMULH [[COPY]], %cst300    ; CHECK-NEXT: $s0 = COPY %mul(s32)301    ; CHECK-NEXT: RET_ReallyLR302    %0:_(s32) = COPY $s0303    %cst:_(s32) = G_CONSTANT i32 3304    %mul:_(s32) = G_UMULH %cst, %0305    $s0 = COPY %mul306    RET_ReallyLR307...308---309name:            smulh310tracksRegLiveness: true311body:             |312  bb.1:313    liveins: $s0314 315    ; CHECK-LABEL: name: smulh316    ; CHECK: liveins: $s0317    ; CHECK-NEXT: {{  $}}318    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s0319    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 3320    ; CHECK-NEXT: %mul:_(s32) = G_UMULH [[COPY]], %cst321    ; CHECK-NEXT: $s0 = COPY %mul(s32)322    ; CHECK-NEXT: RET_ReallyLR323    %0:_(s32) = COPY $s0324    %cst:_(s32) = G_CONSTANT i32 3325    %mul:_(s32) = G_UMULH %cst, %0326    $s0 = COPY %mul327    RET_ReallyLR328...329---330name:            uaddsat331tracksRegLiveness: true332body:             |333  bb.1:334    liveins: $s0335 336    ; CHECK-LABEL: name: uaddsat337    ; CHECK: liveins: $s0338    ; CHECK-NEXT: {{  $}}339    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s0340    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 1341    ; CHECK-NEXT: %add:_(s32) = G_UADDSAT [[COPY]], %cst342    ; CHECK-NEXT: $s0 = COPY %add(s32)343    ; CHECK-NEXT: RET_ReallyLR344    %0:_(s32) = COPY $s0345    %cst:_(s32) = G_CONSTANT i32 1346    %add:_(s32) = G_UADDSAT %cst, %0347    $s0 = COPY %add348    RET_ReallyLR349 350...351---352name:            saddsat353tracksRegLiveness: true354body:             |355  bb.1:356    liveins: $s0357 358    ; CHECK-LABEL: name: saddsat359    ; CHECK: liveins: $s0360    ; CHECK-NEXT: {{  $}}361    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s0362    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 1363    ; CHECK-NEXT: %add:_(s32) = G_SADDSAT [[COPY]], %cst364    ; CHECK-NEXT: $s0 = COPY %add(s32)365    ; CHECK-NEXT: RET_ReallyLR366    %0:_(s32) = COPY $s0367    %cst:_(s32) = G_CONSTANT i32 1368    %add:_(s32) = G_SADDSAT %cst, %0369    $s0 = COPY %add370    RET_ReallyLR371 372...373---374name:            smulfix375tracksRegLiveness: true376body:             |377  bb.1:378    liveins: $s0379 380    ; CHECK-LABEL: name: smulfix381    ; CHECK: liveins: $s0382    ; CHECK-NEXT: {{  $}}383    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s0384    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 3385    ; CHECK-NEXT: %mul:_(s32) = G_SMULFIX [[COPY]], %cst, 7386    ; CHECK-NEXT: $s0 = COPY %mul(s32)387    ; CHECK-NEXT: RET_ReallyLR388    %0:_(s32) = COPY $s0389    %cst:_(s32) = G_CONSTANT i32 3390    %mul:_(s32) = G_SMULFIX %cst, %0, 7391    $s0 = COPY %mul392    RET_ReallyLR393...394---395name:            umulfix396tracksRegLiveness: true397body:             |398  bb.1:399    liveins: $s0400 401    ; CHECK-LABEL: name: umulfix402    ; CHECK: liveins: $s0403    ; CHECK-NEXT: {{  $}}404    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s0405    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 3406    ; CHECK-NEXT: %mul:_(s32) = G_UMULFIX [[COPY]], %cst, 7407    ; CHECK-NEXT: $s0 = COPY %mul(s32)408    ; CHECK-NEXT: RET_ReallyLR409    %0:_(s32) = COPY $s0410    %cst:_(s32) = G_CONSTANT i32 3411    %mul:_(s32) = G_UMULFIX %cst, %0, 7412    $s0 = COPY %mul413    RET_ReallyLR414...415---416name:            smulfixsat417tracksRegLiveness: true418body:             |419  bb.1:420    liveins: $s0421 422    ; CHECK-LABEL: name: smulfixsat423    ; CHECK: liveins: $s0424    ; CHECK-NEXT: {{  $}}425    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s0426    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 3427    ; CHECK-NEXT: %mul:_(s32) = G_SMULFIXSAT [[COPY]], %cst, 7428    ; CHECK-NEXT: $s0 = COPY %mul(s32)429    ; CHECK-NEXT: RET_ReallyLR430    %0:_(s32) = COPY $s0431    %cst:_(s32) = G_CONSTANT i32 3432    %mul:_(s32) = G_SMULFIXSAT %cst, %0, 7433    $s0 = COPY %mul434    RET_ReallyLR435...436---437name:            umulfixsat438tracksRegLiveness: true439body:             |440  bb.1:441    liveins: $s0442 443    ; CHECK-LABEL: name: umulfixsat444    ; CHECK: liveins: $s0445    ; CHECK-NEXT: {{  $}}446    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s0447    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 3448    ; CHECK-NEXT: %mul:_(s32) = G_UMULFIXSAT [[COPY]], %cst, 7449    ; CHECK-NEXT: $s0 = COPY %mul(s32)450    ; CHECK-NEXT: RET_ReallyLR451    %0:_(s32) = COPY $s0452    %cst:_(s32) = G_CONSTANT i32 3453    %mul:_(s32) = G_UMULFIXSAT %cst, %0, 7454    $s0 = COPY %mul455    RET_ReallyLR456...457