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