@@ -14,12 +14,12 @@ define void @gather(ptr noalias nocapture %A, ptr noalias nocapture readonly %B)
14
14
; CHECK-LABEL: gather:
15
15
; CHECK: # %bb.0: # %entry
16
16
; CHECK-NEXT: li a2, 1024
17
- ; CHECK-NEXT: li a3, 32
18
- ; CHECK-NEXT: li a4, 5
17
+ ; CHECK-NEXT: li a4, 32
18
+ ; CHECK-NEXT: li a3, 5
19
+ ; CHECK-NEXT: vsetvli zero, a4, e8, m1, ta, ma
19
20
; CHECK-NEXT: .LBB0_1: # %vector.body
20
21
; CHECK-NEXT: # =>This Inner Loop Header: Depth=1
21
- ; CHECK-NEXT: vsetvli zero, a3, e8, m1, ta, ma
22
- ; CHECK-NEXT: vlse8.v v8, (a1), a4
22
+ ; CHECK-NEXT: vlse8.v v8, (a1), a3
23
23
; CHECK-NEXT: vle8.v v9, (a0)
24
24
; CHECK-NEXT: vadd.vv v8, v9, v8
25
25
; CHECK-NEXT: vse8.v v8, (a0)
@@ -126,12 +126,12 @@ define void @gather_negative_stride(ptr noalias nocapture %A, ptr noalias nocapt
126
126
; CHECK: # %bb.0: # %entry
127
127
; CHECK-NEXT: addi a1, a1, 155
128
128
; CHECK-NEXT: li a2, 1024
129
- ; CHECK-NEXT: li a3, 32
130
- ; CHECK-NEXT: li a4, -5
129
+ ; CHECK-NEXT: li a4, 32
130
+ ; CHECK-NEXT: li a3, -5
131
+ ; CHECK-NEXT: vsetvli zero, a4, e8, m1, ta, ma
131
132
; CHECK-NEXT: .LBB2_1: # %vector.body
132
133
; CHECK-NEXT: # =>This Inner Loop Header: Depth=1
133
- ; CHECK-NEXT: vsetvli zero, a3, e8, m1, ta, ma
134
- ; CHECK-NEXT: vlse8.v v8, (a1), a4
134
+ ; CHECK-NEXT: vlse8.v v8, (a1), a3
135
135
; CHECK-NEXT: vle8.v v9, (a0)
136
136
; CHECK-NEXT: vadd.vv v8, v9, v8
137
137
; CHECK-NEXT: vse8.v v8, (a0)
@@ -168,12 +168,12 @@ define void @gather_zero_stride(ptr noalias nocapture %A, ptr noalias nocapture
168
168
; CHECK: # %bb.0: # %entry
169
169
; CHECK-NEXT: li a2, 1024
170
170
; CHECK-NEXT: li a3, 32
171
+ ; CHECK-NEXT: vsetvli zero, a3, e8, m1, ta, ma
171
172
; CHECK-NEXT: .LBB3_1: # %vector.body
172
173
; CHECK-NEXT: # =>This Inner Loop Header: Depth=1
173
- ; CHECK-NEXT: lbu a4, 0(a1)
174
- ; CHECK-NEXT: vsetvli zero, a3, e8, m1, ta, ma
174
+ ; CHECK-NEXT: lbu a3, 0(a1)
175
175
; CHECK-NEXT: vle8.v v8, (a0)
176
- ; CHECK-NEXT: vadd.vx v8, v8, a4
176
+ ; CHECK-NEXT: vadd.vx v8, v8, a3
177
177
; CHECK-NEXT: vse8.v v8, (a0)
178
178
; CHECK-NEXT: addi a2, a2, -32
179
179
; CHECK-NEXT: addi a0, a0, 32
@@ -208,9 +208,9 @@ define void @gather_zero_stride_unfold(ptr noalias nocapture %A, ptr noalias noc
208
208
; V: # %bb.0: # %entry
209
209
; V-NEXT: li a2, 1024
210
210
; V-NEXT: li a3, 32
211
+ ; V-NEXT: vsetvli zero, a3, e8, m1, ta, ma
211
212
; V-NEXT: .LBB4_1: # %vector.body
212
213
; V-NEXT: # =>This Inner Loop Header: Depth=1
213
- ; V-NEXT: vsetvli zero, a3, e8, m1, ta, ma
214
214
; V-NEXT: vlse8.v v8, (a1), zero
215
215
; V-NEXT: vle8.v v9, (a0)
216
216
; V-NEXT: vdivu.vv v8, v8, v9
@@ -226,9 +226,9 @@ define void @gather_zero_stride_unfold(ptr noalias nocapture %A, ptr noalias noc
226
226
; ZVE32F: # %bb.0: # %entry
227
227
; ZVE32F-NEXT: li a2, 1024
228
228
; ZVE32F-NEXT: li a3, 32
229
+ ; ZVE32F-NEXT: vsetvli zero, a3, e8, m1, ta, ma
229
230
; ZVE32F-NEXT: .LBB4_1: # %vector.body
230
231
; ZVE32F-NEXT: # =>This Inner Loop Header: Depth=1
231
- ; ZVE32F-NEXT: vsetvli zero, a3, e8, m1, ta, ma
232
232
; ZVE32F-NEXT: vlse8.v v8, (a1), zero
233
233
; ZVE32F-NEXT: vle8.v v9, (a0)
234
234
; ZVE32F-NEXT: vdivu.vv v8, v8, v9
@@ -244,12 +244,12 @@ define void @gather_zero_stride_unfold(ptr noalias nocapture %A, ptr noalias noc
244
244
; NOT-OPTIMIZED: # %bb.0: # %entry
245
245
; NOT-OPTIMIZED-NEXT: li a2, 1024
246
246
; NOT-OPTIMIZED-NEXT: li a3, 32
247
+ ; NOT-OPTIMIZED-NEXT: vsetvli zero, a3, e8, m1, ta, ma
247
248
; NOT-OPTIMIZED-NEXT: .LBB4_1: # %vector.body
248
249
; NOT-OPTIMIZED-NEXT: # =>This Inner Loop Header: Depth=1
249
- ; NOT-OPTIMIZED-NEXT: lbu a4, 0(a1)
250
- ; NOT-OPTIMIZED-NEXT: vsetvli zero, a3, e8, m1, ta, ma
250
+ ; NOT-OPTIMIZED-NEXT: lbu a3, 0(a1)
251
251
; NOT-OPTIMIZED-NEXT: vle8.v v8, (a0)
252
- ; NOT-OPTIMIZED-NEXT: vmv.v.x v9, a4
252
+ ; NOT-OPTIMIZED-NEXT: vmv.v.x v9, a3
253
253
; NOT-OPTIMIZED-NEXT: vdivu.vv v8, v9, v8
254
254
; NOT-OPTIMIZED-NEXT: vse8.v v8, (a0)
255
255
; NOT-OPTIMIZED-NEXT: addi a2, a2, -32
@@ -288,15 +288,15 @@ define void @scatter(ptr noalias nocapture %A, ptr noalias nocapture readonly %B
288
288
; CHECK-LABEL: scatter:
289
289
; CHECK: # %bb.0: # %entry
290
290
; CHECK-NEXT: li a2, 1024
291
- ; CHECK-NEXT: li a3, 32
292
- ; CHECK-NEXT: li a4, 5
291
+ ; CHECK-NEXT: li a4, 32
292
+ ; CHECK-NEXT: li a3, 5
293
+ ; CHECK-NEXT: vsetvli zero, a4, e8, m1, ta, ma
293
294
; CHECK-NEXT: .LBB5_1: # %vector.body
294
295
; CHECK-NEXT: # =>This Inner Loop Header: Depth=1
295
- ; CHECK-NEXT: vsetvli zero, a3, e8, m1, ta, ma
296
296
; CHECK-NEXT: vle8.v v8, (a1)
297
- ; CHECK-NEXT: vlse8.v v9, (a0), a4
297
+ ; CHECK-NEXT: vlse8.v v9, (a0), a3
298
298
; CHECK-NEXT: vadd.vv v8, v9, v8
299
- ; CHECK-NEXT: vsse8.v v8, (a0), a4
299
+ ; CHECK-NEXT: vsse8.v v8, (a0), a3
300
300
; CHECK-NEXT: addi a2, a2, -32
301
301
; CHECK-NEXT: addi a1, a1, 32
302
302
; CHECK-NEXT: addi a0, a0, 160
@@ -821,20 +821,20 @@ define void @strided_load_startval_add_with_splat(ptr noalias nocapture %arg, pt
821
821
; CHECK-NEXT: add a6, a0, a2
822
822
; CHECK-NEXT: add a2, a1, a2
823
823
; CHECK-NEXT: add a2, a2, a7
824
- ; CHECK-NEXT: li a7, 32
825
- ; CHECK-NEXT: li t0, 5
826
- ; CHECK-NEXT: mv t1, a5
824
+ ; CHECK-NEXT: li t0, 32
825
+ ; CHECK-NEXT: li a7, 5
826
+ ; CHECK-NEXT: vsetvli zero, t0, e8, m1, ta, ma
827
+ ; CHECK-NEXT: mv t0, a5
827
828
; CHECK-NEXT: .LBB13_3: # %bb15
828
829
; CHECK-NEXT: # =>This Inner Loop Header: Depth=1
829
- ; CHECK-NEXT: vsetvli zero, a7, e8, m1, ta, ma
830
- ; CHECK-NEXT: vlse8.v v8, (a2), t0
830
+ ; CHECK-NEXT: vlse8.v v8, (a2), a7
831
831
; CHECK-NEXT: vle8.v v9, (a6)
832
832
; CHECK-NEXT: vadd.vv v8, v9, v8
833
833
; CHECK-NEXT: vse8.v v8, (a6)
834
- ; CHECK-NEXT: addi t1, t1 , -32
834
+ ; CHECK-NEXT: addi t0, t0 , -32
835
835
; CHECK-NEXT: addi a6, a6, 32
836
836
; CHECK-NEXT: addi a2, a2, 160
837
- ; CHECK-NEXT: bnez t1 , .LBB13_3
837
+ ; CHECK-NEXT: bnez t0 , .LBB13_3
838
838
; CHECK-NEXT: # %bb.4: # %bb30
839
839
; CHECK-NEXT: beq a4, a5, .LBB13_7
840
840
; CHECK-NEXT: .LBB13_5: # %bb32
0 commit comments