brintos

brintos / llvm-project-archived public Read only

0
0
Text · 17.6 KiB · ceddb4b Raw
472 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=aarch64 -run-pass=legalizer %s -o - | FileCheck %s3---4name:            test_scalar_add_big5body:             |6  bb.0.entry:7    ; CHECK-LABEL: name: test_scalar_add_big8    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x09    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x110    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(s64) = COPY $x211    ; CHECK-NEXT: [[COPY3:%[0-9]+]]:_(s64) = COPY $x312    ; CHECK-NEXT: [[UADDO:%[0-9]+]]:_(s64), [[UADDO1:%[0-9]+]]:_(s32) = G_UADDO [[COPY]], [[COPY2]]13    ; CHECK-NEXT: [[UADDE:%[0-9]+]]:_(s64), [[UADDE1:%[0-9]+]]:_(s32) = G_UADDE [[COPY1]], [[COPY3]], [[UADDO1]]14    ; CHECK-NEXT: $x0 = COPY [[UADDO]](s64)15    ; CHECK-NEXT: $x1 = COPY [[UADDE]](s64)16    %0:_(s64) = COPY $x017    %1:_(s64) = COPY $x118    %2:_(s64) = COPY $x219    %3:_(s64) = COPY $x320    %4:_(s128) = G_MERGE_VALUES %0(s64), %1(s64)21    %5:_(s128) = G_MERGE_VALUES %2(s64), %3(s64)22    %6:_(s128) = G_ADD %4, %523    %7:_(s64), %8:_(s64) = G_UNMERGE_VALUES %6(s128)24    $x0 = COPY %7(s64)25    $x1 = COPY %8(s64)26 27...28---29name:            test_scalar_add_big_nonpow230body:             |31  bb.0.entry:32    ; CHECK-LABEL: name: test_scalar_add_big_nonpow233    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x034    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x135    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(s64) = COPY $x236    ; CHECK-NEXT: [[COPY3:%[0-9]+]]:_(s64) = COPY $x337    ; CHECK-NEXT: [[UADDO:%[0-9]+]]:_(s64), [[UADDO1:%[0-9]+]]:_(s32) = G_UADDO [[COPY]], [[COPY1]]38    ; CHECK-NEXT: [[UADDE:%[0-9]+]]:_(s64), [[UADDE1:%[0-9]+]]:_(s32) = G_UADDE [[COPY1]], [[COPY2]], [[UADDO1]]39    ; CHECK-NEXT: [[UADDE2:%[0-9]+]]:_(s64), [[UADDE3:%[0-9]+]]:_(s32) = G_UADDE [[COPY2]], [[COPY3]], [[UADDE1]]40    ; CHECK-NEXT: $x0 = COPY [[UADDO]](s64)41    ; CHECK-NEXT: $x1 = COPY [[UADDE]](s64)42    ; CHECK-NEXT: $x2 = COPY [[UADDE2]](s64)43    %0:_(s64) = COPY $x044    %1:_(s64) = COPY $x145    %2:_(s64) = COPY $x246    %3:_(s64) = COPY $x347    %4:_(s192) = G_MERGE_VALUES %0(s64), %1(s64), %2(s64)48    %5:_(s192) = G_MERGE_VALUES %1(s64), %2(s64), %3(s64)49    %6:_(s192) = G_ADD %4, %550    %7:_(s64), %8:_(s64), %9:_(s64) = G_UNMERGE_VALUES %6(s192)51    $x0 = COPY %7(s64)52    $x1 = COPY %8(s64)53    $x2 = COPY %9(s64)54 55...56---57name:            test_scalar_add_small58body:             |59  bb.0.entry:60    ; CHECK-LABEL: name: test_scalar_add_small61    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x062    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x163    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[COPY]](s64)64    ; CHECK-NEXT: [[TRUNC1:%[0-9]+]]:_(s32) = G_TRUNC [[COPY1]](s64)65    ; CHECK-NEXT: [[ADD:%[0-9]+]]:_(s32) = G_ADD [[TRUNC]], [[TRUNC1]]66    ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:_(s64) = G_ANYEXT [[ADD]](s32)67    ; CHECK-NEXT: $x0 = COPY [[ANYEXT]](s64)68    %0:_(s64) = COPY $x069    %1:_(s64) = COPY $x170    %2:_(s8) = G_TRUNC %0(s64)71    %3:_(s8) = G_TRUNC %1(s64)72    %4:_(s8) = G_ADD %2, %373    %5:_(s64) = G_ANYEXT %4(s8)74    $x0 = COPY %5(s64)75 76...77---78name:            test_scalar_add_narrowing79body:             |80  bb.0.entry:81    ; CHECK-LABEL: name: test_scalar_add_narrowing82    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x083    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x184    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(s64) = COPY $x285    ; CHECK-NEXT: [[COPY3:%[0-9]+]]:_(s64) = COPY $x386    ; CHECK-NEXT: [[UADDO:%[0-9]+]]:_(s64), [[UADDO1:%[0-9]+]]:_(s32) = G_UADDO [[COPY]], [[COPY2]]87    ; CHECK-NEXT: [[UADDE:%[0-9]+]]:_(s64), [[UADDE1:%[0-9]+]]:_(s32) = G_UADDE [[COPY1]], [[COPY3]], [[UADDO1]]88    ; CHECK-NEXT: $x0 = COPY [[UADDO]](s64)89    ; CHECK-NEXT: $x1 = COPY [[UADDE]](s64)90    %0:_(s64) = COPY $x091    %1:_(s64) = COPY $x192    %2:_(s64) = COPY $x293    %3:_(s64) = COPY $x394    %4:_(s128) = G_MERGE_VALUES %0(s64), %1(s64)95    %5:_(s128) = G_MERGE_VALUES %2(s64), %3(s64)96    %6:_(s96) = G_TRUNC %4(s128)97    %7:_(s96) = G_TRUNC %5(s128)98    %8:_(s96) = G_ADD %6, %799    %9:_(s128) = G_ANYEXT %8(s96)100    %10:_(s64), %11:_(s64) = G_UNMERGE_VALUES %9(s128)101    $x0 = COPY %10(s64)102    $x1 = COPY %11(s64)103 104...105---106name:            test_scalar_add_narrowing_s65107body:             |108  bb.0.entry:109    ; CHECK-LABEL: name: test_scalar_add_narrowing_s65110    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x0111    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x1112    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(s64) = COPY $x2113    ; CHECK-NEXT: [[COPY3:%[0-9]+]]:_(s64) = COPY $x3114    ; CHECK-NEXT: [[UADDO:%[0-9]+]]:_(s64), [[UADDO1:%[0-9]+]]:_(s32) = G_UADDO [[COPY]], [[COPY2]]115    ; CHECK-NEXT: [[UADDE:%[0-9]+]]:_(s64), [[UADDE1:%[0-9]+]]:_(s32) = G_UADDE [[COPY1]], [[COPY3]], [[UADDO1]]116    ; CHECK-NEXT: $x0 = COPY [[UADDO]](s64)117    ; CHECK-NEXT: $x1 = COPY [[UADDE]](s64)118    %0:_(s64) = COPY $x0119    %1:_(s64) = COPY $x1120    %2:_(s64) = COPY $x2121    %3:_(s64) = COPY $x3122    %4:_(s128) = G_MERGE_VALUES %0(s64), %1(s64)123    %5:_(s128) = G_MERGE_VALUES %2(s64), %3(s64)124    %6:_(s65) = G_TRUNC %4(s128)125    %7:_(s65) = G_TRUNC %5(s128)126    %8:_(s65) = G_ADD %6, %7127    %9:_(s128) = G_ANYEXT %8(s65)128    %10:_(s64), %11:_(s64) = G_UNMERGE_VALUES %9(s128)129    $x0 = COPY %10(s64)130    $x1 = COPY %11(s64)131 132...133---134name:            test_vector_add135body:             |136  bb.0.entry:137    ; CHECK-LABEL: name: test_vector_add138    ; CHECK: [[COPY:%[0-9]+]]:_(<2 x s64>) = COPY $q0139    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<2 x s64>) = COPY $q1140    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(<2 x s64>) = COPY $q2141    ; CHECK-NEXT: [[COPY3:%[0-9]+]]:_(<2 x s64>) = COPY $q3142    ; CHECK-NEXT: [[ADD:%[0-9]+]]:_(<2 x s64>) = G_ADD [[COPY]], [[COPY2]]143    ; CHECK-NEXT: [[ADD1:%[0-9]+]]:_(<2 x s64>) = G_ADD [[COPY1]], [[COPY3]]144    ; CHECK-NEXT: $q0 = COPY [[ADD]](<2 x s64>)145    ; CHECK-NEXT: $q1 = COPY [[ADD1]](<2 x s64>)146    %0:_(<2 x s64>) = COPY $q0147    %1:_(<2 x s64>) = COPY $q1148    %2:_(<2 x s64>) = COPY $q2149    %3:_(<2 x s64>) = COPY $q3150    %4:_(<4 x s64>) = G_CONCAT_VECTORS %0, %1151    %5:_(<4 x s64>) = G_CONCAT_VECTORS %2, %3152    %6:_(<4 x s64>) = G_ADD %4, %5153    %7:_(<2 x s64>), %8:_(<2 x s64>) = G_UNMERGE_VALUES %6(<4 x s64>)154    $q0 = COPY %7(<2 x s64>)155    $q1 = COPY %8(<2 x s64>)156 157...158---159name:            test_vector_add_v16s16160body:             |161  bb.0.entry:162    ; CHECK-LABEL: name: test_vector_add_v16s16163    ; CHECK: [[COPY:%[0-9]+]]:_(<8 x s16>) = COPY $q0164    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<8 x s16>) = COPY $q1165    ; CHECK-NEXT: [[ADD:%[0-9]+]]:_(<8 x s16>) = G_ADD [[COPY]], [[COPY]]166    ; CHECK-NEXT: [[ADD1:%[0-9]+]]:_(<8 x s16>) = G_ADD [[COPY1]], [[COPY1]]167    ; CHECK-NEXT: $q0 = COPY [[ADD]](<8 x s16>)168    ; CHECK-NEXT: $q1 = COPY [[ADD1]](<8 x s16>)169    %1:_(<8 x s16>) = COPY $q0170    %2:_(<8 x s16>) = COPY $q1171    %0:_(<16 x s16>) = G_CONCAT_VECTORS %1(<8 x s16>), %2(<8 x s16>)172    %3:_(<16 x s16>) = G_ADD %0, %0173    %4:_(<8 x s16>), %5:_(<8 x s16>) = G_UNMERGE_VALUES %3(<16 x s16>)174    $q0 = COPY %4(<8 x s16>)175    $q1 = COPY %5(<8 x s16>)176 177...178---179name:            test_vector_add_v32s8180body:             |181  bb.0.entry:182    ; CHECK-LABEL: name: test_vector_add_v32s8183    ; CHECK: [[COPY:%[0-9]+]]:_(<16 x s8>) = COPY $q0184    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<16 x s8>) = COPY $q1185    ; CHECK-NEXT: [[ADD:%[0-9]+]]:_(<16 x s8>) = G_ADD [[COPY]], [[COPY]]186    ; CHECK-NEXT: [[ADD1:%[0-9]+]]:_(<16 x s8>) = G_ADD [[COPY1]], [[COPY1]]187    ; CHECK-NEXT: $q0 = COPY [[ADD]](<16 x s8>)188    ; CHECK-NEXT: $q1 = COPY [[ADD1]](<16 x s8>)189    %0:_(<16 x s8>) = COPY $q0190    %1:_(<16 x s8>) = COPY $q1191    %2:_(<32 x s8>) = G_CONCAT_VECTORS %0, %1192    %3:_(<32 x s8>) = G_ADD %2, %2193    %7:_(<16 x s8>), %8:_(<16 x s8>) = G_UNMERGE_VALUES %3(<32 x s8>)194    $q0 = COPY %7(<16 x s8>)195    $q1 = COPY %8(<16 x s8>)196 197...198---199name:            test_vector_add_nonpow2200body:             |201  bb.0.entry:202    ; CHECK-LABEL: name: test_vector_add_nonpow2203    ; CHECK: [[COPY:%[0-9]+]]:_(<2 x s64>) = COPY $q0204    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<2 x s64>) = COPY $q1205    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(<2 x s64>) = COPY $q2206    ; CHECK-NEXT: [[COPY3:%[0-9]+]]:_(<2 x s64>) = COPY $q3207    ; CHECK-NEXT: [[ADD:%[0-9]+]]:_(<2 x s64>) = G_ADD [[COPY]], [[COPY1]]208    ; CHECK-NEXT: [[ADD1:%[0-9]+]]:_(<2 x s64>) = G_ADD [[COPY1]], [[COPY2]]209    ; CHECK-NEXT: [[ADD2:%[0-9]+]]:_(<2 x s64>) = G_ADD [[COPY2]], [[COPY3]]210    ; CHECK-NEXT: $q0 = COPY [[ADD]](<2 x s64>)211    ; CHECK-NEXT: $q1 = COPY [[ADD1]](<2 x s64>)212    ; CHECK-NEXT: $q2 = COPY [[ADD2]](<2 x s64>)213    %0:_(<2 x s64>) = COPY $q0214    %1:_(<2 x s64>) = COPY $q1215    %2:_(<2 x s64>) = COPY $q2216    %3:_(<2 x s64>) = COPY $q3217    %4:_(<6 x s64>) = G_CONCAT_VECTORS %0(<2 x s64>), %1(<2 x s64>), %2(<2 x s64>)218    %5:_(<6 x s64>) = G_CONCAT_VECTORS %1(<2 x s64>), %2(<2 x s64>), %3(<2 x s64>)219    %6:_(<6 x s64>) = G_ADD %4, %5220    %7:_(<2 x s64>), %8:_(<2 x s64>), %9:_(<2 x s64>) = G_UNMERGE_VALUES %6(<6 x s64>)221    $q0 = COPY %7(<2 x s64>)222    $q1 = COPY %8(<2 x s64>)223    $q2 = COPY %9(<2 x s64>)224...225---226name:            add_v8i16227alignment:       4228tracksRegLiveness: true229machineFunctionInfo: {}230body:             |231  bb.1:232    liveins: $q0, $q1233 234    ; CHECK-LABEL: name: add_v8i16235    ; CHECK: liveins: $q0, $q1236    ; CHECK-NEXT: {{  $}}237    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<8 x s16>) = COPY $q0238    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<8 x s16>) = COPY $q1239    ; CHECK-NEXT: [[ADD:%[0-9]+]]:_(<8 x s16>) = G_ADD [[COPY]], [[COPY1]]240    ; CHECK-NEXT: $q0 = COPY [[ADD]](<8 x s16>)241    ; CHECK-NEXT: RET_ReallyLR implicit $q0242    %0:_(<8 x s16>) = COPY $q0243    %1:_(<8 x s16>) = COPY $q1244    %2:_(<8 x s16>) = G_ADD %0, %1245    $q0 = COPY %2(<8 x s16>)246    RET_ReallyLR implicit $q0247 248...249---250name:            add_v16i8251alignment:       4252tracksRegLiveness: true253machineFunctionInfo: {}254body:             |255  bb.1:256    liveins: $q0, $q1257 258    ; CHECK-LABEL: name: add_v16i8259    ; CHECK: liveins: $q0, $q1260    ; CHECK-NEXT: {{  $}}261    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<16 x s8>) = COPY $q0262    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<16 x s8>) = COPY $q1263    ; CHECK-NEXT: [[ADD:%[0-9]+]]:_(<16 x s8>) = G_ADD [[COPY]], [[COPY1]]264    ; CHECK-NEXT: $q0 = COPY [[ADD]](<16 x s8>)265    ; CHECK-NEXT: RET_ReallyLR implicit $q0266    %0:_(<16 x s8>) = COPY $q0267    %1:_(<16 x s8>) = COPY $q1268    %2:_(<16 x s8>) = G_ADD %0, %1269    $q0 = COPY %2(<16 x s8>)270    RET_ReallyLR implicit $q0271 272...273---274name:            add_v4i16275alignment:       4276tracksRegLiveness: true277machineFunctionInfo: {}278body:             |279  bb.1:280    liveins: $d0, $d1281 282    ; CHECK-LABEL: name: add_v4i16283    ; CHECK: liveins: $d0, $d1284    ; CHECK-NEXT: {{  $}}285    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<4 x s16>) = COPY $d0286    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<4 x s16>) = COPY $d1287    ; CHECK-NEXT: [[ADD:%[0-9]+]]:_(<4 x s16>) = G_ADD [[COPY]], [[COPY1]]288    ; CHECK-NEXT: $d0 = COPY [[ADD]](<4 x s16>)289    ; CHECK-NEXT: RET_ReallyLR implicit $d0290    %0:_(<4 x s16>) = COPY $d0291    %1:_(<4 x s16>) = COPY $d1292    %2:_(<4 x s16>) = G_ADD %0, %1293    $d0 = COPY %2(<4 x s16>)294    RET_ReallyLR implicit $d0295...296---297name:            add_v8s8298tracksRegLiveness: true299body:             |300  bb.1:301    liveins: $d0, $d1302 303    ; CHECK-LABEL: name: add_v8s8304    ; CHECK: liveins: $d0, $d1305    ; CHECK-NEXT: {{  $}}306    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<8 x s8>) = COPY $d0307    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<8 x s8>) = COPY $d1308    ; CHECK-NEXT: [[ADD:%[0-9]+]]:_(<8 x s8>) = G_ADD [[COPY]], [[COPY1]]309    ; CHECK-NEXT: $d0 = COPY [[ADD]](<8 x s8>)310    ; CHECK-NEXT: RET_ReallyLR implicit $d0311    %0:_(<8 x s8>) = COPY $d0312    %1:_(<8 x s8>) = COPY $d1313    %2:_(<8 x s8>) = G_ADD %0, %1314    $d0 = COPY %2(<8 x s8>)315    RET_ReallyLR implicit $d0316 317...318---319name:            add_v2s1320tracksRegLiveness: true321body:             |322  bb.1:323    liveins: $d0, $d1, $d2, $d3324 325    ; CHECK-LABEL: name: add_v2s1326    ; CHECK: liveins: $d0, $d1, $d2, $d3327    ; CHECK-NEXT: {{  $}}328    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<2 x s32>) = COPY $d0329    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<2 x s32>) = COPY $d1330    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(<2 x s32>) = COPY $d2331    ; CHECK-NEXT: [[COPY3:%[0-9]+]]:_(<2 x s32>) = COPY $d3332    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(<2 x s32>) = G_ICMP intpred(eq), [[COPY]](<2 x s32>), [[COPY1]]333    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(<2 x s32>) = G_ICMP intpred(eq), [[COPY2]](<2 x s32>), [[COPY3]]334    ; CHECK-NEXT: [[ADD:%[0-9]+]]:_(<2 x s32>) = G_ADD [[ICMP]], [[ICMP1]]335    ; CHECK-NEXT: $d0 = COPY [[ADD]](<2 x s32>)336    ; CHECK-NEXT: RET_ReallyLR implicit $d0337    %0:_(<2 x s32>) = COPY $d0338    %1:_(<2 x s32>) = COPY $d1339    %2:_(<2 x s32>) = COPY $d2340    %3:_(<2 x s32>) = COPY $d3341    %4:_(<2 x s1>) = G_ICMP intpred(eq), %0(<2 x s32>), %1342    %5:_(<2 x s1>) = G_ICMP intpred(eq), %2(<2 x s32>), %3343    %6:_(<2 x s1>) = G_ADD %4, %5344    %7:_(<2 x s32>) = G_ANYEXT %6345    $d0 = COPY %7:_(<2 x s32>)346    RET_ReallyLR implicit $d0347...348---349name:            add_v3s1350tracksRegLiveness: true351body:             |352  bb.1:353    liveins: $b0, $b1, $b2354 355    ; CHECK-LABEL: name: add_v3s1356    ; CHECK: liveins: $b0, $b1, $b2357    ; CHECK-NEXT: {{  $}}358    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s8) = COPY $b0359    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s8) = COPY $b1360    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(s8) = COPY $b2361    ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:_(s16) = G_ANYEXT [[COPY]](s8)362    ; CHECK-NEXT: [[ANYEXT1:%[0-9]+]]:_(s16) = G_ANYEXT [[COPY1]](s8)363    ; CHECK-NEXT: [[ANYEXT2:%[0-9]+]]:_(s16) = G_ANYEXT [[COPY2]](s8)364    ; CHECK-NEXT: [[DEF:%[0-9]+]]:_(s16) = G_IMPLICIT_DEF365    ; CHECK-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<4 x s16>) = G_BUILD_VECTOR [[ANYEXT]](s16), [[ANYEXT1]](s16), [[ANYEXT2]](s16), [[DEF]](s16)366    ; CHECK-NEXT: [[ADD:%[0-9]+]]:_(<4 x s16>) = G_ADD [[BUILD_VECTOR]], [[BUILD_VECTOR]]367    ; CHECK-NEXT: [[UV:%[0-9]+]]:_(s16), [[UV1:%[0-9]+]]:_(s16), [[UV2:%[0-9]+]]:_(s16), [[UV3:%[0-9]+]]:_(s16) = G_UNMERGE_VALUES [[ADD]](<4 x s16>)368    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s8) = G_TRUNC [[UV]](s16)369    ; CHECK-NEXT: $b0 = COPY [[TRUNC]](s8)370    ; CHECK-NEXT: RET_ReallyLR implicit $b0371    %1:_(s8) = COPY $b0372    %2:_(s8) = COPY $b1373    %3:_(s8) = COPY $b2374    %4:_(<3 x s8>) = G_BUILD_VECTOR %1(s8), %2(s8), %3(s8)375    %0:_(<3 x s1>) = G_TRUNC %4(<3 x s8>)376    %5:_(<3 x s1>) = G_ADD %0, %0377    %7:_(<3 x s8>) = G_ANYEXT %5(<3 x s1>)378    %8:_(s8), %9:_(s8), %10:_(s8) = G_UNMERGE_VALUES %7(<3 x s8>)379    $b0 = COPY %8:_(s8)380    RET_ReallyLR implicit $b0381...382---383name:            add_v4s1384tracksRegLiveness: true385body:             |386  bb.1:387    liveins: $d0, $d1, $d2, $d3388 389    ; CHECK-LABEL: name: add_v4s1390    ; CHECK: liveins: $d0, $d1, $d2, $d3391    ; CHECK-NEXT: {{  $}}392    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<4 x s16>) = COPY $d0393    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<4 x s16>) = COPY $d1394    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(<4 x s16>) = COPY $d2395    ; CHECK-NEXT: [[COPY3:%[0-9]+]]:_(<4 x s16>) = COPY $d3396    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(<4 x s16>) = G_ICMP intpred(eq), [[COPY]](<4 x s16>), [[COPY1]]397    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(<4 x s16>) = G_ICMP intpred(eq), [[COPY2]](<4 x s16>), [[COPY3]]398    ; CHECK-NEXT: [[ADD:%[0-9]+]]:_(<4 x s16>) = G_ADD [[ICMP]], [[ICMP1]]399    ; CHECK-NEXT: $d0 = COPY [[ADD]](<4 x s16>)400    ; CHECK-NEXT: RET_ReallyLR implicit $d0401    %0:_(<4 x s16>) = COPY $d0402    %1:_(<4 x s16>) = COPY $d1403    %2:_(<4 x s16>) = COPY $d2404    %3:_(<4 x s16>) = COPY $d3405    %4:_(<4 x s1>) = G_ICMP intpred(eq), %0(<4 x s16>), %1406    %5:_(<4 x s1>) = G_ICMP intpred(eq), %2(<4 x s16>), %3407    %6:_(<4 x s1>) = G_ADD %4, %5408    %7:_(<4 x s16>) = G_ANYEXT %6409    $d0 = COPY %7:_(<4 x s16>)410    RET_ReallyLR implicit $d0411...412---413name:            add_v8s1414tracksRegLiveness: true415body:             |416  bb.1:417    liveins: $d0, $d1, $d2, $d3418 419    ; CHECK-LABEL: name: add_v8s1420    ; CHECK: liveins: $d0, $d1, $d2, $d3421    ; CHECK-NEXT: {{  $}}422    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<8 x s8>) = COPY $d0423    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<8 x s8>) = COPY $d1424    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(<8 x s8>) = COPY $d2425    ; CHECK-NEXT: [[COPY3:%[0-9]+]]:_(<8 x s8>) = COPY $d3426    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(<8 x s8>) = G_ICMP intpred(eq), [[COPY]](<8 x s8>), [[COPY1]]427    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(<8 x s8>) = G_ICMP intpred(eq), [[COPY2]](<8 x s8>), [[COPY3]]428    ; CHECK-NEXT: [[ADD:%[0-9]+]]:_(<8 x s8>) = G_ADD [[ICMP]], [[ICMP1]]429    ; CHECK-NEXT: $d0 = COPY [[ADD]](<8 x s8>)430    ; CHECK-NEXT: RET_ReallyLR implicit $d0431    %0:_(<8 x s8>) = COPY $d0432    %1:_(<8 x s8>) = COPY $d1433    %2:_(<8 x s8>) = COPY $d2434    %3:_(<8 x s8>) = COPY $d3435    %4:_(<8 x s1>) = G_ICMP intpred(eq), %0(<8 x s8>), %1436    %5:_(<8 x s1>) = G_ICMP intpred(eq), %2(<8 x s8>), %3437    %6:_(<8 x s1>) = G_ADD %4, %5438    %7:_(<8 x s8>) = G_ANYEXT %6439    $d0 = COPY %7:_(<8 x s8>)440    RET_ReallyLR implicit $d0441...442---443name:            add_v16s1444tracksRegLiveness: true445body:             |446  bb.1:447    liveins: $q0, $q1, $q2, $q3448 449    ; CHECK-LABEL: name: add_v16s1450    ; CHECK: liveins: $q0, $q1, $q2, $q3451    ; CHECK-NEXT: {{  $}}452    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<16 x s8>) = COPY $q0453    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<16 x s8>) = COPY $q1454    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(<16 x s8>) = COPY $q2455    ; CHECK-NEXT: [[COPY3:%[0-9]+]]:_(<16 x s8>) = COPY $q3456    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(<16 x s8>) = G_ICMP intpred(eq), [[COPY]](<16 x s8>), [[COPY1]]457    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(<16 x s8>) = G_ICMP intpred(eq), [[COPY2]](<16 x s8>), [[COPY3]]458    ; CHECK-NEXT: [[ADD:%[0-9]+]]:_(<16 x s8>) = G_ADD [[ICMP]], [[ICMP1]]459    ; CHECK-NEXT: $q0 = COPY [[ADD]](<16 x s8>)460    ; CHECK-NEXT: RET_ReallyLR implicit $q0461    %0:_(<16 x s8>) = COPY $q0462    %1:_(<16 x s8>) = COPY $q1463    %2:_(<16 x s8>) = COPY $q2464    %3:_(<16 x s8>) = COPY $q3465    %4:_(<16 x s1>) = G_ICMP intpred(eq), %0(<16 x s8>), %1466    %5:_(<16 x s1>) = G_ICMP intpred(eq), %2(<16 x s8>), %3467    %6:_(<16 x s1>) = G_ADD %4, %5468    %7:_(<16 x s8>) = G_ANYEXT %6469    $q0 = COPY %7:_(<16 x s8>)470    RET_ReallyLR implicit $q0471...472