@@ -200,8 +200,7 @@ define <8 x i32> @vpselect_vpadd(<8 x i32> %passthru, <8 x i32> %x, <8 x i32> %y
200
200
; CHECK-LABEL: vpselect_vpadd:
201
201
; CHECK: # %bb.0:
202
202
; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, mu
203
- ; CHECK-NEXT: vadd.vv v9, v9, v10
204
- ; CHECK-NEXT: vmerge.vvm v8, v8, v9, v0
203
+ ; CHECK-NEXT: vadd.vv v8, v9, v10, v0.t
205
204
; CHECK-NEXT: ret
206
205
%splat = insertelement <8 x i1 > poison, i1 -1 , i32 0
207
206
%mask = shufflevector <8 x i1 > %splat , <8 x i1 > poison, <8 x i32 > zeroinitializer
@@ -216,8 +215,7 @@ define <8 x i32> @vpselect_vpadd2(<8 x i32> %passthru, <8 x i32> %x, <8 x i32> %
216
215
; CHECK: # %bb.0:
217
216
; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, mu
218
217
; CHECK-NEXT: vmseq.vv v0, v9, v10
219
- ; CHECK-NEXT: vadd.vv v9, v9, v10
220
- ; CHECK-NEXT: vmerge.vvm v8, v8, v9, v0
218
+ ; CHECK-NEXT: vadd.vv v8, v9, v10, v0.t
221
219
; CHECK-NEXT: ret
222
220
%splat = insertelement <8 x i1 > poison, i1 -1 , i32 0
223
221
%mask = shufflevector <8 x i1 > %splat , <8 x i1 > poison, <8 x i32 > zeroinitializer
@@ -231,11 +229,8 @@ define <8 x i32> @vpselect_vpadd2(<8 x i32> %passthru, <8 x i32> %x, <8 x i32> %
231
229
define <8 x i32 > @vpselect_vpadd3 (<8 x i32 > %passthru , <8 x i32 > %x , <8 x i32 > %y , i32 zeroext %vl ) {
232
230
; CHECK-LABEL: vpselect_vpadd3:
233
231
; CHECK: # %bb.0:
234
- ; CHECK-NEXT: vsetivli zero, 8, e8, mf4, ta, mu
235
- ; CHECK-NEXT: vmset.m v0
236
232
; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, mu
237
- ; CHECK-NEXT: vadd.vv v9, v9, v10
238
- ; CHECK-NEXT: vmerge.vvm v8, v8, v9, v0
233
+ ; CHECK-NEXT: vadd.vv v8, v9, v10
239
234
; CHECK-NEXT: ret
240
235
%splat = insertelement <8 x i1 > poison, i1 -1 , i32 0
241
236
%mask = shufflevector <8 x i1 > %splat , <8 x i1 > poison, <8 x i32 > zeroinitializer
@@ -249,8 +244,7 @@ define <8 x float> @vpselect_vpfadd(<8 x float> %passthru, <8 x float> %x, <8 x
249
244
; CHECK-LABEL: vpselect_vpfadd:
250
245
; CHECK: # %bb.0:
251
246
; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, mu
252
- ; CHECK-NEXT: vfadd.vv v9, v9, v10
253
- ; CHECK-NEXT: vmerge.vvm v8, v8, v9, v0
247
+ ; CHECK-NEXT: vfadd.vv v8, v9, v10, v0.t
254
248
; CHECK-NEXT: ret
255
249
%splat = insertelement <8 x i1 > poison, i1 -1 , i32 0
256
250
%mask = shufflevector <8 x i1 > %splat , <8 x i1 > poison, <8 x i32 > zeroinitializer
@@ -264,8 +258,7 @@ define <8 x i16> @vpselect_vpfptosi(<8 x i16> %passthru, <8 x float> %x, <8 x i1
264
258
; CHECK-LABEL: vpselect_vpfptosi:
265
259
; CHECK: # %bb.0:
266
260
; CHECK-NEXT: vsetvli zero, a0, e16, mf2, ta, mu
267
- ; CHECK-NEXT: vfncvt.rtz.x.f.w v10, v9
268
- ; CHECK-NEXT: vmerge.vvm v8, v8, v10, v0
261
+ ; CHECK-NEXT: vfncvt.rtz.x.f.w v8, v9, v0.t
269
262
; CHECK-NEXT: ret
270
263
%splat = insertelement <8 x i1 > poison, i1 -1 , i32 0
271
264
%mask = shufflevector <8 x i1 > %splat , <8 x i1 > poison, <8 x i32 > zeroinitializer
@@ -279,8 +272,7 @@ define <8 x float> @vpselect_vpsitofp(<8 x float> %passthru, <8 x i64> %x, <8 x
279
272
; CHECK-LABEL: vpselect_vpsitofp:
280
273
; CHECK: # %bb.0:
281
274
; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, mu
282
- ; CHECK-NEXT: vfncvt.f.x.w v9, v10
283
- ; CHECK-NEXT: vmerge.vvm v8, v8, v9, v0
275
+ ; CHECK-NEXT: vfncvt.f.x.w v8, v10, v0.t
284
276
; CHECK-NEXT: ret
285
277
%splat = insertelement <8 x i1 > poison, i1 -1 , i32 0
286
278
%mask = shufflevector <8 x i1 > %splat , <8 x i1 > poison, <8 x i32 > zeroinitializer
@@ -294,8 +286,7 @@ define <8 x i32> @vpselect_vpzext(<8 x i32> %passthru, <8 x i8> %x, <8 x i1> %m,
294
286
; CHECK-LABEL: vpselect_vpzext:
295
287
; CHECK: # %bb.0:
296
288
; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, mu
297
- ; CHECK-NEXT: vzext.vf4 v10, v9
298
- ; CHECK-NEXT: vmerge.vvm v8, v8, v10, v0
289
+ ; CHECK-NEXT: vzext.vf4 v8, v9, v0.t
299
290
; CHECK-NEXT: ret
300
291
%splat = insertelement <8 x i1 > poison, i1 -1 , i32 0
301
292
%mask = shufflevector <8 x i1 > %splat , <8 x i1 > poison, <8 x i32 > zeroinitializer
@@ -309,8 +300,7 @@ define <8 x i32> @vpselect_vptrunc(<8 x i32> %passthru, <8 x i64> %x, <8 x i1> %
309
300
; CHECK-LABEL: vpselect_vptrunc:
310
301
; CHECK: # %bb.0:
311
302
; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, mu
312
- ; CHECK-NEXT: vnsrl.wi v9, v10, 0
313
- ; CHECK-NEXT: vmerge.vvm v8, v8, v9, v0
303
+ ; CHECK-NEXT: vnsrl.wi v8, v10, 0, v0.t
314
304
; CHECK-NEXT: ret
315
305
%splat = insertelement <8 x i1 > poison, i1 -1 , i32 0
316
306
%mask = shufflevector <8 x i1 > %splat , <8 x i1 > poison, <8 x i32 > zeroinitializer
@@ -324,9 +314,7 @@ define <8 x double> @vpselect_vpfpext(<8 x double> %passthru, <8 x float> %x, <8
324
314
; CHECK-LABEL: vpselect_vpfpext:
325
315
; CHECK: # %bb.0:
326
316
; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, mu
327
- ; CHECK-NEXT: vfwcvt.f.f.v v12, v10
328
- ; CHECK-NEXT: vsetvli zero, zero, e64, m2, ta, mu
329
- ; CHECK-NEXT: vmerge.vvm v8, v8, v12, v0
317
+ ; CHECK-NEXT: vfwcvt.f.f.v v8, v10, v0.t
330
318
; CHECK-NEXT: ret
331
319
%splat = insertelement <8 x i1 > poison, i1 -1 , i32 0
332
320
%mask = shufflevector <8 x i1 > %splat , <8 x i1 > poison, <8 x i32 > zeroinitializer
@@ -340,8 +328,7 @@ define <8 x float> @vpselect_vpfptrunc(<8 x float> %passthru, <8 x double> %x, <
340
328
; CHECK-LABEL: vpselect_vpfptrunc:
341
329
; CHECK: # %bb.0:
342
330
; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, mu
343
- ; CHECK-NEXT: vfncvt.f.f.w v9, v10
344
- ; CHECK-NEXT: vmerge.vvm v8, v8, v9, v0
331
+ ; CHECK-NEXT: vfncvt.f.f.w v8, v10, v0.t
345
332
; CHECK-NEXT: ret
346
333
%splat = insertelement <8 x i1 > poison, i1 -1 , i32 0
347
334
%mask = shufflevector <8 x i1 > %splat , <8 x i1 > poison, <8 x i32 > zeroinitializer
@@ -355,8 +342,7 @@ define <8 x i32> @vpselect_vpload(<8 x i32> %passthru, <8 x i32> * %p, <8 x i1>
355
342
; CHECK-LABEL: vpselect_vpload:
356
343
; CHECK: # %bb.0:
357
344
; CHECK-NEXT: vsetvli zero, a1, e32, m1, ta, mu
358
- ; CHECK-NEXT: vle32.v v9, (a0)
359
- ; CHECK-NEXT: vmerge.vvm v8, v8, v9, v0
345
+ ; CHECK-NEXT: vle32.v v8, (a0), v0.t
360
346
; CHECK-NEXT: ret
361
347
%splat = insertelement <8 x i1 > poison, i1 -1 , i32 0
362
348
%mask = shufflevector <8 x i1 > %splat , <8 x i1 > poison, <8 x i32 > zeroinitializer
@@ -370,9 +356,8 @@ define <8 x i32> @vpselect_vpload2(<8 x i32> %passthru, <8 x i32> * %p, <8 x i32
370
356
; CHECK-LABEL: vpselect_vpload2:
371
357
; CHECK: # %bb.0:
372
358
; CHECK-NEXT: vsetvli zero, a1, e32, m1, ta, mu
373
- ; CHECK-NEXT: vle32.v v11, (a0)
374
359
; CHECK-NEXT: vmseq.vv v0, v9, v10
375
- ; CHECK-NEXT: vmerge.vvm v8, v8, v11, v0
360
+ ; CHECK-NEXT: vle32.v v8, (a0), v0.t
376
361
; CHECK-NEXT: ret
377
362
%splat = insertelement <8 x i1 > poison, i1 -1 , i32 0
378
363
%mask = shufflevector <8 x i1 > %splat , <8 x i1 > poison, <8 x i32 > zeroinitializer
0 commit comments