972 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=riscv32 -mattr=+v -run-pass=legalizer %s -o - | FileCheck %s3# RUN: llc -mtriple=riscv64 -mattr=+v -run-pass=legalizer %s -o - | FileCheck %s4--- |5 6 define void @vstore_nx1i8(ptr %pa, <vscale x 1 x i8> %b) #0 {7 store <vscale x 1 x i8> %b, ptr %pa, align 18 ret void9 }10 11 define void @vstore_nx2i8(ptr %pa, <vscale x 2 x i8> %b) #0 {12 store <vscale x 2 x i8> %b, ptr %pa, align 213 ret void14 }15 16 define void @vstore_nx4i8(ptr %pa, <vscale x 4 x i8> %b) #0 {17 store <vscale x 4 x i8> %b, ptr %pa, align 418 ret void19 }20 21 define void @vstore_nx8i8(ptr %pa, <vscale x 8 x i8> %b) #0 {22 store <vscale x 8 x i8> %b, ptr %pa, align 823 ret void24 }25 26 define void @vstore_nx16i8(ptr %pa, <vscale x 16 x i8> %b) #0 {27 store <vscale x 16 x i8> %b, ptr %pa, align 1628 ret void29 }30 31 define void @vstore_nx32i8(ptr %pa, <vscale x 32 x i8> %b) #0 {32 store <vscale x 32 x i8> %b, ptr %pa, align 3233 ret void34 }35 36 define void @vstore_nx64i8(ptr %pa, <vscale x 64 x i8> %b) #0 {37 store <vscale x 64 x i8> %b, ptr %pa, align 6438 ret void39 }40 41 define void @vstore_nx1i16(ptr %pa, <vscale x 1 x i16> %b) #0 {42 store <vscale x 1 x i16> %b, ptr %pa, align 243 ret void44 }45 46 define void @vstore_nx2i16(ptr %pa, <vscale x 2 x i16> %b) #0 {47 store <vscale x 2 x i16> %b, ptr %pa, align 448 ret void49 }50 51 define void @vstore_nx4i16(ptr %pa, <vscale x 4 x i16> %b) #0 {52 store <vscale x 4 x i16> %b, ptr %pa, align 853 ret void54 }55 56 define void @vstore_nx8i16(ptr %pa, <vscale x 8 x i16> %b) #0 {57 store <vscale x 8 x i16> %b, ptr %pa, align 1658 ret void59 }60 61 define void @vstore_nx16i16(ptr %pa, <vscale x 16 x i16> %b) #0 {62 store <vscale x 16 x i16> %b, ptr %pa, align 3263 ret void64 }65 66 define void @vstore_nx32i16(ptr %pa, <vscale x 32 x i16> %b) #0 {67 store <vscale x 32 x i16> %b, ptr %pa, align 6468 ret void69 }70 71 define void @vstore_nx1i32(ptr %pa, <vscale x 1 x i32> %b) #0 {72 store <vscale x 1 x i32> %b, ptr %pa, align 473 ret void74 }75 76 define void @vstore_nx2i32(ptr %pa, <vscale x 2 x i32> %b) #0 {77 store <vscale x 2 x i32> %b, ptr %pa, align 878 ret void79 }80 81 define void @vstore_nx4i32(ptr %pa, <vscale x 4 x i32> %b) #0 {82 store <vscale x 4 x i32> %b, ptr %pa, align 1683 ret void84 }85 86 define void @vstore_nx8i32(ptr %pa, <vscale x 8 x i32> %b) #0 {87 store <vscale x 8 x i32> %b, ptr %pa, align 3288 ret void89 }90 91 define void @vstore_nx16i32(ptr %pa, <vscale x 16 x i32> %b) #0 {92 store <vscale x 16 x i32> %b, ptr %pa, align 6493 ret void94 }95 96 define void @vstore_nx1i64(ptr %pa, <vscale x 1 x i64> %b) #0 {97 store <vscale x 1 x i64> %b, ptr %pa, align 898 ret void99 }100 101 define void @vstore_nx2i64(ptr %pa, <vscale x 2 x i64> %b) #0 {102 store <vscale x 2 x i64> %b, ptr %pa, align 16103 ret void104 }105 106 define void @vstore_nx4i64(ptr %pa, <vscale x 4 x i64> %b) #0 {107 store <vscale x 4 x i64> %b, ptr %pa, align 32108 ret void109 }110 111 define void @vstore_nx8i64(ptr %pa, <vscale x 8 x i64> %b) #0 {112 store <vscale x 8 x i64> %b, ptr %pa, align 64113 ret void114 }115 116 define void @vstore_nx16i8_align1(ptr %pa, <vscale x 16 x i8> %b) #0 {117 store <vscale x 16 x i8> %b, ptr %pa, align 1118 ret void119 }120 121 define void @vstore_nx16i8_align2(ptr %pa, <vscale x 16 x i8> %b) #0 {122 store <vscale x 16 x i8> %b, ptr %pa, align 2123 ret void124 }125 126 define void @vstore_nx16i8_align16(ptr %pa, <vscale x 16 x i8> %b) #0 {127 store <vscale x 16 x i8> %b, ptr %pa, align 16128 ret void129 }130 131 define void @vstore_nx16i8_align64(ptr %pa, <vscale x 16 x i8> %b) #0 {132 store <vscale x 16 x i8> %b, ptr %pa, align 64133 ret void134 }135 136 define void @vstore_nx4i16_align1(ptr %pa, <vscale x 4 x i16> %b) #0 {137 store <vscale x 4 x i16> %b, ptr %pa, align 1138 ret void139 }140 141 define void @vstore_nx4i16_align2(ptr %pa, <vscale x 4 x i16> %b) #0 {142 store <vscale x 4 x i16> %b, ptr %pa, align 2143 ret void144 }145 146 define void @vstore_nx4i16_align4(ptr %pa, <vscale x 4 x i16> %b) #0 {147 store <vscale x 4 x i16> %b, ptr %pa, align 4148 ret void149 }150 151 define void @vstore_nx4i16_align8(ptr %pa, <vscale x 4 x i16> %b) #0 {152 store <vscale x 4 x i16> %b, ptr %pa, align 8153 ret void154 }155 156 define void @vstore_nx4i16_align16(ptr %pa, <vscale x 4 x i16> %b) #0 {157 store <vscale x 4 x i16> %b, ptr %pa, align 16158 ret void159 }160 161 define void @vstore_nx2i32_align2(ptr %pa, <vscale x 2 x i32> %b) #0 {162 store <vscale x 2 x i32> %b, ptr %pa, align 2163 ret void164 }165 166 define void @vstore_nx2i32_align4(ptr %pa, <vscale x 2 x i32> %b) #0 {167 store <vscale x 2 x i32> %b, ptr %pa, align 4168 ret void169 }170 171 define void @vstore_nx2i32_align8(ptr %pa, <vscale x 2 x i32> %b) #0 {172 store <vscale x 2 x i32> %b, ptr %pa, align 8173 ret void174 }175 176 define void @vstore_nx2i32_align16(ptr %pa, <vscale x 2 x i32> %b) #0 {177 store <vscale x 2 x i32> %b, ptr %pa, align 16178 ret void179 }180 181 define void @vstore_nx2i32_align256(ptr %pa, <vscale x 2 x i32> %b) #0 {182 store <vscale x 2 x i32> %b, ptr %pa, align 256183 ret void184 }185 186 define void @vstore_nx2i64_align4(ptr %pa, <vscale x 2 x i64> %b) #0 {187 store <vscale x 2 x i64> %b, ptr %pa, align 4188 ret void189 }190 191 define void @vstore_nx2i64_align8(ptr %pa, <vscale x 2 x i64> %b) #0 {192 store <vscale x 2 x i64> %b, ptr %pa, align 8193 ret void194 }195 196 define void @vstore_nx2i64_align16(ptr %pa, <vscale x 2 x i64> %b) #0 {197 store <vscale x 2 x i64> %b, ptr %pa, align 16198 ret void199 }200 201 define void @vstore_nx2i64_align32(ptr %pa, <vscale x 2 x i64> %b) #0 {202 store <vscale x 2 x i64> %b, ptr %pa, align 32203 ret void204 }205 206 attributes #0 = { "target-features"="+v" }207 208...209---210name: vstore_nx1i8211body: |212 bb.1 (%ir-block.0):213 liveins: $v8, $x10214 215 ; CHECK-LABEL: name: vstore_nx1i8216 ; CHECK: liveins: $v8, $x10217 ; CHECK-NEXT: {{ $}}218 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10219 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 1 x s8>) = COPY $v8220 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 1 x s8>), [[COPY]](p0) :: (store (<vscale x 1 x s8>) into %ir.pa)221 ; CHECK-NEXT: PseudoRET222 %0:_(p0) = COPY $x10223 %1:_(<vscale x 1 x s8>) = COPY $v8224 G_STORE %1(<vscale x 1 x s8>), %0(p0) :: (store (<vscale x 1 x s8>) into %ir.pa)225 PseudoRET226 227...228---229name: vstore_nx2i8230body: |231 bb.1 (%ir-block.0):232 liveins: $v8, $x10233 234 ; CHECK-LABEL: name: vstore_nx2i8235 ; CHECK: liveins: $v8, $x10236 ; CHECK-NEXT: {{ $}}237 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10238 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 2 x s8>) = COPY $v8239 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 2 x s8>), [[COPY]](p0) :: (store (<vscale x 2 x s8>) into %ir.pa)240 ; CHECK-NEXT: PseudoRET241 %0:_(p0) = COPY $x10242 %1:_(<vscale x 2 x s8>) = COPY $v8243 G_STORE %1(<vscale x 2 x s8>), %0(p0) :: (store (<vscale x 2 x s8>) into %ir.pa)244 PseudoRET245 246...247---248name: vstore_nx4i8249body: |250 bb.1 (%ir-block.0):251 liveins: $v8, $x10252 253 ; CHECK-LABEL: name: vstore_nx4i8254 ; CHECK: liveins: $v8, $x10255 ; CHECK-NEXT: {{ $}}256 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10257 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 4 x s8>) = COPY $v8258 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 4 x s8>), [[COPY]](p0) :: (store (<vscale x 4 x s8>) into %ir.pa)259 ; CHECK-NEXT: PseudoRET260 %0:_(p0) = COPY $x10261 %1:_(<vscale x 4 x s8>) = COPY $v8262 G_STORE %1(<vscale x 4 x s8>), %0(p0) :: (store (<vscale x 4 x s8>) into %ir.pa)263 PseudoRET264 265...266---267name: vstore_nx8i8268body: |269 bb.1 (%ir-block.0):270 liveins: $v8, $x10271 272 ; CHECK-LABEL: name: vstore_nx8i8273 ; CHECK: liveins: $v8, $x10274 ; CHECK-NEXT: {{ $}}275 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10276 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 8 x s8>) = COPY $v8277 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 8 x s8>), [[COPY]](p0) :: (store (<vscale x 8 x s8>) into %ir.pa)278 ; CHECK-NEXT: PseudoRET279 %0:_(p0) = COPY $x10280 %1:_(<vscale x 8 x s8>) = COPY $v8281 G_STORE %1(<vscale x 8 x s8>), %0(p0) :: (store (<vscale x 8 x s8>) into %ir.pa)282 PseudoRET283 284...285---286name: vstore_nx16i8287body: |288 bb.1 (%ir-block.0):289 liveins: $x10, $v8m2290 291 ; CHECK-LABEL: name: vstore_nx16i8292 ; CHECK: liveins: $x10, $v8m2293 ; CHECK-NEXT: {{ $}}294 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10295 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 16 x s8>) = COPY $v8m2296 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 16 x s8>), [[COPY]](p0) :: (store (<vscale x 16 x s8>) into %ir.pa)297 ; CHECK-NEXT: PseudoRET298 %0:_(p0) = COPY $x10299 %1:_(<vscale x 16 x s8>) = COPY $v8m2300 G_STORE %1(<vscale x 16 x s8>), %0(p0) :: (store (<vscale x 16 x s8>) into %ir.pa)301 PseudoRET302 303...304---305name: vstore_nx32i8306body: |307 bb.1 (%ir-block.0):308 liveins: $x10, $v8m4309 310 ; CHECK-LABEL: name: vstore_nx32i8311 ; CHECK: liveins: $x10, $v8m4312 ; CHECK-NEXT: {{ $}}313 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10314 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 32 x s8>) = COPY $v8m4315 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 32 x s8>), [[COPY]](p0) :: (store (<vscale x 32 x s8>) into %ir.pa)316 ; CHECK-NEXT: PseudoRET317 %0:_(p0) = COPY $x10318 %1:_(<vscale x 32 x s8>) = COPY $v8m4319 G_STORE %1(<vscale x 32 x s8>), %0(p0) :: (store (<vscale x 32 x s8>) into %ir.pa)320 PseudoRET321 322...323---324name: vstore_nx64i8325body: |326 bb.1 (%ir-block.0):327 liveins: $x10, $v8m8328 329 ; CHECK-LABEL: name: vstore_nx64i8330 ; CHECK: liveins: $x10, $v8m8331 ; CHECK-NEXT: {{ $}}332 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10333 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 64 x s8>) = COPY $v8m8334 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 64 x s8>), [[COPY]](p0) :: (store (<vscale x 64 x s8>) into %ir.pa)335 ; CHECK-NEXT: PseudoRET336 %0:_(p0) = COPY $x10337 %1:_(<vscale x 64 x s8>) = COPY $v8m8338 G_STORE %1(<vscale x 64 x s8>), %0(p0) :: (store (<vscale x 64 x s8>) into %ir.pa)339 PseudoRET340 341...342---343name: vstore_nx1i16344body: |345 bb.1 (%ir-block.0):346 liveins: $v8, $x10347 348 ; CHECK-LABEL: name: vstore_nx1i16349 ; CHECK: liveins: $v8, $x10350 ; CHECK-NEXT: {{ $}}351 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10352 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 1 x s16>) = COPY $v8353 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 1 x s16>), [[COPY]](p0) :: (store (<vscale x 1 x s16>) into %ir.pa)354 ; CHECK-NEXT: PseudoRET355 %0:_(p0) = COPY $x10356 %1:_(<vscale x 1 x s16>) = COPY $v8357 G_STORE %1(<vscale x 1 x s16>), %0(p0) :: (store (<vscale x 1 x s16>) into %ir.pa)358 PseudoRET359 360...361---362name: vstore_nx2i16363body: |364 bb.1 (%ir-block.0):365 liveins: $v8, $x10366 367 ; CHECK-LABEL: name: vstore_nx2i16368 ; CHECK: liveins: $v8, $x10369 ; CHECK-NEXT: {{ $}}370 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10371 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 2 x s16>) = COPY $v8372 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 2 x s16>), [[COPY]](p0) :: (store (<vscale x 2 x s16>) into %ir.pa)373 ; CHECK-NEXT: PseudoRET374 %0:_(p0) = COPY $x10375 %1:_(<vscale x 2 x s16>) = COPY $v8376 G_STORE %1(<vscale x 2 x s16>), %0(p0) :: (store (<vscale x 2 x s16>) into %ir.pa)377 PseudoRET378 379...380---381name: vstore_nx4i16382body: |383 bb.1 (%ir-block.0):384 liveins: $v8, $x10385 386 ; CHECK-LABEL: name: vstore_nx4i16387 ; CHECK: liveins: $v8, $x10388 ; CHECK-NEXT: {{ $}}389 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10390 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 4 x s16>) = COPY $v8391 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 4 x s16>), [[COPY]](p0) :: (store (<vscale x 4 x s16>) into %ir.pa)392 ; CHECK-NEXT: PseudoRET393 %0:_(p0) = COPY $x10394 %1:_(<vscale x 4 x s16>) = COPY $v8395 G_STORE %1(<vscale x 4 x s16>), %0(p0) :: (store (<vscale x 4 x s16>) into %ir.pa)396 PseudoRET397 398...399---400name: vstore_nx8i16401body: |402 bb.1 (%ir-block.0):403 liveins: $x10, $v8m2404 405 ; CHECK-LABEL: name: vstore_nx8i16406 ; CHECK: liveins: $x10, $v8m2407 ; CHECK-NEXT: {{ $}}408 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10409 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 8 x s16>) = COPY $v8m2410 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 8 x s16>), [[COPY]](p0) :: (store (<vscale x 8 x s16>) into %ir.pa)411 ; CHECK-NEXT: PseudoRET412 %0:_(p0) = COPY $x10413 %1:_(<vscale x 8 x s16>) = COPY $v8m2414 G_STORE %1(<vscale x 8 x s16>), %0(p0) :: (store (<vscale x 8 x s16>) into %ir.pa)415 PseudoRET416 417...418---419name: vstore_nx16i16420body: |421 bb.1 (%ir-block.0):422 liveins: $x10, $v8m4423 424 ; CHECK-LABEL: name: vstore_nx16i16425 ; CHECK: liveins: $x10, $v8m4426 ; CHECK-NEXT: {{ $}}427 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10428 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 16 x s16>) = COPY $v8m4429 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 16 x s16>), [[COPY]](p0) :: (store (<vscale x 16 x s16>) into %ir.pa)430 ; CHECK-NEXT: PseudoRET431 %0:_(p0) = COPY $x10432 %1:_(<vscale x 16 x s16>) = COPY $v8m4433 G_STORE %1(<vscale x 16 x s16>), %0(p0) :: (store (<vscale x 16 x s16>) into %ir.pa)434 PseudoRET435 436...437---438name: vstore_nx32i16439body: |440 bb.1 (%ir-block.0):441 liveins: $x10, $v8m8442 443 ; CHECK-LABEL: name: vstore_nx32i16444 ; CHECK: liveins: $x10, $v8m8445 ; CHECK-NEXT: {{ $}}446 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10447 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 32 x s16>) = COPY $v8m8448 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 32 x s16>), [[COPY]](p0) :: (store (<vscale x 32 x s16>) into %ir.pa)449 ; CHECK-NEXT: PseudoRET450 %0:_(p0) = COPY $x10451 %1:_(<vscale x 32 x s16>) = COPY $v8m8452 G_STORE %1(<vscale x 32 x s16>), %0(p0) :: (store (<vscale x 32 x s16>) into %ir.pa)453 PseudoRET454 455...456---457name: vstore_nx1i32458body: |459 bb.1 (%ir-block.0):460 liveins: $v8, $x10461 462 ; CHECK-LABEL: name: vstore_nx1i32463 ; CHECK: liveins: $v8, $x10464 ; CHECK-NEXT: {{ $}}465 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10466 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 1 x s32>) = COPY $v8467 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 1 x s32>), [[COPY]](p0) :: (store (<vscale x 1 x s32>) into %ir.pa)468 ; CHECK-NEXT: PseudoRET469 %0:_(p0) = COPY $x10470 %1:_(<vscale x 1 x s32>) = COPY $v8471 G_STORE %1(<vscale x 1 x s32>), %0(p0) :: (store (<vscale x 1 x s32>) into %ir.pa)472 PseudoRET473 474...475---476name: vstore_nx2i32477body: |478 bb.1 (%ir-block.0):479 liveins: $v8, $x10480 481 ; CHECK-LABEL: name: vstore_nx2i32482 ; CHECK: liveins: $v8, $x10483 ; CHECK-NEXT: {{ $}}484 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10485 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 2 x s32>) = COPY $v8486 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 2 x s32>), [[COPY]](p0) :: (store (<vscale x 2 x s32>) into %ir.pa)487 ; CHECK-NEXT: PseudoRET488 %0:_(p0) = COPY $x10489 %1:_(<vscale x 2 x s32>) = COPY $v8490 G_STORE %1(<vscale x 2 x s32>), %0(p0) :: (store (<vscale x 2 x s32>) into %ir.pa)491 PseudoRET492 493...494---495name: vstore_nx4i32496body: |497 bb.1 (%ir-block.0):498 liveins: $x10, $v8m2499 500 ; CHECK-LABEL: name: vstore_nx4i32501 ; CHECK: liveins: $x10, $v8m2502 ; CHECK-NEXT: {{ $}}503 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10504 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 4 x s32>) = COPY $v8m2505 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 4 x s32>), [[COPY]](p0) :: (store (<vscale x 4 x s32>) into %ir.pa)506 ; CHECK-NEXT: PseudoRET507 %0:_(p0) = COPY $x10508 %1:_(<vscale x 4 x s32>) = COPY $v8m2509 G_STORE %1(<vscale x 4 x s32>), %0(p0) :: (store (<vscale x 4 x s32>) into %ir.pa)510 PseudoRET511 512...513---514name: vstore_nx8i32515body: |516 bb.1 (%ir-block.0):517 liveins: $x10, $v8m4518 519 ; CHECK-LABEL: name: vstore_nx8i32520 ; CHECK: liveins: $x10, $v8m4521 ; CHECK-NEXT: {{ $}}522 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10523 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 8 x s32>) = COPY $v8m4524 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 8 x s32>), [[COPY]](p0) :: (store (<vscale x 8 x s32>) into %ir.pa)525 ; CHECK-NEXT: PseudoRET526 %0:_(p0) = COPY $x10527 %1:_(<vscale x 8 x s32>) = COPY $v8m4528 G_STORE %1(<vscale x 8 x s32>), %0(p0) :: (store (<vscale x 8 x s32>) into %ir.pa)529 PseudoRET530 531...532---533name: vstore_nx16i32534body: |535 bb.1 (%ir-block.0):536 liveins: $x10, $v8m8537 538 ; CHECK-LABEL: name: vstore_nx16i32539 ; CHECK: liveins: $x10, $v8m8540 ; CHECK-NEXT: {{ $}}541 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10542 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 16 x s32>) = COPY $v8m8543 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 16 x s32>), [[COPY]](p0) :: (store (<vscale x 16 x s32>) into %ir.pa)544 ; CHECK-NEXT: PseudoRET545 %0:_(p0) = COPY $x10546 %1:_(<vscale x 16 x s32>) = COPY $v8m8547 G_STORE %1(<vscale x 16 x s32>), %0(p0) :: (store (<vscale x 16 x s32>) into %ir.pa)548 PseudoRET549 550...551---552name: vstore_nx1i64553body: |554 bb.1 (%ir-block.0):555 liveins: $v8, $x10556 557 ; CHECK-LABEL: name: vstore_nx1i64558 ; CHECK: liveins: $v8, $x10559 ; CHECK-NEXT: {{ $}}560 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10561 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 1 x s64>) = COPY $v8562 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 1 x s64>), [[COPY]](p0) :: (store (<vscale x 1 x s64>) into %ir.pa)563 ; CHECK-NEXT: PseudoRET564 %0:_(p0) = COPY $x10565 %1:_(<vscale x 1 x s64>) = COPY $v8566 G_STORE %1(<vscale x 1 x s64>), %0(p0) :: (store (<vscale x 1 x s64>) into %ir.pa)567 PseudoRET568 569...570---571name: vstore_nx2i64572body: |573 bb.1 (%ir-block.0):574 liveins: $x10, $v8m2575 576 ; CHECK-LABEL: name: vstore_nx2i64577 ; CHECK: liveins: $x10, $v8m2578 ; CHECK-NEXT: {{ $}}579 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10580 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 2 x s64>) = COPY $v8m2581 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 2 x s64>), [[COPY]](p0) :: (store (<vscale x 2 x s64>) into %ir.pa)582 ; CHECK-NEXT: PseudoRET583 %0:_(p0) = COPY $x10584 %1:_(<vscale x 2 x s64>) = COPY $v8m2585 G_STORE %1(<vscale x 2 x s64>), %0(p0) :: (store (<vscale x 2 x s64>) into %ir.pa)586 PseudoRET587 588...589---590name: vstore_nx4i64591body: |592 bb.1 (%ir-block.0):593 liveins: $x10, $v8m4594 595 ; CHECK-LABEL: name: vstore_nx4i64596 ; CHECK: liveins: $x10, $v8m4597 ; CHECK-NEXT: {{ $}}598 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10599 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 4 x s64>) = COPY $v8m4600 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 4 x s64>), [[COPY]](p0) :: (store (<vscale x 4 x s64>) into %ir.pa)601 ; CHECK-NEXT: PseudoRET602 %0:_(p0) = COPY $x10603 %1:_(<vscale x 4 x s64>) = COPY $v8m4604 G_STORE %1(<vscale x 4 x s64>), %0(p0) :: (store (<vscale x 4 x s64>) into %ir.pa)605 PseudoRET606 607...608---609name: vstore_nx8i64610body: |611 bb.1 (%ir-block.0):612 liveins: $x10, $v8m8613 614 ; CHECK-LABEL: name: vstore_nx8i64615 ; CHECK: liveins: $x10, $v8m8616 ; CHECK-NEXT: {{ $}}617 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10618 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 8 x s64>) = COPY $v8m8619 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 8 x s64>), [[COPY]](p0) :: (store (<vscale x 8 x s64>) into %ir.pa)620 ; CHECK-NEXT: PseudoRET621 %0:_(p0) = COPY $x10622 %1:_(<vscale x 8 x s64>) = COPY $v8m8623 G_STORE %1(<vscale x 8 x s64>), %0(p0) :: (store (<vscale x 8 x s64>) into %ir.pa)624 PseudoRET625 626...627---628name: vstore_nx16i8_align1629body: |630 bb.1 (%ir-block.0):631 liveins: $x10, $v8m2632 633 ; CHECK-LABEL: name: vstore_nx16i8_align1634 ; CHECK: liveins: $x10, $v8m2635 ; CHECK-NEXT: {{ $}}636 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10637 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 16 x s8>) = COPY $v8m2638 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 16 x s8>), [[COPY]](p0) :: (store (<vscale x 16 x s8>) into %ir.pa, align 1)639 ; CHECK-NEXT: PseudoRET640 %0:_(p0) = COPY $x10641 %1:_(<vscale x 16 x s8>) = COPY $v8m2642 G_STORE %1(<vscale x 16 x s8>), %0(p0) :: (store (<vscale x 16 x s8>) into %ir.pa, align 1)643 PseudoRET644 645...646---647name: vstore_nx16i8_align2648body: |649 bb.1 (%ir-block.0):650 liveins: $x10, $v8m2651 652 ; CHECK-LABEL: name: vstore_nx16i8_align2653 ; CHECK: liveins: $x10, $v8m2654 ; CHECK-NEXT: {{ $}}655 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10656 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 16 x s8>) = COPY $v8m2657 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 16 x s8>), [[COPY]](p0) :: (store (<vscale x 16 x s8>) into %ir.pa, align 2)658 ; CHECK-NEXT: PseudoRET659 %0:_(p0) = COPY $x10660 %1:_(<vscale x 16 x s8>) = COPY $v8m2661 G_STORE %1(<vscale x 16 x s8>), %0(p0) :: (store (<vscale x 16 x s8>) into %ir.pa, align 2)662 PseudoRET663 664...665---666name: vstore_nx16i8_align16667body: |668 bb.1 (%ir-block.0):669 liveins: $x10, $v8m2670 671 ; CHECK-LABEL: name: vstore_nx16i8_align16672 ; CHECK: liveins: $x10, $v8m2673 ; CHECK-NEXT: {{ $}}674 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10675 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 16 x s8>) = COPY $v8m2676 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 16 x s8>), [[COPY]](p0) :: (store (<vscale x 16 x s8>) into %ir.pa)677 ; CHECK-NEXT: PseudoRET678 %0:_(p0) = COPY $x10679 %1:_(<vscale x 16 x s8>) = COPY $v8m2680 G_STORE %1(<vscale x 16 x s8>), %0(p0) :: (store (<vscale x 16 x s8>) into %ir.pa)681 PseudoRET682 683...684---685name: vstore_nx16i8_align64686body: |687 bb.1 (%ir-block.0):688 liveins: $x10, $v8m2689 690 ; CHECK-LABEL: name: vstore_nx16i8_align64691 ; CHECK: liveins: $x10, $v8m2692 ; CHECK-NEXT: {{ $}}693 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10694 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 16 x s8>) = COPY $v8m2695 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 16 x s8>), [[COPY]](p0) :: (store (<vscale x 16 x s8>) into %ir.pa, align 64)696 ; CHECK-NEXT: PseudoRET697 %0:_(p0) = COPY $x10698 %1:_(<vscale x 16 x s8>) = COPY $v8m2699 G_STORE %1(<vscale x 16 x s8>), %0(p0) :: (store (<vscale x 16 x s8>) into %ir.pa, align 64)700 PseudoRET701 702...703---704name: vstore_nx4i16_align1705body: |706 bb.1 (%ir-block.0):707 liveins: $v8, $x10708 709 ; CHECK-LABEL: name: vstore_nx4i16_align1710 ; CHECK: liveins: $v8, $x10711 ; CHECK-NEXT: {{ $}}712 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10713 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 4 x s16>) = COPY $v8714 ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<vscale x 8 x s8>) = G_BITCAST [[COPY1]](<vscale x 4 x s16>)715 ; CHECK-NEXT: G_STORE [[BITCAST]](<vscale x 8 x s8>), [[COPY]](p0) :: (store (<vscale x 8 x s8>) into %ir.pa, align 1)716 ; CHECK-NEXT: PseudoRET717 %0:_(p0) = COPY $x10718 %1:_(<vscale x 4 x s16>) = COPY $v8719 G_STORE %1(<vscale x 4 x s16>), %0(p0) :: (store (<vscale x 4 x s16>) into %ir.pa, align 1)720 PseudoRET721 722...723---724name: vstore_nx4i16_align2725body: |726 bb.1 (%ir-block.0):727 liveins: $v8, $x10728 729 ; CHECK-LABEL: name: vstore_nx4i16_align2730 ; CHECK: liveins: $v8, $x10731 ; CHECK-NEXT: {{ $}}732 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10733 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 4 x s16>) = COPY $v8734 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 4 x s16>), [[COPY]](p0) :: (store (<vscale x 4 x s16>) into %ir.pa, align 2)735 ; CHECK-NEXT: PseudoRET736 %0:_(p0) = COPY $x10737 %1:_(<vscale x 4 x s16>) = COPY $v8738 G_STORE %1(<vscale x 4 x s16>), %0(p0) :: (store (<vscale x 4 x s16>) into %ir.pa, align 2)739 PseudoRET740 741...742---743name: vstore_nx4i16_align4744body: |745 bb.1 (%ir-block.0):746 liveins: $v8, $x10747 748 ; CHECK-LABEL: name: vstore_nx4i16_align4749 ; CHECK: liveins: $v8, $x10750 ; CHECK-NEXT: {{ $}}751 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10752 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 4 x s16>) = COPY $v8753 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 4 x s16>), [[COPY]](p0) :: (store (<vscale x 4 x s16>) into %ir.pa, align 4)754 ; CHECK-NEXT: PseudoRET755 %0:_(p0) = COPY $x10756 %1:_(<vscale x 4 x s16>) = COPY $v8757 G_STORE %1(<vscale x 4 x s16>), %0(p0) :: (store (<vscale x 4 x s16>) into %ir.pa, align 4)758 PseudoRET759 760...761---762name: vstore_nx4i16_align8763body: |764 bb.1 (%ir-block.0):765 liveins: $v8, $x10766 767 ; CHECK-LABEL: name: vstore_nx4i16_align8768 ; CHECK: liveins: $v8, $x10769 ; CHECK-NEXT: {{ $}}770 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10771 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 4 x s16>) = COPY $v8772 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 4 x s16>), [[COPY]](p0) :: (store (<vscale x 4 x s16>) into %ir.pa)773 ; CHECK-NEXT: PseudoRET774 %0:_(p0) = COPY $x10775 %1:_(<vscale x 4 x s16>) = COPY $v8776 G_STORE %1(<vscale x 4 x s16>), %0(p0) :: (store (<vscale x 4 x s16>) into %ir.pa)777 PseudoRET778 779...780---781name: vstore_nx4i16_align16782body: |783 bb.1 (%ir-block.0):784 liveins: $v8, $x10785 786 ; CHECK-LABEL: name: vstore_nx4i16_align16787 ; CHECK: liveins: $v8, $x10788 ; CHECK-NEXT: {{ $}}789 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10790 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 4 x s16>) = COPY $v8791 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 4 x s16>), [[COPY]](p0) :: (store (<vscale x 4 x s16>) into %ir.pa, align 16)792 ; CHECK-NEXT: PseudoRET793 %0:_(p0) = COPY $x10794 %1:_(<vscale x 4 x s16>) = COPY $v8795 G_STORE %1(<vscale x 4 x s16>), %0(p0) :: (store (<vscale x 4 x s16>) into %ir.pa, align 16)796 PseudoRET797 798...799---800name: vstore_nx2i32_align2801body: |802 bb.1 (%ir-block.0):803 liveins: $v8, $x10804 805 ; CHECK-LABEL: name: vstore_nx2i32_align2806 ; CHECK: liveins: $v8, $x10807 ; CHECK-NEXT: {{ $}}808 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10809 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 2 x s32>) = COPY $v8810 ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<vscale x 8 x s8>) = G_BITCAST [[COPY1]](<vscale x 2 x s32>)811 ; CHECK-NEXT: G_STORE [[BITCAST]](<vscale x 8 x s8>), [[COPY]](p0) :: (store (<vscale x 8 x s8>) into %ir.pa, align 2)812 ; CHECK-NEXT: PseudoRET813 %0:_(p0) = COPY $x10814 %1:_(<vscale x 2 x s32>) = COPY $v8815 G_STORE %1(<vscale x 2 x s32>), %0(p0) :: (store (<vscale x 2 x s32>) into %ir.pa, align 2)816 PseudoRET817 818...819---820name: vstore_nx2i32_align4821body: |822 bb.1 (%ir-block.0):823 liveins: $v8, $x10824 825 ; CHECK-LABEL: name: vstore_nx2i32_align4826 ; CHECK: liveins: $v8, $x10827 ; CHECK-NEXT: {{ $}}828 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10829 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 2 x s32>) = COPY $v8830 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 2 x s32>), [[COPY]](p0) :: (store (<vscale x 2 x s32>) into %ir.pa, align 4)831 ; CHECK-NEXT: PseudoRET832 %0:_(p0) = COPY $x10833 %1:_(<vscale x 2 x s32>) = COPY $v8834 G_STORE %1(<vscale x 2 x s32>), %0(p0) :: (store (<vscale x 2 x s32>) into %ir.pa, align 4)835 PseudoRET836 837...838---839name: vstore_nx2i32_align8840body: |841 bb.1 (%ir-block.0):842 liveins: $v8, $x10843 844 ; CHECK-LABEL: name: vstore_nx2i32_align8845 ; CHECK: liveins: $v8, $x10846 ; CHECK-NEXT: {{ $}}847 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10848 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 2 x s32>) = COPY $v8849 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 2 x s32>), [[COPY]](p0) :: (store (<vscale x 2 x s32>) into %ir.pa)850 ; CHECK-NEXT: PseudoRET851 %0:_(p0) = COPY $x10852 %1:_(<vscale x 2 x s32>) = COPY $v8853 G_STORE %1(<vscale x 2 x s32>), %0(p0) :: (store (<vscale x 2 x s32>) into %ir.pa)854 PseudoRET855 856...857---858name: vstore_nx2i32_align16859body: |860 bb.1 (%ir-block.0):861 liveins: $v8, $x10862 863 ; CHECK-LABEL: name: vstore_nx2i32_align16864 ; CHECK: liveins: $v8, $x10865 ; CHECK-NEXT: {{ $}}866 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10867 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 2 x s32>) = COPY $v8868 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 2 x s32>), [[COPY]](p0) :: (store (<vscale x 2 x s32>) into %ir.pa, align 16)869 ; CHECK-NEXT: PseudoRET870 %0:_(p0) = COPY $x10871 %1:_(<vscale x 2 x s32>) = COPY $v8872 G_STORE %1(<vscale x 2 x s32>), %0(p0) :: (store (<vscale x 2 x s32>) into %ir.pa, align 16)873 PseudoRET874 875...876---877name: vstore_nx2i32_align256878body: |879 bb.1 (%ir-block.0):880 liveins: $v8, $x10881 882 ; CHECK-LABEL: name: vstore_nx2i32_align256883 ; CHECK: liveins: $v8, $x10884 ; CHECK-NEXT: {{ $}}885 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10886 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 2 x s32>) = COPY $v8887 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 2 x s32>), [[COPY]](p0) :: (store (<vscale x 2 x s32>) into %ir.pa, align 256)888 ; CHECK-NEXT: PseudoRET889 %0:_(p0) = COPY $x10890 %1:_(<vscale x 2 x s32>) = COPY $v8891 G_STORE %1(<vscale x 2 x s32>), %0(p0) :: (store (<vscale x 2 x s32>) into %ir.pa, align 256)892 PseudoRET893 894...895---896name: vstore_nx2i64_align4897body: |898 bb.1 (%ir-block.0):899 liveins: $x10, $v8m2900 901 ; CHECK-LABEL: name: vstore_nx2i64_align4902 ; CHECK: liveins: $x10, $v8m2903 ; CHECK-NEXT: {{ $}}904 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10905 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 2 x s64>) = COPY $v8m2906 ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<vscale x 16 x s8>) = G_BITCAST [[COPY1]](<vscale x 2 x s64>)907 ; CHECK-NEXT: G_STORE [[BITCAST]](<vscale x 16 x s8>), [[COPY]](p0) :: (store (<vscale x 16 x s8>) into %ir.pa, align 4)908 ; CHECK-NEXT: PseudoRET909 %0:_(p0) = COPY $x10910 %1:_(<vscale x 2 x s64>) = COPY $v8m2911 G_STORE %1(<vscale x 2 x s64>), %0(p0) :: (store (<vscale x 2 x s64>) into %ir.pa, align 4)912 PseudoRET913 914...915---916name: vstore_nx2i64_align8917body: |918 bb.1 (%ir-block.0):919 liveins: $x10, $v8m2920 921 ; CHECK-LABEL: name: vstore_nx2i64_align8922 ; CHECK: liveins: $x10, $v8m2923 ; CHECK-NEXT: {{ $}}924 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10925 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 2 x s64>) = COPY $v8m2926 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 2 x s64>), [[COPY]](p0) :: (store (<vscale x 2 x s64>) into %ir.pa, align 8)927 ; CHECK-NEXT: PseudoRET928 %0:_(p0) = COPY $x10929 %1:_(<vscale x 2 x s64>) = COPY $v8m2930 G_STORE %1(<vscale x 2 x s64>), %0(p0) :: (store (<vscale x 2 x s64>) into %ir.pa, align 8)931 PseudoRET932 933...934---935name: vstore_nx2i64_align16936body: |937 bb.1 (%ir-block.0):938 liveins: $x10, $v8m2939 940 ; CHECK-LABEL: name: vstore_nx2i64_align16941 ; CHECK: liveins: $x10, $v8m2942 ; CHECK-NEXT: {{ $}}943 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10944 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 2 x s64>) = COPY $v8m2945 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 2 x s64>), [[COPY]](p0) :: (store (<vscale x 2 x s64>) into %ir.pa)946 ; CHECK-NEXT: PseudoRET947 %0:_(p0) = COPY $x10948 %1:_(<vscale x 2 x s64>) = COPY $v8m2949 G_STORE %1(<vscale x 2 x s64>), %0(p0) :: (store (<vscale x 2 x s64>) into %ir.pa)950 PseudoRET951 952...953---954name: vstore_nx2i64_align32955body: |956 bb.1 (%ir-block.0):957 liveins: $x10, $v8m2958 959 ; CHECK-LABEL: name: vstore_nx2i64_align32960 ; CHECK: liveins: $x10, $v8m2961 ; CHECK-NEXT: {{ $}}962 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10963 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 2 x s64>) = COPY $v8m2964 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 2 x s64>), [[COPY]](p0) :: (store (<vscale x 2 x s64>) into %ir.pa, align 32)965 ; CHECK-NEXT: PseudoRET966 %0:_(p0) = COPY $x10967 %1:_(<vscale x 2 x s64>) = COPY $v8m2968 G_STORE %1(<vscale x 2 x s64>), %0(p0) :: (store (<vscale x 2 x s64>) into %ir.pa, align 32)969 PseudoRET970 971...972