@@ -10,10 +10,10 @@ declare <vscale x 4 x i32> @llvm.riscv.vloxei.nxv4i32.nxv4i64(
10
10
define <vscale x 4 x i32 > @test_vloxei (ptr %ptr , <vscale x 4 x i8 > %offset , i64 %vl ) {
11
11
; CHECK-LABEL: test_vloxei:
12
12
; CHECK: # %bb.0: # %entry
13
- ; CHECK-NEXT: vsetvli a2, zero , e64, m4, ta, ma
13
+ ; CHECK-NEXT: vsetvli zero, a1 , e64, m4, ta, ma
14
14
; CHECK-NEXT: vzext.vf8 v12, v8
15
15
; CHECK-NEXT: vsll.vi v12, v12, 4
16
- ; CHECK-NEXT: vsetvli zero, a1 , e32, m2, ta, ma
16
+ ; CHECK-NEXT: vsetvli zero, zero , e32, m2, ta, ma
17
17
; CHECK-NEXT: vloxei64.v v8, (a0), v12
18
18
; CHECK-NEXT: ret
19
19
entry:
@@ -30,10 +30,10 @@ entry:
30
30
define <vscale x 4 x i32 > @test_vloxei2 (ptr %ptr , <vscale x 4 x i8 > %offset , i64 %vl ) {
31
31
; CHECK-LABEL: test_vloxei2:
32
32
; CHECK: # %bb.0: # %entry
33
- ; CHECK-NEXT: vsetvli a2, zero , e64, m4, ta, ma
33
+ ; CHECK-NEXT: vsetvli zero, a1 , e64, m4, ta, ma
34
34
; CHECK-NEXT: vzext.vf8 v12, v8
35
35
; CHECK-NEXT: vsll.vi v12, v12, 14
36
- ; CHECK-NEXT: vsetvli zero, a1 , e32, m2, ta, ma
36
+ ; CHECK-NEXT: vsetvli zero, zero , e32, m2, ta, ma
37
37
; CHECK-NEXT: vloxei64.v v8, (a0), v12
38
38
; CHECK-NEXT: ret
39
39
entry:
@@ -50,10 +50,10 @@ entry:
50
50
define <vscale x 4 x i32 > @test_vloxei3 (ptr %ptr , <vscale x 4 x i8 > %offset , i64 %vl ) {
51
51
; CHECK-LABEL: test_vloxei3:
52
52
; CHECK: # %bb.0: # %entry
53
- ; CHECK-NEXT: vsetvli a2, zero , e64, m4, ta, ma
53
+ ; CHECK-NEXT: vsetvli zero, a1 , e64, m4, ta, ma
54
54
; CHECK-NEXT: vzext.vf8 v12, v8
55
55
; CHECK-NEXT: vsll.vi v12, v12, 26
56
- ; CHECK-NEXT: vsetvli zero, a1 , e32, m2, ta, ma
56
+ ; CHECK-NEXT: vsetvli zero, zero , e32, m2, ta, ma
57
57
; CHECK-NEXT: vloxei64.v v8, (a0), v12
58
58
; CHECK-NEXT: ret
59
59
entry:
@@ -74,9 +74,8 @@ define <vscale x 4 x i32> @test_vloxei4(ptr %ptr, <vscale x 4 x i8> %offset, <vs
74
74
; CHECK: # %bb.0: # %entry
75
75
; CHECK-NEXT: vsetvli zero, a1, e64, m4, ta, ma
76
76
; CHECK-NEXT: vzext.vf8 v12, v8, v0.t
77
- ; CHECK-NEXT: vsetvli a2, zero, e64, m4, ta, ma
78
77
; CHECK-NEXT: vsll.vi v12, v12, 4
79
- ; CHECK-NEXT: vsetvli zero, a1 , e32, m2, ta, ma
78
+ ; CHECK-NEXT: vsetvli zero, zero , e32, m2, ta, ma
80
79
; CHECK-NEXT: vloxei64.v v8, (a0), v12
81
80
; CHECK-NEXT: ret
82
81
entry:
@@ -100,10 +99,10 @@ declare <vscale x 4 x i32> @llvm.riscv.vloxei.nxv4i32.nxv4i16(
100
99
define <vscale x 4 x i32 > @test_vloxei5 (ptr %ptr , <vscale x 4 x i8 > %offset , i64 %vl ) {
101
100
; CHECK-LABEL: test_vloxei5:
102
101
; CHECK: # %bb.0: # %entry
103
- ; CHECK-NEXT: vsetvli a2, zero , e16, m1, ta, ma
102
+ ; CHECK-NEXT: vsetvli zero, a1 , e16, m1, ta, ma
104
103
; CHECK-NEXT: vzext.vf2 v9, v8
105
104
; CHECK-NEXT: vsll.vi v10, v9, 12
106
- ; CHECK-NEXT: vsetvli zero, a1 , e32, m2, ta, ma
105
+ ; CHECK-NEXT: vsetvli zero, zero , e32, m2, ta, ma
107
106
; CHECK-NEXT: vloxei16.v v8, (a0), v10
108
107
; CHECK-NEXT: ret
109
108
entry:
@@ -121,12 +120,12 @@ define <vscale x 4 x i32> @test_vloxei6(ptr %ptr, <vscale x 4 x i7> %offset, i64
121
120
; CHECK-LABEL: test_vloxei6:
122
121
; CHECK: # %bb.0: # %entry
123
122
; CHECK-NEXT: li a2, 127
124
- ; CHECK-NEXT: vsetvli a3, zero , e8, mf2, ta, ma
123
+ ; CHECK-NEXT: vsetvli zero, a1 , e8, mf2, ta, ma
125
124
; CHECK-NEXT: vand.vx v8, v8, a2
126
125
; CHECK-NEXT: vsetvli zero, zero, e64, m4, ta, ma
127
126
; CHECK-NEXT: vzext.vf8 v12, v8
128
127
; CHECK-NEXT: vsll.vi v12, v12, 4
129
- ; CHECK-NEXT: vsetvli zero, a1 , e32, m2, ta, ma
128
+ ; CHECK-NEXT: vsetvli zero, zero , e32, m2, ta, ma
130
129
; CHECK-NEXT: vloxei64.v v8, (a0), v12
131
130
; CHECK-NEXT: ret
132
131
entry:
@@ -146,8 +145,9 @@ define <vscale x 4 x i32> @test_vloxei7(ptr %ptr, <vscale x 4 x i1> %offset, i64
146
145
; CHECK-NEXT: vsetvli a2, zero, e64, m4, ta, ma
147
146
; CHECK-NEXT: vmv.v.i v8, 0
148
147
; CHECK-NEXT: vmerge.vim v8, v8, 1, v0
148
+ ; CHECK-NEXT: vsetvli zero, a1, e64, m4, ta, ma
149
149
; CHECK-NEXT: vsll.vi v12, v8, 2
150
- ; CHECK-NEXT: vsetvli zero, a1 , e32, m2, ta, ma
150
+ ; CHECK-NEXT: vsetvli zero, zero , e32, m2, ta, ma
151
151
; CHECK-NEXT: vloxei64.v v8, (a0), v12
152
152
; CHECK-NEXT: ret
153
153
entry:
@@ -172,10 +172,10 @@ declare <vscale x 4 x i32> @llvm.riscv.vloxei.mask.nxv4i32.nxv4i64(
172
172
define <vscale x 4 x i32 > @test_vloxei_mask (ptr %ptr , <vscale x 4 x i8 > %offset , <vscale x 4 x i1 > %m , i64 %vl ) {
173
173
; CHECK-LABEL: test_vloxei_mask:
174
174
; CHECK: # %bb.0: # %entry
175
- ; CHECK-NEXT: vsetvli a2, zero , e64, m4, ta, ma
175
+ ; CHECK-NEXT: vsetvli zero, a1 , e64, m4, ta, ma
176
176
; CHECK-NEXT: vzext.vf8 v12, v8
177
177
; CHECK-NEXT: vsll.vi v12, v12, 4
178
- ; CHECK-NEXT: vsetvli zero, a1 , e32, m2, ta, ma
178
+ ; CHECK-NEXT: vsetvli zero, zero , e32, m2, ta, ma
179
179
; CHECK-NEXT: vloxei64.v v8, (a0), v12, v0.t
180
180
; CHECK-NEXT: ret
181
181
entry:
@@ -199,10 +199,10 @@ declare <vscale x 4 x i32> @llvm.riscv.vluxei.nxv4i32.nxv4i64(
199
199
define <vscale x 4 x i32 > @test_vluxei (ptr %ptr , <vscale x 4 x i8 > %offset , i64 %vl ) {
200
200
; CHECK-LABEL: test_vluxei:
201
201
; CHECK: # %bb.0: # %entry
202
- ; CHECK-NEXT: vsetvli a2, zero , e64, m4, ta, ma
202
+ ; CHECK-NEXT: vsetvli zero, a1 , e64, m4, ta, ma
203
203
; CHECK-NEXT: vzext.vf8 v12, v8
204
204
; CHECK-NEXT: vsll.vi v12, v12, 4
205
- ; CHECK-NEXT: vsetvli zero, a1 , e32, m2, ta, ma
205
+ ; CHECK-NEXT: vsetvli zero, zero , e32, m2, ta, ma
206
206
; CHECK-NEXT: vluxei64.v v8, (a0), v12
207
207
; CHECK-NEXT: ret
208
208
entry:
@@ -227,10 +227,10 @@ declare <vscale x 4 x i32> @llvm.riscv.vluxei.mask.nxv4i32.nxv4i64(
227
227
define <vscale x 4 x i32 > @test_vluxei_mask (ptr %ptr , <vscale x 4 x i8 > %offset , <vscale x 4 x i1 > %m , i64 %vl ) {
228
228
; CHECK-LABEL: test_vluxei_mask:
229
229
; CHECK: # %bb.0: # %entry
230
- ; CHECK-NEXT: vsetvli a2, zero , e64, m4, ta, ma
230
+ ; CHECK-NEXT: vsetvli zero, a1 , e64, m4, ta, ma
231
231
; CHECK-NEXT: vzext.vf8 v12, v8
232
232
; CHECK-NEXT: vsll.vi v12, v12, 4
233
- ; CHECK-NEXT: vsetvli zero, a1 , e32, m2, ta, ma
233
+ ; CHECK-NEXT: vsetvli zero, zero , e32, m2, ta, ma
234
234
; CHECK-NEXT: vluxei64.v v8, (a0), v12, v0.t
235
235
; CHECK-NEXT: ret
236
236
entry:
@@ -254,10 +254,10 @@ declare void @llvm.riscv.vsoxei.nxv4i32.nxv4i64(
254
254
define void @test_vsoxei (<vscale x 4 x i32 > %val , ptr %ptr , <vscale x 4 x i8 > %offset , i64 %vl ) {
255
255
; CHECK-LABEL: test_vsoxei:
256
256
; CHECK: # %bb.0: # %entry
257
- ; CHECK-NEXT: vsetvli a2, zero , e64, m4, ta, ma
257
+ ; CHECK-NEXT: vsetvli zero, a1 , e64, m4, ta, ma
258
258
; CHECK-NEXT: vzext.vf8 v12, v10
259
259
; CHECK-NEXT: vsll.vi v12, v12, 4
260
- ; CHECK-NEXT: vsetvli zero, a1 , e32, m2, ta, ma
260
+ ; CHECK-NEXT: vsetvli zero, zero , e32, m2, ta, ma
261
261
; CHECK-NEXT: vsoxei64.v v8, (a0), v12
262
262
; CHECK-NEXT: ret
263
263
entry:
@@ -281,10 +281,10 @@ declare void @llvm.riscv.vsoxei.mask.nxv4i32.nxv4i64(
281
281
define void @test_vsoxei_mask (<vscale x 4 x i32 > %val , ptr %ptr , <vscale x 4 x i8 > %offset , <vscale x 4 x i1 > %m , i64 %vl ) {
282
282
; CHECK-LABEL: test_vsoxei_mask:
283
283
; CHECK: # %bb.0: # %entry
284
- ; CHECK-NEXT: vsetvli a2, zero , e64, m4, ta, ma
284
+ ; CHECK-NEXT: vsetvli zero, a1 , e64, m4, ta, ma
285
285
; CHECK-NEXT: vzext.vf8 v12, v10
286
286
; CHECK-NEXT: vsll.vi v12, v12, 4
287
- ; CHECK-NEXT: vsetvli zero, a1 , e32, m2, ta, ma
287
+ ; CHECK-NEXT: vsetvli zero, zero , e32, m2, ta, ma
288
288
; CHECK-NEXT: vsoxei64.v v8, (a0), v12, v0.t
289
289
; CHECK-NEXT: ret
290
290
entry:
@@ -308,10 +308,10 @@ declare void @llvm.riscv.vsuxei.nxv4i32.nxv4i64(
308
308
define void @test_vsuxei (<vscale x 4 x i32 > %val , ptr %ptr , <vscale x 4 x i8 > %offset , i64 %vl ) {
309
309
; CHECK-LABEL: test_vsuxei:
310
310
; CHECK: # %bb.0: # %entry
311
- ; CHECK-NEXT: vsetvli a2, zero , e64, m4, ta, ma
311
+ ; CHECK-NEXT: vsetvli zero, a1 , e64, m4, ta, ma
312
312
; CHECK-NEXT: vzext.vf8 v12, v10
313
313
; CHECK-NEXT: vsll.vi v12, v12, 4
314
- ; CHECK-NEXT: vsetvli zero, a1 , e32, m2, ta, ma
314
+ ; CHECK-NEXT: vsetvli zero, zero , e32, m2, ta, ma
315
315
; CHECK-NEXT: vsuxei64.v v8, (a0), v12
316
316
; CHECK-NEXT: ret
317
317
entry:
@@ -335,10 +335,10 @@ declare void @llvm.riscv.vsuxei.mask.nxv4i32.nxv4i64(
335
335
define void @test_vsuxei_mask (<vscale x 4 x i32 > %val , ptr %ptr , <vscale x 4 x i8 > %offset , <vscale x 4 x i1 > %m , i64 %vl ) {
336
336
; CHECK-LABEL: test_vsuxei_mask:
337
337
; CHECK: # %bb.0: # %entry
338
- ; CHECK-NEXT: vsetvli a2, zero , e64, m4, ta, ma
338
+ ; CHECK-NEXT: vsetvli zero, a1 , e64, m4, ta, ma
339
339
; CHECK-NEXT: vzext.vf8 v12, v10
340
340
; CHECK-NEXT: vsll.vi v12, v12, 4
341
- ; CHECK-NEXT: vsetvli zero, a1 , e32, m2, ta, ma
341
+ ; CHECK-NEXT: vsetvli zero, zero , e32, m2, ta, ma
342
342
; CHECK-NEXT: vsuxei64.v v8, (a0), v12, v0.t
343
343
; CHECK-NEXT: ret
344
344
entry:
0 commit comments