brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.5 KiB · e6293e7 Raw
170 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -O0 -mtriple=aarch64 -run-pass=legalizer -global-isel-abort=1 %s -o - | FileCheck %s3---4name:            func5alignment:       46tracksRegLiveness: true7liveins:8  - { reg: '$w0' }9  - { reg: '$w1' }10body:             |11  bb.1:12    liveins: $w0, $w113 14    ; CHECK-LABEL: name: func15    ; CHECK: liveins: $w0, $w116    ; CHECK-NEXT: {{  $}}17    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $w018    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $w119    ; CHECK-NEXT: [[UADDO:%[0-9]+]]:_(s32), [[UADDO1:%[0-9]+]]:_(s32) = G_UADDO [[COPY]], [[COPY1]]20    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 -121    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[UADDO1]](s32), [[C]], [[UADDO]]22    ; CHECK-NEXT: $w0 = COPY [[SELECT]](s32)23    ; CHECK-NEXT: RET_ReallyLR implicit $w024    %0:_(s32) = COPY $w025    %1:_(s32) = COPY $w126    %2:_(s32) = G_UADDSAT %0, %127    $w0 = COPY %2(s32)28    RET_ReallyLR implicit $w029 30...31---32name:            func233alignment:       434tracksRegLiveness: true35liveins:36  - { reg: '$x0' }37  - { reg: '$x1' }38body:             |39  bb.1:40    liveins: $x0, $x141 42    ; CHECK-LABEL: name: func243    ; CHECK: liveins: $x0, $x144    ; CHECK-NEXT: {{  $}}45    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x046    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x147    ; CHECK-NEXT: [[UADDO:%[0-9]+]]:_(s64), [[UADDO1:%[0-9]+]]:_(s32) = G_UADDO [[COPY]], [[COPY1]]48    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 -149    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s64) = G_SELECT [[UADDO1]](s32), [[C]], [[UADDO]]50    ; CHECK-NEXT: $x0 = COPY [[SELECT]](s64)51    ; CHECK-NEXT: RET_ReallyLR implicit $x052    %0:_(s64) = COPY $x053    %1:_(s64) = COPY $x154    %2:_(s64) = G_UADDSAT %0, %155    $x0 = COPY %2(s64)56    RET_ReallyLR implicit $x057 58...59---60name:            func1661alignment:       462tracksRegLiveness: true63liveins:64  - { reg: '$w0' }65  - { reg: '$w1' }66body:             |67  bb.1:68    liveins: $w0, $w169 70    ; CHECK-LABEL: name: func1671    ; CHECK: liveins: $w0, $w172    ; CHECK-NEXT: {{  $}}73    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $w074    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $w175    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 6553576    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]77    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C]]78    ; CHECK-NEXT: [[ADD:%[0-9]+]]:_(s32) = G_ADD [[AND]], [[AND1]]79    ; CHECK-NEXT: [[AND2:%[0-9]+]]:_(s32) = G_AND [[ADD]], [[C]]80    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ne), [[ADD]](s32), [[AND2]]81    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 -182    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP]](s32), [[C1]], [[ADD]]83    ; CHECK-NEXT: $w0 = COPY [[SELECT]](s32)84    ; CHECK-NEXT: RET_ReallyLR implicit $w085    %2:_(s32) = COPY $w086    %0:_(s16) = G_TRUNC %2(s32)87    %3:_(s32) = COPY $w188    %1:_(s16) = G_TRUNC %3(s32)89    %4:_(s16) = G_UADDSAT %0, %190    %5:_(s32) = G_ANYEXT %4(s16)91    $w0 = COPY %5(s32)92    RET_ReallyLR implicit $w093 94...95---96name:            func897alignment:       498tracksRegLiveness: true99liveins:100  - { reg: '$w0' }101  - { reg: '$w1' }102body:             |103  bb.1:104    liveins: $w0, $w1105 106    ; CHECK-LABEL: name: func8107    ; CHECK: liveins: $w0, $w1108    ; CHECK-NEXT: {{  $}}109    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $w0110    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $w1111    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 255112    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]113    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C]]114    ; CHECK-NEXT: [[ADD:%[0-9]+]]:_(s32) = G_ADD [[AND]], [[AND1]]115    ; CHECK-NEXT: [[AND2:%[0-9]+]]:_(s32) = G_AND [[ADD]], [[C]]116    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ne), [[ADD]](s32), [[AND2]]117    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 -1118    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP]](s32), [[C1]], [[ADD]]119    ; CHECK-NEXT: $w0 = COPY [[SELECT]](s32)120    ; CHECK-NEXT: RET_ReallyLR implicit $w0121    %2:_(s32) = COPY $w0122    %0:_(s8) = G_TRUNC %2(s32)123    %3:_(s32) = COPY $w1124    %1:_(s8) = G_TRUNC %3(s32)125    %4:_(s8) = G_UADDSAT %0, %1126    %5:_(s32) = G_ANYEXT %4(s8)127    $w0 = COPY %5(s32)128    RET_ReallyLR implicit $w0129 130...131---132name:            func3133alignment:       4134tracksRegLiveness: true135liveins:136  - { reg: '$w0' }137  - { reg: '$w1' }138frameInfo:139  maxAlignment:    1140machineFunctionInfo: {}141body:             |142  bb.1:143    liveins: $w0, $w1144 145    ; CHECK-LABEL: name: func3146    ; CHECK: liveins: $w0, $w1147    ; CHECK-NEXT: {{  $}}148    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $w0149    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $w1150    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 15151    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]152    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C]]153    ; CHECK-NEXT: [[ADD:%[0-9]+]]:_(s32) = G_ADD [[AND]], [[AND1]]154    ; CHECK-NEXT: [[AND2:%[0-9]+]]:_(s32) = G_AND [[ADD]], [[C]]155    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ne), [[ADD]](s32), [[AND2]]156    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(s32) = COPY [[C]](s32)157    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP]](s32), [[COPY2]], [[ADD]]158    ; CHECK-NEXT: $w0 = COPY [[SELECT]](s32)159    ; CHECK-NEXT: RET_ReallyLR implicit $w0160    %2:_(s32) = COPY $w0161    %0:_(s4) = G_TRUNC %2(s32)162    %3:_(s32) = COPY $w1163    %1:_(s4) = G_TRUNC %3(s32)164    %4:_(s4) = G_UADDSAT %0, %1165    %5:_(s32) = G_ANYEXT %4(s4)166    $w0 = COPY %5(s32)167    RET_ReallyLR implicit $w0168 169...170