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
10 ; CHECK-LABEL: name: vload_nxv1ptr
11 ; CHECK: liveins: $x10
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
18 %1:_(<vscale x 1 x p0>) = G_LOAD %0(p0) :: (load (<vscale x 1 x p0>), align 8)
19 $v8 = COPY %1(<vscale x 1 x p0>)
20 PseudoRET implicit $v8
29 ; CHECK-LABEL: name: vload_nxv2ptr
30 ; CHECK: liveins: $x10
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 $v8m2
37 %1:_(<vscale x 2 x p0>) = G_LOAD %0(p0) :: (load (<vscale x 2 x p0>), align 16)
38 $v8 = COPY %1(<vscale x 2 x p0>)
39 PseudoRET implicit $v8m2
48 ; CHECK-LABEL: name: vload_nxv8ptr
49 ; CHECK: liveins: $x10
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 $v8m8
56 %1:_(<vscale x 8 x p0>) = G_LOAD %0(p0) :: (load (<vscale x 8 x p0>), align 64)
57 $v8m4 = COPY %1(<vscale x 8 x p0>)
58 PseudoRET implicit $v8m8