brintos

brintos / llvm-project-archived public Read only

0
0
Text · 31.4 KiB · 4bb4eb5 Raw
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