Skip to content

Commit d7e0c08

Browse files
[RISCV][GISEL] regbankselect for G_VMCLR_VL (#110746)
These are genereated when legalizing G_SPLAT_VECTOR
1 parent 5d308af commit d7e0c08

File tree

1 file changed

+149
-0
lines changed
  • llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv

1 file changed

+149
-0
lines changed
Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 5
2+
# RUN: llc -mtriple=riscv32 -mattr=+m,+v -run-pass=regbankselect \
3+
# RUN: -disable-gisel-legality-check -simplify-mir -verify-machineinstrs %s \
4+
# RUN: -o - | FileCheck -check-prefix=RV32I %s
5+
# RUN: llc -mtriple=riscv64 -mattr=+m,+v -run-pass=regbankselect \
6+
# RUN: -disable-gisel-legality-check -simplify-mir -verify-machineinstrs %s \
7+
# RUN: -o - | FileCheck -check-prefix=RV64I %s
8+
9+
---
10+
name: splat_zero_nxv1i1
11+
legalized: true
12+
regBankSelected: false
13+
body: |
14+
bb.1:
15+
; RV32I-LABEL: name: splat_zero_nxv1i1
16+
; RV32I: [[VMCLR_VL:%[0-9]+]]:vrb(<vscale x 1 x s1>) = G_VMCLR_VL $x0
17+
; RV32I-NEXT: $v0 = COPY [[VMCLR_VL]](<vscale x 1 x s1>)
18+
; RV32I-NEXT: PseudoRET implicit $v0
19+
;
20+
; RV64I-LABEL: name: splat_zero_nxv1i1
21+
; RV64I: [[VMCLR_VL:%[0-9]+]]:vrb(<vscale x 1 x s1>) = G_VMCLR_VL $x0
22+
; RV64I-NEXT: $v0 = COPY [[VMCLR_VL]](<vscale x 1 x s1>)
23+
; RV64I-NEXT: PseudoRET implicit $v0
24+
%0:_(<vscale x 1 x s1>) = G_VMCLR_VL $x0
25+
$v0 = COPY %0(<vscale x 1 x s1>)
26+
PseudoRET implicit $v0
27+
28+
...
29+
---
30+
name: splat_zero_nxv2i1
31+
legalized: true
32+
regBankSelected: false
33+
body: |
34+
bb.1:
35+
; RV32I-LABEL: name: splat_zero_nxv2i1
36+
; RV32I: [[VMCLR_VL:%[0-9]+]]:vrb(<vscale x 2 x s1>) = G_VMCLR_VL $x0
37+
; RV32I-NEXT: $v0 = COPY [[VMCLR_VL]](<vscale x 2 x s1>)
38+
; RV32I-NEXT: PseudoRET implicit $v0
39+
;
40+
; RV64I-LABEL: name: splat_zero_nxv2i1
41+
; RV64I: [[VMCLR_VL:%[0-9]+]]:vrb(<vscale x 2 x s1>) = G_VMCLR_VL $x0
42+
; RV64I-NEXT: $v0 = COPY [[VMCLR_VL]](<vscale x 2 x s1>)
43+
; RV64I-NEXT: PseudoRET implicit $v0
44+
%0:_(<vscale x 2 x s1>) = G_VMCLR_VL $x0
45+
$v0 = COPY %0(<vscale x 2 x s1>)
46+
PseudoRET implicit $v0
47+
48+
...
49+
---
50+
name: splat_zero_nxv4i1
51+
legalized: true
52+
regBankSelected: false
53+
body: |
54+
bb.1:
55+
; RV32I-LABEL: name: splat_zero_nxv4i1
56+
; RV32I: [[VMCLR_VL:%[0-9]+]]:vrb(<vscale x 4 x s1>) = G_VMCLR_VL $x0
57+
; RV32I-NEXT: $v0 = COPY [[VMCLR_VL]](<vscale x 4 x s1>)
58+
; RV32I-NEXT: PseudoRET implicit $v0
59+
;
60+
; RV64I-LABEL: name: splat_zero_nxv4i1
61+
; RV64I: [[VMCLR_VL:%[0-9]+]]:vrb(<vscale x 4 x s1>) = G_VMCLR_VL $x0
62+
; RV64I-NEXT: $v0 = COPY [[VMCLR_VL]](<vscale x 4 x s1>)
63+
; RV64I-NEXT: PseudoRET implicit $v0
64+
%0:_(<vscale x 4 x s1>) = G_VMCLR_VL $x0
65+
$v0 = COPY %0(<vscale x 4 x s1>)
66+
PseudoRET implicit $v0
67+
68+
...
69+
---
70+
name: splat_zero_nxv8i1
71+
legalized: true
72+
regBankSelected: false
73+
body: |
74+
bb.1:
75+
; RV32I-LABEL: name: splat_zero_nxv8i1
76+
; RV32I: [[VMCLR_VL:%[0-9]+]]:vrb(<vscale x 8 x s1>) = G_VMCLR_VL $x0
77+
; RV32I-NEXT: $v0 = COPY [[VMCLR_VL]](<vscale x 8 x s1>)
78+
; RV32I-NEXT: PseudoRET implicit $v0
79+
;
80+
; RV64I-LABEL: name: splat_zero_nxv8i1
81+
; RV64I: [[VMCLR_VL:%[0-9]+]]:vrb(<vscale x 8 x s1>) = G_VMCLR_VL $x0
82+
; RV64I-NEXT: $v0 = COPY [[VMCLR_VL]](<vscale x 8 x s1>)
83+
; RV64I-NEXT: PseudoRET implicit $v0
84+
%0:_(<vscale x 8 x s1>) = G_VMCLR_VL $x0
85+
$v0 = COPY %0(<vscale x 8 x s1>)
86+
PseudoRET implicit $v0
87+
88+
...
89+
---
90+
name: splat_zero_nxv16i1
91+
legalized: true
92+
regBankSelected: false
93+
body: |
94+
bb.1:
95+
; RV32I-LABEL: name: splat_zero_nxv16i1
96+
; RV32I: [[VMCLR_VL:%[0-9]+]]:vrb(<vscale x 16 x s1>) = G_VMCLR_VL $x0
97+
; RV32I-NEXT: $v0 = COPY [[VMCLR_VL]](<vscale x 16 x s1>)
98+
; RV32I-NEXT: PseudoRET implicit $v0
99+
;
100+
; RV64I-LABEL: name: splat_zero_nxv16i1
101+
; RV64I: [[VMCLR_VL:%[0-9]+]]:vrb(<vscale x 16 x s1>) = G_VMCLR_VL $x0
102+
; RV64I-NEXT: $v0 = COPY [[VMCLR_VL]](<vscale x 16 x s1>)
103+
; RV64I-NEXT: PseudoRET implicit $v0
104+
%0:_(<vscale x 16 x s1>) = G_VMCLR_VL $x0
105+
$v0 = COPY %0(<vscale x 16 x s1>)
106+
PseudoRET implicit $v0
107+
108+
...
109+
---
110+
name: splat_zero_nxv32i1
111+
legalized: true
112+
regBankSelected: false
113+
body: |
114+
bb.1:
115+
; RV32I-LABEL: name: splat_zero_nxv32i1
116+
; RV32I: [[VMCLR_VL:%[0-9]+]]:vrb(<vscale x 32 x s1>) = G_VMCLR_VL $x0
117+
; RV32I-NEXT: $v0 = COPY [[VMCLR_VL]](<vscale x 32 x s1>)
118+
; RV32I-NEXT: PseudoRET implicit $v0
119+
;
120+
; RV64I-LABEL: name: splat_zero_nxv32i1
121+
; RV64I: [[VMCLR_VL:%[0-9]+]]:vrb(<vscale x 32 x s1>) = G_VMCLR_VL $x0
122+
; RV64I-NEXT: $v0 = COPY [[VMCLR_VL]](<vscale x 32 x s1>)
123+
; RV64I-NEXT: PseudoRET implicit $v0
124+
%0:_(<vscale x 32 x s1>) = G_VMCLR_VL $x0
125+
$v0 = COPY %0(<vscale x 32 x s1>)
126+
PseudoRET implicit $v0
127+
128+
...
129+
---
130+
name: splat_zero_nxv64i1
131+
legalized: true
132+
regBankSelected: false
133+
body: |
134+
bb.1:
135+
; RV32I-LABEL: name: splat_zero_nxv64i1
136+
; RV32I: [[VMCLR_VL:%[0-9]+]]:vrb(<vscale x 64 x s1>) = G_VMCLR_VL $x0
137+
; RV32I-NEXT: $v0 = COPY [[VMCLR_VL]](<vscale x 64 x s1>)
138+
; RV32I-NEXT: PseudoRET implicit $v0
139+
;
140+
; RV64I-LABEL: name: splat_zero_nxv64i1
141+
; RV64I: [[VMCLR_VL:%[0-9]+]]:vrb(<vscale x 64 x s1>) = G_VMCLR_VL $x0
142+
; RV64I-NEXT: $v0 = COPY [[VMCLR_VL]](<vscale x 64 x s1>)
143+
; RV64I-NEXT: PseudoRET implicit $v0
144+
%0:_(<vscale x 64 x s1>) = G_VMCLR_VL $x0
145+
$v0 = COPY %0(<vscale x 64 x s1>)
146+
PseudoRET implicit $v0
147+
148+
...
149+

0 commit comments

Comments
 (0)