60 changes: 30 additions & 30 deletions llvm/test/CodeGen/RISCV/rvv/vfnmsub-sdnode.ll
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ define <vscale x 1 x half> @vfnmsub_vf_nxv1f16(<vscale x 1 x half> %va, <vscale
; CHECK-NEXT: vsetvli a0, zero, e16, mf4, ta, mu
; CHECK-NEXT: vfnmsub.vf v8, fa0, v9
; CHECK-NEXT: ret
%head = insertelement <vscale x 1 x half> undef, half %c, i32 0
%splat = shufflevector <vscale x 1 x half> %head, <vscale x 1 x half> undef, <vscale x 1 x i32> zeroinitializer
%head = insertelement <vscale x 1 x half> poison, half %c, i32 0
%splat = shufflevector <vscale x 1 x half> %head, <vscale x 1 x half> poison, <vscale x 1 x i32> zeroinitializer
%neg = fneg <vscale x 1 x half> %va
%vd = call <vscale x 1 x half> @llvm.fma.v1f16(<vscale x 1 x half> %neg, <vscale x 1 x half> %splat, <vscale x 1 x half> %vb)
ret <vscale x 1 x half> %vd
Expand All @@ -52,8 +52,8 @@ define <vscale x 2 x half> @vfnmsub_vf_nxv2f16(<vscale x 2 x half> %va, <vscale
; CHECK-NEXT: vsetvli a0, zero, e16, mf2, ta, mu
; CHECK-NEXT: vfnmsub.vf v8, fa0, v9
; CHECK-NEXT: ret
%head = insertelement <vscale x 2 x half> undef, half %c, i32 0
%splat = shufflevector <vscale x 2 x half> %head, <vscale x 2 x half> undef, <vscale x 2 x i32> zeroinitializer
%head = insertelement <vscale x 2 x half> poison, half %c, i32 0
%splat = shufflevector <vscale x 2 x half> %head, <vscale x 2 x half> poison, <vscale x 2 x i32> zeroinitializer
%neg = fneg <vscale x 2 x half> %va
%vd = call <vscale x 2 x half> @llvm.fma.v2f16(<vscale x 2 x half> %splat, <vscale x 2 x half> %neg, <vscale x 2 x half> %vb)
ret <vscale x 2 x half> %vd
Expand All @@ -78,8 +78,8 @@ define <vscale x 4 x half> @vfnmsub_vf_nxv4f16(<vscale x 4 x half> %va, <vscale
; CHECK-NEXT: vsetvli a0, zero, e16, m1, ta, mu
; CHECK-NEXT: vfnmsub.vf v8, fa0, v9
; CHECK-NEXT: ret
%head = insertelement <vscale x 4 x half> undef, half %c, i32 0
%splat = shufflevector <vscale x 4 x half> %head, <vscale x 4 x half> undef, <vscale x 4 x i32> zeroinitializer
%head = insertelement <vscale x 4 x half> poison, half %c, i32 0
%splat = shufflevector <vscale x 4 x half> %head, <vscale x 4 x half> poison, <vscale x 4 x i32> zeroinitializer
%neg = fneg <vscale x 4 x half> %splat
%vd = call <vscale x 4 x half> @llvm.fma.v4f16(<vscale x 4 x half> %va, <vscale x 4 x half> %neg, <vscale x 4 x half> %vb)
ret <vscale x 4 x half> %vd
Expand All @@ -104,8 +104,8 @@ define <vscale x 8 x half> @vfnmsub_vf_nxv8f16(<vscale x 8 x half> %va, <vscale
; CHECK-NEXT: vsetvli a0, zero, e16, m2, ta, mu
; CHECK-NEXT: vfnmsac.vf v8, fa0, v10
; CHECK-NEXT: ret
%head = insertelement <vscale x 8 x half> undef, half %c, i32 0
%splat = shufflevector <vscale x 8 x half> %head, <vscale x 8 x half> undef, <vscale x 8 x i32> zeroinitializer
%head = insertelement <vscale x 8 x half> poison, half %c, i32 0
%splat = shufflevector <vscale x 8 x half> %head, <vscale x 8 x half> poison, <vscale x 8 x i32> zeroinitializer
%neg = fneg <vscale x 8 x half> %splat
%vd = call <vscale x 8 x half> @llvm.fma.v8f16(<vscale x 8 x half> %vb, <vscale x 8 x half> %neg, <vscale x 8 x half> %va)
ret <vscale x 8 x half> %vd
Expand All @@ -130,8 +130,8 @@ define <vscale x 16 x half> @vfnmsub_vf_nxv16f16(<vscale x 16 x half> %va, <vsca
; CHECK-NEXT: vsetvli a0, zero, e16, m4, ta, mu
; CHECK-NEXT: vfnmsub.vf v8, fa0, v12
; CHECK-NEXT: ret
%head = insertelement <vscale x 16 x half> undef, half %c, i32 0
%splat = shufflevector <vscale x 16 x half> %head, <vscale x 16 x half> undef, <vscale x 16 x i32> zeroinitializer
%head = insertelement <vscale x 16 x half> poison, half %c, i32 0
%splat = shufflevector <vscale x 16 x half> %head, <vscale x 16 x half> poison, <vscale x 16 x i32> zeroinitializer
%neg = fneg <vscale x 16 x half> %splat
%vd = call <vscale x 16 x half> @llvm.fma.v16f16(<vscale x 16 x half> %neg, <vscale x 16 x half> %va, <vscale x 16 x half> %vb)
ret <vscale x 16 x half> %vd
Expand All @@ -157,8 +157,8 @@ define <vscale x 32 x half> @vfnmsub_vf_nxv32f16(<vscale x 32 x half> %va, <vsca
; CHECK-NEXT: vsetvli a0, zero, e16, m8, ta, mu
; CHECK-NEXT: vfnmsac.vf v8, fa0, v16
; CHECK-NEXT: ret
%head = insertelement <vscale x 32 x half> undef, half %c, i32 0
%splat = shufflevector <vscale x 32 x half> %head, <vscale x 32 x half> undef, <vscale x 32 x i32> zeroinitializer
%head = insertelement <vscale x 32 x half> poison, half %c, i32 0
%splat = shufflevector <vscale x 32 x half> %head, <vscale x 32 x half> poison, <vscale x 32 x i32> zeroinitializer
%neg = fneg <vscale x 32 x half> %splat
%vd = call <vscale x 32 x half> @llvm.fma.v32f16(<vscale x 32 x half> %neg, <vscale x 32 x half> %vb, <vscale x 32 x half> %va)
ret <vscale x 32 x half> %vd
Expand All @@ -183,8 +183,8 @@ define <vscale x 1 x float> @vfnmsub_vf_nxv1f32(<vscale x 1 x float> %va, <vscal
; CHECK-NEXT: vsetvli a0, zero, e32, mf2, ta, mu
; CHECK-NEXT: vfnmsub.vf v8, fa0, v9
; CHECK-NEXT: ret
%head = insertelement <vscale x 1 x float> undef, float %c, i32 0
%splat = shufflevector <vscale x 1 x float> %head, <vscale x 1 x float> undef, <vscale x 1 x i32> zeroinitializer
%head = insertelement <vscale x 1 x float> poison, float %c, i32 0
%splat = shufflevector <vscale x 1 x float> %head, <vscale x 1 x float> poison, <vscale x 1 x i32> zeroinitializer
%neg = fneg <vscale x 1 x float> %va
%vd = call <vscale x 1 x float> @llvm.fma.v1f32(<vscale x 1 x float> %neg, <vscale x 1 x float> %splat, <vscale x 1 x float> %vb)
ret <vscale x 1 x float> %vd
Expand All @@ -209,8 +209,8 @@ define <vscale x 2 x float> @vfnmsub_vf_nxv2f32(<vscale x 2 x float> %va, <vscal
; CHECK-NEXT: vsetvli a0, zero, e32, m1, ta, mu
; CHECK-NEXT: vfnmsub.vf v8, fa0, v9
; CHECK-NEXT: ret
%head = insertelement <vscale x 2 x float> undef, float %c, i32 0
%splat = shufflevector <vscale x 2 x float> %head, <vscale x 2 x float> undef, <vscale x 2 x i32> zeroinitializer
%head = insertelement <vscale x 2 x float> poison, float %c, i32 0
%splat = shufflevector <vscale x 2 x float> %head, <vscale x 2 x float> poison, <vscale x 2 x i32> zeroinitializer
%neg = fneg <vscale x 2 x float> %va
%vd = call <vscale x 2 x float> @llvm.fma.v2f32(<vscale x 2 x float> %splat, <vscale x 2 x float> %neg, <vscale x 2 x float> %vb)
ret <vscale x 2 x float> %vd
Expand All @@ -235,8 +235,8 @@ define <vscale x 4 x float> @vfnmsub_vf_nxv4f32(<vscale x 4 x float> %va, <vscal
; CHECK-NEXT: vsetvli a0, zero, e32, m2, ta, mu
; CHECK-NEXT: vfnmsub.vf v8, fa0, v10
; CHECK-NEXT: ret
%head = insertelement <vscale x 4 x float> undef, float %c, i32 0
%splat = shufflevector <vscale x 4 x float> %head, <vscale x 4 x float> undef, <vscale x 4 x i32> zeroinitializer
%head = insertelement <vscale x 4 x float> poison, float %c, i32 0
%splat = shufflevector <vscale x 4 x float> %head, <vscale x 4 x float> poison, <vscale x 4 x i32> zeroinitializer
%neg = fneg <vscale x 4 x float> %splat
%vd = call <vscale x 4 x float> @llvm.fma.v4f32(<vscale x 4 x float> %va, <vscale x 4 x float> %neg, <vscale x 4 x float> %vb)
ret <vscale x 4 x float> %vd
Expand All @@ -261,8 +261,8 @@ define <vscale x 8 x float> @vfnmsub_vf_nxv8f32(<vscale x 8 x float> %va, <vscal
; CHECK-NEXT: vsetvli a0, zero, e32, m4, ta, mu
; CHECK-NEXT: vfnmsac.vf v8, fa0, v12
; CHECK-NEXT: ret
%head = insertelement <vscale x 8 x float> undef, float %c, i32 0
%splat = shufflevector <vscale x 8 x float> %head, <vscale x 8 x float> undef, <vscale x 8 x i32> zeroinitializer
%head = insertelement <vscale x 8 x float> poison, float %c, i32 0
%splat = shufflevector <vscale x 8 x float> %head, <vscale x 8 x float> poison, <vscale x 8 x i32> zeroinitializer
%neg = fneg <vscale x 8 x float> %splat
%vd = call <vscale x 8 x float> @llvm.fma.v8f32(<vscale x 8 x float> %vb, <vscale x 8 x float> %neg, <vscale x 8 x float> %va)
ret <vscale x 8 x float> %vd
Expand All @@ -288,8 +288,8 @@ define <vscale x 16 x float> @vfnmsub_vf_nxv16f32(<vscale x 16 x float> %va, <vs
; CHECK-NEXT: vsetvli a0, zero, e32, m8, ta, mu
; CHECK-NEXT: vfnmsub.vf v8, fa0, v16
; CHECK-NEXT: ret
%head = insertelement <vscale x 16 x float> undef, float %c, i32 0
%splat = shufflevector <vscale x 16 x float> %head, <vscale x 16 x float> undef, <vscale x 16 x i32> zeroinitializer
%head = insertelement <vscale x 16 x float> poison, float %c, i32 0
%splat = shufflevector <vscale x 16 x float> %head, <vscale x 16 x float> poison, <vscale x 16 x i32> zeroinitializer
%neg = fneg <vscale x 16 x float> %splat
%vd = call <vscale x 16 x float> @llvm.fma.v16f32(<vscale x 16 x float> %neg, <vscale x 16 x float> %va, <vscale x 16 x float> %vb)
ret <vscale x 16 x float> %vd
Expand All @@ -314,8 +314,8 @@ define <vscale x 1 x double> @vfnmsub_vf_nxv1f64(<vscale x 1 x double> %va, <vsc
; CHECK-NEXT: vsetvli a0, zero, e64, m1, ta, mu
; CHECK-NEXT: vfnmsub.vf v8, fa0, v9
; CHECK-NEXT: ret
%head = insertelement <vscale x 1 x double> undef, double %c, i32 0
%splat = shufflevector <vscale x 1 x double> %head, <vscale x 1 x double> undef, <vscale x 1 x i32> zeroinitializer
%head = insertelement <vscale x 1 x double> poison, double %c, i32 0
%splat = shufflevector <vscale x 1 x double> %head, <vscale x 1 x double> poison, <vscale x 1 x i32> zeroinitializer
%neg = fneg <vscale x 1 x double> %va
%vd = call <vscale x 1 x double> @llvm.fma.v1f64(<vscale x 1 x double> %neg, <vscale x 1 x double> %splat, <vscale x 1 x double> %vb)
ret <vscale x 1 x double> %vd
Expand All @@ -340,8 +340,8 @@ define <vscale x 2 x double> @vfnmsub_vf_nxv2f64(<vscale x 2 x double> %va, <vsc
; CHECK-NEXT: vsetvli a0, zero, e64, m2, ta, mu
; CHECK-NEXT: vfnmsub.vf v8, fa0, v10
; CHECK-NEXT: ret
%head = insertelement <vscale x 2 x double> undef, double %c, i32 0
%splat = shufflevector <vscale x 2 x double> %head, <vscale x 2 x double> undef, <vscale x 2 x i32> zeroinitializer
%head = insertelement <vscale x 2 x double> poison, double %c, i32 0
%splat = shufflevector <vscale x 2 x double> %head, <vscale x 2 x double> poison, <vscale x 2 x i32> zeroinitializer
%neg = fneg <vscale x 2 x double> %va
%vd = call <vscale x 2 x double> @llvm.fma.v2f64(<vscale x 2 x double> %splat, <vscale x 2 x double> %neg, <vscale x 2 x double> %vb)
ret <vscale x 2 x double> %vd
Expand All @@ -366,8 +366,8 @@ define <vscale x 4 x double> @vfnmsub_vf_nxv4f64(<vscale x 4 x double> %va, <vsc
; CHECK-NEXT: vsetvli a0, zero, e64, m4, ta, mu
; CHECK-NEXT: vfnmsub.vf v8, fa0, v12
; CHECK-NEXT: ret
%head = insertelement <vscale x 4 x double> undef, double %c, i32 0
%splat = shufflevector <vscale x 4 x double> %head, <vscale x 4 x double> undef, <vscale x 4 x i32> zeroinitializer
%head = insertelement <vscale x 4 x double> poison, double %c, i32 0
%splat = shufflevector <vscale x 4 x double> %head, <vscale x 4 x double> poison, <vscale x 4 x i32> zeroinitializer
%neg = fneg <vscale x 4 x double> %splat
%vd = call <vscale x 4 x double> @llvm.fma.v4f64(<vscale x 4 x double> %va, <vscale x 4 x double> %neg, <vscale x 4 x double> %vb)
ret <vscale x 4 x double> %vd
Expand All @@ -393,8 +393,8 @@ define <vscale x 8 x double> @vfnmsub_vf_nxv8f64(<vscale x 8 x double> %va, <vsc
; CHECK-NEXT: vsetvli a0, zero, e64, m8, ta, mu
; CHECK-NEXT: vfnmsac.vf v8, fa0, v16
; CHECK-NEXT: ret
%head = insertelement <vscale x 8 x double> undef, double %c, i32 0
%splat = shufflevector <vscale x 8 x double> %head, <vscale x 8 x double> undef, <vscale x 8 x i32> zeroinitializer
%head = insertelement <vscale x 8 x double> poison, double %c, i32 0
%splat = shufflevector <vscale x 8 x double> %head, <vscale x 8 x double> poison, <vscale x 8 x i32> zeroinitializer
%neg = fneg <vscale x 8 x double> %splat
%vd = call <vscale x 8 x double> @llvm.fma.v8f64(<vscale x 8 x double> %vb, <vscale x 8 x double> %neg, <vscale x 8 x double> %va)
ret <vscale x 8 x double> %vd
Expand Down
72 changes: 36 additions & 36 deletions llvm/test/CodeGen/RISCV/rvv/vfsub-sdnode.ll
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ define <vscale x 1 x half> @vfsub_vf_nxv1f16(<vscale x 1 x half> %va, half %b) {
; CHECK-NEXT: vsetvli a0, zero, e16, mf4, ta, mu
; CHECK-NEXT: vfsub.vf v8, v8, fa0
; CHECK-NEXT: ret
%head = insertelement <vscale x 1 x half> undef, half %b, i32 0
%splat = shufflevector <vscale x 1 x half> %head, <vscale x 1 x half> undef, <vscale x 1 x i32> zeroinitializer
%head = insertelement <vscale x 1 x half> poison, half %b, i32 0
%splat = shufflevector <vscale x 1 x half> %head, <vscale x 1 x half> poison, <vscale x 1 x i32> zeroinitializer
%vc = fsub <vscale x 1 x half> %va, %splat
ret <vscale x 1 x half> %vc
}
Expand All @@ -42,8 +42,8 @@ define <vscale x 2 x half> @vfsub_vf_nxv2f16(<vscale x 2 x half> %va, half %b) {
; CHECK-NEXT: vsetvli a0, zero, e16, mf2, ta, mu
; CHECK-NEXT: vfsub.vf v8, v8, fa0
; CHECK-NEXT: ret
%head = insertelement <vscale x 2 x half> undef, half %b, i32 0
%splat = shufflevector <vscale x 2 x half> %head, <vscale x 2 x half> undef, <vscale x 2 x i32> zeroinitializer
%head = insertelement <vscale x 2 x half> poison, half %b, i32 0
%splat = shufflevector <vscale x 2 x half> %head, <vscale x 2 x half> poison, <vscale x 2 x i32> zeroinitializer
%vc = fsub <vscale x 2 x half> %va, %splat
ret <vscale x 2 x half> %vc
}
Expand All @@ -64,8 +64,8 @@ define <vscale x 4 x half> @vfsub_vf_nxv4f16(<vscale x 4 x half> %va, half %b) {
; CHECK-NEXT: vsetvli a0, zero, e16, m1, ta, mu
; CHECK-NEXT: vfsub.vf v8, v8, fa0
; CHECK-NEXT: ret
%head = insertelement <vscale x 4 x half> undef, half %b, i32 0
%splat = shufflevector <vscale x 4 x half> %head, <vscale x 4 x half> undef, <vscale x 4 x i32> zeroinitializer
%head = insertelement <vscale x 4 x half> poison, half %b, i32 0
%splat = shufflevector <vscale x 4 x half> %head, <vscale x 4 x half> poison, <vscale x 4 x i32> zeroinitializer
%vc = fsub <vscale x 4 x half> %va, %splat
ret <vscale x 4 x half> %vc
}
Expand All @@ -86,8 +86,8 @@ define <vscale x 8 x half> @vfsub_vf_nxv8f16(<vscale x 8 x half> %va, half %b) {
; CHECK-NEXT: vsetvli a0, zero, e16, m2, ta, mu
; CHECK-NEXT: vfsub.vf v8, v8, fa0
; CHECK-NEXT: ret
%head = insertelement <vscale x 8 x half> undef, half %b, i32 0
%splat = shufflevector <vscale x 8 x half> %head, <vscale x 8 x half> undef, <vscale x 8 x i32> zeroinitializer
%head = insertelement <vscale x 8 x half> poison, half %b, i32 0
%splat = shufflevector <vscale x 8 x half> %head, <vscale x 8 x half> poison, <vscale x 8 x i32> zeroinitializer
%vc = fsub <vscale x 8 x half> %va, %splat
ret <vscale x 8 x half> %vc
}
Expand All @@ -98,8 +98,8 @@ define <vscale x 8 x half> @vfsub_fv_nxv8f16(<vscale x 8 x half> %va, half %b) {
; CHECK-NEXT: vsetvli a0, zero, e16, m2, ta, mu
; CHECK-NEXT: vfrsub.vf v8, v8, fa0
; CHECK-NEXT: ret
%head = insertelement <vscale x 8 x half> undef, half %b, i32 0
%splat = shufflevector <vscale x 8 x half> %head, <vscale x 8 x half> undef, <vscale x 8 x i32> zeroinitializer
%head = insertelement <vscale x 8 x half> poison, half %b, i32 0
%splat = shufflevector <vscale x 8 x half> %head, <vscale x 8 x half> poison, <vscale x 8 x i32> zeroinitializer
%vc = fsub <vscale x 8 x half> %splat, %va
ret <vscale x 8 x half> %vc
}
Expand All @@ -120,8 +120,8 @@ define <vscale x 16 x half> @vfsub_vf_nxv16f16(<vscale x 16 x half> %va, half %b
; CHECK-NEXT: vsetvli a0, zero, e16, m4, ta, mu
; CHECK-NEXT: vfsub.vf v8, v8, fa0
; CHECK-NEXT: ret
%head = insertelement <vscale x 16 x half> undef, half %b, i32 0
%splat = shufflevector <vscale x 16 x half> %head, <vscale x 16 x half> undef, <vscale x 16 x i32> zeroinitializer
%head = insertelement <vscale x 16 x half> poison, half %b, i32 0
%splat = shufflevector <vscale x 16 x half> %head, <vscale x 16 x half> poison, <vscale x 16 x i32> zeroinitializer
%vc = fsub <vscale x 16 x half> %va, %splat
ret <vscale x 16 x half> %vc
}
Expand All @@ -142,8 +142,8 @@ define <vscale x 32 x half> @vfsub_vf_nxv32f16(<vscale x 32 x half> %va, half %b
; CHECK-NEXT: vsetvli a0, zero, e16, m8, ta, mu
; CHECK-NEXT: vfsub.vf v8, v8, fa0
; CHECK-NEXT: ret
%head = insertelement <vscale x 32 x half> undef, half %b, i32 0
%splat = shufflevector <vscale x 32 x half> %head, <vscale x 32 x half> undef, <vscale x 32 x i32> zeroinitializer
%head = insertelement <vscale x 32 x half> poison, half %b, i32 0
%splat = shufflevector <vscale x 32 x half> %head, <vscale x 32 x half> poison, <vscale x 32 x i32> zeroinitializer
%vc = fsub <vscale x 32 x half> %va, %splat
ret <vscale x 32 x half> %vc
}
Expand All @@ -164,8 +164,8 @@ define <vscale x 1 x float> @vfsub_vf_nxv1f32(<vscale x 1 x float> %va, float %b
; CHECK-NEXT: vsetvli a0, zero, e32, mf2, ta, mu
; CHECK-NEXT: vfsub.vf v8, v8, fa0
; CHECK-NEXT: ret
%head = insertelement <vscale x 1 x float> undef, float %b, i32 0
%splat = shufflevector <vscale x 1 x float> %head, <vscale x 1 x float> undef, <vscale x 1 x i32> zeroinitializer
%head = insertelement <vscale x 1 x float> poison, float %b, i32 0
%splat = shufflevector <vscale x 1 x float> %head, <vscale x 1 x float> poison, <vscale x 1 x i32> zeroinitializer
%vc = fsub <vscale x 1 x float> %va, %splat
ret <vscale x 1 x float> %vc
}
Expand All @@ -186,8 +186,8 @@ define <vscale x 2 x float> @vfsub_vf_nxv2f32(<vscale x 2 x float> %va, float %b
; CHECK-NEXT: vsetvli a0, zero, e32, m1, ta, mu
; CHECK-NEXT: vfsub.vf v8, v8, fa0
; CHECK-NEXT: ret
%head = insertelement <vscale x 2 x float> undef, float %b, i32 0
%splat = shufflevector <vscale x 2 x float> %head, <vscale x 2 x float> undef, <vscale x 2 x i32> zeroinitializer
%head = insertelement <vscale x 2 x float> poison, float %b, i32 0
%splat = shufflevector <vscale x 2 x float> %head, <vscale x 2 x float> poison, <vscale x 2 x i32> zeroinitializer
%vc = fsub <vscale x 2 x float> %va, %splat
ret <vscale x 2 x float> %vc
}
Expand All @@ -208,8 +208,8 @@ define <vscale x 4 x float> @vfsub_vf_nxv4f32(<vscale x 4 x float> %va, float %b
; CHECK-NEXT: vsetvli a0, zero, e32, m2, ta, mu
; CHECK-NEXT: vfsub.vf v8, v8, fa0
; CHECK-NEXT: ret
%head = insertelement <vscale x 4 x float> undef, float %b, i32 0
%splat = shufflevector <vscale x 4 x float> %head, <vscale x 4 x float> undef, <vscale x 4 x i32> zeroinitializer
%head = insertelement <vscale x 4 x float> poison, float %b, i32 0
%splat = shufflevector <vscale x 4 x float> %head, <vscale x 4 x float> poison, <vscale x 4 x i32> zeroinitializer
%vc = fsub <vscale x 4 x float> %va, %splat
ret <vscale x 4 x float> %vc
}
Expand All @@ -230,8 +230,8 @@ define <vscale x 8 x float> @vfsub_vf_nxv8f32(<vscale x 8 x float> %va, float %b
; CHECK-NEXT: vsetvli a0, zero, e32, m4, ta, mu
; CHECK-NEXT: vfsub.vf v8, v8, fa0
; CHECK-NEXT: ret
%head = insertelement <vscale x 8 x float> undef, float %b, i32 0
%splat = shufflevector <vscale x 8 x float> %head, <vscale x 8 x float> undef, <vscale x 8 x i32> zeroinitializer
%head = insertelement <vscale x 8 x float> poison, float %b, i32 0
%splat = shufflevector <vscale x 8 x float> %head, <vscale x 8 x float> poison, <vscale x 8 x i32> zeroinitializer
%vc = fsub <vscale x 8 x float> %va, %splat
ret <vscale x 8 x float> %vc
}
Expand All @@ -242,8 +242,8 @@ define <vscale x 8 x float> @vfsub_fv_nxv8f32(<vscale x 8 x float> %va, float %b
; CHECK-NEXT: vsetvli a0, zero, e32, m4, ta, mu
; CHECK-NEXT: vfrsub.vf v8, v8, fa0
; CHECK-NEXT: ret
%head = insertelement <vscale x 8 x float> undef, float %b, i32 0
%splat = shufflevector <vscale x 8 x float> %head, <vscale x 8 x float> undef, <vscale x 8 x i32> zeroinitializer
%head = insertelement <vscale x 8 x float> poison, float %b, i32 0
%splat = shufflevector <vscale x 8 x float> %head, <vscale x 8 x float> poison, <vscale x 8 x i32> zeroinitializer
%vc = fsub <vscale x 8 x float> %splat, %va
ret <vscale x 8 x float> %vc
}
Expand All @@ -264,8 +264,8 @@ define <vscale x 16 x float> @vfsub_vf_nxv16f32(<vscale x 16 x float> %va, float
; CHECK-NEXT: vsetvli a0, zero, e32, m8, ta, mu
; CHECK-NEXT: vfsub.vf v8, v8, fa0
; CHECK-NEXT: ret
%head = insertelement <vscale x 16 x float> undef, float %b, i32 0
%splat = shufflevector <vscale x 16 x float> %head, <vscale x 16 x float> undef, <vscale x 16 x i32> zeroinitializer
%head = insertelement <vscale x 16 x float> poison, float %b, i32 0
%splat = shufflevector <vscale x 16 x float> %head, <vscale x 16 x float> poison, <vscale x 16 x i32> zeroinitializer
%vc = fsub <vscale x 16 x float> %va, %splat
ret <vscale x 16 x float> %vc
}
Expand All @@ -286,8 +286,8 @@ define <vscale x 1 x double> @vfsub_vf_nxv1f64(<vscale x 1 x double> %va, double
; CHECK-NEXT: vsetvli a0, zero, e64, m1, ta, mu
; CHECK-NEXT: vfsub.vf v8, v8, fa0
; CHECK-NEXT: ret
%head = insertelement <vscale x 1 x double> undef, double %b, i32 0
%splat = shufflevector <vscale x 1 x double> %head, <vscale x 1 x double> undef, <vscale x 1 x i32> zeroinitializer
%head = insertelement <vscale x 1 x double> poison, double %b, i32 0
%splat = shufflevector <vscale x 1 x double> %head, <vscale x 1 x double> poison, <vscale x 1 x i32> zeroinitializer
%vc = fsub <vscale x 1 x double> %va, %splat
ret <vscale x 1 x double> %vc
}
Expand All @@ -308,8 +308,8 @@ define <vscale x 2 x double> @vfsub_vf_nxv2f64(<vscale x 2 x double> %va, double
; CHECK-NEXT: vsetvli a0, zero, e64, m2, ta, mu
; CHECK-NEXT: vfsub.vf v8, v8, fa0
; CHECK-NEXT: ret
%head = insertelement <vscale x 2 x double> undef, double %b, i32 0
%splat = shufflevector <vscale x 2 x double> %head, <vscale x 2 x double> undef, <vscale x 2 x i32> zeroinitializer
%head = insertelement <vscale x 2 x double> poison, double %b, i32 0
%splat = shufflevector <vscale x 2 x double> %head, <vscale x 2 x double> poison, <vscale x 2 x i32> zeroinitializer
%vc = fsub <vscale x 2 x double> %va, %splat
ret <vscale x 2 x double> %vc
}
Expand All @@ -330,8 +330,8 @@ define <vscale x 4 x double> @vfsub_vf_nxv4f64(<vscale x 4 x double> %va, double
; CHECK-NEXT: vsetvli a0, zero, e64, m4, ta, mu
; CHECK-NEXT: vfsub.vf v8, v8, fa0
; CHECK-NEXT: ret
%head = insertelement <vscale x 4 x double> undef, double %b, i32 0
%splat = shufflevector <vscale x 4 x double> %head, <vscale x 4 x double> undef, <vscale x 4 x i32> zeroinitializer
%head = insertelement <vscale x 4 x double> poison, double %b, i32 0
%splat = shufflevector <vscale x 4 x double> %head, <vscale x 4 x double> poison, <vscale x 4 x i32> zeroinitializer
%vc = fsub <vscale x 4 x double> %va, %splat
ret <vscale x 4 x double> %vc
}
Expand All @@ -352,8 +352,8 @@ define <vscale x 8 x double> @vfsub_vf_nxv8f64(<vscale x 8 x double> %va, double
; CHECK-NEXT: vsetvli a0, zero, e64, m8, ta, mu
; CHECK-NEXT: vfsub.vf v8, v8, fa0
; CHECK-NEXT: ret
%head = insertelement <vscale x 8 x double> undef, double %b, i32 0
%splat = shufflevector <vscale x 8 x double> %head, <vscale x 8 x double> undef, <vscale x 8 x i32> zeroinitializer
%head = insertelement <vscale x 8 x double> poison, double %b, i32 0
%splat = shufflevector <vscale x 8 x double> %head, <vscale x 8 x double> poison, <vscale x 8 x i32> zeroinitializer
%vc = fsub <vscale x 8 x double> %va, %splat
ret <vscale x 8 x double> %vc
}
Expand All @@ -364,8 +364,8 @@ define <vscale x 8 x double> @vfsub_fv_nxv8f64(<vscale x 8 x double> %va, double
; CHECK-NEXT: vsetvli a0, zero, e64, m8, ta, mu
; CHECK-NEXT: vfrsub.vf v8, v8, fa0
; CHECK-NEXT: ret
%head = insertelement <vscale x 8 x double> undef, double %b, i32 0
%splat = shufflevector <vscale x 8 x double> %head, <vscale x 8 x double> undef, <vscale x 8 x i32> zeroinitializer
%head = insertelement <vscale x 8 x double> poison, double %b, i32 0
%splat = shufflevector <vscale x 8 x double> %head, <vscale x 8 x double> poison, <vscale x 8 x i32> zeroinitializer
%vc = fsub <vscale x 8 x double> %splat, %va
ret <vscale x 8 x double> %vc
}
32 changes: 16 additions & 16 deletions llvm/test/CodeGen/RISCV/rvv/vfwadd-sdnode.ll
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ define <vscale x 1 x double> @vfwadd_vf_nxv1f64(<vscale x 1 x float> %va, float
; CHECK-NEXT: vfwadd.vf v9, v8, fa0
; CHECK-NEXT: vmv1r.v v8, v9
; CHECK-NEXT: ret
%head = insertelement <vscale x 1 x float> undef, float %b, i32 0
%splat = shufflevector <vscale x 1 x float> %head, <vscale x 1 x float> undef, <vscale x 1 x i32> zeroinitializer
%head = insertelement <vscale x 1 x float> poison, float %b, i32 0
%splat = shufflevector <vscale x 1 x float> %head, <vscale x 1 x float> poison, <vscale x 1 x i32> zeroinitializer
%vc = fpext <vscale x 1 x float> %va to <vscale x 1 x double>
%vd = fpext <vscale x 1 x float> %splat to <vscale x 1 x double>
%ve = fadd <vscale x 1 x double> %vc, %vd
Expand All @@ -50,8 +50,8 @@ define <vscale x 1 x double> @vfwadd_wf_nxv1f64(<vscale x 1 x double> %va, float
; CHECK-NEXT: vsetvli a0, zero, e32, mf2, ta, mu
; CHECK-NEXT: vfwadd.wf v8, v8, fa0
; CHECK-NEXT: ret
%head = insertelement <vscale x 1 x float> undef, float %b, i32 0
%splat = shufflevector <vscale x 1 x float> %head, <vscale x 1 x float> undef, <vscale x 1 x i32> zeroinitializer
%head = insertelement <vscale x 1 x float> poison, float %b, i32 0
%splat = shufflevector <vscale x 1 x float> %head, <vscale x 1 x float> poison, <vscale x 1 x i32> zeroinitializer
%vc = fpext <vscale x 1 x float> %splat to <vscale x 1 x double>
%vd = fadd <vscale x 1 x double> %va, %vc
ret <vscale x 1 x double> %vd
Expand All @@ -77,8 +77,8 @@ define <vscale x 2 x double> @vfwadd_vf_nxv2f64(<vscale x 2 x float> %va, float
; CHECK-NEXT: vfwadd.vf v10, v8, fa0
; CHECK-NEXT: vmv2r.v v8, v10
; CHECK-NEXT: ret
%head = insertelement <vscale x 2 x float> undef, float %b, i32 0
%splat = shufflevector <vscale x 2 x float> %head, <vscale x 2 x float> undef, <vscale x 2 x i32> zeroinitializer
%head = insertelement <vscale x 2 x float> poison, float %b, i32 0
%splat = shufflevector <vscale x 2 x float> %head, <vscale x 2 x float> poison, <vscale x 2 x i32> zeroinitializer
%vc = fpext <vscale x 2 x float> %va to <vscale x 2 x double>
%vd = fpext <vscale x 2 x float> %splat to <vscale x 2 x double>
%ve = fadd <vscale x 2 x double> %vc, %vd
Expand All @@ -103,8 +103,8 @@ define <vscale x 2 x double> @vfwadd_wf_nxv2f64(<vscale x 2 x double> %va, float
; CHECK-NEXT: vsetvli a0, zero, e32, m1, ta, mu
; CHECK-NEXT: vfwadd.wf v8, v8, fa0
; CHECK-NEXT: ret
%head = insertelement <vscale x 2 x float> undef, float %b, i32 0
%splat = shufflevector <vscale x 2 x float> %head, <vscale x 2 x float> undef, <vscale x 2 x i32> zeroinitializer
%head = insertelement <vscale x 2 x float> poison, float %b, i32 0
%splat = shufflevector <vscale x 2 x float> %head, <vscale x 2 x float> poison, <vscale x 2 x i32> zeroinitializer
%vc = fpext <vscale x 2 x float> %splat to <vscale x 2 x double>
%vd = fadd <vscale x 2 x double> %va, %vc
ret <vscale x 2 x double> %vd
Expand All @@ -130,8 +130,8 @@ define <vscale x 4 x double> @vfwadd_vf_nxv4f64(<vscale x 4 x float> %va, float
; CHECK-NEXT: vfwadd.vf v12, v8, fa0
; CHECK-NEXT: vmv4r.v v8, v12
; CHECK-NEXT: ret
%head = insertelement <vscale x 4 x float> undef, float %b, i32 0
%splat = shufflevector <vscale x 4 x float> %head, <vscale x 4 x float> undef, <vscale x 4 x i32> zeroinitializer
%head = insertelement <vscale x 4 x float> poison, float %b, i32 0
%splat = shufflevector <vscale x 4 x float> %head, <vscale x 4 x float> poison, <vscale x 4 x i32> zeroinitializer
%vc = fpext <vscale x 4 x float> %va to <vscale x 4 x double>
%vd = fpext <vscale x 4 x float> %splat to <vscale x 4 x double>
%ve = fadd <vscale x 4 x double> %vc, %vd
Expand All @@ -156,8 +156,8 @@ define <vscale x 4 x double> @vfwadd_wf_nxv4f64(<vscale x 4 x double> %va, float
; CHECK-NEXT: vsetvli a0, zero, e32, m2, ta, mu
; CHECK-NEXT: vfwadd.wf v8, v8, fa0
; CHECK-NEXT: ret
%head = insertelement <vscale x 4 x float> undef, float %b, i32 0
%splat = shufflevector <vscale x 4 x float> %head, <vscale x 4 x float> undef, <vscale x 4 x i32> zeroinitializer
%head = insertelement <vscale x 4 x float> poison, float %b, i32 0
%splat = shufflevector <vscale x 4 x float> %head, <vscale x 4 x float> poison, <vscale x 4 x i32> zeroinitializer
%vc = fpext <vscale x 4 x float> %splat to <vscale x 4 x double>
%vd = fadd <vscale x 4 x double> %va, %vc
ret <vscale x 4 x double> %vd
Expand All @@ -183,8 +183,8 @@ define <vscale x 8 x double> @vfwadd_vf_nxv8f64(<vscale x 8 x float> %va, float
; CHECK-NEXT: vfwadd.vf v16, v8, fa0
; CHECK-NEXT: vmv8r.v v8, v16
; CHECK-NEXT: ret
%head = insertelement <vscale x 8 x float> undef, float %b, i32 0
%splat = shufflevector <vscale x 8 x float> %head, <vscale x 8 x float> undef, <vscale x 8 x i32> zeroinitializer
%head = insertelement <vscale x 8 x float> poison, float %b, i32 0
%splat = shufflevector <vscale x 8 x float> %head, <vscale x 8 x float> poison, <vscale x 8 x i32> zeroinitializer
%vc = fpext <vscale x 8 x float> %va to <vscale x 8 x double>
%vd = fpext <vscale x 8 x float> %splat to <vscale x 8 x double>
%ve = fadd <vscale x 8 x double> %vc, %vd
Expand All @@ -209,8 +209,8 @@ define <vscale x 8 x double> @vfwadd_wf_nxv8f64(<vscale x 8 x double> %va, float
; CHECK-NEXT: vsetvli a0, zero, e32, m4, ta, mu
; CHECK-NEXT: vfwadd.wf v8, v8, fa0
; CHECK-NEXT: ret
%head = insertelement <vscale x 8 x float> undef, float %b, i32 0
%splat = shufflevector <vscale x 8 x float> %head, <vscale x 8 x float> undef, <vscale x 8 x i32> zeroinitializer
%head = insertelement <vscale x 8 x float> poison, float %b, i32 0
%splat = shufflevector <vscale x 8 x float> %head, <vscale x 8 x float> poison, <vscale x 8 x i32> zeroinitializer
%vc = fpext <vscale x 8 x float> %splat to <vscale x 8 x double>
%vd = fadd <vscale x 8 x double> %va, %vc
ret <vscale x 8 x double> %vd
Expand Down
16 changes: 8 additions & 8 deletions llvm/test/CodeGen/RISCV/rvv/vfwmul-sdnode.ll
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ define <vscale x 1 x double> @vfwmul_vf_nxv1f64(<vscale x 1 x float> %va, float
; CHECK-NEXT: vfwmul.vf v9, v8, fa0
; CHECK-NEXT: vmv1r.v v8, v9
; CHECK-NEXT: ret
%head = insertelement <vscale x 1 x float> undef, float %b, i32 0
%splat = shufflevector <vscale x 1 x float> %head, <vscale x 1 x float> undef, <vscale x 1 x i32> zeroinitializer
%head = insertelement <vscale x 1 x float> poison, float %b, i32 0
%splat = shufflevector <vscale x 1 x float> %head, <vscale x 1 x float> poison, <vscale x 1 x i32> zeroinitializer
%vc = fpext <vscale x 1 x float> %va to <vscale x 1 x double>
%vd = fpext <vscale x 1 x float> %splat to <vscale x 1 x double>
%ve = fmul <vscale x 1 x double> %vc, %vd
Expand All @@ -52,8 +52,8 @@ define <vscale x 2 x double> @vfwmul_vf_nxv2f64(<vscale x 2 x float> %va, float
; CHECK-NEXT: vfwmul.vf v10, v8, fa0
; CHECK-NEXT: vmv2r.v v8, v10
; CHECK-NEXT: ret
%head = insertelement <vscale x 2 x float> undef, float %b, i32 0
%splat = shufflevector <vscale x 2 x float> %head, <vscale x 2 x float> undef, <vscale x 2 x i32> zeroinitializer
%head = insertelement <vscale x 2 x float> poison, float %b, i32 0
%splat = shufflevector <vscale x 2 x float> %head, <vscale x 2 x float> poison, <vscale x 2 x i32> zeroinitializer
%vc = fpext <vscale x 2 x float> %va to <vscale x 2 x double>
%vd = fpext <vscale x 2 x float> %splat to <vscale x 2 x double>
%ve = fmul <vscale x 2 x double> %vc, %vd
Expand All @@ -80,8 +80,8 @@ define <vscale x 4 x double> @vfwmul_vf_nxv4f64(<vscale x 4 x float> %va, float
; CHECK-NEXT: vfwmul.vf v12, v8, fa0
; CHECK-NEXT: vmv4r.v v8, v12
; CHECK-NEXT: ret
%head = insertelement <vscale x 4 x float> undef, float %b, i32 0
%splat = shufflevector <vscale x 4 x float> %head, <vscale x 4 x float> undef, <vscale x 4 x i32> zeroinitializer
%head = insertelement <vscale x 4 x float> poison, float %b, i32 0
%splat = shufflevector <vscale x 4 x float> %head, <vscale x 4 x float> poison, <vscale x 4 x i32> zeroinitializer
%vc = fpext <vscale x 4 x float> %va to <vscale x 4 x double>
%vd = fpext <vscale x 4 x float> %splat to <vscale x 4 x double>
%ve = fmul <vscale x 4 x double> %vc, %vd
Expand All @@ -108,8 +108,8 @@ define <vscale x 8 x double> @vfwmul_vf_nxv8f64(<vscale x 8 x float> %va, float
; CHECK-NEXT: vfwmul.vf v16, v8, fa0
; CHECK-NEXT: vmv8r.v v8, v16
; CHECK-NEXT: ret
%head = insertelement <vscale x 8 x float> undef, float %b, i32 0
%splat = shufflevector <vscale x 8 x float> %head, <vscale x 8 x float> undef, <vscale x 8 x i32> zeroinitializer
%head = insertelement <vscale x 8 x float> poison, float %b, i32 0
%splat = shufflevector <vscale x 8 x float> %head, <vscale x 8 x float> poison, <vscale x 8 x i32> zeroinitializer
%vc = fpext <vscale x 8 x float> %va to <vscale x 8 x double>
%vd = fpext <vscale x 8 x float> %splat to <vscale x 8 x double>
%ve = fmul <vscale x 8 x double> %vc, %vd
Expand Down
32 changes: 16 additions & 16 deletions llvm/test/CodeGen/RISCV/rvv/vfwsub-sdnode.ll
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ define <vscale x 1 x double> @vfwsub_vf_nxv1f64(<vscale x 1 x float> %va, float
; CHECK-NEXT: vfwsub.vf v9, v8, fa0
; CHECK-NEXT: vmv1r.v v8, v9
; CHECK-NEXT: ret
%head = insertelement <vscale x 1 x float> undef, float %b, i32 0
%splat = shufflevector <vscale x 1 x float> %head, <vscale x 1 x float> undef, <vscale x 1 x i32> zeroinitializer
%head = insertelement <vscale x 1 x float> poison, float %b, i32 0
%splat = shufflevector <vscale x 1 x float> %head, <vscale x 1 x float> poison, <vscale x 1 x i32> zeroinitializer
%vc = fpext <vscale x 1 x float> %va to <vscale x 1 x double>
%vd = fpext <vscale x 1 x float> %splat to <vscale x 1 x double>
%ve = fsub <vscale x 1 x double> %vc, %vd
Expand All @@ -50,8 +50,8 @@ define <vscale x 1 x double> @vfwsub_wf_nxv1f64(<vscale x 1 x double> %va, float
; CHECK-NEXT: vsetvli a0, zero, e32, mf2, ta, mu
; CHECK-NEXT: vfwsub.wf v8, v8, fa0
; CHECK-NEXT: ret
%head = insertelement <vscale x 1 x float> undef, float %b, i32 0
%splat = shufflevector <vscale x 1 x float> %head, <vscale x 1 x float> undef, <vscale x 1 x i32> zeroinitializer
%head = insertelement <vscale x 1 x float> poison, float %b, i32 0
%splat = shufflevector <vscale x 1 x float> %head, <vscale x 1 x float> poison, <vscale x 1 x i32> zeroinitializer
%vc = fpext <vscale x 1 x float> %splat to <vscale x 1 x double>
%vd = fsub <vscale x 1 x double> %va, %vc
ret <vscale x 1 x double> %vd
Expand All @@ -77,8 +77,8 @@ define <vscale x 2 x double> @vfwsub_vf_nxv2f64(<vscale x 2 x float> %va, float
; CHECK-NEXT: vfwsub.vf v10, v8, fa0
; CHECK-NEXT: vmv2r.v v8, v10
; CHECK-NEXT: ret
%head = insertelement <vscale x 2 x float> undef, float %b, i32 0
%splat = shufflevector <vscale x 2 x float> %head, <vscale x 2 x float> undef, <vscale x 2 x i32> zeroinitializer
%head = insertelement <vscale x 2 x float> poison, float %b, i32 0
%splat = shufflevector <vscale x 2 x float> %head, <vscale x 2 x float> poison, <vscale x 2 x i32> zeroinitializer
%vc = fpext <vscale x 2 x float> %va to <vscale x 2 x double>
%vd = fpext <vscale x 2 x float> %splat to <vscale x 2 x double>
%ve = fsub <vscale x 2 x double> %vc, %vd
Expand All @@ -103,8 +103,8 @@ define <vscale x 2 x double> @vfwsub_wf_nxv2f64(<vscale x 2 x double> %va, float
; CHECK-NEXT: vsetvli a0, zero, e32, m1, ta, mu
; CHECK-NEXT: vfwsub.wf v8, v8, fa0
; CHECK-NEXT: ret
%head = insertelement <vscale x 2 x float> undef, float %b, i32 0
%splat = shufflevector <vscale x 2 x float> %head, <vscale x 2 x float> undef, <vscale x 2 x i32> zeroinitializer
%head = insertelement <vscale x 2 x float> poison, float %b, i32 0
%splat = shufflevector <vscale x 2 x float> %head, <vscale x 2 x float> poison, <vscale x 2 x i32> zeroinitializer
%vc = fpext <vscale x 2 x float> %splat to <vscale x 2 x double>
%vd = fsub <vscale x 2 x double> %va, %vc
ret <vscale x 2 x double> %vd
Expand All @@ -130,8 +130,8 @@ define <vscale x 4 x double> @vfwsub_vf_nxv4f64(<vscale x 4 x float> %va, float
; CHECK-NEXT: vfwsub.vf v12, v8, fa0
; CHECK-NEXT: vmv4r.v v8, v12
; CHECK-NEXT: ret
%head = insertelement <vscale x 4 x float> undef, float %b, i32 0
%splat = shufflevector <vscale x 4 x float> %head, <vscale x 4 x float> undef, <vscale x 4 x i32> zeroinitializer
%head = insertelement <vscale x 4 x float> poison, float %b, i32 0
%splat = shufflevector <vscale x 4 x float> %head, <vscale x 4 x float> poison, <vscale x 4 x i32> zeroinitializer
%vc = fpext <vscale x 4 x float> %va to <vscale x 4 x double>
%vd = fpext <vscale x 4 x float> %splat to <vscale x 4 x double>
%ve = fsub <vscale x 4 x double> %vc, %vd
Expand All @@ -156,8 +156,8 @@ define <vscale x 4 x double> @vfwsub_wf_nxv4f64(<vscale x 4 x double> %va, float
; CHECK-NEXT: vsetvli a0, zero, e32, m2, ta, mu
; CHECK-NEXT: vfwsub.wf v8, v8, fa0
; CHECK-NEXT: ret
%head = insertelement <vscale x 4 x float> undef, float %b, i32 0
%splat = shufflevector <vscale x 4 x float> %head, <vscale x 4 x float> undef, <vscale x 4 x i32> zeroinitializer
%head = insertelement <vscale x 4 x float> poison, float %b, i32 0
%splat = shufflevector <vscale x 4 x float> %head, <vscale x 4 x float> poison, <vscale x 4 x i32> zeroinitializer
%vc = fpext <vscale x 4 x float> %splat to <vscale x 4 x double>
%vd = fsub <vscale x 4 x double> %va, %vc
ret <vscale x 4 x double> %vd
Expand All @@ -183,8 +183,8 @@ define <vscale x 8 x double> @vfwsub_vf_nxv8f64(<vscale x 8 x float> %va, float
; CHECK-NEXT: vfwsub.vf v16, v8, fa0
; CHECK-NEXT: vmv8r.v v8, v16
; CHECK-NEXT: ret
%head = insertelement <vscale x 8 x float> undef, float %b, i32 0
%splat = shufflevector <vscale x 8 x float> %head, <vscale x 8 x float> undef, <vscale x 8 x i32> zeroinitializer
%head = insertelement <vscale x 8 x float> poison, float %b, i32 0
%splat = shufflevector <vscale x 8 x float> %head, <vscale x 8 x float> poison, <vscale x 8 x i32> zeroinitializer
%vc = fpext <vscale x 8 x float> %va to <vscale x 8 x double>
%vd = fpext <vscale x 8 x float> %splat to <vscale x 8 x double>
%ve = fsub <vscale x 8 x double> %vc, %vd
Expand All @@ -209,8 +209,8 @@ define <vscale x 8 x double> @vfwsub_wf_nxv8f64(<vscale x 8 x double> %va, float
; CHECK-NEXT: vsetvli a0, zero, e32, m4, ta, mu
; CHECK-NEXT: vfwsub.wf v8, v8, fa0
; CHECK-NEXT: ret
%head = insertelement <vscale x 8 x float> undef, float %b, i32 0
%splat = shufflevector <vscale x 8 x float> %head, <vscale x 8 x float> undef, <vscale x 8 x i32> zeroinitializer
%head = insertelement <vscale x 8 x float> poison, float %b, i32 0
%splat = shufflevector <vscale x 8 x float> %head, <vscale x 8 x float> poison, <vscale x 8 x i32> zeroinitializer
%vc = fpext <vscale x 8 x float> %splat to <vscale x 8 x double>
%vd = fsub <vscale x 8 x double> %va, %vc
ret <vscale x 8 x double> %vd
Expand Down
88 changes: 44 additions & 44 deletions llvm/test/CodeGen/RISCV/rvv/vmadd-sdnode.ll
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ define <vscale x 1 x i8> @vmadd_vx_nxv1i8(<vscale x 1 x i8> %va, <vscale x 1 x i
; CHECK-NEXT: vsetvli a1, zero, e8, mf8, ta, mu
; CHECK-NEXT: vmadd.vx v8, a0, v9
; CHECK-NEXT: ret
%head = insertelement <vscale x 1 x i8> undef, i8 %c, i32 0
%splat = shufflevector <vscale x 1 x i8> %head, <vscale x 1 x i8> undef, <vscale x 1 x i32> zeroinitializer
%head = insertelement <vscale x 1 x i8> poison, i8 %c, i32 0
%splat = shufflevector <vscale x 1 x i8> %head, <vscale x 1 x i8> poison, <vscale x 1 x i32> zeroinitializer
%x = mul <vscale x 1 x i8> %va, %splat
%y = add <vscale x 1 x i8> %x, %vb
ret <vscale x 1 x i8> %y
Expand All @@ -48,8 +48,8 @@ define <vscale x 2 x i8> @vmadd_vx_nxv2i8(<vscale x 2 x i8> %va, <vscale x 2 x i
; CHECK-NEXT: vsetvli a1, zero, e8, mf4, ta, mu
; CHECK-NEXT: vmacc.vx v8, a0, v9
; CHECK-NEXT: ret
%head = insertelement <vscale x 2 x i8> undef, i8 %c, i32 0
%splat = shufflevector <vscale x 2 x i8> %head, <vscale x 2 x i8> undef, <vscale x 2 x i32> zeroinitializer
%head = insertelement <vscale x 2 x i8> poison, i8 %c, i32 0
%splat = shufflevector <vscale x 2 x i8> %head, <vscale x 2 x i8> poison, <vscale x 2 x i32> zeroinitializer
%x = mul <vscale x 2 x i8> %vb, %splat
%y = add <vscale x 2 x i8> %x, %va
ret <vscale x 2 x i8> %y
Expand All @@ -72,8 +72,8 @@ define <vscale x 4 x i8> @vmadd_vx_nxv4i8(<vscale x 4 x i8> %va, <vscale x 4 x i
; CHECK-NEXT: vsetvli a1, zero, e8, mf2, ta, mu
; CHECK-NEXT: vmadd.vx v8, a0, v9
; CHECK-NEXT: ret
%head = insertelement <vscale x 4 x i8> undef, i8 %c, i32 0
%splat = shufflevector <vscale x 4 x i8> %head, <vscale x 4 x i8> undef, <vscale x 4 x i32> zeroinitializer
%head = insertelement <vscale x 4 x i8> poison, i8 %c, i32 0
%splat = shufflevector <vscale x 4 x i8> %head, <vscale x 4 x i8> poison, <vscale x 4 x i32> zeroinitializer
%x = mul <vscale x 4 x i8> %va, %splat
%y = add <vscale x 4 x i8> %x, %vb
ret <vscale x 4 x i8> %y
Expand All @@ -96,8 +96,8 @@ define <vscale x 8 x i8> @vmadd_vx_nxv8i8(<vscale x 8 x i8> %va, <vscale x 8 x i
; CHECK-NEXT: vsetvli a1, zero, e8, m1, ta, mu
; CHECK-NEXT: vmacc.vx v8, a0, v9
; CHECK-NEXT: ret
%head = insertelement <vscale x 8 x i8> undef, i8 %c, i32 0
%splat = shufflevector <vscale x 8 x i8> %head, <vscale x 8 x i8> undef, <vscale x 8 x i32> zeroinitializer
%head = insertelement <vscale x 8 x i8> poison, i8 %c, i32 0
%splat = shufflevector <vscale x 8 x i8> %head, <vscale x 8 x i8> poison, <vscale x 8 x i32> zeroinitializer
%x = mul <vscale x 8 x i8> %vb, %splat
%y = add <vscale x 8 x i8> %x, %va
ret <vscale x 8 x i8> %y
Expand All @@ -120,8 +120,8 @@ define <vscale x 16 x i8> @vmadd_vx_nxv16i8(<vscale x 16 x i8> %va, <vscale x 16
; CHECK-NEXT: vsetvli a1, zero, e8, m2, ta, mu
; CHECK-NEXT: vmadd.vx v8, a0, v10
; CHECK-NEXT: ret
%head = insertelement <vscale x 16 x i8> undef, i8 %c, i32 0
%splat = shufflevector <vscale x 16 x i8> %head, <vscale x 16 x i8> undef, <vscale x 16 x i32> zeroinitializer
%head = insertelement <vscale x 16 x i8> poison, i8 %c, i32 0
%splat = shufflevector <vscale x 16 x i8> %head, <vscale x 16 x i8> poison, <vscale x 16 x i32> zeroinitializer
%x = mul <vscale x 16 x i8> %va, %splat
%y = add <vscale x 16 x i8> %x, %vb
ret <vscale x 16 x i8> %y
Expand All @@ -144,8 +144,8 @@ define <vscale x 32 x i8> @vmadd_vx_nxv32i8(<vscale x 32 x i8> %va, <vscale x 32
; CHECK-NEXT: vsetvli a1, zero, e8, m4, ta, mu
; CHECK-NEXT: vmacc.vx v8, a0, v12
; CHECK-NEXT: ret
%head = insertelement <vscale x 32 x i8> undef, i8 %c, i32 0
%splat = shufflevector <vscale x 32 x i8> %head, <vscale x 32 x i8> undef, <vscale x 32 x i32> zeroinitializer
%head = insertelement <vscale x 32 x i8> poison, i8 %c, i32 0
%splat = shufflevector <vscale x 32 x i8> %head, <vscale x 32 x i8> poison, <vscale x 32 x i32> zeroinitializer
%x = mul <vscale x 32 x i8> %vb, %splat
%y = add <vscale x 32 x i8> %x, %va
ret <vscale x 32 x i8> %y
Expand All @@ -169,8 +169,8 @@ define <vscale x 64 x i8> @vmadd_vx_nxv64i8(<vscale x 64 x i8> %va, <vscale x 64
; CHECK-NEXT: vsetvli a1, zero, e8, m8, ta, mu
; CHECK-NEXT: vmacc.vx v8, a0, v16
; CHECK-NEXT: ret
%head = insertelement <vscale x 64 x i8> undef, i8 %c, i32 0
%splat = shufflevector <vscale x 64 x i8> %head, <vscale x 64 x i8> undef, <vscale x 64 x i32> zeroinitializer
%head = insertelement <vscale x 64 x i8> poison, i8 %c, i32 0
%splat = shufflevector <vscale x 64 x i8> %head, <vscale x 64 x i8> poison, <vscale x 64 x i32> zeroinitializer
%x = mul <vscale x 64 x i8> %vb, %splat
%y = add <vscale x 64 x i8> %x, %va
ret <vscale x 64 x i8> %y
Expand All @@ -193,8 +193,8 @@ define <vscale x 1 x i16> @vmadd_vx_nxv1i16(<vscale x 1 x i16> %va, <vscale x 1
; CHECK-NEXT: vsetvli a1, zero, e16, mf4, ta, mu
; CHECK-NEXT: vmadd.vx v8, a0, v9
; CHECK-NEXT: ret
%head = insertelement <vscale x 1 x i16> undef, i16 %c, i32 0
%splat = shufflevector <vscale x 1 x i16> %head, <vscale x 1 x i16> undef, <vscale x 1 x i32> zeroinitializer
%head = insertelement <vscale x 1 x i16> poison, i16 %c, i32 0
%splat = shufflevector <vscale x 1 x i16> %head, <vscale x 1 x i16> poison, <vscale x 1 x i32> zeroinitializer
%x = mul <vscale x 1 x i16> %va, %splat
%y = add <vscale x 1 x i16> %x, %vb
ret <vscale x 1 x i16> %y
Expand All @@ -217,8 +217,8 @@ define <vscale x 2 x i16> @vmadd_vx_nxv2i16(<vscale x 2 x i16> %va, <vscale x 2
; CHECK-NEXT: vsetvli a1, zero, e16, mf2, ta, mu
; CHECK-NEXT: vmacc.vx v8, a0, v9
; CHECK-NEXT: ret
%head = insertelement <vscale x 2 x i16> undef, i16 %c, i32 0
%splat = shufflevector <vscale x 2 x i16> %head, <vscale x 2 x i16> undef, <vscale x 2 x i32> zeroinitializer
%head = insertelement <vscale x 2 x i16> poison, i16 %c, i32 0
%splat = shufflevector <vscale x 2 x i16> %head, <vscale x 2 x i16> poison, <vscale x 2 x i32> zeroinitializer
%x = mul <vscale x 2 x i16> %vb, %splat
%y = add <vscale x 2 x i16> %x, %va
ret <vscale x 2 x i16> %y
Expand All @@ -241,8 +241,8 @@ define <vscale x 4 x i16> @vmadd_vx_nxv4i16(<vscale x 4 x i16> %va, <vscale x 4
; CHECK-NEXT: vsetvli a1, zero, e16, m1, ta, mu
; CHECK-NEXT: vmadd.vx v8, a0, v9
; CHECK-NEXT: ret
%head = insertelement <vscale x 4 x i16> undef, i16 %c, i32 0
%splat = shufflevector <vscale x 4 x i16> %head, <vscale x 4 x i16> undef, <vscale x 4 x i32> zeroinitializer
%head = insertelement <vscale x 4 x i16> poison, i16 %c, i32 0
%splat = shufflevector <vscale x 4 x i16> %head, <vscale x 4 x i16> poison, <vscale x 4 x i32> zeroinitializer
%x = mul <vscale x 4 x i16> %va, %splat
%y = add <vscale x 4 x i16> %x, %vb
ret <vscale x 4 x i16> %y
Expand All @@ -265,8 +265,8 @@ define <vscale x 8 x i16> @vmadd_vx_nxv8i16(<vscale x 8 x i16> %va, <vscale x 8
; CHECK-NEXT: vsetvli a1, zero, e16, m2, ta, mu
; CHECK-NEXT: vmacc.vx v8, a0, v10
; CHECK-NEXT: ret
%head = insertelement <vscale x 8 x i16> undef, i16 %c, i32 0
%splat = shufflevector <vscale x 8 x i16> %head, <vscale x 8 x i16> undef, <vscale x 8 x i32> zeroinitializer
%head = insertelement <vscale x 8 x i16> poison, i16 %c, i32 0
%splat = shufflevector <vscale x 8 x i16> %head, <vscale x 8 x i16> poison, <vscale x 8 x i32> zeroinitializer
%x = mul <vscale x 8 x i16> %vb, %splat
%y = add <vscale x 8 x i16> %x, %va
ret <vscale x 8 x i16> %y
Expand All @@ -289,8 +289,8 @@ define <vscale x 16 x i16> @vmadd_vx_nxv16i16(<vscale x 16 x i16> %va, <vscale x
; CHECK-NEXT: vsetvli a1, zero, e16, m4, ta, mu
; CHECK-NEXT: vmadd.vx v8, a0, v12
; CHECK-NEXT: ret
%head = insertelement <vscale x 16 x i16> undef, i16 %c, i32 0
%splat = shufflevector <vscale x 16 x i16> %head, <vscale x 16 x i16> undef, <vscale x 16 x i32> zeroinitializer
%head = insertelement <vscale x 16 x i16> poison, i16 %c, i32 0
%splat = shufflevector <vscale x 16 x i16> %head, <vscale x 16 x i16> poison, <vscale x 16 x i32> zeroinitializer
%x = mul <vscale x 16 x i16> %va, %splat
%y = add <vscale x 16 x i16> %x, %vb
ret <vscale x 16 x i16> %y
Expand All @@ -314,8 +314,8 @@ define <vscale x 32 x i16> @vmadd_vx_nxv32i16(<vscale x 32 x i16> %va, <vscale x
; CHECK-NEXT: vsetvli a1, zero, e16, m8, ta, mu
; CHECK-NEXT: vmacc.vx v8, a0, v16
; CHECK-NEXT: ret
%head = insertelement <vscale x 32 x i16> undef, i16 %c, i32 0
%splat = shufflevector <vscale x 32 x i16> %head, <vscale x 32 x i16> undef, <vscale x 32 x i32> zeroinitializer
%head = insertelement <vscale x 32 x i16> poison, i16 %c, i32 0
%splat = shufflevector <vscale x 32 x i16> %head, <vscale x 32 x i16> poison, <vscale x 32 x i32> zeroinitializer
%x = mul <vscale x 32 x i16> %vb, %splat
%y = add <vscale x 32 x i16> %x, %va
ret <vscale x 32 x i16> %y
Expand All @@ -338,8 +338,8 @@ define <vscale x 1 x i32> @vmadd_vx_nxv1i32(<vscale x 1 x i32> %va, <vscale x 1
; CHECK-NEXT: vsetvli a1, zero, e32, mf2, ta, mu
; CHECK-NEXT: vmadd.vx v8, a0, v9
; CHECK-NEXT: ret
%head = insertelement <vscale x 1 x i32> undef, i32 %c, i32 0
%splat = shufflevector <vscale x 1 x i32> %head, <vscale x 1 x i32> undef, <vscale x 1 x i32> zeroinitializer
%head = insertelement <vscale x 1 x i32> poison, i32 %c, i32 0
%splat = shufflevector <vscale x 1 x i32> %head, <vscale x 1 x i32> poison, <vscale x 1 x i32> zeroinitializer
%x = mul <vscale x 1 x i32> %va, %splat
%y = add <vscale x 1 x i32> %x, %vb
ret <vscale x 1 x i32> %y
Expand All @@ -362,8 +362,8 @@ define <vscale x 2 x i32> @vmadd_vx_nxv2i32(<vscale x 2 x i32> %va, <vscale x 2
; CHECK-NEXT: vsetvli a1, zero, e32, m1, ta, mu
; CHECK-NEXT: vmacc.vx v8, a0, v9
; CHECK-NEXT: ret
%head = insertelement <vscale x 2 x i32> undef, i32 %c, i32 0
%splat = shufflevector <vscale x 2 x i32> %head, <vscale x 2 x i32> undef, <vscale x 2 x i32> zeroinitializer
%head = insertelement <vscale x 2 x i32> poison, i32 %c, i32 0
%splat = shufflevector <vscale x 2 x i32> %head, <vscale x 2 x i32> poison, <vscale x 2 x i32> zeroinitializer
%x = mul <vscale x 2 x i32> %vb, %splat
%y = add <vscale x 2 x i32> %x, %va
ret <vscale x 2 x i32> %y
Expand All @@ -386,8 +386,8 @@ define <vscale x 4 x i32> @vmadd_vx_nxv4i32(<vscale x 4 x i32> %va, <vscale x 4
; CHECK-NEXT: vsetvli a1, zero, e32, m2, ta, mu
; CHECK-NEXT: vmadd.vx v8, a0, v10
; CHECK-NEXT: ret
%head = insertelement <vscale x 4 x i32> undef, i32 %c, i32 0
%splat = shufflevector <vscale x 4 x i32> %head, <vscale x 4 x i32> undef, <vscale x 4 x i32> zeroinitializer
%head = insertelement <vscale x 4 x i32> poison, i32 %c, i32 0
%splat = shufflevector <vscale x 4 x i32> %head, <vscale x 4 x i32> poison, <vscale x 4 x i32> zeroinitializer
%x = mul <vscale x 4 x i32> %va, %splat
%y = add <vscale x 4 x i32> %x, %vb
ret <vscale x 4 x i32> %y
Expand All @@ -410,8 +410,8 @@ define <vscale x 8 x i32> @vmadd_vx_nxv8i32(<vscale x 8 x i32> %va, <vscale x 8
; CHECK-NEXT: vsetvli a1, zero, e32, m4, ta, mu
; CHECK-NEXT: vmacc.vx v8, a0, v12
; CHECK-NEXT: ret
%head = insertelement <vscale x 8 x i32> undef, i32 %c, i32 0
%splat = shufflevector <vscale x 8 x i32> %head, <vscale x 8 x i32> undef, <vscale x 8 x i32> zeroinitializer
%head = insertelement <vscale x 8 x i32> poison, i32 %c, i32 0
%splat = shufflevector <vscale x 8 x i32> %head, <vscale x 8 x i32> poison, <vscale x 8 x i32> zeroinitializer
%x = mul <vscale x 8 x i32> %vb, %splat
%y = add <vscale x 8 x i32> %x, %va
ret <vscale x 8 x i32> %y
Expand All @@ -435,8 +435,8 @@ define <vscale x 16 x i32> @vmadd_vx_nxv16i32(<vscale x 16 x i32> %va, <vscale x
; CHECK-NEXT: vsetvli a1, zero, e32, m8, ta, mu
; CHECK-NEXT: vmadd.vx v8, a0, v16
; CHECK-NEXT: ret
%head = insertelement <vscale x 16 x i32> undef, i32 %c, i32 0
%splat = shufflevector <vscale x 16 x i32> %head, <vscale x 16 x i32> undef, <vscale x 16 x i32> zeroinitializer
%head = insertelement <vscale x 16 x i32> poison, i32 %c, i32 0
%splat = shufflevector <vscale x 16 x i32> %head, <vscale x 16 x i32> poison, <vscale x 16 x i32> zeroinitializer
%x = mul <vscale x 16 x i32> %va, %splat
%y = add <vscale x 16 x i32> %x, %vb
ret <vscale x 16 x i32> %y
Expand Down Expand Up @@ -472,8 +472,8 @@ define <vscale x 1 x i64> @vmadd_vx_nxv1i64(<vscale x 1 x i64> %va, <vscale x 1
; RV64-NEXT: vsetvli a1, zero, e64, m1, ta, mu
; RV64-NEXT: vmadd.vx v8, a0, v9
; RV64-NEXT: ret
%head = insertelement <vscale x 1 x i64> undef, i64 %c, i32 0
%splat = shufflevector <vscale x 1 x i64> %head, <vscale x 1 x i64> undef, <vscale x 1 x i32> zeroinitializer
%head = insertelement <vscale x 1 x i64> poison, i64 %c, i32 0
%splat = shufflevector <vscale x 1 x i64> %head, <vscale x 1 x i64> poison, <vscale x 1 x i32> zeroinitializer
%x = mul <vscale x 1 x i64> %va, %splat
%y = add <vscale x 1 x i64> %x, %vb
ret <vscale x 1 x i64> %y
Expand Down Expand Up @@ -509,8 +509,8 @@ define <vscale x 2 x i64> @vmadd_vx_nxv2i64(<vscale x 2 x i64> %va, <vscale x 2
; RV64-NEXT: vsetvli a1, zero, e64, m2, ta, mu
; RV64-NEXT: vmacc.vx v8, a0, v10
; RV64-NEXT: ret
%head = insertelement <vscale x 2 x i64> undef, i64 %c, i32 0
%splat = shufflevector <vscale x 2 x i64> %head, <vscale x 2 x i64> undef, <vscale x 2 x i32> zeroinitializer
%head = insertelement <vscale x 2 x i64> poison, i64 %c, i32 0
%splat = shufflevector <vscale x 2 x i64> %head, <vscale x 2 x i64> poison, <vscale x 2 x i32> zeroinitializer
%x = mul <vscale x 2 x i64> %vb, %splat
%y = add <vscale x 2 x i64> %x, %va
ret <vscale x 2 x i64> %y
Expand Down Expand Up @@ -546,8 +546,8 @@ define <vscale x 4 x i64> @vmadd_vx_nxv4i64(<vscale x 4 x i64> %va, <vscale x 4
; RV64-NEXT: vsetvli a1, zero, e64, m4, ta, mu
; RV64-NEXT: vmadd.vx v8, a0, v12
; RV64-NEXT: ret
%head = insertelement <vscale x 4 x i64> undef, i64 %c, i32 0
%splat = shufflevector <vscale x 4 x i64> %head, <vscale x 4 x i64> undef, <vscale x 4 x i32> zeroinitializer
%head = insertelement <vscale x 4 x i64> poison, i64 %c, i32 0
%splat = shufflevector <vscale x 4 x i64> %head, <vscale x 4 x i64> poison, <vscale x 4 x i32> zeroinitializer
%x = mul <vscale x 4 x i64> %va, %splat
%y = add <vscale x 4 x i64> %x, %vb
ret <vscale x 4 x i64> %y
Expand Down Expand Up @@ -584,8 +584,8 @@ define <vscale x 8 x i64> @vmadd_vx_nxv8i64(<vscale x 8 x i64> %va, <vscale x 8
; RV64-NEXT: vsetvli a1, zero, e64, m8, ta, mu
; RV64-NEXT: vmacc.vx v8, a0, v16
; RV64-NEXT: ret
%head = insertelement <vscale x 8 x i64> undef, i64 %c, i32 0
%splat = shufflevector <vscale x 8 x i64> %head, <vscale x 8 x i64> undef, <vscale x 8 x i32> zeroinitializer
%head = insertelement <vscale x 8 x i64> poison, i64 %c, i32 0
%splat = shufflevector <vscale x 8 x i64> %head, <vscale x 8 x i64> poison, <vscale x 8 x i32> zeroinitializer
%x = mul <vscale x 8 x i64> %vb, %splat
%y = add <vscale x 8 x i64> %x, %va
ret <vscale x 8 x i64> %y
Expand Down
100 changes: 50 additions & 50 deletions llvm/test/CodeGen/RISCV/rvv/vmarith-sdnode.ll

Large diffs are not rendered by default.

176 changes: 88 additions & 88 deletions llvm/test/CodeGen/RISCV/rvv/vmax-sdnode.ll

Large diffs are not rendered by default.

176 changes: 88 additions & 88 deletions llvm/test/CodeGen/RISCV/rvv/vmaxu-sdnode.ll

Large diffs are not rendered by default.

176 changes: 88 additions & 88 deletions llvm/test/CodeGen/RISCV/rvv/vmin-sdnode.ll

Large diffs are not rendered by default.

176 changes: 88 additions & 88 deletions llvm/test/CodeGen/RISCV/rvv/vminu-sdnode.ll

Large diffs are not rendered by default.

208 changes: 104 additions & 104 deletions llvm/test/CodeGen/RISCV/rvv/vmul-sdnode.ll

Large diffs are not rendered by default.

116 changes: 58 additions & 58 deletions llvm/test/CodeGen/RISCV/rvv/vmulh-sdnode.ll

Large diffs are not rendered by default.

112 changes: 56 additions & 56 deletions llvm/test/CodeGen/RISCV/rvv/vmulhu-sdnode.ll

Large diffs are not rendered by default.

88 changes: 44 additions & 44 deletions llvm/test/CodeGen/RISCV/rvv/vnmsub-sdnode.ll
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ define <vscale x 1 x i8> @vnmsub_vx_nxv1i8(<vscale x 1 x i8> %va, <vscale x 1 x
; CHECK-NEXT: vsetvli a1, zero, e8, mf8, ta, mu
; CHECK-NEXT: vnmsub.vx v8, a0, v9
; CHECK-NEXT: ret
%head = insertelement <vscale x 1 x i8> undef, i8 %c, i32 0
%splat = shufflevector <vscale x 1 x i8> %head, <vscale x 1 x i8> undef, <vscale x 1 x i32> zeroinitializer
%head = insertelement <vscale x 1 x i8> poison, i8 %c, i32 0
%splat = shufflevector <vscale x 1 x i8> %head, <vscale x 1 x i8> poison, <vscale x 1 x i32> zeroinitializer
%x = mul <vscale x 1 x i8> %va, %splat
%y = sub <vscale x 1 x i8> %vb, %x
ret <vscale x 1 x i8> %y
Expand All @@ -48,8 +48,8 @@ define <vscale x 2 x i8> @vnmsub_vx_nxv2i8(<vscale x 2 x i8> %va, <vscale x 2 x
; CHECK-NEXT: vsetvli a1, zero, e8, mf4, ta, mu
; CHECK-NEXT: vnmsac.vx v8, a0, v9
; CHECK-NEXT: ret
%head = insertelement <vscale x 2 x i8> undef, i8 %c, i32 0
%splat = shufflevector <vscale x 2 x i8> %head, <vscale x 2 x i8> undef, <vscale x 2 x i32> zeroinitializer
%head = insertelement <vscale x 2 x i8> poison, i8 %c, i32 0
%splat = shufflevector <vscale x 2 x i8> %head, <vscale x 2 x i8> poison, <vscale x 2 x i32> zeroinitializer
%x = mul <vscale x 2 x i8> %vb, %splat
%y = sub <vscale x 2 x i8> %va, %x
ret <vscale x 2 x i8> %y
Expand All @@ -72,8 +72,8 @@ define <vscale x 4 x i8> @vnmsub_vx_nxv4i8(<vscale x 4 x i8> %va, <vscale x 4 x
; CHECK-NEXT: vsetvli a1, zero, e8, mf2, ta, mu
; CHECK-NEXT: vnmsub.vx v8, a0, v9
; CHECK-NEXT: ret
%head = insertelement <vscale x 4 x i8> undef, i8 %c, i32 0
%splat = shufflevector <vscale x 4 x i8> %head, <vscale x 4 x i8> undef, <vscale x 4 x i32> zeroinitializer
%head = insertelement <vscale x 4 x i8> poison, i8 %c, i32 0
%splat = shufflevector <vscale x 4 x i8> %head, <vscale x 4 x i8> poison, <vscale x 4 x i32> zeroinitializer
%x = mul <vscale x 4 x i8> %va, %splat
%y = sub <vscale x 4 x i8> %vb, %x
ret <vscale x 4 x i8> %y
Expand All @@ -96,8 +96,8 @@ define <vscale x 8 x i8> @vnmsub_vx_nxv8i8(<vscale x 8 x i8> %va, <vscale x 8 x
; CHECK-NEXT: vsetvli a1, zero, e8, m1, ta, mu
; CHECK-NEXT: vnmsac.vx v8, a0, v9
; CHECK-NEXT: ret
%head = insertelement <vscale x 8 x i8> undef, i8 %c, i32 0
%splat = shufflevector <vscale x 8 x i8> %head, <vscale x 8 x i8> undef, <vscale x 8 x i32> zeroinitializer
%head = insertelement <vscale x 8 x i8> poison, i8 %c, i32 0
%splat = shufflevector <vscale x 8 x i8> %head, <vscale x 8 x i8> poison, <vscale x 8 x i32> zeroinitializer
%x = mul <vscale x 8 x i8> %vb, %splat
%y = sub <vscale x 8 x i8> %va, %x
ret <vscale x 8 x i8> %y
Expand All @@ -120,8 +120,8 @@ define <vscale x 16 x i8> @vnmsub_vx_nxv16i8(<vscale x 16 x i8> %va, <vscale x 1
; CHECK-NEXT: vsetvli a1, zero, e8, m2, ta, mu
; CHECK-NEXT: vnmsub.vx v8, a0, v10
; CHECK-NEXT: ret
%head = insertelement <vscale x 16 x i8> undef, i8 %c, i32 0
%splat = shufflevector <vscale x 16 x i8> %head, <vscale x 16 x i8> undef, <vscale x 16 x i32> zeroinitializer
%head = insertelement <vscale x 16 x i8> poison, i8 %c, i32 0
%splat = shufflevector <vscale x 16 x i8> %head, <vscale x 16 x i8> poison, <vscale x 16 x i32> zeroinitializer
%x = mul <vscale x 16 x i8> %va, %splat
%y = sub <vscale x 16 x i8> %vb, %x
ret <vscale x 16 x i8> %y
Expand All @@ -144,8 +144,8 @@ define <vscale x 32 x i8> @vnmsub_vx_nxv32i8(<vscale x 32 x i8> %va, <vscale x 3
; CHECK-NEXT: vsetvli a1, zero, e8, m4, ta, mu
; CHECK-NEXT: vnmsac.vx v8, a0, v12
; CHECK-NEXT: ret
%head = insertelement <vscale x 32 x i8> undef, i8 %c, i32 0
%splat = shufflevector <vscale x 32 x i8> %head, <vscale x 32 x i8> undef, <vscale x 32 x i32> zeroinitializer
%head = insertelement <vscale x 32 x i8> poison, i8 %c, i32 0
%splat = shufflevector <vscale x 32 x i8> %head, <vscale x 32 x i8> poison, <vscale x 32 x i32> zeroinitializer
%x = mul <vscale x 32 x i8> %vb, %splat
%y = sub <vscale x 32 x i8> %va, %x
ret <vscale x 32 x i8> %y
Expand All @@ -169,8 +169,8 @@ define <vscale x 64 x i8> @vnmsub_vx_nxv64i8(<vscale x 64 x i8> %va, <vscale x 6
; CHECK-NEXT: vsetvli a1, zero, e8, m8, ta, mu
; CHECK-NEXT: vnmsac.vx v8, a0, v16
; CHECK-NEXT: ret
%head = insertelement <vscale x 64 x i8> undef, i8 %c, i32 0
%splat = shufflevector <vscale x 64 x i8> %head, <vscale x 64 x i8> undef, <vscale x 64 x i32> zeroinitializer
%head = insertelement <vscale x 64 x i8> poison, i8 %c, i32 0
%splat = shufflevector <vscale x 64 x i8> %head, <vscale x 64 x i8> poison, <vscale x 64 x i32> zeroinitializer
%x = mul <vscale x 64 x i8> %vb, %splat
%y = sub <vscale x 64 x i8> %va, %x
ret <vscale x 64 x i8> %y
Expand All @@ -193,8 +193,8 @@ define <vscale x 1 x i16> @vnmsub_vx_nxv1i16(<vscale x 1 x i16> %va, <vscale x 1
; CHECK-NEXT: vsetvli a1, zero, e16, mf4, ta, mu
; CHECK-NEXT: vnmsub.vx v8, a0, v9
; CHECK-NEXT: ret
%head = insertelement <vscale x 1 x i16> undef, i16 %c, i32 0
%splat = shufflevector <vscale x 1 x i16> %head, <vscale x 1 x i16> undef, <vscale x 1 x i32> zeroinitializer
%head = insertelement <vscale x 1 x i16> poison, i16 %c, i32 0
%splat = shufflevector <vscale x 1 x i16> %head, <vscale x 1 x i16> poison, <vscale x 1 x i32> zeroinitializer
%x = mul <vscale x 1 x i16> %va, %splat
%y = sub <vscale x 1 x i16> %vb, %x
ret <vscale x 1 x i16> %y
Expand All @@ -217,8 +217,8 @@ define <vscale x 2 x i16> @vnmsub_vx_nxv2i16(<vscale x 2 x i16> %va, <vscale x 2
; CHECK-NEXT: vsetvli a1, zero, e16, mf2, ta, mu
; CHECK-NEXT: vnmsac.vx v8, a0, v9
; CHECK-NEXT: ret
%head = insertelement <vscale x 2 x i16> undef, i16 %c, i32 0
%splat = shufflevector <vscale x 2 x i16> %head, <vscale x 2 x i16> undef, <vscale x 2 x i32> zeroinitializer
%head = insertelement <vscale x 2 x i16> poison, i16 %c, i32 0
%splat = shufflevector <vscale x 2 x i16> %head, <vscale x 2 x i16> poison, <vscale x 2 x i32> zeroinitializer
%x = mul <vscale x 2 x i16> %vb, %splat
%y = sub <vscale x 2 x i16> %va, %x
ret <vscale x 2 x i16> %y
Expand All @@ -241,8 +241,8 @@ define <vscale x 4 x i16> @vnmsub_vx_nxv4i16(<vscale x 4 x i16> %va, <vscale x 4
; CHECK-NEXT: vsetvli a1, zero, e16, m1, ta, mu
; CHECK-NEXT: vnmsub.vx v8, a0, v9
; CHECK-NEXT: ret
%head = insertelement <vscale x 4 x i16> undef, i16 %c, i32 0
%splat = shufflevector <vscale x 4 x i16> %head, <vscale x 4 x i16> undef, <vscale x 4 x i32> zeroinitializer
%head = insertelement <vscale x 4 x i16> poison, i16 %c, i32 0
%splat = shufflevector <vscale x 4 x i16> %head, <vscale x 4 x i16> poison, <vscale x 4 x i32> zeroinitializer
%x = mul <vscale x 4 x i16> %va, %splat
%y = sub <vscale x 4 x i16> %vb, %x
ret <vscale x 4 x i16> %y
Expand All @@ -265,8 +265,8 @@ define <vscale x 8 x i16> @vnmsub_vx_nxv8i16(<vscale x 8 x i16> %va, <vscale x 8
; CHECK-NEXT: vsetvli a1, zero, e16, m2, ta, mu
; CHECK-NEXT: vnmsac.vx v8, a0, v10
; CHECK-NEXT: ret
%head = insertelement <vscale x 8 x i16> undef, i16 %c, i32 0
%splat = shufflevector <vscale x 8 x i16> %head, <vscale x 8 x i16> undef, <vscale x 8 x i32> zeroinitializer
%head = insertelement <vscale x 8 x i16> poison, i16 %c, i32 0
%splat = shufflevector <vscale x 8 x i16> %head, <vscale x 8 x i16> poison, <vscale x 8 x i32> zeroinitializer
%x = mul <vscale x 8 x i16> %vb, %splat
%y = sub <vscale x 8 x i16> %va, %x
ret <vscale x 8 x i16> %y
Expand All @@ -289,8 +289,8 @@ define <vscale x 16 x i16> @vnmsub_vx_nxv16i16(<vscale x 16 x i16> %va, <vscale
; CHECK-NEXT: vsetvli a1, zero, e16, m4, ta, mu
; CHECK-NEXT: vnmsub.vx v8, a0, v12
; CHECK-NEXT: ret
%head = insertelement <vscale x 16 x i16> undef, i16 %c, i32 0
%splat = shufflevector <vscale x 16 x i16> %head, <vscale x 16 x i16> undef, <vscale x 16 x i32> zeroinitializer
%head = insertelement <vscale x 16 x i16> poison, i16 %c, i32 0
%splat = shufflevector <vscale x 16 x i16> %head, <vscale x 16 x i16> poison, <vscale x 16 x i32> zeroinitializer
%x = mul <vscale x 16 x i16> %va, %splat
%y = sub <vscale x 16 x i16> %vb, %x
ret <vscale x 16 x i16> %y
Expand All @@ -314,8 +314,8 @@ define <vscale x 32 x i16> @vnmsub_vx_nxv32i16(<vscale x 32 x i16> %va, <vscale
; CHECK-NEXT: vsetvli a1, zero, e16, m8, ta, mu
; CHECK-NEXT: vnmsac.vx v8, a0, v16
; CHECK-NEXT: ret
%head = insertelement <vscale x 32 x i16> undef, i16 %c, i32 0
%splat = shufflevector <vscale x 32 x i16> %head, <vscale x 32 x i16> undef, <vscale x 32 x i32> zeroinitializer
%head = insertelement <vscale x 32 x i16> poison, i16 %c, i32 0
%splat = shufflevector <vscale x 32 x i16> %head, <vscale x 32 x i16> poison, <vscale x 32 x i32> zeroinitializer
%x = mul <vscale x 32 x i16> %vb, %splat
%y = sub <vscale x 32 x i16> %va, %x
ret <vscale x 32 x i16> %y
Expand All @@ -338,8 +338,8 @@ define <vscale x 1 x i32> @vnmsub_vx_nxv1i32(<vscale x 1 x i32> %va, <vscale x 1
; CHECK-NEXT: vsetvli a1, zero, e32, mf2, ta, mu
; CHECK-NEXT: vnmsub.vx v8, a0, v9
; CHECK-NEXT: ret
%head = insertelement <vscale x 1 x i32> undef, i32 %c, i32 0
%splat = shufflevector <vscale x 1 x i32> %head, <vscale x 1 x i32> undef, <vscale x 1 x i32> zeroinitializer
%head = insertelement <vscale x 1 x i32> poison, i32 %c, i32 0
%splat = shufflevector <vscale x 1 x i32> %head, <vscale x 1 x i32> poison, <vscale x 1 x i32> zeroinitializer
%x = mul <vscale x 1 x i32> %va, %splat
%y = sub <vscale x 1 x i32> %vb, %x
ret <vscale x 1 x i32> %y
Expand All @@ -362,8 +362,8 @@ define <vscale x 2 x i32> @vnmsub_vx_nxv2i32(<vscale x 2 x i32> %va, <vscale x 2
; CHECK-NEXT: vsetvli a1, zero, e32, m1, ta, mu
; CHECK-NEXT: vnmsac.vx v8, a0, v9
; CHECK-NEXT: ret
%head = insertelement <vscale x 2 x i32> undef, i32 %c, i32 0
%splat = shufflevector <vscale x 2 x i32> %head, <vscale x 2 x i32> undef, <vscale x 2 x i32> zeroinitializer
%head = insertelement <vscale x 2 x i32> poison, i32 %c, i32 0
%splat = shufflevector <vscale x 2 x i32> %head, <vscale x 2 x i32> poison, <vscale x 2 x i32> zeroinitializer
%x = mul <vscale x 2 x i32> %vb, %splat
%y = sub <vscale x 2 x i32> %va, %x
ret <vscale x 2 x i32> %y
Expand All @@ -386,8 +386,8 @@ define <vscale x 4 x i32> @vnmsub_vx_nxv4i32(<vscale x 4 x i32> %va, <vscale x 4
; CHECK-NEXT: vsetvli a1, zero, e32, m2, ta, mu
; CHECK-NEXT: vnmsub.vx v8, a0, v10
; CHECK-NEXT: ret
%head = insertelement <vscale x 4 x i32> undef, i32 %c, i32 0
%splat = shufflevector <vscale x 4 x i32> %head, <vscale x 4 x i32> undef, <vscale x 4 x i32> zeroinitializer
%head = insertelement <vscale x 4 x i32> poison, i32 %c, i32 0
%splat = shufflevector <vscale x 4 x i32> %head, <vscale x 4 x i32> poison, <vscale x 4 x i32> zeroinitializer
%x = mul <vscale x 4 x i32> %va, %splat
%y = sub <vscale x 4 x i32> %vb, %x
ret <vscale x 4 x i32> %y
Expand All @@ -410,8 +410,8 @@ define <vscale x 8 x i32> @vnmsub_vx_nxv8i32(<vscale x 8 x i32> %va, <vscale x 8
; CHECK-NEXT: vsetvli a1, zero, e32, m4, ta, mu
; CHECK-NEXT: vnmsac.vx v8, a0, v12
; CHECK-NEXT: ret
%head = insertelement <vscale x 8 x i32> undef, i32 %c, i32 0
%splat = shufflevector <vscale x 8 x i32> %head, <vscale x 8 x i32> undef, <vscale x 8 x i32> zeroinitializer
%head = insertelement <vscale x 8 x i32> poison, i32 %c, i32 0
%splat = shufflevector <vscale x 8 x i32> %head, <vscale x 8 x i32> poison, <vscale x 8 x i32> zeroinitializer
%x = mul <vscale x 8 x i32> %vb, %splat
%y = sub <vscale x 8 x i32> %va, %x
ret <vscale x 8 x i32> %y
Expand All @@ -435,8 +435,8 @@ define <vscale x 16 x i32> @vnmsub_vx_nxv16i32(<vscale x 16 x i32> %va, <vscale
; CHECK-NEXT: vsetvli a1, zero, e32, m8, ta, mu
; CHECK-NEXT: vnmsub.vx v8, a0, v16
; CHECK-NEXT: ret
%head = insertelement <vscale x 16 x i32> undef, i32 %c, i32 0
%splat = shufflevector <vscale x 16 x i32> %head, <vscale x 16 x i32> undef, <vscale x 16 x i32> zeroinitializer
%head = insertelement <vscale x 16 x i32> poison, i32 %c, i32 0
%splat = shufflevector <vscale x 16 x i32> %head, <vscale x 16 x i32> poison, <vscale x 16 x i32> zeroinitializer
%x = mul <vscale x 16 x i32> %va, %splat
%y = sub <vscale x 16 x i32> %vb, %x
ret <vscale x 16 x i32> %y
Expand Down Expand Up @@ -472,8 +472,8 @@ define <vscale x 1 x i64> @vnmsub_vx_nxv1i64(<vscale x 1 x i64> %va, <vscale x 1
; RV64-NEXT: vsetvli a1, zero, e64, m1, ta, mu
; RV64-NEXT: vnmsub.vx v8, a0, v9
; RV64-NEXT: ret
%head = insertelement <vscale x 1 x i64> undef, i64 %c, i32 0
%splat = shufflevector <vscale x 1 x i64> %head, <vscale x 1 x i64> undef, <vscale x 1 x i32> zeroinitializer
%head = insertelement <vscale x 1 x i64> poison, i64 %c, i32 0
%splat = shufflevector <vscale x 1 x i64> %head, <vscale x 1 x i64> poison, <vscale x 1 x i32> zeroinitializer
%x = mul <vscale x 1 x i64> %va, %splat
%y = sub <vscale x 1 x i64> %vb, %x
ret <vscale x 1 x i64> %y
Expand Down Expand Up @@ -509,8 +509,8 @@ define <vscale x 2 x i64> @vnmsub_vx_nxv2i64(<vscale x 2 x i64> %va, <vscale x 2
; RV64-NEXT: vsetvli a1, zero, e64, m2, ta, mu
; RV64-NEXT: vnmsac.vx v8, a0, v10
; RV64-NEXT: ret
%head = insertelement <vscale x 2 x i64> undef, i64 %c, i32 0
%splat = shufflevector <vscale x 2 x i64> %head, <vscale x 2 x i64> undef, <vscale x 2 x i32> zeroinitializer
%head = insertelement <vscale x 2 x i64> poison, i64 %c, i32 0
%splat = shufflevector <vscale x 2 x i64> %head, <vscale x 2 x i64> poison, <vscale x 2 x i32> zeroinitializer
%x = mul <vscale x 2 x i64> %vb, %splat
%y = sub <vscale x 2 x i64> %va, %x
ret <vscale x 2 x i64> %y
Expand Down Expand Up @@ -546,8 +546,8 @@ define <vscale x 4 x i64> @vnmsub_vx_nxv4i64(<vscale x 4 x i64> %va, <vscale x 4
; RV64-NEXT: vsetvli a1, zero, e64, m4, ta, mu
; RV64-NEXT: vnmsub.vx v8, a0, v12
; RV64-NEXT: ret
%head = insertelement <vscale x 4 x i64> undef, i64 %c, i32 0
%splat = shufflevector <vscale x 4 x i64> %head, <vscale x 4 x i64> undef, <vscale x 4 x i32> zeroinitializer
%head = insertelement <vscale x 4 x i64> poison, i64 %c, i32 0
%splat = shufflevector <vscale x 4 x i64> %head, <vscale x 4 x i64> poison, <vscale x 4 x i32> zeroinitializer
%x = mul <vscale x 4 x i64> %va, %splat
%y = sub <vscale x 4 x i64> %vb, %x
ret <vscale x 4 x i64> %y
Expand Down Expand Up @@ -584,8 +584,8 @@ define <vscale x 8 x i64> @vnmsub_vx_nxv8i64(<vscale x 8 x i64> %va, <vscale x 8
; RV64-NEXT: vsetvli a1, zero, e64, m8, ta, mu
; RV64-NEXT: vnmsac.vx v8, a0, v16
; RV64-NEXT: ret
%head = insertelement <vscale x 8 x i64> undef, i64 %c, i32 0
%splat = shufflevector <vscale x 8 x i64> %head, <vscale x 8 x i64> undef, <vscale x 8 x i32> zeroinitializer
%head = insertelement <vscale x 8 x i64> poison, i64 %c, i32 0
%splat = shufflevector <vscale x 8 x i64> %head, <vscale x 8 x i64> poison, <vscale x 8 x i32> zeroinitializer
%x = mul <vscale x 8 x i64> %vb, %splat
%y = sub <vscale x 8 x i64> %va, %x
ret <vscale x 8 x i64> %y
Expand Down
32 changes: 16 additions & 16 deletions llvm/test/CodeGen/RISCV/rvv/vnsra-sdnode.ll
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ define <vscale x 1 x i32> @vnsra_wx_i32_nxv1i32_sext(<vscale x 1 x i64> %va, i32
; CHECK-NEXT: vsetvli a1, zero, e32, mf2, ta, mu
; CHECK-NEXT: vnsra.wx v8, v8, a0
; CHECK-NEXT: ret
%head = insertelement <vscale x 1 x i32> undef, i32 %b, i32 0
%splat = shufflevector <vscale x 1 x i32> %head, <vscale x 1 x i32> undef, <vscale x 1 x i32> zeroinitializer
%head = insertelement <vscale x 1 x i32> poison, i32 %b, i32 0
%splat = shufflevector <vscale x 1 x i32> %head, <vscale x 1 x i32> poison, <vscale x 1 x i32> zeroinitializer
%vb = sext <vscale x 1 x i32> %splat to <vscale x 1 x i64>
%x = ashr <vscale x 1 x i64> %va, %vb
%y = trunc <vscale x 1 x i64> %x to <vscale x 1 x i32>
Expand All @@ -50,8 +50,8 @@ define <vscale x 2 x i32> @vnsra_wx_i32_nxv2i32_sext(<vscale x 2 x i64> %va, i32
; CHECK-NEXT: vnsra.wx v10, v8, a0
; CHECK-NEXT: vmv.v.v v8, v10
; CHECK-NEXT: ret
%head = insertelement <vscale x 2 x i32> undef, i32 %b, i32 0
%splat = shufflevector <vscale x 2 x i32> %head, <vscale x 2 x i32> undef, <vscale x 2 x i32> zeroinitializer
%head = insertelement <vscale x 2 x i32> poison, i32 %b, i32 0
%splat = shufflevector <vscale x 2 x i32> %head, <vscale x 2 x i32> poison, <vscale x 2 x i32> zeroinitializer
%vb = sext <vscale x 2 x i32> %splat to <vscale x 2 x i64>
%x = ashr <vscale x 2 x i64> %va, %vb
%y = trunc <vscale x 2 x i64> %x to <vscale x 2 x i32>
Expand All @@ -78,8 +78,8 @@ define <vscale x 4 x i32> @vnsra_wx_i32_nxv4i32_sext(<vscale x 4 x i64> %va, i32
; CHECK-NEXT: vnsra.wx v12, v8, a0
; CHECK-NEXT: vmv.v.v v8, v12
; CHECK-NEXT: ret
%head = insertelement <vscale x 4 x i32> undef, i32 %b, i32 0
%splat = shufflevector <vscale x 4 x i32> %head, <vscale x 4 x i32> undef, <vscale x 4 x i32> zeroinitializer
%head = insertelement <vscale x 4 x i32> poison, i32 %b, i32 0
%splat = shufflevector <vscale x 4 x i32> %head, <vscale x 4 x i32> poison, <vscale x 4 x i32> zeroinitializer
%vb = sext <vscale x 4 x i32> %splat to <vscale x 4 x i64>
%x = ashr <vscale x 4 x i64> %va, %vb
%y = trunc <vscale x 4 x i64> %x to <vscale x 4 x i32>
Expand All @@ -106,8 +106,8 @@ define <vscale x 8 x i32> @vnsra_wx_i32_nxv8i32_sext(<vscale x 8 x i64> %va, i32
; CHECK-NEXT: vnsra.wx v16, v8, a0
; CHECK-NEXT: vmv.v.v v8, v16
; CHECK-NEXT: ret
%head = insertelement <vscale x 8 x i32> undef, i32 %b, i32 0
%splat = shufflevector <vscale x 8 x i32> %head, <vscale x 8 x i32> undef, <vscale x 8 x i32> zeroinitializer
%head = insertelement <vscale x 8 x i32> poison, i32 %b, i32 0
%splat = shufflevector <vscale x 8 x i32> %head, <vscale x 8 x i32> poison, <vscale x 8 x i32> zeroinitializer
%vb = sext <vscale x 8 x i32> %splat to <vscale x 8 x i64>
%x = ashr <vscale x 8 x i64> %va, %vb
%y = trunc <vscale x 8 x i64> %x to <vscale x 8 x i32>
Expand All @@ -132,8 +132,8 @@ define <vscale x 1 x i32> @vnsra_wx_i32_nxv1i32_zext(<vscale x 1 x i64> %va, i32
; CHECK-NEXT: vsetvli a1, zero, e32, mf2, ta, mu
; CHECK-NEXT: vnsra.wx v8, v8, a0
; CHECK-NEXT: ret
%head = insertelement <vscale x 1 x i32> undef, i32 %b, i32 0
%splat = shufflevector <vscale x 1 x i32> %head, <vscale x 1 x i32> undef, <vscale x 1 x i32> zeroinitializer
%head = insertelement <vscale x 1 x i32> poison, i32 %b, i32 0
%splat = shufflevector <vscale x 1 x i32> %head, <vscale x 1 x i32> poison, <vscale x 1 x i32> zeroinitializer
%vb = zext <vscale x 1 x i32> %splat to <vscale x 1 x i64>
%x = ashr <vscale x 1 x i64> %va, %vb
%y = trunc <vscale x 1 x i64> %x to <vscale x 1 x i32>
Expand All @@ -160,8 +160,8 @@ define <vscale x 2 x i32> @vnsra_wx_i32_nxv2i32_zext(<vscale x 2 x i64> %va, i32
; CHECK-NEXT: vnsra.wx v10, v8, a0
; CHECK-NEXT: vmv.v.v v8, v10
; CHECK-NEXT: ret
%head = insertelement <vscale x 2 x i32> undef, i32 %b, i32 0
%splat = shufflevector <vscale x 2 x i32> %head, <vscale x 2 x i32> undef, <vscale x 2 x i32> zeroinitializer
%head = insertelement <vscale x 2 x i32> poison, i32 %b, i32 0
%splat = shufflevector <vscale x 2 x i32> %head, <vscale x 2 x i32> poison, <vscale x 2 x i32> zeroinitializer
%vb = zext <vscale x 2 x i32> %splat to <vscale x 2 x i64>
%x = ashr <vscale x 2 x i64> %va, %vb
%y = trunc <vscale x 2 x i64> %x to <vscale x 2 x i32>
Expand All @@ -188,8 +188,8 @@ define <vscale x 4 x i32> @vnsra_wx_i32_nxv4i32_zext(<vscale x 4 x i64> %va, i32
; CHECK-NEXT: vnsra.wx v12, v8, a0
; CHECK-NEXT: vmv.v.v v8, v12
; CHECK-NEXT: ret
%head = insertelement <vscale x 4 x i32> undef, i32 %b, i32 0
%splat = shufflevector <vscale x 4 x i32> %head, <vscale x 4 x i32> undef, <vscale x 4 x i32> zeroinitializer
%head = insertelement <vscale x 4 x i32> poison, i32 %b, i32 0
%splat = shufflevector <vscale x 4 x i32> %head, <vscale x 4 x i32> poison, <vscale x 4 x i32> zeroinitializer
%vb = zext <vscale x 4 x i32> %splat to <vscale x 4 x i64>
%x = ashr <vscale x 4 x i64> %va, %vb
%y = trunc <vscale x 4 x i64> %x to <vscale x 4 x i32>
Expand All @@ -216,8 +216,8 @@ define <vscale x 8 x i32> @vnsra_wx_i32_nxv8i32_zext(<vscale x 8 x i64> %va, i32
; CHECK-NEXT: vnsra.wx v16, v8, a0
; CHECK-NEXT: vmv.v.v v8, v16
; CHECK-NEXT: ret
%head = insertelement <vscale x 8 x i32> undef, i32 %b, i32 0
%splat = shufflevector <vscale x 8 x i32> %head, <vscale x 8 x i32> undef, <vscale x 8 x i32> zeroinitializer
%head = insertelement <vscale x 8 x i32> poison, i32 %b, i32 0
%splat = shufflevector <vscale x 8 x i32> %head, <vscale x 8 x i32> poison, <vscale x 8 x i32> zeroinitializer
%vb = zext <vscale x 8 x i32> %splat to <vscale x 8 x i64>
%x = ashr <vscale x 8 x i64> %va, %vb
%y = trunc <vscale x 8 x i64> %x to <vscale x 8 x i32>
Expand Down
32 changes: 16 additions & 16 deletions llvm/test/CodeGen/RISCV/rvv/vnsrl-sdnode.ll
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ define <vscale x 1 x i32> @vnsrl_wx_i32_nxv1i32_sext(<vscale x 1 x i64> %va, i32
; CHECK-NEXT: vsetvli a1, zero, e32, mf2, ta, mu
; CHECK-NEXT: vnsrl.wx v8, v8, a0
; CHECK-NEXT: ret
%head = insertelement <vscale x 1 x i32> undef, i32 %b, i32 0
%splat = shufflevector <vscale x 1 x i32> %head, <vscale x 1 x i32> undef, <vscale x 1 x i32> zeroinitializer
%head = insertelement <vscale x 1 x i32> poison, i32 %b, i32 0
%splat = shufflevector <vscale x 1 x i32> %head, <vscale x 1 x i32> poison, <vscale x 1 x i32> zeroinitializer
%vb = sext <vscale x 1 x i32> %splat to <vscale x 1 x i64>
%x = lshr <vscale x 1 x i64> %va, %vb
%y = trunc <vscale x 1 x i64> %x to <vscale x 1 x i32>
Expand All @@ -50,8 +50,8 @@ define <vscale x 2 x i32> @vnsrl_wx_i32_nxv2i32_sext(<vscale x 2 x i64> %va, i32
; CHECK-NEXT: vnsrl.wx v10, v8, a0
; CHECK-NEXT: vmv.v.v v8, v10
; CHECK-NEXT: ret
%head = insertelement <vscale x 2 x i32> undef, i32 %b, i32 0
%splat = shufflevector <vscale x 2 x i32> %head, <vscale x 2 x i32> undef, <vscale x 2 x i32> zeroinitializer
%head = insertelement <vscale x 2 x i32> poison, i32 %b, i32 0
%splat = shufflevector <vscale x 2 x i32> %head, <vscale x 2 x i32> poison, <vscale x 2 x i32> zeroinitializer
%vb = sext <vscale x 2 x i32> %splat to <vscale x 2 x i64>
%x = lshr <vscale x 2 x i64> %va, %vb
%y = trunc <vscale x 2 x i64> %x to <vscale x 2 x i32>
Expand All @@ -78,8 +78,8 @@ define <vscale x 4 x i32> @vnsrl_wx_i32_nxv4i32_sext(<vscale x 4 x i64> %va, i32
; CHECK-NEXT: vnsrl.wx v12, v8, a0
; CHECK-NEXT: vmv.v.v v8, v12
; CHECK-NEXT: ret
%head = insertelement <vscale x 4 x i32> undef, i32 %b, i32 0
%splat = shufflevector <vscale x 4 x i32> %head, <vscale x 4 x i32> undef, <vscale x 4 x i32> zeroinitializer
%head = insertelement <vscale x 4 x i32> poison, i32 %b, i32 0
%splat = shufflevector <vscale x 4 x i32> %head, <vscale x 4 x i32> poison, <vscale x 4 x i32> zeroinitializer
%vb = sext <vscale x 4 x i32> %splat to <vscale x 4 x i64>
%x = lshr <vscale x 4 x i64> %va, %vb
%y = trunc <vscale x 4 x i64> %x to <vscale x 4 x i32>
Expand All @@ -106,8 +106,8 @@ define <vscale x 8 x i32> @vnsrl_wx_i32_nxv8i32_sext(<vscale x 8 x i64> %va, i32
; CHECK-NEXT: vnsrl.wx v16, v8, a0
; CHECK-NEXT: vmv.v.v v8, v16
; CHECK-NEXT: ret
%head = insertelement <vscale x 8 x i32> undef, i32 %b, i32 0
%splat = shufflevector <vscale x 8 x i32> %head, <vscale x 8 x i32> undef, <vscale x 8 x i32> zeroinitializer
%head = insertelement <vscale x 8 x i32> poison, i32 %b, i32 0
%splat = shufflevector <vscale x 8 x i32> %head, <vscale x 8 x i32> poison, <vscale x 8 x i32> zeroinitializer
%vb = sext <vscale x 8 x i32> %splat to <vscale x 8 x i64>
%x = lshr <vscale x 8 x i64> %va, %vb
%y = trunc <vscale x 8 x i64> %x to <vscale x 8 x i32>
Expand All @@ -132,8 +132,8 @@ define <vscale x 1 x i32> @vnsrl_wx_i32_nxv1i32_zext(<vscale x 1 x i64> %va, i32
; CHECK-NEXT: vsetvli a1, zero, e32, mf2, ta, mu
; CHECK-NEXT: vnsrl.wx v8, v8, a0
; CHECK-NEXT: ret
%head = insertelement <vscale x 1 x i32> undef, i32 %b, i32 0
%splat = shufflevector <vscale x 1 x i32> %head, <vscale x 1 x i32> undef, <vscale x 1 x i32> zeroinitializer
%head = insertelement <vscale x 1 x i32> poison, i32 %b, i32 0
%splat = shufflevector <vscale x 1 x i32> %head, <vscale x 1 x i32> poison, <vscale x 1 x i32> zeroinitializer
%vb = zext <vscale x 1 x i32> %splat to <vscale x 1 x i64>
%x = lshr <vscale x 1 x i64> %va, %vb
%y = trunc <vscale x 1 x i64> %x to <vscale x 1 x i32>
Expand All @@ -160,8 +160,8 @@ define <vscale x 2 x i32> @vnsrl_wx_i32_nxv2i32_zext(<vscale x 2 x i64> %va, i32
; CHECK-NEXT: vnsrl.wx v10, v8, a0
; CHECK-NEXT: vmv.v.v v8, v10
; CHECK-NEXT: ret
%head = insertelement <vscale x 2 x i32> undef, i32 %b, i32 0
%splat = shufflevector <vscale x 2 x i32> %head, <vscale x 2 x i32> undef, <vscale x 2 x i32> zeroinitializer
%head = insertelement <vscale x 2 x i32> poison, i32 %b, i32 0
%splat = shufflevector <vscale x 2 x i32> %head, <vscale x 2 x i32> poison, <vscale x 2 x i32> zeroinitializer
%vb = zext <vscale x 2 x i32> %splat to <vscale x 2 x i64>
%x = lshr <vscale x 2 x i64> %va, %vb
%y = trunc <vscale x 2 x i64> %x to <vscale x 2 x i32>
Expand All @@ -188,8 +188,8 @@ define <vscale x 4 x i32> @vnsrl_wx_i32_nxv4i32_zext(<vscale x 4 x i64> %va, i32
; CHECK-NEXT: vnsrl.wx v12, v8, a0
; CHECK-NEXT: vmv.v.v v8, v12
; CHECK-NEXT: ret
%head = insertelement <vscale x 4 x i32> undef, i32 %b, i32 0
%splat = shufflevector <vscale x 4 x i32> %head, <vscale x 4 x i32> undef, <vscale x 4 x i32> zeroinitializer
%head = insertelement <vscale x 4 x i32> poison, i32 %b, i32 0
%splat = shufflevector <vscale x 4 x i32> %head, <vscale x 4 x i32> poison, <vscale x 4 x i32> zeroinitializer
%vb = zext <vscale x 4 x i32> %splat to <vscale x 4 x i64>
%x = lshr <vscale x 4 x i64> %va, %vb
%y = trunc <vscale x 4 x i64> %x to <vscale x 4 x i32>
Expand All @@ -216,8 +216,8 @@ define <vscale x 8 x i32> @vnsrl_wx_i32_nxv8i32_zext(<vscale x 8 x i64> %va, i32
; CHECK-NEXT: vnsrl.wx v16, v8, a0
; CHECK-NEXT: vmv.v.v v8, v16
; CHECK-NEXT: ret
%head = insertelement <vscale x 8 x i32> undef, i32 %b, i32 0
%splat = shufflevector <vscale x 8 x i32> %head, <vscale x 8 x i32> undef, <vscale x 8 x i32> zeroinitializer
%head = insertelement <vscale x 8 x i32> poison, i32 %b, i32 0
%splat = shufflevector <vscale x 8 x i32> %head, <vscale x 8 x i32> poison, <vscale x 8 x i32> zeroinitializer
%vb = zext <vscale x 8 x i32> %splat to <vscale x 8 x i64>
%x = lshr <vscale x 8 x i64> %va, %vb
%y = trunc <vscale x 8 x i64> %x to <vscale x 8 x i32>
Expand Down
356 changes: 178 additions & 178 deletions llvm/test/CodeGen/RISCV/rvv/vor-sdnode.ll

Large diffs are not rendered by default.

176 changes: 88 additions & 88 deletions llvm/test/CodeGen/RISCV/rvv/vrem-sdnode.ll

Large diffs are not rendered by default.

208 changes: 104 additions & 104 deletions llvm/test/CodeGen/RISCV/rvv/vremu-sdnode.ll

Large diffs are not rendered by default.

176 changes: 88 additions & 88 deletions llvm/test/CodeGen/RISCV/rvv/vrsub-sdnode.ll

Large diffs are not rendered by default.

176 changes: 88 additions & 88 deletions llvm/test/CodeGen/RISCV/rvv/vsadd-sdnode.ll

Large diffs are not rendered by default.

176 changes: 88 additions & 88 deletions llvm/test/CodeGen/RISCV/rvv/vsaddu-sdnode.ll

Large diffs are not rendered by default.

76 changes: 38 additions & 38 deletions llvm/test/CodeGen/RISCV/rvv/vselect-fp-rv32.ll
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ define <vscale x 1 x half> @vfmerge_fv_nxv1f16(<vscale x 1 x half> %va, half %b,
; CHECK-NEXT: vsetvli a0, zero, e16, mf4, ta, mu
; CHECK-NEXT: vfmerge.vfm v8, v8, fa0, v0
; CHECK-NEXT: ret
%head = insertelement <vscale x 1 x half> undef, half %b, i32 0
%splat = shufflevector <vscale x 1 x half> %head, <vscale x 1 x half> undef, <vscale x 1 x i32> zeroinitializer
%head = insertelement <vscale x 1 x half> poison, half %b, i32 0
%splat = shufflevector <vscale x 1 x half> %head, <vscale x 1 x half> poison, <vscale x 1 x i32> zeroinitializer
%vc = select <vscale x 1 x i1> %cond, <vscale x 1 x half> %splat, <vscale x 1 x half> %va
ret <vscale x 1 x half> %vc
}
Expand All @@ -40,8 +40,8 @@ define <vscale x 2 x half> @vfmerge_fv_nxv2f16(<vscale x 2 x half> %va, half %b,
; CHECK-NEXT: vsetvli a0, zero, e16, mf2, ta, mu
; CHECK-NEXT: vfmerge.vfm v8, v8, fa0, v0
; CHECK-NEXT: ret
%head = insertelement <vscale x 2 x half> undef, half %b, i32 0
%splat = shufflevector <vscale x 2 x half> %head, <vscale x 2 x half> undef, <vscale x 2 x i32> zeroinitializer
%head = insertelement <vscale x 2 x half> poison, half %b, i32 0
%splat = shufflevector <vscale x 2 x half> %head, <vscale x 2 x half> poison, <vscale x 2 x i32> zeroinitializer
%vc = select <vscale x 2 x i1> %cond, <vscale x 2 x half> %splat, <vscale x 2 x half> %va
ret <vscale x 2 x half> %vc
}
Expand All @@ -62,8 +62,8 @@ define <vscale x 4 x half> @vfmerge_fv_nxv4f16(<vscale x 4 x half> %va, half %b,
; CHECK-NEXT: vsetvli a0, zero, e16, m1, ta, mu
; CHECK-NEXT: vfmerge.vfm v8, v8, fa0, v0
; CHECK-NEXT: ret
%head = insertelement <vscale x 4 x half> undef, half %b, i32 0
%splat = shufflevector <vscale x 4 x half> %head, <vscale x 4 x half> undef, <vscale x 4 x i32> zeroinitializer
%head = insertelement <vscale x 4 x half> poison, half %b, i32 0
%splat = shufflevector <vscale x 4 x half> %head, <vscale x 4 x half> poison, <vscale x 4 x i32> zeroinitializer
%vc = select <vscale x 4 x i1> %cond, <vscale x 4 x half> %splat, <vscale x 4 x half> %va
ret <vscale x 4 x half> %vc
}
Expand All @@ -84,8 +84,8 @@ define <vscale x 8 x half> @vfmerge_fv_nxv8f16(<vscale x 8 x half> %va, half %b,
; CHECK-NEXT: vsetvli a0, zero, e16, m2, ta, mu
; CHECK-NEXT: vfmerge.vfm v8, v8, fa0, v0
; CHECK-NEXT: ret
%head = insertelement <vscale x 8 x half> undef, half %b, i32 0
%splat = shufflevector <vscale x 8 x half> %head, <vscale x 8 x half> undef, <vscale x 8 x i32> zeroinitializer
%head = insertelement <vscale x 8 x half> poison, half %b, i32 0
%splat = shufflevector <vscale x 8 x half> %head, <vscale x 8 x half> poison, <vscale x 8 x i32> zeroinitializer
%vc = select <vscale x 8 x i1> %cond, <vscale x 8 x half> %splat, <vscale x 8 x half> %va
ret <vscale x 8 x half> %vc
}
Expand All @@ -96,8 +96,8 @@ define <vscale x 8 x half> @vfmerge_zv_nxv8f16(<vscale x 8 x half> %va, <vscale
; CHECK-NEXT: vsetvli a0, zero, e16, m2, ta, mu
; CHECK-NEXT: vmerge.vim v8, v8, 0, v0
; CHECK-NEXT: ret
%head = insertelement <vscale x 8 x half> undef, half zeroinitializer, i32 0
%splat = shufflevector <vscale x 8 x half> %head, <vscale x 8 x half> undef, <vscale x 8 x i32> zeroinitializer
%head = insertelement <vscale x 8 x half> poison, half zeroinitializer, i32 0
%splat = shufflevector <vscale x 8 x half> %head, <vscale x 8 x half> poison, <vscale x 8 x i32> zeroinitializer
%vc = select <vscale x 8 x i1> %cond, <vscale x 8 x half> %splat, <vscale x 8 x half> %va
ret <vscale x 8 x half> %vc
}
Expand All @@ -106,8 +106,8 @@ define <vscale x 8 x half> @vmerge_truelhs_nxv8f16_0(<vscale x 8 x half> %va, <v
; CHECK-LABEL: vmerge_truelhs_nxv8f16_0:
; CHECK: # %bb.0:
; CHECK-NEXT: ret
%mhead = insertelement <vscale x 8 x i1> undef, i1 1, i32 0
%mtrue = shufflevector <vscale x 8 x i1> %mhead, <vscale x 8 x i1> undef, <vscale x 8 x i32> zeroinitializer
%mhead = insertelement <vscale x 8 x i1> poison, i1 1, i32 0
%mtrue = shufflevector <vscale x 8 x i1> %mhead, <vscale x 8 x i1> poison, <vscale x 8 x i32> zeroinitializer
%vc = select <vscale x 8 x i1> %mtrue, <vscale x 8 x half> %va, <vscale x 8 x half> %vb
ret <vscale x 8 x half> %vc
}
Expand Down Expand Up @@ -137,8 +137,8 @@ define <vscale x 16 x half> @vfmerge_fv_nxv16f16(<vscale x 16 x half> %va, half
; CHECK-NEXT: vsetvli a0, zero, e16, m4, ta, mu
; CHECK-NEXT: vfmerge.vfm v8, v8, fa0, v0
; CHECK-NEXT: ret
%head = insertelement <vscale x 16 x half> undef, half %b, i32 0
%splat = shufflevector <vscale x 16 x half> %head, <vscale x 16 x half> undef, <vscale x 16 x i32> zeroinitializer
%head = insertelement <vscale x 16 x half> poison, half %b, i32 0
%splat = shufflevector <vscale x 16 x half> %head, <vscale x 16 x half> poison, <vscale x 16 x i32> zeroinitializer
%vc = select <vscale x 16 x i1> %cond, <vscale x 16 x half> %splat, <vscale x 16 x half> %va
ret <vscale x 16 x half> %vc
}
Expand All @@ -159,8 +159,8 @@ define <vscale x 32 x half> @vfmerge_fv_nxv32f16(<vscale x 32 x half> %va, half
; CHECK-NEXT: vsetvli a0, zero, e16, m8, ta, mu
; CHECK-NEXT: vfmerge.vfm v8, v8, fa0, v0
; CHECK-NEXT: ret
%head = insertelement <vscale x 32 x half> undef, half %b, i32 0
%splat = shufflevector <vscale x 32 x half> %head, <vscale x 32 x half> undef, <vscale x 32 x i32> zeroinitializer
%head = insertelement <vscale x 32 x half> poison, half %b, i32 0
%splat = shufflevector <vscale x 32 x half> %head, <vscale x 32 x half> poison, <vscale x 32 x i32> zeroinitializer
%vc = select <vscale x 32 x i1> %cond, <vscale x 32 x half> %splat, <vscale x 32 x half> %va
ret <vscale x 32 x half> %vc
}
Expand All @@ -181,8 +181,8 @@ define <vscale x 1 x float> @vfmerge_fv_nxv1f32(<vscale x 1 x float> %va, float
; CHECK-NEXT: vsetvli a0, zero, e32, mf2, ta, mu
; CHECK-NEXT: vfmerge.vfm v8, v8, fa0, v0
; CHECK-NEXT: ret
%head = insertelement <vscale x 1 x float> undef, float %b, i32 0
%splat = shufflevector <vscale x 1 x float> %head, <vscale x 1 x float> undef, <vscale x 1 x i32> zeroinitializer
%head = insertelement <vscale x 1 x float> poison, float %b, i32 0
%splat = shufflevector <vscale x 1 x float> %head, <vscale x 1 x float> poison, <vscale x 1 x i32> zeroinitializer
%vc = select <vscale x 1 x i1> %cond, <vscale x 1 x float> %splat, <vscale x 1 x float> %va
ret <vscale x 1 x float> %vc
}
Expand All @@ -203,8 +203,8 @@ define <vscale x 2 x float> @vfmerge_fv_nxv2f32(<vscale x 2 x float> %va, float
; CHECK-NEXT: vsetvli a0, zero, e32, m1, ta, mu
; CHECK-NEXT: vfmerge.vfm v8, v8, fa0, v0
; CHECK-NEXT: ret
%head = insertelement <vscale x 2 x float> undef, float %b, i32 0
%splat = shufflevector <vscale x 2 x float> %head, <vscale x 2 x float> undef, <vscale x 2 x i32> zeroinitializer
%head = insertelement <vscale x 2 x float> poison, float %b, i32 0
%splat = shufflevector <vscale x 2 x float> %head, <vscale x 2 x float> poison, <vscale x 2 x i32> zeroinitializer
%vc = select <vscale x 2 x i1> %cond, <vscale x 2 x float> %splat, <vscale x 2 x float> %va
ret <vscale x 2 x float> %vc
}
Expand All @@ -225,8 +225,8 @@ define <vscale x 4 x float> @vfmerge_fv_nxv4f32(<vscale x 4 x float> %va, float
; CHECK-NEXT: vsetvli a0, zero, e32, m2, ta, mu
; CHECK-NEXT: vfmerge.vfm v8, v8, fa0, v0
; CHECK-NEXT: ret
%head = insertelement <vscale x 4 x float> undef, float %b, i32 0
%splat = shufflevector <vscale x 4 x float> %head, <vscale x 4 x float> undef, <vscale x 4 x i32> zeroinitializer
%head = insertelement <vscale x 4 x float> poison, float %b, i32 0
%splat = shufflevector <vscale x 4 x float> %head, <vscale x 4 x float> poison, <vscale x 4 x i32> zeroinitializer
%vc = select <vscale x 4 x i1> %cond, <vscale x 4 x float> %splat, <vscale x 4 x float> %va
ret <vscale x 4 x float> %vc
}
Expand All @@ -247,8 +247,8 @@ define <vscale x 8 x float> @vfmerge_fv_nxv8f32(<vscale x 8 x float> %va, float
; CHECK-NEXT: vsetvli a0, zero, e32, m4, ta, mu
; CHECK-NEXT: vfmerge.vfm v8, v8, fa0, v0
; CHECK-NEXT: ret
%head = insertelement <vscale x 8 x float> undef, float %b, i32 0
%splat = shufflevector <vscale x 8 x float> %head, <vscale x 8 x float> undef, <vscale x 8 x i32> zeroinitializer
%head = insertelement <vscale x 8 x float> poison, float %b, i32 0
%splat = shufflevector <vscale x 8 x float> %head, <vscale x 8 x float> poison, <vscale x 8 x i32> zeroinitializer
%vc = select <vscale x 8 x i1> %cond, <vscale x 8 x float> %splat, <vscale x 8 x float> %va
ret <vscale x 8 x float> %vc
}
Expand All @@ -259,8 +259,8 @@ define <vscale x 8 x float> @vfmerge_zv_nxv8f32(<vscale x 8 x float> %va, <vscal
; CHECK-NEXT: vsetvli a0, zero, e32, m4, ta, mu
; CHECK-NEXT: vmerge.vim v8, v8, 0, v0
; CHECK-NEXT: ret
%head = insertelement <vscale x 8 x float> undef, float zeroinitializer, i32 0
%splat = shufflevector <vscale x 8 x float> %head, <vscale x 8 x float> undef, <vscale x 8 x i32> zeroinitializer
%head = insertelement <vscale x 8 x float> poison, float zeroinitializer, i32 0
%splat = shufflevector <vscale x 8 x float> %head, <vscale x 8 x float> poison, <vscale x 8 x i32> zeroinitializer
%vc = select <vscale x 8 x i1> %cond, <vscale x 8 x float> %splat, <vscale x 8 x float> %va
ret <vscale x 8 x float> %vc
}
Expand All @@ -281,8 +281,8 @@ define <vscale x 16 x float> @vfmerge_fv_nxv16f32(<vscale x 16 x float> %va, flo
; CHECK-NEXT: vsetvli a0, zero, e32, m8, ta, mu
; CHECK-NEXT: vfmerge.vfm v8, v8, fa0, v0
; CHECK-NEXT: ret
%head = insertelement <vscale x 16 x float> undef, float %b, i32 0
%splat = shufflevector <vscale x 16 x float> %head, <vscale x 16 x float> undef, <vscale x 16 x i32> zeroinitializer
%head = insertelement <vscale x 16 x float> poison, float %b, i32 0
%splat = shufflevector <vscale x 16 x float> %head, <vscale x 16 x float> poison, <vscale x 16 x i32> zeroinitializer
%vc = select <vscale x 16 x i1> %cond, <vscale x 16 x float> %splat, <vscale x 16 x float> %va
ret <vscale x 16 x float> %vc
}
Expand All @@ -303,8 +303,8 @@ define <vscale x 1 x double> @vfmerge_fv_nxv1f64(<vscale x 1 x double> %va, doub
; CHECK-NEXT: vsetvli a0, zero, e64, m1, ta, mu
; CHECK-NEXT: vfmerge.vfm v8, v8, fa0, v0
; CHECK-NEXT: ret
%head = insertelement <vscale x 1 x double> undef, double %b, i32 0
%splat = shufflevector <vscale x 1 x double> %head, <vscale x 1 x double> undef, <vscale x 1 x i32> zeroinitializer
%head = insertelement <vscale x 1 x double> poison, double %b, i32 0
%splat = shufflevector <vscale x 1 x double> %head, <vscale x 1 x double> poison, <vscale x 1 x i32> zeroinitializer
%vc = select <vscale x 1 x i1> %cond, <vscale x 1 x double> %splat, <vscale x 1 x double> %va
ret <vscale x 1 x double> %vc
}
Expand All @@ -325,8 +325,8 @@ define <vscale x 2 x double> @vfmerge_fv_nxv2f64(<vscale x 2 x double> %va, doub
; CHECK-NEXT: vsetvli a0, zero, e64, m2, ta, mu
; CHECK-NEXT: vfmerge.vfm v8, v8, fa0, v0
; CHECK-NEXT: ret
%head = insertelement <vscale x 2 x double> undef, double %b, i32 0
%splat = shufflevector <vscale x 2 x double> %head, <vscale x 2 x double> undef, <vscale x 2 x i32> zeroinitializer
%head = insertelement <vscale x 2 x double> poison, double %b, i32 0
%splat = shufflevector <vscale x 2 x double> %head, <vscale x 2 x double> poison, <vscale x 2 x i32> zeroinitializer
%vc = select <vscale x 2 x i1> %cond, <vscale x 2 x double> %splat, <vscale x 2 x double> %va
ret <vscale x 2 x double> %vc
}
Expand All @@ -347,8 +347,8 @@ define <vscale x 4 x double> @vfmerge_fv_nxv4f64(<vscale x 4 x double> %va, doub
; CHECK-NEXT: vsetvli a0, zero, e64, m4, ta, mu
; CHECK-NEXT: vfmerge.vfm v8, v8, fa0, v0
; CHECK-NEXT: ret
%head = insertelement <vscale x 4 x double> undef, double %b, i32 0
%splat = shufflevector <vscale x 4 x double> %head, <vscale x 4 x double> undef, <vscale x 4 x i32> zeroinitializer
%head = insertelement <vscale x 4 x double> poison, double %b, i32 0
%splat = shufflevector <vscale x 4 x double> %head, <vscale x 4 x double> poison, <vscale x 4 x i32> zeroinitializer
%vc = select <vscale x 4 x i1> %cond, <vscale x 4 x double> %splat, <vscale x 4 x double> %va
ret <vscale x 4 x double> %vc
}
Expand All @@ -369,8 +369,8 @@ define <vscale x 8 x double> @vfmerge_fv_nxv8f64(<vscale x 8 x double> %va, doub
; CHECK-NEXT: vsetvli a0, zero, e64, m8, ta, mu
; CHECK-NEXT: vfmerge.vfm v8, v8, fa0, v0
; CHECK-NEXT: ret
%head = insertelement <vscale x 8 x double> undef, double %b, i32 0
%splat = shufflevector <vscale x 8 x double> %head, <vscale x 8 x double> undef, <vscale x 8 x i32> zeroinitializer
%head = insertelement <vscale x 8 x double> poison, double %b, i32 0
%splat = shufflevector <vscale x 8 x double> %head, <vscale x 8 x double> poison, <vscale x 8 x i32> zeroinitializer
%vc = select <vscale x 8 x i1> %cond, <vscale x 8 x double> %splat, <vscale x 8 x double> %va
ret <vscale x 8 x double> %vc
}
Expand All @@ -381,8 +381,8 @@ define <vscale x 8 x double> @vfmerge_zv_nxv8f64(<vscale x 8 x double> %va, <vsc
; CHECK-NEXT: vsetvli a0, zero, e64, m8, ta, mu
; CHECK-NEXT: vmerge.vim v8, v8, 0, v0
; CHECK-NEXT: ret
%head = insertelement <vscale x 8 x double> undef, double zeroinitializer, i32 0
%splat = shufflevector <vscale x 8 x double> %head, <vscale x 8 x double> undef, <vscale x 8 x i32> zeroinitializer
%head = insertelement <vscale x 8 x double> poison, double zeroinitializer, i32 0
%splat = shufflevector <vscale x 8 x double> %head, <vscale x 8 x double> poison, <vscale x 8 x i32> zeroinitializer
%vc = select <vscale x 8 x i1> %cond, <vscale x 8 x double> %splat, <vscale x 8 x double> %va
ret <vscale x 8 x double> %vc
}
Expand Down
Loading