1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=riscv32 -mattr=+v -run-pass=legalizer %s -o - | FileCheck %s
10 ; CHECK-LABEL: name: vstore_nx1ptr
11 ; CHECK: liveins: $v8, $x10
13 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10
14 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 1 x p0>) = COPY $v8
15 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 1 x p0>), [[COPY]](p0) :: (store (<vscale x 1 x p0>))
16 ; CHECK-NEXT: PseudoRET
18 %1:_(<vscale x 1 x p0>) = COPY $v8
19 G_STORE %1(<vscale x 1 x p0>), %0(p0) :: (store (<vscale x 1 x p0>), align 4)
29 ; CHECK-LABEL: name: vstore_nx2ptr
30 ; CHECK: liveins: $x10, $v8
32 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10
33 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 2 x p0>) = COPY $v8
34 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 2 x p0>), [[COPY]](p0) :: (store (<vscale x 2 x p0>))
35 ; CHECK-NEXT: PseudoRET
37 %1:_(<vscale x 2 x p0>) = COPY $v8
38 G_STORE %1(<vscale x 2 x p0>), %0(p0) :: (store (<vscale x 2 x p0>), align 8)
48 ; CHECK-LABEL: name: vstore_nx8ptr
49 ; CHECK: liveins: $x10, $v8m4
51 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10
52 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 8 x p0>) = COPY $v8m4
53 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 8 x p0>), [[COPY]](p0) :: (store (<vscale x 8 x p0>))
54 ; CHECK-NEXT: PseudoRET
56 %1:_(<vscale x 8 x p0>) = COPY $v8m4
57 G_STORE %1(<vscale x 8 x p0>), %0(p0) :: (store (<vscale x 8 x p0>), align 32)
67 ; CHECK-LABEL: name: vstore_nx16ptr
68 ; CHECK: liveins: $x10, $v8m8
70 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10
71 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 16 x p0>) = COPY $v8m8
72 ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 16 x p0>), [[COPY]](p0) :: (store (<vscale x 8 x p0>), align 64)
73 ; CHECK-NEXT: PseudoRET
75 %1:_(<vscale x 16 x p0>) = COPY $v8m8
76 G_STORE %1(<vscale x 16 x p0>), %0(p0) :: (store (<vscale x 8 x p0>), align 64)