[LLVM][IR] Use splat syntax when printing ConstantExpr based splats. (#116856)
[llvm-project.git] / llvm / test / CodeGen / RISCV / GlobalISel / legalizer / rvv / legalize-load-rv32.mir
blobd8fe9b77de432d9ae8482d204e8a2c1ec1bf879d
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
4 ---
5 name:            vload_nxv1ptr
6 body:             |
7   bb.1:
8     liveins: $x10
10     ; CHECK-LABEL: name: vload_nxv1ptr
11     ; CHECK: liveins: $x10
12     ; CHECK-NEXT: {{  $}}
13     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10
14     ; CHECK-NEXT: [[LOAD:%[0-9]+]]:_(<vscale x 1 x p0>) = G_LOAD [[COPY]](p0) :: (load (<vscale x 1 x p0>))
15     ; CHECK-NEXT: $v8 = COPY [[LOAD]](<vscale x 1 x p0>)
16     ; CHECK-NEXT: PseudoRET implicit $v8
17     %0:_(p0) = COPY $x10
18     %1:_(<vscale x 1 x p0>) = G_LOAD %0(p0) :: (load (<vscale x 1 x p0>), align 4)
19     $v8 = COPY %1(<vscale x 1 x p0>)
20     PseudoRET implicit $v8
22 ...
23 ---
24 name:            vload_nxv2ptr
25 body:             |
26   bb.1:
27     liveins: $x10
29     ; CHECK-LABEL: name: vload_nxv2ptr
30     ; CHECK: liveins: $x10
31     ; CHECK-NEXT: {{  $}}
32     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10
33     ; CHECK-NEXT: [[LOAD:%[0-9]+]]:_(<vscale x 2 x p0>) = G_LOAD [[COPY]](p0) :: (load (<vscale x 2 x p0>))
34     ; CHECK-NEXT: $v8 = COPY [[LOAD]](<vscale x 2 x p0>)
35     ; CHECK-NEXT: PseudoRET implicit $v8
36     %0:_(p0) = COPY $x10
37     %1:_(<vscale x 2 x p0>) = G_LOAD %0(p0) :: (load (<vscale x 2 x p0>), align 8)
38     $v8 = COPY %1(<vscale x 2 x p0>)
39     PseudoRET implicit $v8
41 ...
42 ---
43 name:            vload_nxv8ptr
44 body:             |
45   bb.1:
46     liveins: $x10
48     ; CHECK-LABEL: name: vload_nxv8ptr
49     ; CHECK: liveins: $x10
50     ; CHECK-NEXT: {{  $}}
51     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10
52     ; CHECK-NEXT: [[LOAD:%[0-9]+]]:_(<vscale x 8 x p0>) = G_LOAD [[COPY]](p0) :: (load (<vscale x 8 x p0>))
53     ; CHECK-NEXT: $v8m4 = COPY [[LOAD]](<vscale x 8 x p0>)
54     ; CHECK-NEXT: PseudoRET implicit $v8m4
55     %0:_(p0) = COPY $x10
56     %1:_(<vscale x 8 x p0>) = G_LOAD %0(p0) :: (load (<vscale x 8 x p0>), align 32)
57     $v8m4 = COPY %1(<vscale x 8 x p0>)
58     PseudoRET implicit $v8m4
60 ...
61 ---
62 name:            vload_nxv16ptr
63 body:             |
64   bb.1:
65     liveins: $x10
67     ; CHECK-LABEL: name: vload_nxv16ptr
68     ; CHECK: liveins: $x10
69     ; CHECK-NEXT: {{  $}}
70     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10
71     ; CHECK-NEXT: [[LOAD:%[0-9]+]]:_(<vscale x 16 x p0>) = G_LOAD [[COPY]](p0) :: (load (<vscale x 16 x p0>))
72     ; CHECK-NEXT: $v8m4 = COPY [[LOAD]](<vscale x 16 x p0>)
73     ; CHECK-NEXT: PseudoRET implicit $v8m8
74     %0:_(p0) = COPY $x10
75     %1:_(<vscale x 16 x p0>) = G_LOAD %0(p0) :: (load (<vscale x 16 x p0>), align 64)
76     $v8m4 = COPY %1(<vscale x 16 x p0>)
77     PseudoRET implicit $v8m8
79 ...