brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.5 KiB · 784dc38 Raw
167 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: [[USUBO:%[0-9]+]]:_(s32), [[USUBO1:%[0-9]+]]:_(s32) = G_USUBO [[COPY]], [[COPY1]]20    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 021    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[USUBO1]](s32), [[C]], [[USUBO]]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_USUBSAT %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: [[USUBO:%[0-9]+]]:_(s64), [[USUBO1:%[0-9]+]]:_(s32) = G_USUBO [[COPY]], [[COPY1]]48    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 049    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s64) = G_SELECT [[USUBO1]](s32), [[C]], [[USUBO]]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_USUBSAT %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: [[SUB:%[0-9]+]]:_(s32) = G_SUB [[AND]], [[AND1]]79    ; CHECK-NEXT: [[AND2:%[0-9]+]]:_(s32) = G_AND [[SUB]], [[C]]80    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ne), [[SUB]](s32), [[AND2]]81    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 082    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP]](s32), [[C1]], [[SUB]]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_USUBSAT %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: [[SUB:%[0-9]+]]:_(s32) = G_SUB [[AND]], [[AND1]]115    ; CHECK-NEXT: [[AND2:%[0-9]+]]:_(s32) = G_AND [[SUB]], [[C]]116    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ne), [[SUB]](s32), [[AND2]]117    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 0118    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP]](s32), [[C1]], [[SUB]]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_USUBSAT %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' }138body:             |139  bb.1:140    liveins: $w0, $w1141 142    ; CHECK-LABEL: name: func3143    ; CHECK: liveins: $w0, $w1144    ; CHECK-NEXT: {{  $}}145    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $w0146    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $w1147    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 15148    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]149    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C]]150    ; CHECK-NEXT: [[SUB:%[0-9]+]]:_(s32) = G_SUB [[AND]], [[AND1]]151    ; CHECK-NEXT: [[AND2:%[0-9]+]]:_(s32) = G_AND [[SUB]], [[C]]152    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ne), [[SUB]](s32), [[AND2]]153    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 0154    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP]](s32), [[C1]], [[SUB]]155    ; CHECK-NEXT: $w0 = COPY [[SELECT]](s32)156    ; CHECK-NEXT: RET_ReallyLR implicit $w0157    %2:_(s32) = COPY $w0158    %0:_(s4) = G_TRUNC %2(s32)159    %3:_(s32) = COPY $w1160    %1:_(s4) = G_TRUNC %3(s32)161    %4:_(s4) = G_USUBSAT %0, %1162    %5:_(s32) = G_ANYEXT %4(s4)163    $w0 = COPY %5(s32)164    RET_ReallyLR implicit $w0165 166...167