Expand Up
@@ -9,7 +9,7 @@ declare <2 x i8> @llvm.vp.load.v2i8.p0v2i8(<2 x i8>*, <2 x i1>, i32)
define <2 x i8 > @vpload_v2i8 (<2 x i8 >* %ptr , <2 x i1 > %m , i32 zeroext %evl ) {
; CHECK-LABEL: vpload_v2i8:
; CHECK: # %bb.0:
; CHECK-NEXT: vsetvli zero, a1, e8, mf8, ta, mu
; CHECK-NEXT: vsetvli zero, a1, e8, mf8, ta, ma
; CHECK-NEXT: vle8.v v8, (a0), v0.t
; CHECK-NEXT: ret
%load = call <2 x i8 > @llvm.vp.load.v2i8.p0v2i8 (<2 x i8 >* %ptr , <2 x i1 > %m , i32 %evl )
Expand All
@@ -21,7 +21,7 @@ declare <3 x i8> @llvm.vp.load.v3i8.p0v3i8(<3 x i8>*, <3 x i1>, i32)
define <3 x i8 > @vpload_v3i8 (<3 x i8 >* %ptr , <3 x i1 > %m , i32 zeroext %evl ) {
; CHECK-LABEL: vpload_v3i8:
; CHECK: # %bb.0:
; CHECK-NEXT: vsetvli zero, a1, e8, mf4, ta, mu
; CHECK-NEXT: vsetvli zero, a1, e8, mf4, ta, ma
; CHECK-NEXT: vle8.v v8, (a0), v0.t
; CHECK-NEXT: ret
%load = call <3 x i8 > @llvm.vp.load.v3i8.p0v3i8 (<3 x i8 >* %ptr , <3 x i1 > %m , i32 %evl )
Expand All
@@ -33,7 +33,7 @@ declare <4 x i8> @llvm.vp.load.v4i8.p0v4i8(<4 x i8>*, <4 x i1>, i32)
define <4 x i8 > @vpload_v4i8 (<4 x i8 >* %ptr , <4 x i1 > %m , i32 zeroext %evl ) {
; CHECK-LABEL: vpload_v4i8:
; CHECK: # %bb.0:
; CHECK-NEXT: vsetvli zero, a1, e8, mf4, ta, mu
; CHECK-NEXT: vsetvli zero, a1, e8, mf4, ta, ma
; CHECK-NEXT: vle8.v v8, (a0), v0.t
; CHECK-NEXT: ret
%load = call <4 x i8 > @llvm.vp.load.v4i8.p0v4i8 (<4 x i8 >* %ptr , <4 x i1 > %m , i32 %evl )
Expand All
@@ -57,7 +57,7 @@ declare <8 x i8> @llvm.vp.load.v8i8.p0v8i8(<8 x i8>*, <8 x i1>, i32)
define <8 x i8 > @vpload_v8i8 (<8 x i8 >* %ptr , <8 x i1 > %m , i32 zeroext %evl ) {
; CHECK-LABEL: vpload_v8i8:
; CHECK: # %bb.0:
; CHECK-NEXT: vsetvli zero, a1, e8, mf2, ta, mu
; CHECK-NEXT: vsetvli zero, a1, e8, mf2, ta, ma
; CHECK-NEXT: vle8.v v8, (a0), v0.t
; CHECK-NEXT: ret
%load = call <8 x i8 > @llvm.vp.load.v8i8.p0v8i8 (<8 x i8 >* %ptr , <8 x i1 > %m , i32 %evl )
Expand All
@@ -69,7 +69,7 @@ declare <2 x i16> @llvm.vp.load.v2i16.p0v2i16(<2 x i16>*, <2 x i1>, i32)
define <2 x i16 > @vpload_v2i16 (<2 x i16 >* %ptr , <2 x i1 > %m , i32 zeroext %evl ) {
; CHECK-LABEL: vpload_v2i16:
; CHECK: # %bb.0:
; CHECK-NEXT: vsetvli zero, a1, e16, mf4, ta, mu
; CHECK-NEXT: vsetvli zero, a1, e16, mf4, ta, ma
; CHECK-NEXT: vle16.v v8, (a0), v0.t
; CHECK-NEXT: ret
%load = call <2 x i16 > @llvm.vp.load.v2i16.p0v2i16 (<2 x i16 >* %ptr , <2 x i1 > %m , i32 %evl )
Expand All
@@ -81,7 +81,7 @@ declare <4 x i16> @llvm.vp.load.v4i16.p0v4i16(<4 x i16>*, <4 x i1>, i32)
define <4 x i16 > @vpload_v4i16 (<4 x i16 >* %ptr , <4 x i1 > %m , i32 zeroext %evl ) {
; CHECK-LABEL: vpload_v4i16:
; CHECK: # %bb.0:
; CHECK-NEXT: vsetvli zero, a1, e16, mf2, ta, mu
; CHECK-NEXT: vsetvli zero, a1, e16, mf2, ta, ma
; CHECK-NEXT: vle16.v v8, (a0), v0.t
; CHECK-NEXT: ret
%load = call <4 x i16 > @llvm.vp.load.v4i16.p0v4i16 (<4 x i16 >* %ptr , <4 x i1 > %m , i32 %evl )
Expand All
@@ -93,7 +93,7 @@ declare <8 x i16> @llvm.vp.load.v8i16.p0v8i16(<8 x i16>*, <8 x i1>, i32)
define <8 x i16 > @vpload_v8i16 (<8 x i16 >* %ptr , <8 x i1 > %m , i32 zeroext %evl ) {
; CHECK-LABEL: vpload_v8i16:
; CHECK: # %bb.0:
; CHECK-NEXT: vsetvli zero, a1, e16, m1, ta, mu
; CHECK-NEXT: vsetvli zero, a1, e16, m1, ta, ma
; CHECK-NEXT: vle16.v v8, (a0), v0.t
; CHECK-NEXT: ret
%load = call <8 x i16 > @llvm.vp.load.v8i16.p0v8i16 (<8 x i16 >* %ptr , <8 x i1 > %m , i32 %evl )
Expand All
@@ -117,7 +117,7 @@ declare <2 x i32> @llvm.vp.load.v2i32.p0v2i32(<2 x i32>*, <2 x i1>, i32)
define <2 x i32 > @vpload_v2i32 (<2 x i32 >* %ptr , <2 x i1 > %m , i32 zeroext %evl ) {
; CHECK-LABEL: vpload_v2i32:
; CHECK: # %bb.0:
; CHECK-NEXT: vsetvli zero, a1, e32, mf2, ta, mu
; CHECK-NEXT: vsetvli zero, a1, e32, mf2, ta, ma
; CHECK-NEXT: vle32.v v8, (a0), v0.t
; CHECK-NEXT: ret
%load = call <2 x i32 > @llvm.vp.load.v2i32.p0v2i32 (<2 x i32 >* %ptr , <2 x i1 > %m , i32 %evl )
Expand All
@@ -129,7 +129,7 @@ declare <4 x i32> @llvm.vp.load.v4i32.p0v4i32(<4 x i32>*, <4 x i1>, i32)
define <4 x i32 > @vpload_v4i32 (<4 x i32 >* %ptr , <4 x i1 > %m , i32 zeroext %evl ) {
; CHECK-LABEL: vpload_v4i32:
; CHECK: # %bb.0:
; CHECK-NEXT: vsetvli zero, a1, e32, m1, ta, mu
; CHECK-NEXT: vsetvli zero, a1, e32, m1, ta, ma
; CHECK-NEXT: vle32.v v8, (a0), v0.t
; CHECK-NEXT: ret
%load = call <4 x i32 > @llvm.vp.load.v4i32.p0v4i32 (<4 x i32 >* %ptr , <4 x i1 > %m , i32 %evl )
Expand All
@@ -141,7 +141,7 @@ declare <6 x i32> @llvm.vp.load.v6i32.p0v6i32(<6 x i32>*, <6 x i1>, i32)
define <6 x i32 > @vpload_v6i32 (<6 x i32 >* %ptr , <6 x i1 > %m , i32 zeroext %evl ) {
; CHECK-LABEL: vpload_v6i32:
; CHECK: # %bb.0:
; CHECK-NEXT: vsetvli zero, a1, e32, m2, ta, mu
; CHECK-NEXT: vsetvli zero, a1, e32, m2, ta, ma
; CHECK-NEXT: vle32.v v8, (a0), v0.t
; CHECK-NEXT: ret
%load = call <6 x i32 > @llvm.vp.load.v6i32.p0v6i32 (<6 x i32 >* %ptr , <6 x i1 > %m , i32 %evl )
Expand All
@@ -165,7 +165,7 @@ declare <8 x i32> @llvm.vp.load.v8i32.p0v8i32(<8 x i32>*, <8 x i1>, i32)
define <8 x i32 > @vpload_v8i32 (<8 x i32 >* %ptr , <8 x i1 > %m , i32 zeroext %evl ) {
; CHECK-LABEL: vpload_v8i32:
; CHECK: # %bb.0:
; CHECK-NEXT: vsetvli zero, a1, e32, m2, ta, mu
; CHECK-NEXT: vsetvli zero, a1, e32, m2, ta, ma
; CHECK-NEXT: vle32.v v8, (a0), v0.t
; CHECK-NEXT: ret
%load = call <8 x i32 > @llvm.vp.load.v8i32.p0v8i32 (<8 x i32 >* %ptr , <8 x i1 > %m , i32 %evl )
Expand All
@@ -189,7 +189,7 @@ declare <2 x i64> @llvm.vp.load.v2i64.p0v2i64(<2 x i64>*, <2 x i1>, i32)
define <2 x i64 > @vpload_v2i64 (<2 x i64 >* %ptr , <2 x i1 > %m , i32 zeroext %evl ) {
; CHECK-LABEL: vpload_v2i64:
; CHECK: # %bb.0:
; CHECK-NEXT: vsetvli zero, a1, e64, m1, ta, mu
; CHECK-NEXT: vsetvli zero, a1, e64, m1, ta, ma
; CHECK-NEXT: vle64.v v8, (a0), v0.t
; CHECK-NEXT: ret
%load = call <2 x i64 > @llvm.vp.load.v2i64.p0v2i64 (<2 x i64 >* %ptr , <2 x i1 > %m , i32 %evl )
Expand All
@@ -201,7 +201,7 @@ declare <4 x i64> @llvm.vp.load.v4i64.p0v4i64(<4 x i64>*, <4 x i1>, i32)
define <4 x i64 > @vpload_v4i64 (<4 x i64 >* %ptr , <4 x i1 > %m , i32 zeroext %evl ) {
; CHECK-LABEL: vpload_v4i64:
; CHECK: # %bb.0:
; CHECK-NEXT: vsetvli zero, a1, e64, m2, ta, mu
; CHECK-NEXT: vsetvli zero, a1, e64, m2, ta, ma
; CHECK-NEXT: vle64.v v8, (a0), v0.t
; CHECK-NEXT: ret
%load = call <4 x i64 > @llvm.vp.load.v4i64.p0v4i64 (<4 x i64 >* %ptr , <4 x i1 > %m , i32 %evl )
Expand All
@@ -225,7 +225,7 @@ declare <8 x i64> @llvm.vp.load.v8i64.p0v8i64(<8 x i64>*, <8 x i1>, i32)
define <8 x i64 > @vpload_v8i64 (<8 x i64 >* %ptr , <8 x i1 > %m , i32 zeroext %evl ) {
; CHECK-LABEL: vpload_v8i64:
; CHECK: # %bb.0:
; CHECK-NEXT: vsetvli zero, a1, e64, m4, ta, mu
; CHECK-NEXT: vsetvli zero, a1, e64, m4, ta, ma
; CHECK-NEXT: vle64.v v8, (a0), v0.t
; CHECK-NEXT: ret
%load = call <8 x i64 > @llvm.vp.load.v8i64.p0v8i64 (<8 x i64 >* %ptr , <8 x i1 > %m , i32 %evl )
Expand All
@@ -237,7 +237,7 @@ declare <2 x half> @llvm.vp.load.v2f16.p0v2f16(<2 x half>*, <2 x i1>, i32)
define <2 x half > @vpload_v2f16 (<2 x half >* %ptr , <2 x i1 > %m , i32 zeroext %evl ) {
; CHECK-LABEL: vpload_v2f16:
; CHECK: # %bb.0:
; CHECK-NEXT: vsetvli zero, a1, e16, mf4, ta, mu
; CHECK-NEXT: vsetvli zero, a1, e16, mf4, ta, ma
; CHECK-NEXT: vle16.v v8, (a0), v0.t
; CHECK-NEXT: ret
%load = call <2 x half > @llvm.vp.load.v2f16.p0v2f16 (<2 x half >* %ptr , <2 x i1 > %m , i32 %evl )
Expand All
@@ -261,7 +261,7 @@ declare <4 x half> @llvm.vp.load.v4f16.p0v4f16(<4 x half>*, <4 x i1>, i32)
define <4 x half > @vpload_v4f16 (<4 x half >* %ptr , <4 x i1 > %m , i32 zeroext %evl ) {
; CHECK-LABEL: vpload_v4f16:
; CHECK: # %bb.0:
; CHECK-NEXT: vsetvli zero, a1, e16, mf2, ta, mu
; CHECK-NEXT: vsetvli zero, a1, e16, mf2, ta, ma
; CHECK-NEXT: vle16.v v8, (a0), v0.t
; CHECK-NEXT: ret
%load = call <4 x half > @llvm.vp.load.v4f16.p0v4f16 (<4 x half >* %ptr , <4 x i1 > %m , i32 %evl )
Expand All
@@ -273,7 +273,7 @@ declare <8 x half> @llvm.vp.load.v8f16.p0v8f16(<8 x half>*, <8 x i1>, i32)
define <8 x half > @vpload_v8f16 (<8 x half >* %ptr , <8 x i1 > %m , i32 zeroext %evl ) {
; CHECK-LABEL: vpload_v8f16:
; CHECK: # %bb.0:
; CHECK-NEXT: vsetvli zero, a1, e16, m1, ta, mu
; CHECK-NEXT: vsetvli zero, a1, e16, m1, ta, ma
; CHECK-NEXT: vle16.v v8, (a0), v0.t
; CHECK-NEXT: ret
%load = call <8 x half > @llvm.vp.load.v8f16.p0v8f16 (<8 x half >* %ptr , <8 x i1 > %m , i32 %evl )
Expand All
@@ -285,7 +285,7 @@ declare <2 x float> @llvm.vp.load.v2f32.p0v2f32(<2 x float>*, <2 x i1>, i32)
define <2 x float > @vpload_v2f32 (<2 x float >* %ptr , <2 x i1 > %m , i32 zeroext %evl ) {
; CHECK-LABEL: vpload_v2f32:
; CHECK: # %bb.0:
; CHECK-NEXT: vsetvli zero, a1, e32, mf2, ta, mu
; CHECK-NEXT: vsetvli zero, a1, e32, mf2, ta, ma
; CHECK-NEXT: vle32.v v8, (a0), v0.t
; CHECK-NEXT: ret
%load = call <2 x float > @llvm.vp.load.v2f32.p0v2f32 (<2 x float >* %ptr , <2 x i1 > %m , i32 %evl )
Expand All
@@ -297,7 +297,7 @@ declare <4 x float> @llvm.vp.load.v4f32.p0v4f32(<4 x float>*, <4 x i1>, i32)
define <4 x float > @vpload_v4f32 (<4 x float >* %ptr , <4 x i1 > %m , i32 zeroext %evl ) {
; CHECK-LABEL: vpload_v4f32:
; CHECK: # %bb.0:
; CHECK-NEXT: vsetvli zero, a1, e32, m1, ta, mu
; CHECK-NEXT: vsetvli zero, a1, e32, m1, ta, ma
; CHECK-NEXT: vle32.v v8, (a0), v0.t
; CHECK-NEXT: ret
%load = call <4 x float > @llvm.vp.load.v4f32.p0v4f32 (<4 x float >* %ptr , <4 x i1 > %m , i32 %evl )
Expand All
@@ -309,7 +309,7 @@ declare <8 x float> @llvm.vp.load.v8f32.p0v8f32(<8 x float>*, <8 x i1>, i32)
define <8 x float > @vpload_v8f32 (<8 x float >* %ptr , <8 x i1 > %m , i32 zeroext %evl ) {
; CHECK-LABEL: vpload_v8f32:
; CHECK: # %bb.0:
; CHECK-NEXT: vsetvli zero, a1, e32, m2, ta, mu
; CHECK-NEXT: vsetvli zero, a1, e32, m2, ta, ma
; CHECK-NEXT: vle32.v v8, (a0), v0.t
; CHECK-NEXT: ret
%load = call <8 x float > @llvm.vp.load.v8f32.p0v8f32 (<8 x float >* %ptr , <8 x i1 > %m , i32 %evl )
Expand All
@@ -333,7 +333,7 @@ declare <2 x double> @llvm.vp.load.v2f64.p0v2f64(<2 x double>*, <2 x i1>, i32)
define <2 x double > @vpload_v2f64 (<2 x double >* %ptr , <2 x i1 > %m , i32 zeroext %evl ) {
; CHECK-LABEL: vpload_v2f64:
; CHECK: # %bb.0:
; CHECK-NEXT: vsetvli zero, a1, e64, m1, ta, mu
; CHECK-NEXT: vsetvli zero, a1, e64, m1, ta, ma
; CHECK-NEXT: vle64.v v8, (a0), v0.t
; CHECK-NEXT: ret
%load = call <2 x double > @llvm.vp.load.v2f64.p0v2f64 (<2 x double >* %ptr , <2 x i1 > %m , i32 %evl )
Expand All
@@ -345,7 +345,7 @@ declare <4 x double> @llvm.vp.load.v4f64.p0v4f64(<4 x double>*, <4 x i1>, i32)
define <4 x double > @vpload_v4f64 (<4 x double >* %ptr , <4 x i1 > %m , i32 zeroext %evl ) {
; CHECK-LABEL: vpload_v4f64:
; CHECK: # %bb.0:
; CHECK-NEXT: vsetvli zero, a1, e64, m2, ta, mu
; CHECK-NEXT: vsetvli zero, a1, e64, m2, ta, ma
; CHECK-NEXT: vle64.v v8, (a0), v0.t
; CHECK-NEXT: ret
%load = call <4 x double > @llvm.vp.load.v4f64.p0v4f64 (<4 x double >* %ptr , <4 x i1 > %m , i32 %evl )
Expand All
@@ -369,7 +369,7 @@ declare <8 x double> @llvm.vp.load.v8f64.p0v8f64(<8 x double>*, <8 x i1>, i32)
define <8 x double > @vpload_v8f64 (<8 x double >* %ptr , <8 x i1 > %m , i32 zeroext %evl ) {
; CHECK-LABEL: vpload_v8f64:
; CHECK: # %bb.0:
; CHECK-NEXT: vsetvli zero, a1, e64, m4, ta, mu
; CHECK-NEXT: vsetvli zero, a1, e64, m4, ta, ma
; CHECK-NEXT: vle64.v v8, (a0), v0.t
; CHECK-NEXT: ret
%load = call <8 x double > @llvm.vp.load.v8f64.p0v8f64 (<8 x double >* %ptr , <8 x i1 > %m , i32 %evl )
Expand All
@@ -391,14 +391,14 @@ define <32 x double> @vpload_v32f64(<32 x double>* %ptr, <32 x i1> %m, i32 zeroe
; CHECK-NEXT: vsetivli zero, 2, e8, mf4, ta, ma
; CHECK-NEXT: vslidedown.vi v0, v8, 2
; CHECK-NEXT: addi a3, a0, 128
; CHECK-NEXT: vsetvli zero, a2, e64, m8, ta, mu
; CHECK-NEXT: vsetvli zero, a2, e64, m8, ta, ma
; CHECK-NEXT: vle64.v v16, (a3), v0.t
; CHECK-NEXT: li a2, 16
; CHECK-NEXT: bltu a1, a2, .LBB31_4
; CHECK-NEXT: # %bb.3:
; CHECK-NEXT: li a1, 16
; CHECK-NEXT: .LBB31_4:
; CHECK-NEXT: vsetvli zero, a1, e64, m8, ta, mu
; CHECK-NEXT: vsetvli zero, a1, e64, m8, ta, ma
; CHECK-NEXT: vmv1r.v v0, v8
; CHECK-NEXT: vle64.v v8, (a0), v0.t
; CHECK-NEXT: ret
Expand Down
Expand Up
@@ -429,7 +429,7 @@ define <33 x double> @vpload_v33f64(<33 x double>* %ptr, <33 x i1> %m, i32 zeroe
; CHECK-NEXT: vsetivli zero, 2, e8, mf4, ta, ma
; CHECK-NEXT: vslidedown.vi v0, v8, 2
; CHECK-NEXT: addi a5, a1, 128
; CHECK-NEXT: vsetvli zero, a4, e64, m8, ta, mu
; CHECK-NEXT: vsetvli zero, a4, e64, m8, ta, ma
; CHECK-NEXT: vle64.v v16, (a5), v0.t
; CHECK-NEXT: addi a5, a2, -32
; CHECK-NEXT: li a4, 0
Expand All
@@ -445,13 +445,13 @@ define <33 x double> @vpload_v33f64(<33 x double>* %ptr, <33 x i1> %m, i32 zeroe
; CHECK-NEXT: vsetivli zero, 4, e8, mf2, ta, ma
; CHECK-NEXT: vslidedown.vi v0, v8, 4
; CHECK-NEXT: addi a5, a1, 256
; CHECK-NEXT: vsetvli zero, a4, e64, m8, ta, mu
; CHECK-NEXT: vsetvli zero, a4, e64, m8, ta, ma
; CHECK-NEXT: vle64.v v24, (a5), v0.t
; CHECK-NEXT: bltu a3, a2, .LBB32_10
; CHECK-NEXT: # %bb.9:
; CHECK-NEXT: li a3, 16
; CHECK-NEXT: .LBB32_10:
; CHECK-NEXT: vsetvli zero, a3, e64, m8, ta, mu
; CHECK-NEXT: vsetvli zero, a3, e64, m8, ta, ma
; CHECK-NEXT: vmv1r.v v0, v8
; CHECK-NEXT: vle64.v v8, (a1), v0.t
; CHECK-NEXT: vsetivli zero, 16, e64, m8, ta, ma
Expand Down