[LLVM][IR] Use splat syntax when printing ConstantExpr based splats. (#116856)
[llvm-project.git] / llvm / test / CodeGen / RISCV / GlobalISel / legalizer / rvv / legalize-store-rv64.mir
blob3373ed4d287467fb129de8aec50aedc5eabd15f5
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=riscv64 -mattr=+v -run-pass=legalizer %s -o - | FileCheck %s
4 ---
5 name:            vstore_nx1ptr
6 body:             |
7   bb.1:
8     liveins: $v8, $x10
10     ; CHECK-LABEL: name: vstore_nx1ptr
11     ; CHECK: liveins: $v8, $x10
12     ; CHECK-NEXT: {{  $}}
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
17     %0:_(p0) = COPY $x10
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 8)
20     PseudoRET
22 ...
23 ---
24 name:            vstore_nx2ptr
25 body:             |
26   bb.1:
27     liveins: $x10, $v8m2
29     ; CHECK-LABEL: name: vstore_nx2ptr
30     ; CHECK: liveins: $x10, $v8m2
31     ; CHECK-NEXT: {{  $}}
32     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10
33     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 2 x p0>) = COPY $v8m2
34     ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 2 x p0>), [[COPY]](p0) :: (store (<vscale x 2 x p0>))
35     ; CHECK-NEXT: PseudoRET
36     %0:_(p0) = COPY $x10
37     %1:_(<vscale x 2 x p0>) = COPY $v8m2
38     G_STORE %1(<vscale x 2 x p0>), %0(p0) :: (store (<vscale x 2 x p0>), align 16)
39     PseudoRET
41 ...
42 ---
43 name:            vstore_nx8ptr
44 body:             |
45   bb.1:
46     liveins: $x10, $v8m8
48     ; CHECK-LABEL: name: vstore_nx8ptr
49     ; CHECK: liveins: $x10, $v8m8
50     ; CHECK-NEXT: {{  $}}
51     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10
52     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<vscale x 8 x p0>) = COPY $v8m8
53     ; CHECK-NEXT: G_STORE [[COPY1]](<vscale x 8 x p0>), [[COPY]](p0) :: (store (<vscale x 8 x p0>))
54     ; CHECK-NEXT: PseudoRET
55     %0:_(p0) = COPY $x10
56     %1:_(<vscale x 8 x p0>) = COPY $v8m8
57     G_STORE %1(<vscale x 8 x p0>), %0(p0) :: (store (<vscale x 8 x p0>), align 64)
58     PseudoRET
60 ...