1135 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=riscv32 -mattr=+m,+v -run-pass=regbankselect \3# RUN: -simplify-mir -verify-machineinstrs %s \4# RUN: -o - | FileCheck %s5# RUN: llc -mtriple=riscv64 -mattr=+m,+v -run-pass=regbankselect \6# RUN: -simplify-mir -verify-machineinstrs %s \7# RUN: -o - | FileCheck %s8--- |9 10 define void @vstore_nx1i8(ptr %pa, <vscale x 1 x i8> %b) #0 {11 store <vscale x 1 x i8> %b, ptr %pa, align 112 ret void13 }14 15 define void @vstore_nx2i8(ptr %pa, <vscale x 2 x i8> %b) #0 {16 store <vscale x 2 x i8> %b, ptr %pa, align 217 ret void18 }19 20 define void @vstore_nx4i8(ptr %pa, <vscale x 4 x i8> %b) #0 {21 store <vscale x 4 x i8> %b, ptr %pa, align 422 ret void23 }24 25 define void @vstore_nx8i8(ptr %pa, <vscale x 8 x i8> %b) #0 {26 store <vscale x 8 x i8> %b, ptr %pa, align 827 ret void28 }29 30 define void @vstore_nx16i8(ptr %pa, <vscale x 16 x i8> %b) #0 {31 store <vscale x 16 x i8> %b, ptr %pa, align 1632 ret void33 }34 35 define void @vstore_nx32i8(ptr %pa, <vscale x 32 x i8> %b) #0 {36 store <vscale x 32 x i8> %b, ptr %pa, align 3237 ret void38 }39 40 define void @vstore_nx64i8(ptr %pa, <vscale x 64 x i8> %b) #0 {41 store <vscale x 64 x i8> %b, ptr %pa, align 6442 ret void43 }44 45 define void @vstore_nx1i16(ptr %pa, <vscale x 1 x i16> %b) #0 {46 store <vscale x 1 x i16> %b, ptr %pa, align 247 ret void48 }49 50 define void @vstore_nx2i16(ptr %pa, <vscale x 2 x i16> %b) #0 {51 store <vscale x 2 x i16> %b, ptr %pa, align 452 ret void53 }54 55 define void @vstore_nx4i16(ptr %pa, <vscale x 4 x i16> %b) #0 {56 store <vscale x 4 x i16> %b, ptr %pa, align 857 ret void58 }59 60 define void @vstore_nx8i16(ptr %pa, <vscale x 8 x i16> %b) #0 {61 store <vscale x 8 x i16> %b, ptr %pa, align 1662 ret void63 }64 65 define void @vstore_nx16i16(ptr %pa, <vscale x 16 x i16> %b) #0 {66 store <vscale x 16 x i16> %b, ptr %pa, align 3267 ret void68 }69 70 define void @vstore_nx32i16(ptr %pa, <vscale x 32 x i16> %b) #0 {71 store <vscale x 32 x i16> %b, ptr %pa, align 6472 ret void73 }74 75 define void @vstore_nx1i32(ptr %pa, <vscale x 1 x i32> %b) #0 {76 store <vscale x 1 x i32> %b, ptr %pa, align 477 ret void78 }79 80 define void @vstore_nx2i32(ptr %pa, <vscale x 2 x i32> %b) #0 {81 store <vscale x 2 x i32> %b, ptr %pa, align 882 ret void83 }84 85 define void @vstore_nx4i32(ptr %pa, <vscale x 4 x i32> %b) #0 {86 store <vscale x 4 x i32> %b, ptr %pa, align 1687 ret void88 }89 90 define void @vstore_nx8i32(ptr %pa, <vscale x 8 x i32> %b) #0 {91 store <vscale x 8 x i32> %b, ptr %pa, align 3292 ret void93 }94 95 define void @vstore_nx16i32(ptr %pa, <vscale x 16 x i32> %b) #0 {96 store <vscale x 16 x i32> %b, ptr %pa, align 6497 ret void98 }99 100 define void @vstore_nx1i64(ptr %pa, <vscale x 1 x i64> %b) #0 {101 store <vscale x 1 x i64> %b, ptr %pa, align 8102 ret void103 }104 105 define void @vstore_nx2i64(ptr %pa, <vscale x 2 x i64> %b) #0 {106 store <vscale x 2 x i64> %b, ptr %pa, align 16107 ret void108 }109 110 define void @vstore_nx4i64(ptr %pa, <vscale x 4 x i64> %b) #0 {111 store <vscale x 4 x i64> %b, ptr %pa, align 32112 ret void113 }114 115 define void @vstore_nx8i64(ptr %pa, <vscale x 8 x i64> %b) #0 {116 store <vscale x 8 x i64> %b, ptr %pa, align 64117 ret void118 }119 120 define void @vstore_nx16i8_align1(ptr %pa, <vscale x 16 x i8> %b) #0 {121 store <vscale x 16 x i8> %b, ptr %pa, align 1122 ret void123 }124 125 define void @vstore_nx16i8_align2(ptr %pa, <vscale x 16 x i8> %b) #0 {126 store <vscale x 16 x i8> %b, ptr %pa, align 2127 ret void128 }129 130 define void @vstore_nx16i8_align16(ptr %pa, <vscale x 16 x i8> %b) #0 {131 store <vscale x 16 x i8> %b, ptr %pa, align 16132 ret void133 }134 135 define void @vstore_nx16i8_align64(ptr %pa, <vscale x 16 x i8> %b) #0 {136 store <vscale x 16 x i8> %b, ptr %pa, align 64137 ret void138 }139 140 define void @vstore_nx4i16_align1(ptr %pa, <vscale x 4 x i16> %b) #0 {141 store <vscale x 4 x i16> %b, ptr %pa, align 1142 ret void143 }144 145 define void @vstore_nx4i16_align2(ptr %pa, <vscale x 4 x i16> %b) #0 {146 store <vscale x 4 x i16> %b, ptr %pa, align 2147 ret void148 }149 150 define void @vstore_nx4i16_align4(ptr %pa, <vscale x 4 x i16> %b) #0 {151 store <vscale x 4 x i16> %b, ptr %pa, align 4152 ret void153 }154 155 define void @vstore_nx4i16_align8(ptr %pa, <vscale x 4 x i16> %b) #0 {156 store <vscale x 4 x i16> %b, ptr %pa, align 8157 ret void158 }159 160 define void @vstore_nx4i16_align16(ptr %pa, <vscale x 4 x i16> %b) #0 {161 store <vscale x 4 x i16> %b, ptr %pa, align 16162 ret void163 }164 165 define void @vstore_nx2i32_align2(ptr %pa, <vscale x 2 x i32> %b) #0 {166 store <vscale x 2 x i32> %b, ptr %pa, align 2167 ret void168 }169 170 define void @vstore_nx2i32_align4(ptr %pa, <vscale x 2 x i32> %b) #0 {171 store <vscale x 2 x i32> %b, ptr %pa, align 4172 ret void173 }174 175 define void @vstore_nx2i32_align8(ptr %pa, <vscale x 2 x i32> %b) #0 {176 store <vscale x 2 x i32> %b, ptr %pa, align 8177 ret void178 }179 180 define void @vstore_nx2i32_align16(ptr %pa, <vscale x 2 x i32> %b) #0 {181 store <vscale x 2 x i32> %b, ptr %pa, align 16182 ret void183 }184 185 define void @vstore_nx2i32_align256(ptr %pa, <vscale x 2 x i32> %b) #0 {186 store <vscale x 2 x i32> %b, ptr %pa, align 256187 ret void188 }189 190 define void @vstore_nx2i64_align4(ptr %pa, <vscale x 2 x i64> %b) #0 {191 store <vscale x 2 x i64> %b, ptr %pa, align 4192 ret void193 }194 195 define void @vstore_nx2i64_align8(ptr %pa, <vscale x 2 x i64> %b) #0 {196 store <vscale x 2 x i64> %b, ptr %pa, align 8197 ret void198 }199 200 define void @vstore_nx2i64_align16(ptr %pa, <vscale x 2 x i64> %b) #0 {201 store <vscale x 2 x i64> %b, ptr %pa, align 16202 ret void203 }204 205 define void @vstore_nx2i64_align32(ptr %pa, <vscale x 2 x i64> %b) #0 {206 store <vscale x 2 x i64> %b, ptr %pa, align 32207 ret void208 }209 210 define void @vstore_nx1ptr(ptr %pa, <vscale x 1 x ptr> %b) #0 {211 store <vscale x 1 x ptr> %b, ptr %pa, align 4212 ret void213 }214 215 define void @vstore_nx2ptr(ptr %pa, <vscale x 2 x ptr> %b) #0 {216 store <vscale x 2 x ptr> %b, ptr %pa, align 8217 ret void218 }219 220 define void @vstore_nx8ptr(ptr %pa, <vscale x 8 x ptr> %b) #0 {221 store <vscale x 8 x ptr> %b, ptr %pa, align 32222 ret void223 }224 225...226---227name: vstore_nx1i8228legalized: true229tracksRegLiveness: true230body: |231 bb.1 (%ir-block.0):232 liveins: $v8, $x10233 234 ; CHECK-LABEL: name: vstore_nx1i8235 ; CHECK: liveins: $v8, $x10236 ; CHECK-NEXT: {{ $}}237 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10238 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 1 x s8>) = COPY $v8239 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 1 x s8>), [[COPY]](p0) :: (store (<vscale x 1 x s8>) into %ir.pa)240 ; CHECK-NEXT: PseudoRET241 %0:_(p0) = COPY $x10242 %1:_(<vscale x 1 x s8>) = COPY $v8243 G_STORE %1(<vscale x 1 x s8>), %0(p0) :: (store (<vscale x 1 x s8>) into %ir.pa)244 PseudoRET245 246...247---248name: vstore_nx2i8249legalized: true250tracksRegLiveness: true251body: |252 bb.1 (%ir-block.0):253 liveins: $v8, $x10254 255 ; CHECK-LABEL: name: vstore_nx2i8256 ; CHECK: liveins: $v8, $x10257 ; CHECK-NEXT: {{ $}}258 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10259 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 2 x s8>) = COPY $v8260 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 2 x s8>), [[COPY]](p0) :: (store (<vscale x 2 x s8>) into %ir.pa)261 ; CHECK-NEXT: PseudoRET262 %0:_(p0) = COPY $x10263 %1:_(<vscale x 2 x s8>) = COPY $v8264 G_STORE %1(<vscale x 2 x s8>), %0(p0) :: (store (<vscale x 2 x s8>) into %ir.pa)265 PseudoRET266 267...268---269name: vstore_nx4i8270legalized: true271tracksRegLiveness: true272body: |273 bb.1 (%ir-block.0):274 liveins: $v8, $x10275 276 ; CHECK-LABEL: name: vstore_nx4i8277 ; CHECK: liveins: $v8, $x10278 ; CHECK-NEXT: {{ $}}279 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10280 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 4 x s8>) = COPY $v8281 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 4 x s8>), [[COPY]](p0) :: (store (<vscale x 4 x s8>) into %ir.pa)282 ; CHECK-NEXT: PseudoRET283 %0:_(p0) = COPY $x10284 %1:_(<vscale x 4 x s8>) = COPY $v8285 G_STORE %1(<vscale x 4 x s8>), %0(p0) :: (store (<vscale x 4 x s8>) into %ir.pa)286 PseudoRET287 288...289---290name: vstore_nx8i8291legalized: true292tracksRegLiveness: true293body: |294 bb.1 (%ir-block.0):295 liveins: $v8, $x10296 297 ; CHECK-LABEL: name: vstore_nx8i8298 ; CHECK: liveins: $v8, $x10299 ; CHECK-NEXT: {{ $}}300 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10301 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 8 x s8>) = COPY $v8302 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 8 x s8>), [[COPY]](p0) :: (store (<vscale x 8 x s8>) into %ir.pa)303 ; CHECK-NEXT: PseudoRET304 %0:_(p0) = COPY $x10305 %1:_(<vscale x 8 x s8>) = COPY $v8306 G_STORE %1(<vscale x 8 x s8>), %0(p0) :: (store (<vscale x 8 x s8>) into %ir.pa)307 PseudoRET308 309...310---311name: vstore_nx16i8312legalized: true313tracksRegLiveness: true314body: |315 bb.1 (%ir-block.0):316 liveins: $x10, $v8m2317 318 ; CHECK-LABEL: name: vstore_nx16i8319 ; CHECK: liveins: $x10, $v8m2320 ; CHECK-NEXT: {{ $}}321 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10322 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 16 x s8>) = COPY $v8m2323 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 16 x s8>), [[COPY]](p0) :: (store (<vscale x 16 x s8>) into %ir.pa)324 ; CHECK-NEXT: PseudoRET325 %0:_(p0) = COPY $x10326 %1:_(<vscale x 16 x s8>) = COPY $v8m2327 G_STORE %1(<vscale x 16 x s8>), %0(p0) :: (store (<vscale x 16 x s8>) into %ir.pa)328 PseudoRET329 330...331---332name: vstore_nx32i8333legalized: true334tracksRegLiveness: true335body: |336 bb.1 (%ir-block.0):337 liveins: $x10, $v8m4338 339 ; CHECK-LABEL: name: vstore_nx32i8340 ; CHECK: liveins: $x10, $v8m4341 ; CHECK-NEXT: {{ $}}342 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10343 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 32 x s8>) = COPY $v8m4344 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 32 x s8>), [[COPY]](p0) :: (store (<vscale x 32 x s8>) into %ir.pa)345 ; CHECK-NEXT: PseudoRET346 %0:_(p0) = COPY $x10347 %1:_(<vscale x 32 x s8>) = COPY $v8m4348 G_STORE %1(<vscale x 32 x s8>), %0(p0) :: (store (<vscale x 32 x s8>) into %ir.pa)349 PseudoRET350 351...352---353name: vstore_nx64i8354legalized: true355tracksRegLiveness: true356body: |357 bb.1 (%ir-block.0):358 liveins: $x10, $v8m8359 360 ; CHECK-LABEL: name: vstore_nx64i8361 ; CHECK: liveins: $x10, $v8m8362 ; CHECK-NEXT: {{ $}}363 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10364 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 64 x s8>) = COPY $v8m8365 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 64 x s8>), [[COPY]](p0) :: (store (<vscale x 64 x s8>) into %ir.pa)366 ; CHECK-NEXT: PseudoRET367 %0:_(p0) = COPY $x10368 %1:_(<vscale x 64 x s8>) = COPY $v8m8369 G_STORE %1(<vscale x 64 x s8>), %0(p0) :: (store (<vscale x 64 x s8>) into %ir.pa)370 PseudoRET371 372...373---374name: vstore_nx1i16375legalized: true376tracksRegLiveness: true377body: |378 bb.1 (%ir-block.0):379 liveins: $v8, $x10380 381 ; CHECK-LABEL: name: vstore_nx1i16382 ; CHECK: liveins: $v8, $x10383 ; CHECK-NEXT: {{ $}}384 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10385 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 1 x s16>) = COPY $v8386 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 1 x s16>), [[COPY]](p0) :: (store (<vscale x 1 x s16>) into %ir.pa)387 ; CHECK-NEXT: PseudoRET388 %0:_(p0) = COPY $x10389 %1:_(<vscale x 1 x s16>) = COPY $v8390 G_STORE %1(<vscale x 1 x s16>), %0(p0) :: (store (<vscale x 1 x s16>) into %ir.pa)391 PseudoRET392 393...394---395name: vstore_nx2i16396legalized: true397tracksRegLiveness: true398body: |399 bb.1 (%ir-block.0):400 liveins: $v8, $x10401 402 ; CHECK-LABEL: name: vstore_nx2i16403 ; CHECK: liveins: $v8, $x10404 ; CHECK-NEXT: {{ $}}405 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10406 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 2 x s16>) = COPY $v8407 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 2 x s16>), [[COPY]](p0) :: (store (<vscale x 2 x s16>) into %ir.pa)408 ; CHECK-NEXT: PseudoRET409 %0:_(p0) = COPY $x10410 %1:_(<vscale x 2 x s16>) = COPY $v8411 G_STORE %1(<vscale x 2 x s16>), %0(p0) :: (store (<vscale x 2 x s16>) into %ir.pa)412 PseudoRET413 414...415---416name: vstore_nx4i16417legalized: true418tracksRegLiveness: true419body: |420 bb.1 (%ir-block.0):421 liveins: $v8, $x10422 423 ; CHECK-LABEL: name: vstore_nx4i16424 ; CHECK: liveins: $v8, $x10425 ; CHECK-NEXT: {{ $}}426 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10427 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 4 x s16>) = COPY $v8428 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 4 x s16>), [[COPY]](p0) :: (store (<vscale x 4 x s16>) into %ir.pa)429 ; CHECK-NEXT: PseudoRET430 %0:_(p0) = COPY $x10431 %1:_(<vscale x 4 x s16>) = COPY $v8432 G_STORE %1(<vscale x 4 x s16>), %0(p0) :: (store (<vscale x 4 x s16>) into %ir.pa)433 PseudoRET434 435...436---437name: vstore_nx8i16438legalized: true439tracksRegLiveness: true440body: |441 bb.1 (%ir-block.0):442 liveins: $x10, $v8m2443 444 ; CHECK-LABEL: name: vstore_nx8i16445 ; CHECK: liveins: $x10, $v8m2446 ; CHECK-NEXT: {{ $}}447 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10448 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 8 x s16>) = COPY $v8m2449 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 8 x s16>), [[COPY]](p0) :: (store (<vscale x 8 x s16>) into %ir.pa)450 ; CHECK-NEXT: PseudoRET451 %0:_(p0) = COPY $x10452 %1:_(<vscale x 8 x s16>) = COPY $v8m2453 G_STORE %1(<vscale x 8 x s16>), %0(p0) :: (store (<vscale x 8 x s16>) into %ir.pa)454 PseudoRET455 456...457---458name: vstore_nx16i16459legalized: true460tracksRegLiveness: true461body: |462 bb.1 (%ir-block.0):463 liveins: $x10, $v8m4464 465 ; CHECK-LABEL: name: vstore_nx16i16466 ; CHECK: liveins: $x10, $v8m4467 ; CHECK-NEXT: {{ $}}468 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10469 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 16 x s16>) = COPY $v8m4470 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 16 x s16>), [[COPY]](p0) :: (store (<vscale x 16 x s16>) into %ir.pa)471 ; CHECK-NEXT: PseudoRET472 %0:_(p0) = COPY $x10473 %1:_(<vscale x 16 x s16>) = COPY $v8m4474 G_STORE %1(<vscale x 16 x s16>), %0(p0) :: (store (<vscale x 16 x s16>) into %ir.pa)475 PseudoRET476 477...478---479name: vstore_nx32i16480legalized: true481tracksRegLiveness: true482body: |483 bb.1 (%ir-block.0):484 liveins: $x10, $v8m8485 486 ; CHECK-LABEL: name: vstore_nx32i16487 ; CHECK: liveins: $x10, $v8m8488 ; CHECK-NEXT: {{ $}}489 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10490 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 32 x s16>) = COPY $v8m8491 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 32 x s16>), [[COPY]](p0) :: (store (<vscale x 32 x s16>) into %ir.pa)492 ; CHECK-NEXT: PseudoRET493 %0:_(p0) = COPY $x10494 %1:_(<vscale x 32 x s16>) = COPY $v8m8495 G_STORE %1(<vscale x 32 x s16>), %0(p0) :: (store (<vscale x 32 x s16>) into %ir.pa)496 PseudoRET497 498...499---500name: vstore_nx1i32501legalized: true502tracksRegLiveness: true503body: |504 bb.1 (%ir-block.0):505 liveins: $v8, $x10506 507 ; CHECK-LABEL: name: vstore_nx1i32508 ; CHECK: liveins: $v8, $x10509 ; CHECK-NEXT: {{ $}}510 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10511 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 1 x s32>) = COPY $v8512 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 1 x s32>), [[COPY]](p0) :: (store (<vscale x 1 x s32>) into %ir.pa)513 ; CHECK-NEXT: PseudoRET514 %0:_(p0) = COPY $x10515 %1:_(<vscale x 1 x s32>) = COPY $v8516 G_STORE %1(<vscale x 1 x s32>), %0(p0) :: (store (<vscale x 1 x s32>) into %ir.pa)517 PseudoRET518 519...520---521name: vstore_nx2i32522legalized: true523tracksRegLiveness: true524body: |525 bb.1 (%ir-block.0):526 liveins: $v8, $x10527 528 ; CHECK-LABEL: name: vstore_nx2i32529 ; CHECK: liveins: $v8, $x10530 ; CHECK-NEXT: {{ $}}531 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10532 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 2 x s32>) = COPY $v8533 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 2 x s32>), [[COPY]](p0) :: (store (<vscale x 2 x s32>) into %ir.pa)534 ; CHECK-NEXT: PseudoRET535 %0:_(p0) = COPY $x10536 %1:_(<vscale x 2 x s32>) = COPY $v8537 G_STORE %1(<vscale x 2 x s32>), %0(p0) :: (store (<vscale x 2 x s32>) into %ir.pa)538 PseudoRET539 540...541---542name: vstore_nx4i32543legalized: true544tracksRegLiveness: true545body: |546 bb.1 (%ir-block.0):547 liveins: $x10, $v8m2548 549 ; CHECK-LABEL: name: vstore_nx4i32550 ; CHECK: liveins: $x10, $v8m2551 ; CHECK-NEXT: {{ $}}552 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10553 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 4 x s32>) = COPY $v8m2554 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 4 x s32>), [[COPY]](p0) :: (store (<vscale x 4 x s32>) into %ir.pa)555 ; CHECK-NEXT: PseudoRET556 %0:_(p0) = COPY $x10557 %1:_(<vscale x 4 x s32>) = COPY $v8m2558 G_STORE %1(<vscale x 4 x s32>), %0(p0) :: (store (<vscale x 4 x s32>) into %ir.pa)559 PseudoRET560 561...562---563name: vstore_nx8i32564legalized: true565tracksRegLiveness: true566body: |567 bb.1 (%ir-block.0):568 liveins: $x10, $v8m4569 570 ; CHECK-LABEL: name: vstore_nx8i32571 ; CHECK: liveins: $x10, $v8m4572 ; CHECK-NEXT: {{ $}}573 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10574 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 8 x s32>) = COPY $v8m4575 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 8 x s32>), [[COPY]](p0) :: (store (<vscale x 8 x s32>) into %ir.pa)576 ; CHECK-NEXT: PseudoRET577 %0:_(p0) = COPY $x10578 %1:_(<vscale x 8 x s32>) = COPY $v8m4579 G_STORE %1(<vscale x 8 x s32>), %0(p0) :: (store (<vscale x 8 x s32>) into %ir.pa)580 PseudoRET581 582...583---584name: vstore_nx16i32585legalized: true586tracksRegLiveness: true587body: |588 bb.1 (%ir-block.0):589 liveins: $x10, $v8m8590 591 ; CHECK-LABEL: name: vstore_nx16i32592 ; CHECK: liveins: $x10, $v8m8593 ; CHECK-NEXT: {{ $}}594 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10595 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 16 x s32>) = COPY $v8m8596 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 16 x s32>), [[COPY]](p0) :: (store (<vscale x 16 x s32>) into %ir.pa)597 ; CHECK-NEXT: PseudoRET598 %0:_(p0) = COPY $x10599 %1:_(<vscale x 16 x s32>) = COPY $v8m8600 G_STORE %1(<vscale x 16 x s32>), %0(p0) :: (store (<vscale x 16 x s32>) into %ir.pa)601 PseudoRET602 603...604---605name: vstore_nx1i64606legalized: true607tracksRegLiveness: true608body: |609 bb.1 (%ir-block.0):610 liveins: $v8, $x10611 612 ; CHECK-LABEL: name: vstore_nx1i64613 ; CHECK: liveins: $v8, $x10614 ; CHECK-NEXT: {{ $}}615 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10616 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 1 x s64>) = COPY $v8617 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 1 x s64>), [[COPY]](p0) :: (store (<vscale x 1 x s64>) into %ir.pa)618 ; CHECK-NEXT: PseudoRET619 %0:_(p0) = COPY $x10620 %1:_(<vscale x 1 x s64>) = COPY $v8621 G_STORE %1(<vscale x 1 x s64>), %0(p0) :: (store (<vscale x 1 x s64>) into %ir.pa)622 PseudoRET623 624...625---626name: vstore_nx2i64627legalized: true628tracksRegLiveness: true629body: |630 bb.1 (%ir-block.0):631 liveins: $x10, $v8m2632 633 ; CHECK-LABEL: name: vstore_nx2i64634 ; CHECK: liveins: $x10, $v8m2635 ; CHECK-NEXT: {{ $}}636 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10637 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 2 x s64>) = COPY $v8m2638 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 2 x s64>), [[COPY]](p0) :: (store (<vscale x 2 x s64>) into %ir.pa)639 ; CHECK-NEXT: PseudoRET640 %0:_(p0) = COPY $x10641 %1:_(<vscale x 2 x s64>) = COPY $v8m2642 G_STORE %1(<vscale x 2 x s64>), %0(p0) :: (store (<vscale x 2 x s64>) into %ir.pa)643 PseudoRET644 645...646---647name: vstore_nx4i64648legalized: true649tracksRegLiveness: true650body: |651 bb.1 (%ir-block.0):652 liveins: $x10, $v8m4653 654 ; CHECK-LABEL: name: vstore_nx4i64655 ; CHECK: liveins: $x10, $v8m4656 ; CHECK-NEXT: {{ $}}657 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10658 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 4 x s64>) = COPY $v8m4659 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 4 x s64>), [[COPY]](p0) :: (store (<vscale x 4 x s64>) into %ir.pa)660 ; CHECK-NEXT: PseudoRET661 %0:_(p0) = COPY $x10662 %1:_(<vscale x 4 x s64>) = COPY $v8m4663 G_STORE %1(<vscale x 4 x s64>), %0(p0) :: (store (<vscale x 4 x s64>) into %ir.pa)664 PseudoRET665 666...667---668name: vstore_nx8i64669legalized: true670tracksRegLiveness: true671body: |672 bb.1 (%ir-block.0):673 liveins: $x10, $v8m8674 675 ; CHECK-LABEL: name: vstore_nx8i64676 ; CHECK: liveins: $x10, $v8m8677 ; CHECK-NEXT: {{ $}}678 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10679 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 8 x s64>) = COPY $v8m8680 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 8 x s64>), [[COPY]](p0) :: (store (<vscale x 8 x s64>) into %ir.pa)681 ; CHECK-NEXT: PseudoRET682 %0:_(p0) = COPY $x10683 %1:_(<vscale x 8 x s64>) = COPY $v8m8684 G_STORE %1(<vscale x 8 x s64>), %0(p0) :: (store (<vscale x 8 x s64>) into %ir.pa)685 PseudoRET686 687...688---689name: vstore_nx16i8_align1690legalized: true691tracksRegLiveness: true692body: |693 bb.1 (%ir-block.0):694 liveins: $x10, $v8m2695 696 ; CHECK-LABEL: name: vstore_nx16i8_align1697 ; CHECK: liveins: $x10, $v8m2698 ; CHECK-NEXT: {{ $}}699 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10700 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 16 x s8>) = COPY $v8m2701 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 16 x s8>), [[COPY]](p0) :: (store (<vscale x 16 x s8>) into %ir.pa, align 1)702 ; CHECK-NEXT: PseudoRET703 %0:_(p0) = COPY $x10704 %1:_(<vscale x 16 x s8>) = COPY $v8m2705 G_STORE %1(<vscale x 16 x s8>), %0(p0) :: (store (<vscale x 16 x s8>) into %ir.pa, align 1)706 PseudoRET707 708...709---710name: vstore_nx16i8_align2711legalized: true712tracksRegLiveness: true713body: |714 bb.1 (%ir-block.0):715 liveins: $x10, $v8m2716 717 ; CHECK-LABEL: name: vstore_nx16i8_align2718 ; CHECK: liveins: $x10, $v8m2719 ; CHECK-NEXT: {{ $}}720 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10721 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 16 x s8>) = COPY $v8m2722 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 16 x s8>), [[COPY]](p0) :: (store (<vscale x 16 x s8>) into %ir.pa, align 2)723 ; CHECK-NEXT: PseudoRET724 %0:_(p0) = COPY $x10725 %1:_(<vscale x 16 x s8>) = COPY $v8m2726 G_STORE %1(<vscale x 16 x s8>), %0(p0) :: (store (<vscale x 16 x s8>) into %ir.pa, align 2)727 PseudoRET728 729...730---731name: vstore_nx16i8_align16732legalized: true733tracksRegLiveness: true734body: |735 bb.1 (%ir-block.0):736 liveins: $x10, $v8m2737 738 ; CHECK-LABEL: name: vstore_nx16i8_align16739 ; CHECK: liveins: $x10, $v8m2740 ; CHECK-NEXT: {{ $}}741 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10742 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 16 x s8>) = COPY $v8m2743 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 16 x s8>), [[COPY]](p0) :: (store (<vscale x 16 x s8>) into %ir.pa)744 ; CHECK-NEXT: PseudoRET745 %0:_(p0) = COPY $x10746 %1:_(<vscale x 16 x s8>) = COPY $v8m2747 G_STORE %1(<vscale x 16 x s8>), %0(p0) :: (store (<vscale x 16 x s8>) into %ir.pa)748 PseudoRET749 750...751---752name: vstore_nx16i8_align64753legalized: true754tracksRegLiveness: true755body: |756 bb.1 (%ir-block.0):757 liveins: $x10, $v8m2758 759 ; CHECK-LABEL: name: vstore_nx16i8_align64760 ; CHECK: liveins: $x10, $v8m2761 ; CHECK-NEXT: {{ $}}762 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10763 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 16 x s8>) = COPY $v8m2764 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 16 x s8>), [[COPY]](p0) :: (store (<vscale x 16 x s8>) into %ir.pa, align 64)765 ; CHECK-NEXT: PseudoRET766 %0:_(p0) = COPY $x10767 %1:_(<vscale x 16 x s8>) = COPY $v8m2768 G_STORE %1(<vscale x 16 x s8>), %0(p0) :: (store (<vscale x 16 x s8>) into %ir.pa, align 64)769 PseudoRET770 771...772---773name: vstore_nx4i16_align1774legalized: true775tracksRegLiveness: true776body: |777 bb.1 (%ir-block.0):778 liveins: $v8, $x10779 780 ; CHECK-LABEL: name: vstore_nx4i16_align1781 ; CHECK: liveins: $v8, $x10782 ; CHECK-NEXT: {{ $}}783 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10784 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 4 x s16>) = COPY $v8785 ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:vrb(<vscale x 8 x s8>) = G_BITCAST [[COPY1]](<vscale x 4 x s16>)786 ; CHECK-NEXT: G_STORE [[BITCAST]](<vscale x 8 x s8>), [[COPY]](p0) :: (store (<vscale x 8 x s8>) into %ir.pa, align 1)787 ; CHECK-NEXT: PseudoRET788 %0:_(p0) = COPY $x10789 %1:_(<vscale x 4 x s16>) = COPY $v8790 %2:_(<vscale x 8 x s8>) = G_BITCAST %1(<vscale x 4 x s16>)791 G_STORE %2(<vscale x 8 x s8>), %0(p0) :: (store (<vscale x 8 x s8>) into %ir.pa, align 1)792 PseudoRET793 794...795---796name: vstore_nx4i16_align2797legalized: true798tracksRegLiveness: true799body: |800 bb.1 (%ir-block.0):801 liveins: $v8, $x10802 803 ; CHECK-LABEL: name: vstore_nx4i16_align2804 ; CHECK: liveins: $v8, $x10805 ; CHECK-NEXT: {{ $}}806 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10807 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 4 x s16>) = COPY $v8808 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 4 x s16>), [[COPY]](p0) :: (store (<vscale x 4 x s16>) into %ir.pa, align 2)809 ; CHECK-NEXT: PseudoRET810 %0:_(p0) = COPY $x10811 %1:_(<vscale x 4 x s16>) = COPY $v8812 G_STORE %1(<vscale x 4 x s16>), %0(p0) :: (store (<vscale x 4 x s16>) into %ir.pa, align 2)813 PseudoRET814 815...816---817name: vstore_nx4i16_align4818legalized: true819tracksRegLiveness: true820body: |821 bb.1 (%ir-block.0):822 liveins: $v8, $x10823 824 ; CHECK-LABEL: name: vstore_nx4i16_align4825 ; CHECK: liveins: $v8, $x10826 ; CHECK-NEXT: {{ $}}827 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10828 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 4 x s16>) = COPY $v8829 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 4 x s16>), [[COPY]](p0) :: (store (<vscale x 4 x s16>) into %ir.pa, align 4)830 ; CHECK-NEXT: PseudoRET831 %0:_(p0) = COPY $x10832 %1:_(<vscale x 4 x s16>) = COPY $v8833 G_STORE %1(<vscale x 4 x s16>), %0(p0) :: (store (<vscale x 4 x s16>) into %ir.pa, align 4)834 PseudoRET835 836...837---838name: vstore_nx4i16_align8839legalized: true840tracksRegLiveness: true841body: |842 bb.1 (%ir-block.0):843 liveins: $v8, $x10844 845 ; CHECK-LABEL: name: vstore_nx4i16_align8846 ; CHECK: liveins: $v8, $x10847 ; CHECK-NEXT: {{ $}}848 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10849 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 4 x s16>) = COPY $v8850 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 4 x s16>), [[COPY]](p0) :: (store (<vscale x 4 x s16>) into %ir.pa)851 ; CHECK-NEXT: PseudoRET852 %0:_(p0) = COPY $x10853 %1:_(<vscale x 4 x s16>) = COPY $v8854 G_STORE %1(<vscale x 4 x s16>), %0(p0) :: (store (<vscale x 4 x s16>) into %ir.pa)855 PseudoRET856 857...858---859name: vstore_nx4i16_align16860legalized: true861tracksRegLiveness: true862body: |863 bb.1 (%ir-block.0):864 liveins: $v8, $x10865 866 ; CHECK-LABEL: name: vstore_nx4i16_align16867 ; CHECK: liveins: $v8, $x10868 ; CHECK-NEXT: {{ $}}869 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10870 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 4 x s16>) = COPY $v8871 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 4 x s16>), [[COPY]](p0) :: (store (<vscale x 4 x s16>) into %ir.pa, align 16)872 ; CHECK-NEXT: PseudoRET873 %0:_(p0) = COPY $x10874 %1:_(<vscale x 4 x s16>) = COPY $v8875 G_STORE %1(<vscale x 4 x s16>), %0(p0) :: (store (<vscale x 4 x s16>) into %ir.pa, align 16)876 PseudoRET877 878...879---880name: vstore_nx2i32_align2881legalized: true882tracksRegLiveness: true883body: |884 bb.1 (%ir-block.0):885 liveins: $v8, $x10886 887 ; CHECK-LABEL: name: vstore_nx2i32_align2888 ; CHECK: liveins: $v8, $x10889 ; CHECK-NEXT: {{ $}}890 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10891 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 2 x s32>) = COPY $v8892 ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:vrb(<vscale x 8 x s8>) = G_BITCAST [[COPY1]](<vscale x 2 x s32>)893 ; CHECK-NEXT: G_STORE [[BITCAST]](<vscale x 8 x s8>), [[COPY]](p0) :: (store (<vscale x 8 x s8>) into %ir.pa, align 2)894 ; CHECK-NEXT: PseudoRET895 %0:_(p0) = COPY $x10896 %1:_(<vscale x 2 x s32>) = COPY $v8897 %2:_(<vscale x 8 x s8>) = G_BITCAST %1(<vscale x 2 x s32>)898 G_STORE %2(<vscale x 8 x s8>), %0(p0) :: (store (<vscale x 8 x s8>) into %ir.pa, align 2)899 PseudoRET900 901...902---903name: vstore_nx2i32_align4904legalized: true905tracksRegLiveness: true906body: |907 bb.1 (%ir-block.0):908 liveins: $v8, $x10909 910 ; CHECK-LABEL: name: vstore_nx2i32_align4911 ; CHECK: liveins: $v8, $x10912 ; CHECK-NEXT: {{ $}}913 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10914 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 2 x s32>) = COPY $v8915 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 2 x s32>), [[COPY]](p0) :: (store (<vscale x 2 x s32>) into %ir.pa, align 4)916 ; CHECK-NEXT: PseudoRET917 %0:_(p0) = COPY $x10918 %1:_(<vscale x 2 x s32>) = COPY $v8919 G_STORE %1(<vscale x 2 x s32>), %0(p0) :: (store (<vscale x 2 x s32>) into %ir.pa, align 4)920 PseudoRET921 922...923---924name: vstore_nx2i32_align8925legalized: true926tracksRegLiveness: true927body: |928 bb.1 (%ir-block.0):929 liveins: $v8, $x10930 931 ; CHECK-LABEL: name: vstore_nx2i32_align8932 ; CHECK: liveins: $v8, $x10933 ; CHECK-NEXT: {{ $}}934 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10935 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 2 x s32>) = COPY $v8936 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 2 x s32>), [[COPY]](p0) :: (store (<vscale x 2 x s32>) into %ir.pa)937 ; CHECK-NEXT: PseudoRET938 %0:_(p0) = COPY $x10939 %1:_(<vscale x 2 x s32>) = COPY $v8940 G_STORE %1(<vscale x 2 x s32>), %0(p0) :: (store (<vscale x 2 x s32>) into %ir.pa)941 PseudoRET942 943...944---945name: vstore_nx2i32_align16946legalized: true947tracksRegLiveness: true948body: |949 bb.1 (%ir-block.0):950 liveins: $v8, $x10951 952 ; CHECK-LABEL: name: vstore_nx2i32_align16953 ; CHECK: liveins: $v8, $x10954 ; CHECK-NEXT: {{ $}}955 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10956 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 2 x s32>) = COPY $v8957 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 2 x s32>), [[COPY]](p0) :: (store (<vscale x 2 x s32>) into %ir.pa, align 16)958 ; CHECK-NEXT: PseudoRET959 %0:_(p0) = COPY $x10960 %1:_(<vscale x 2 x s32>) = COPY $v8961 G_STORE %1(<vscale x 2 x s32>), %0(p0) :: (store (<vscale x 2 x s32>) into %ir.pa, align 16)962 PseudoRET963 964...965---966name: vstore_nx2i32_align256967legalized: true968tracksRegLiveness: true969body: |970 bb.1 (%ir-block.0):971 liveins: $v8, $x10972 973 ; CHECK-LABEL: name: vstore_nx2i32_align256974 ; CHECK: liveins: $v8, $x10975 ; CHECK-NEXT: {{ $}}976 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10977 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 2 x s32>) = COPY $v8978 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 2 x s32>), [[COPY]](p0) :: (store (<vscale x 2 x s32>) into %ir.pa, align 256)979 ; CHECK-NEXT: PseudoRET980 %0:_(p0) = COPY $x10981 %1:_(<vscale x 2 x s32>) = COPY $v8982 G_STORE %1(<vscale x 2 x s32>), %0(p0) :: (store (<vscale x 2 x s32>) into %ir.pa, align 256)983 PseudoRET984 985...986---987name: vstore_nx2i64_align4988legalized: true989tracksRegLiveness: true990body: |991 bb.1 (%ir-block.0):992 liveins: $x10, $v8m2993 994 ; CHECK-LABEL: name: vstore_nx2i64_align4995 ; CHECK: liveins: $x10, $v8m2996 ; CHECK-NEXT: {{ $}}997 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10998 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 2 x s64>) = COPY $v8m2999 ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:vrb(<vscale x 16 x s8>) = G_BITCAST [[COPY1]](<vscale x 2 x s64>)1000 ; CHECK-NEXT: G_STORE [[BITCAST]](<vscale x 16 x s8>), [[COPY]](p0) :: (store (<vscale x 16 x s8>) into %ir.pa, align 4)1001 ; CHECK-NEXT: PseudoRET1002 %0:_(p0) = COPY $x101003 %1:_(<vscale x 2 x s64>) = COPY $v8m21004 %2:_(<vscale x 16 x s8>) = G_BITCAST %1(<vscale x 2 x s64>)1005 G_STORE %2(<vscale x 16 x s8>), %0(p0) :: (store (<vscale x 16 x s8>) into %ir.pa, align 4)1006 PseudoRET1007 1008...1009---1010name: vstore_nx2i64_align81011legalized: true1012tracksRegLiveness: true1013body: |1014 bb.1 (%ir-block.0):1015 liveins: $x10, $v8m21016 1017 ; CHECK-LABEL: name: vstore_nx2i64_align81018 ; CHECK: liveins: $x10, $v8m21019 ; CHECK-NEXT: {{ $}}1020 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x101021 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 2 x s64>) = COPY $v8m21022 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 2 x s64>), [[COPY]](p0) :: (store (<vscale x 2 x s64>) into %ir.pa, align 8)1023 ; CHECK-NEXT: PseudoRET1024 %0:_(p0) = COPY $x101025 %1:_(<vscale x 2 x s64>) = COPY $v8m21026 G_STORE %1(<vscale x 2 x s64>), %0(p0) :: (store (<vscale x 2 x s64>) into %ir.pa, align 8)1027 PseudoRET1028 1029...1030---1031name: vstore_nx2i64_align161032legalized: true1033tracksRegLiveness: true1034body: |1035 bb.1 (%ir-block.0):1036 liveins: $x10, $v8m21037 1038 ; CHECK-LABEL: name: vstore_nx2i64_align161039 ; CHECK: liveins: $x10, $v8m21040 ; CHECK-NEXT: {{ $}}1041 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x101042 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 2 x s64>) = COPY $v8m21043 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 2 x s64>), [[COPY]](p0) :: (store (<vscale x 2 x s64>) into %ir.pa)1044 ; CHECK-NEXT: PseudoRET1045 %0:_(p0) = COPY $x101046 %1:_(<vscale x 2 x s64>) = COPY $v8m21047 G_STORE %1(<vscale x 2 x s64>), %0(p0) :: (store (<vscale x 2 x s64>) into %ir.pa)1048 PseudoRET1049 1050...1051---1052name: vstore_nx2i64_align321053legalized: true1054tracksRegLiveness: true1055body: |1056 bb.1 (%ir-block.0):1057 liveins: $x10, $v8m21058 1059 ; CHECK-LABEL: name: vstore_nx2i64_align321060 ; CHECK: liveins: $x10, $v8m21061 ; CHECK-NEXT: {{ $}}1062 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x101063 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 2 x s64>) = COPY $v8m21064 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 2 x s64>), [[COPY]](p0) :: (store (<vscale x 2 x s64>) into %ir.pa, align 32)1065 ; CHECK-NEXT: PseudoRET1066 %0:_(p0) = COPY $x101067 %1:_(<vscale x 2 x s64>) = COPY $v8m21068 G_STORE %1(<vscale x 2 x s64>), %0(p0) :: (store (<vscale x 2 x s64>) into %ir.pa, align 32)1069 PseudoRET1070 1071...1072---1073name: vstore_nx1ptr1074legalized: true1075tracksRegLiveness: true1076body: |1077 bb.1 (%ir-block.0):1078 liveins: $v8, $x101079 1080 ; CHECK-LABEL: name: vstore_nx1ptr1081 ; CHECK: liveins: $v8, $x101082 ; CHECK-NEXT: {{ $}}1083 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x101084 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 1 x p0>) = COPY $v81085 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 1 x p0>), [[COPY]](p0) :: (store (<vscale x 1 x p0>) into %ir.pa)1086 ; CHECK-NEXT: PseudoRET1087 %0:_(p0) = COPY $x101088 %1:_(<vscale x 1 x p0>) = COPY $v81089 G_STORE %1(<vscale x 1 x p0>), %0(p0) :: (store (<vscale x 1 x p0>) into %ir.pa)1090 PseudoRET1091 1092...1093---1094name: vstore_nx2ptr1095legalized: true1096tracksRegLiveness: true1097body: |1098 bb.1 (%ir-block.0):1099 liveins: $v8, $x101100 1101 ; CHECK-LABEL: name: vstore_nx2ptr1102 ; CHECK: liveins: $v8, $x101103 ; CHECK-NEXT: {{ $}}1104 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x101105 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 2 x p0>) = COPY $v81106 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 2 x p0>), [[COPY]](p0) :: (store (<vscale x 2 x p0>) into %ir.pa)1107 ; CHECK-NEXT: PseudoRET1108 %0:_(p0) = COPY $x101109 %1:_(<vscale x 2 x p0>) = COPY $v81110 G_STORE %1(<vscale x 2 x p0>), %0(p0) :: (store (<vscale x 2 x p0>) into %ir.pa)1111 PseudoRET1112 1113...1114---1115name: vstore_nx8ptr1116legalized: true1117tracksRegLiveness: true1118body: |1119 bb.1 (%ir-block.0):1120 liveins: $x10, $v8m41121 1122 ; CHECK-LABEL: name: vstore_nx8ptr1123 ; CHECK: liveins: $x10, $v8m41124 ; CHECK-NEXT: {{ $}}1125 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x101126 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vrb(<vscale x 8 x p0>) = COPY $v8m41127 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 8 x p0>), [[COPY]](p0) :: (store (<vscale x 8 x p0>) into %ir.pa)1128 ; CHECK-NEXT: PseudoRET1129 %0:_(p0) = COPY $x101130 %1:_(<vscale x 8 x p0>) = COPY $v8m41131 G_STORE %1(<vscale x 8 x p0>), %0(p0) :: (store (<vscale x 8 x p0>) into %ir.pa)1132 PseudoRET1133 1134...1135