@@ -509,10 +509,8 @@ define <vscale x 2 x bfloat> @test_vp_splice_nxv2bf16_masked(<vscale x 2 x bfloa
509
509
define <vscale x 2 x i32 > @test_vp_splice_nxv2i32_with_firstelt (i32 %first , <vscale x 2 x i32 > %vb , <vscale x 2 x i1 > %mask , i32 zeroext %evl ) {
510
510
; CHECK-LABEL: test_vp_splice_nxv2i32_with_firstelt:
511
511
; CHECK: # %bb.0:
512
- ; CHECK-NEXT: vsetvli a2, zero, e32, m1, ta, ma
513
- ; CHECK-NEXT: vmv.s.x v9, a0
514
- ; CHECK-NEXT: vsetvli zero, a1, e32, m1, ta, mu
515
- ; CHECK-NEXT: vslideup.vi v9, v8, 1, v0.t
512
+ ; CHECK-NEXT: vsetvli zero, a1, e32, m1, ta, ma
513
+ ; CHECK-NEXT: vslide1up.vx v9, v8, a0, v0.t
516
514
; CHECK-NEXT: vmv.v.v v8, v9
517
515
; CHECK-NEXT: ret
518
516
%va = insertelement <vscale x 2 x i32 > poison, i32 %first , i32 0
@@ -523,10 +521,8 @@ define <vscale x 2 x i32> @test_vp_splice_nxv2i32_with_firstelt(i32 %first, <vsc
523
521
define <vscale x 2 x i32 > @test_vp_splice_nxv2i32_with_splat_firstelt (i32 %first , <vscale x 2 x i32 > %vb , <vscale x 2 x i1 > %mask , i32 zeroext %evl ) {
524
522
; CHECK-LABEL: test_vp_splice_nxv2i32_with_splat_firstelt:
525
523
; CHECK: # %bb.0:
526
- ; CHECK-NEXT: vsetvli a2, zero, e32, m1, ta, ma
527
- ; CHECK-NEXT: vmv.v.x v9, a0
528
- ; CHECK-NEXT: vsetvli zero, a1, e32, m1, ta, mu
529
- ; CHECK-NEXT: vslideup.vi v9, v8, 1, v0.t
524
+ ; CHECK-NEXT: vsetvli zero, a1, e32, m1, ta, ma
525
+ ; CHECK-NEXT: vslide1up.vx v9, v8, a0, v0.t
530
526
; CHECK-NEXT: vmv.v.v v8, v9
531
527
; CHECK-NEXT: ret
532
528
%ins = insertelement <vscale x 2 x i32 > poison, i32 %first , i32 0
@@ -538,10 +534,8 @@ define <vscale x 2 x i32> @test_vp_splice_nxv2i32_with_splat_firstelt(i32 %first
538
534
define <vscale x 2 x float > @test_vp_splice_nxv2f32_with_firstelt (float %first , <vscale x 2 x float > %vb , <vscale x 2 x i1 > %mask , i32 zeroext %evl ) {
539
535
; CHECK-LABEL: test_vp_splice_nxv2f32_with_firstelt:
540
536
; CHECK: # %bb.0:
541
- ; CHECK-NEXT: vsetvli a1, zero, e32, m1, ta, ma
542
- ; CHECK-NEXT: vfmv.s.f v9, fa0
543
- ; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, mu
544
- ; CHECK-NEXT: vslideup.vi v9, v8, 1, v0.t
537
+ ; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, ma
538
+ ; CHECK-NEXT: vfslide1up.vf v9, v8, fa0, v0.t
545
539
; CHECK-NEXT: vmv.v.v v8, v9
546
540
; CHECK-NEXT: ret
547
541
%va = insertelement <vscale x 2 x float > poison, float %first , i32 0
@@ -552,20 +546,16 @@ define <vscale x 2 x float> @test_vp_splice_nxv2f32_with_firstelt(float %first,
552
546
define <vscale x 2 x half > @test_vp_splice_nxv2f16_with_firstelt (half %first , <vscale x 2 x half > %vb , <vscale x 2 x i1 > %mask , i32 zeroext %evl ) {
553
547
; ZVFH-LABEL: test_vp_splice_nxv2f16_with_firstelt:
554
548
; ZVFH: # %bb.0:
555
- ; ZVFH-NEXT: vsetvli a1, zero, e16, m1, ta, ma
556
- ; ZVFH-NEXT: vfmv.s.f v9, fa0
557
- ; ZVFH-NEXT: vsetvli zero, a0, e16, mf2, ta, mu
558
- ; ZVFH-NEXT: vslideup.vi v9, v8, 1, v0.t
549
+ ; ZVFH-NEXT: vsetvli zero, a0, e16, mf2, ta, ma
550
+ ; ZVFH-NEXT: vfslide1up.vf v9, v8, fa0, v0.t
559
551
; ZVFH-NEXT: vmv1r.v v8, v9
560
552
; ZVFH-NEXT: ret
561
553
;
562
554
; ZVFHMIN-LABEL: test_vp_splice_nxv2f16_with_firstelt:
563
555
; ZVFHMIN: # %bb.0:
564
556
; ZVFHMIN-NEXT: fmv.x.h a1, fa0
565
- ; ZVFHMIN-NEXT: vsetvli a2, zero, e16, m1, ta, ma
566
- ; ZVFHMIN-NEXT: vmv.s.x v9, a1
567
- ; ZVFHMIN-NEXT: vsetvli zero, a0, e16, mf2, ta, mu
568
- ; ZVFHMIN-NEXT: vslideup.vi v9, v8, 1, v0.t
557
+ ; ZVFHMIN-NEXT: vsetvli zero, a0, e16, mf2, ta, ma
558
+ ; ZVFHMIN-NEXT: vslide1up.vx v9, v8, a1, v0.t
569
559
; ZVFHMIN-NEXT: vmv1r.v v8, v9
570
560
; ZVFHMIN-NEXT: ret
571
561
%va = insertelement <vscale x 2 x half > poison, half %first , i32 0
@@ -577,10 +567,8 @@ define <vscale x 2 x bfloat> @test_vp_splice_nxv2bf16_with_firstelt(bfloat %firs
577
567
; CHECK-LABEL: test_vp_splice_nxv2bf16_with_firstelt:
578
568
; CHECK: # %bb.0:
579
569
; CHECK-NEXT: fmv.x.h a1, fa0
580
- ; CHECK-NEXT: vsetvli a2, zero, e16, m1, ta, ma
581
- ; CHECK-NEXT: vmv.s.x v9, a1
582
- ; CHECK-NEXT: vsetvli zero, a0, e16, mf2, ta, mu
583
- ; CHECK-NEXT: vslideup.vi v9, v8, 1, v0.t
570
+ ; CHECK-NEXT: vsetvli zero, a0, e16, mf2, ta, ma
571
+ ; CHECK-NEXT: vslide1up.vx v9, v8, a1, v0.t
584
572
; CHECK-NEXT: vmv1r.v v8, v9
585
573
; CHECK-NEXT: ret
586
574
%va = insertelement <vscale x 2 x bfloat> poison, bfloat %first , i32 0
0 commit comments