@@ -161,72 +161,71 @@ define <64 x i1> @fv64(ptr %p, i64 %index, i64 %tc) {
161
161
define <128 x i1 > @fv128 (ptr %p , i64 %index , i64 %tc ) {
162
162
; CHECK-LABEL: fv128:
163
163
; CHECK: # %bb.0:
164
- ; CHECK-NEXT: vsetivli zero, 16, e64, m8, ta, ma
165
164
; CHECK-NEXT: lui a0, %hi(.LCPI10_0)
166
165
; CHECK-NEXT: addi a0, a0, %lo(.LCPI10_0)
166
+ ; CHECK-NEXT: vsetivli zero, 16, e64, m8, ta, ma
167
167
; CHECK-NEXT: vle8.v v8, (a0)
168
- ; CHECK-NEXT: vid.v v16
169
- ; CHECK-NEXT: vsaddu.vx v16, v16, a1
170
- ; CHECK-NEXT: vmsltu.vx v0, v16, a2
171
- ; CHECK-NEXT: vsext.vf8 v16, v8
172
- ; CHECK-NEXT: vsaddu.vx v8, v16, a1
173
- ; CHECK-NEXT: vmsltu.vx v16, v8, a2
174
- ; CHECK-NEXT: vsetivli zero, 4, e8, m1, tu, ma
175
- ; CHECK-NEXT: vslideup.vi v0, v16, 2
176
168
; CHECK-NEXT: lui a0, %hi(.LCPI10_1)
177
169
; CHECK-NEXT: addi a0, a0, %lo(.LCPI10_1)
178
- ; CHECK-NEXT: vsetivli zero, 16, e64, m8, ta, ma
179
- ; CHECK-NEXT: vle8.v v8, (a0)
170
+ ; CHECK-NEXT: vle8.v v9, (a0)
180
171
; CHECK-NEXT: vsext.vf8 v16, v8
181
- ; CHECK-NEXT: vsaddu.vx v8, v16, a1
182
- ; CHECK-NEXT: vmsltu.vx v16, v8, a2
183
- ; CHECK-NEXT: vsetivli zero, 6, e8, m1, tu, ma
184
- ; CHECK-NEXT: vslideup.vi v0, v16, 4
172
+ ; CHECK-NEXT: vsaddu.vx v16, v16, a1
173
+ ; CHECK-NEXT: vmsltu.vx v10, v16, a2
174
+ ; CHECK-NEXT: vsext.vf8 v16, v9
175
+ ; CHECK-NEXT: vsaddu.vx v16, v16, a1
176
+ ; CHECK-NEXT: vmsltu.vx v8, v16, a2
177
+ ; CHECK-NEXT: vsetivli zero, 4, e8, mf2, tu, ma
178
+ ; CHECK-NEXT: vslideup.vi v8, v10, 2
185
179
; CHECK-NEXT: lui a0, %hi(.LCPI10_2)
186
180
; CHECK-NEXT: addi a0, a0, %lo(.LCPI10_2)
187
181
; CHECK-NEXT: vsetivli zero, 16, e64, m8, ta, ma
188
- ; CHECK-NEXT: vle8.v v8 , (a0)
189
- ; CHECK-NEXT: vsext.vf8 v16, v8
190
- ; CHECK-NEXT: vsaddu.vx v8 , v16, a1
191
- ; CHECK-NEXT: vmsltu.vx v16, v8 , a2
192
- ; CHECK-NEXT: vsetivli zero, 8 , e8, m1 , tu, ma
193
- ; CHECK-NEXT: vslideup.vi v0, v16, 6
182
+ ; CHECK-NEXT: vle8.v v9 , (a0)
183
+ ; CHECK-NEXT: vsext.vf8 v16, v9
184
+ ; CHECK-NEXT: vsaddu.vx v16 , v16, a1
185
+ ; CHECK-NEXT: vmsltu.vx v9, v16 , a2
186
+ ; CHECK-NEXT: vsetivli zero, 6 , e8, mf2 , tu, ma
187
+ ; CHECK-NEXT: vslideup.vi v8, v9, 4
194
188
; CHECK-NEXT: lui a0, %hi(.LCPI10_3)
195
189
; CHECK-NEXT: addi a0, a0, %lo(.LCPI10_3)
196
190
; CHECK-NEXT: vsetivli zero, 16, e64, m8, ta, ma
197
- ; CHECK-NEXT: vle8.v v8, (a0)
198
- ; CHECK-NEXT: vsext.vf8 v16, v8
199
- ; CHECK-NEXT: vsaddu.vx v8, v16, a1
200
- ; CHECK-NEXT: vmsltu.vx v16, v8, a2
201
- ; CHECK-NEXT: vsetivli zero, 10, e8, m1, tu, ma
202
- ; CHECK-NEXT: vslideup.vi v0, v16, 8
191
+ ; CHECK-NEXT: vle8.v v9, (a0)
192
+ ; CHECK-NEXT: vsext.vf8 v16, v9
193
+ ; CHECK-NEXT: vsaddu.vx v16, v16, a1
194
+ ; CHECK-NEXT: vmsltu.vx v9, v16, a2
195
+ ; CHECK-NEXT: vsetivli zero, 8, e8, mf2, ta, ma
196
+ ; CHECK-NEXT: vslideup.vi v8, v9, 6
197
+ ; CHECK-NEXT: vsetivli zero, 16, e64, m8, ta, ma
203
198
; CHECK-NEXT: lui a0, %hi(.LCPI10_4)
204
199
; CHECK-NEXT: addi a0, a0, %lo(.LCPI10_4)
205
- ; CHECK-NEXT: vsetivli zero, 16, e64, m8, ta, ma
206
- ; CHECK-NEXT: vle8.v v8, (a0)
207
- ; CHECK-NEXT: vsext.vf8 v16, v8
208
- ; CHECK-NEXT: vsaddu.vx v8, v16, a1
209
- ; CHECK-NEXT: vmsltu.vx v16, v8, a2
210
- ; CHECK-NEXT: vsetivli zero, 12, e8, m1, tu, ma
211
- ; CHECK-NEXT: vslideup.vi v0, v16, 10
200
+ ; CHECK-NEXT: vle8.v v9, (a0)
201
+ ; CHECK-NEXT: vid.v v16
202
+ ; CHECK-NEXT: vsaddu.vx v16, v16, a1
203
+ ; CHECK-NEXT: vmsltu.vx v0, v16, a2
204
+ ; CHECK-NEXT: vsext.vf8 v16, v9
205
+ ; CHECK-NEXT: vsaddu.vx v16, v16, a1
206
+ ; CHECK-NEXT: vmsltu.vx v9, v16, a2
207
+ ; CHECK-NEXT: vsetivli zero, 4, e8, mf2, tu, ma
208
+ ; CHECK-NEXT: vslideup.vi v0, v9, 2
212
209
; CHECK-NEXT: lui a0, %hi(.LCPI10_5)
213
210
; CHECK-NEXT: addi a0, a0, %lo(.LCPI10_5)
214
211
; CHECK-NEXT: vsetivli zero, 16, e64, m8, ta, ma
215
- ; CHECK-NEXT: vle8.v v8 , (a0)
216
- ; CHECK-NEXT: vsext.vf8 v16, v8
217
- ; CHECK-NEXT: vsaddu.vx v8 , v16, a1
218
- ; CHECK-NEXT: vmsltu.vx v16, v8 , a2
219
- ; CHECK-NEXT: vsetivli zero, 14 , e8, m1 , tu, ma
220
- ; CHECK-NEXT: vslideup.vi v0, v16, 12
212
+ ; CHECK-NEXT: vle8.v v9 , (a0)
213
+ ; CHECK-NEXT: vsext.vf8 v16, v9
214
+ ; CHECK-NEXT: vsaddu.vx v16 , v16, a1
215
+ ; CHECK-NEXT: vmsltu.vx v9, v16 , a2
216
+ ; CHECK-NEXT: vsetivli zero, 6 , e8, mf2 , tu, ma
217
+ ; CHECK-NEXT: vslideup.vi v0, v9, 4
221
218
; CHECK-NEXT: lui a0, %hi(.LCPI10_6)
222
219
; CHECK-NEXT: addi a0, a0, %lo(.LCPI10_6)
223
220
; CHECK-NEXT: vsetivli zero, 16, e64, m8, ta, ma
224
- ; CHECK-NEXT: vle8.v v8, (a0)
225
- ; CHECK-NEXT: vsext.vf8 v16, v8
226
- ; CHECK-NEXT: vsaddu.vx v8, v16, a1
227
- ; CHECK-NEXT: vmsltu.vx v16, v8, a2
228
- ; CHECK-NEXT: vsetvli zero, zero, e8, m1, ta, ma
229
- ; CHECK-NEXT: vslideup.vi v0, v16, 14
221
+ ; CHECK-NEXT: vle8.v v9, (a0)
222
+ ; CHECK-NEXT: vsext.vf8 v16, v9
223
+ ; CHECK-NEXT: vsaddu.vx v16, v16, a1
224
+ ; CHECK-NEXT: vmsltu.vx v9, v16, a2
225
+ ; CHECK-NEXT: vsetivli zero, 8, e8, mf2, ta, ma
226
+ ; CHECK-NEXT: vslideup.vi v0, v9, 6
227
+ ; CHECK-NEXT: vsetivli zero, 16, e8, m1, ta, ma
228
+ ; CHECK-NEXT: vslideup.vi v0, v8, 8
230
229
; CHECK-NEXT: ret
231
230
%mask = call <128 x i1 > @llvm.get.active.lane.mask.v128i1.i64 (i64 %index , i64 %tc )
232
231
ret <128 x i1 > %mask
0 commit comments