@@ -117,6 +117,7 @@ declare <vscale x 4 x bfloat> @llvm.vp.ceil.nxv4bf16(<vscale x 4 x bfloat>, <vsc
117117define <vscale x 4 x bfloat> @vp_ceil_vv_nxv4bf16 (<vscale x 4 x bfloat> %va , <vscale x 4 x i1 > %m , i32 zeroext %evl ) {
118118; CHECK-LABEL: vp_ceil_vv_nxv4bf16:
119119; CHECK: # %bb.0:
120+ ; CHECK-NEXT: vsetivli zero, 0, e32, m1, tu, mu
120121; CHECK-NEXT: vmv1r.v v9, v0
121122; CHECK-NEXT: vsetvli a1, zero, e16, m1, ta, ma
122123; CHECK-NEXT: vfwcvtbf16.f.f.v v10, v8
@@ -169,6 +170,7 @@ declare <vscale x 8 x bfloat> @llvm.vp.ceil.nxv8bf16(<vscale x 8 x bfloat>, <vsc
169170define <vscale x 8 x bfloat> @vp_ceil_vv_nxv8bf16 (<vscale x 8 x bfloat> %va , <vscale x 8 x i1 > %m , i32 zeroext %evl ) {
170171; CHECK-LABEL: vp_ceil_vv_nxv8bf16:
171172; CHECK: # %bb.0:
173+ ; CHECK-NEXT: vsetivli zero, 0, e32, m1, tu, mu
172174; CHECK-NEXT: vmv1r.v v10, v0
173175; CHECK-NEXT: vsetvli a1, zero, e16, m2, ta, ma
174176; CHECK-NEXT: vfwcvtbf16.f.f.v v12, v8
@@ -221,6 +223,7 @@ declare <vscale x 16 x bfloat> @llvm.vp.ceil.nxv16bf16(<vscale x 16 x bfloat>, <
221223define <vscale x 16 x bfloat> @vp_ceil_vv_nxv16bf16 (<vscale x 16 x bfloat> %va , <vscale x 16 x i1 > %m , i32 zeroext %evl ) {
222224; CHECK-LABEL: vp_ceil_vv_nxv16bf16:
223225; CHECK: # %bb.0:
226+ ; CHECK-NEXT: vsetivli zero, 0, e32, m1, tu, mu
224227; CHECK-NEXT: vmv1r.v v12, v0
225228; CHECK-NEXT: vsetvli a1, zero, e16, m4, ta, ma
226229; CHECK-NEXT: vfwcvtbf16.f.f.v v16, v8
@@ -279,6 +282,7 @@ define <vscale x 32 x bfloat> @vp_ceil_vv_nxv32bf16(<vscale x 32 x bfloat> %va,
279282; CHECK-NEXT: slli a1, a1, 3
280283; CHECK-NEXT: sub sp, sp, a1
281284; CHECK-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x08, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 8 * vlenb
285+ ; CHECK-NEXT: vsetivli zero, 0, e32, m1, tu, mu
282286; CHECK-NEXT: vmv1r.v v7, v0
283287; CHECK-NEXT: csrr a2, vlenb
284288; CHECK-NEXT: vsetvli a1, zero, e16, m4, ta, ma
@@ -317,6 +321,7 @@ define <vscale x 32 x bfloat> @vp_ceil_vv_nxv32bf16(<vscale x 32 x bfloat> %va,
317321; CHECK-NEXT: mv a0, a1
318322; CHECK-NEXT: .LBB10_2:
319323; CHECK-NEXT: vfwcvtbf16.f.f.v v24, v8
324+ ; CHECK-NEXT: vsetivli zero, 0, e32, m1, tu, mu
320325; CHECK-NEXT: vmv1r.v v0, v7
321326; CHECK-NEXT: vsetvli zero, a0, e32, m8, ta, ma
322327; CHECK-NEXT: vfabs.v v16, v24, v0.t
@@ -582,6 +587,7 @@ define <vscale x 4 x half> @vp_ceil_vv_nxv4f16(<vscale x 4 x half> %va, <vscale
582587;
583588; ZVFHMIN-LABEL: vp_ceil_vv_nxv4f16:
584589; ZVFHMIN: # %bb.0:
590+ ; ZVFHMIN-NEXT: vsetivli zero, 0, e32, m1, tu, mu
585591; ZVFHMIN-NEXT: vmv1r.v v9, v0
586592; ZVFHMIN-NEXT: vsetvli a1, zero, e16, m1, ta, ma
587593; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v8
@@ -649,6 +655,7 @@ declare <vscale x 8 x half> @llvm.vp.ceil.nxv8f16(<vscale x 8 x half>, <vscale x
649655define <vscale x 8 x half > @vp_ceil_vv_nxv8f16 (<vscale x 8 x half > %va , <vscale x 8 x i1 > %m , i32 zeroext %evl ) {
650656; ZVFH-LABEL: vp_ceil_vv_nxv8f16:
651657; ZVFH: # %bb.0:
658+ ; ZVFH-NEXT: vsetivli zero, 0, e32, m1, tu, mu
652659; ZVFH-NEXT: vmv1r.v v10, v0
653660; ZVFH-NEXT: lui a1, %hi(.LCPI18_0)
654661; ZVFH-NEXT: flh fa5, %lo(.LCPI18_0)(a1)
@@ -668,6 +675,7 @@ define <vscale x 8 x half> @vp_ceil_vv_nxv8f16(<vscale x 8 x half> %va, <vscale
668675;
669676; ZVFHMIN-LABEL: vp_ceil_vv_nxv8f16:
670677; ZVFHMIN: # %bb.0:
678+ ; ZVFHMIN-NEXT: vsetivli zero, 0, e32, m1, tu, mu
671679; ZVFHMIN-NEXT: vmv1r.v v10, v0
672680; ZVFHMIN-NEXT: vsetvli a1, zero, e16, m2, ta, ma
673681; ZVFHMIN-NEXT: vfwcvt.f.f.v v12, v8
@@ -735,6 +743,7 @@ declare <vscale x 16 x half> @llvm.vp.ceil.nxv16f16(<vscale x 16 x half>, <vscal
735743define <vscale x 16 x half > @vp_ceil_vv_nxv16f16 (<vscale x 16 x half > %va , <vscale x 16 x i1 > %m , i32 zeroext %evl ) {
736744; ZVFH-LABEL: vp_ceil_vv_nxv16f16:
737745; ZVFH: # %bb.0:
746+ ; ZVFH-NEXT: vsetivli zero, 0, e32, m1, tu, mu
738747; ZVFH-NEXT: vmv1r.v v12, v0
739748; ZVFH-NEXT: lui a1, %hi(.LCPI20_0)
740749; ZVFH-NEXT: flh fa5, %lo(.LCPI20_0)(a1)
@@ -754,6 +763,7 @@ define <vscale x 16 x half> @vp_ceil_vv_nxv16f16(<vscale x 16 x half> %va, <vsca
754763;
755764; ZVFHMIN-LABEL: vp_ceil_vv_nxv16f16:
756765; ZVFHMIN: # %bb.0:
766+ ; ZVFHMIN-NEXT: vsetivli zero, 0, e32, m1, tu, mu
757767; ZVFHMIN-NEXT: vmv1r.v v12, v0
758768; ZVFHMIN-NEXT: vsetvli a1, zero, e16, m4, ta, ma
759769; ZVFHMIN-NEXT: vfwcvt.f.f.v v16, v8
@@ -821,6 +831,7 @@ declare <vscale x 32 x half> @llvm.vp.ceil.nxv32f16(<vscale x 32 x half>, <vscal
821831define <vscale x 32 x half > @vp_ceil_vv_nxv32f16 (<vscale x 32 x half > %va , <vscale x 32 x i1 > %m , i32 zeroext %evl ) {
822832; ZVFH-LABEL: vp_ceil_vv_nxv32f16:
823833; ZVFH: # %bb.0:
834+ ; ZVFH-NEXT: vsetivli zero, 0, e32, m1, tu, mu
824835; ZVFH-NEXT: vmv1r.v v16, v0
825836; ZVFH-NEXT: lui a1, %hi(.LCPI22_0)
826837; ZVFH-NEXT: flh fa5, %lo(.LCPI22_0)(a1)
@@ -846,6 +857,7 @@ define <vscale x 32 x half> @vp_ceil_vv_nxv32f16(<vscale x 32 x half> %va, <vsca
846857; ZVFHMIN-NEXT: slli a1, a1, 3
847858; ZVFHMIN-NEXT: sub sp, sp, a1
848859; ZVFHMIN-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x08, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 8 * vlenb
860+ ; ZVFHMIN-NEXT: vsetivli zero, 0, e32, m1, tu, mu
849861; ZVFHMIN-NEXT: vmv1r.v v7, v0
850862; ZVFHMIN-NEXT: csrr a2, vlenb
851863; ZVFHMIN-NEXT: vsetvli a1, zero, e16, m4, ta, ma
@@ -884,6 +896,7 @@ define <vscale x 32 x half> @vp_ceil_vv_nxv32f16(<vscale x 32 x half> %va, <vsca
884896; ZVFHMIN-NEXT: mv a0, a1
885897; ZVFHMIN-NEXT: .LBB22_2:
886898; ZVFHMIN-NEXT: vfwcvt.f.f.v v24, v8
899+ ; ZVFHMIN-NEXT: vsetivli zero, 0, e32, m1, tu, mu
887900; ZVFHMIN-NEXT: vmv1r.v v0, v7
888901; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m8, ta, ma
889902; ZVFHMIN-NEXT: vfabs.v v16, v24, v0.t
@@ -1068,6 +1081,7 @@ declare <vscale x 4 x float> @llvm.vp.ceil.nxv4f32(<vscale x 4 x float>, <vscale
10681081define <vscale x 4 x float > @vp_ceil_vv_nxv4f32 (<vscale x 4 x float > %va , <vscale x 4 x i1 > %m , i32 zeroext %evl ) {
10691082; CHECK-LABEL: vp_ceil_vv_nxv4f32:
10701083; CHECK: # %bb.0:
1084+ ; CHECK-NEXT: vsetivli zero, 0, e32, m1, tu, mu
10711085; CHECK-NEXT: vmv1r.v v10, v0
10721086; CHECK-NEXT: vsetvli zero, a0, e32, m2, ta, ma
10731087; CHECK-NEXT: vfabs.v v12, v8, v0.t
@@ -1112,6 +1126,7 @@ declare <vscale x 8 x float> @llvm.vp.ceil.nxv8f32(<vscale x 8 x float>, <vscale
11121126define <vscale x 8 x float > @vp_ceil_vv_nxv8f32 (<vscale x 8 x float > %va , <vscale x 8 x i1 > %m , i32 zeroext %evl ) {
11131127; CHECK-LABEL: vp_ceil_vv_nxv8f32:
11141128; CHECK: # %bb.0:
1129+ ; CHECK-NEXT: vsetivli zero, 0, e32, m1, tu, mu
11151130; CHECK-NEXT: vmv1r.v v12, v0
11161131; CHECK-NEXT: vsetvli zero, a0, e32, m4, ta, ma
11171132; CHECK-NEXT: vfabs.v v16, v8, v0.t
@@ -1156,6 +1171,7 @@ declare <vscale x 16 x float> @llvm.vp.ceil.nxv16f32(<vscale x 16 x float>, <vsc
11561171define <vscale x 16 x float > @vp_ceil_vv_nxv16f32 (<vscale x 16 x float > %va , <vscale x 16 x i1 > %m , i32 zeroext %evl ) {
11571172; CHECK-LABEL: vp_ceil_vv_nxv16f32:
11581173; CHECK: # %bb.0:
1174+ ; CHECK-NEXT: vsetivli zero, 0, e32, m1, tu, mu
11591175; CHECK-NEXT: vmv1r.v v16, v0
11601176; CHECK-NEXT: vsetvli zero, a0, e32, m8, ta, ma
11611177; CHECK-NEXT: vfabs.v v24, v8, v0.t
@@ -1242,6 +1258,7 @@ declare <vscale x 2 x double> @llvm.vp.ceil.nxv2f64(<vscale x 2 x double>, <vsca
12421258define <vscale x 2 x double > @vp_ceil_vv_nxv2f64 (<vscale x 2 x double > %va , <vscale x 2 x i1 > %m , i32 zeroext %evl ) {
12431259; CHECK-LABEL: vp_ceil_vv_nxv2f64:
12441260; CHECK: # %bb.0:
1261+ ; CHECK-NEXT: vsetivli zero, 0, e32, m1, tu, mu
12451262; CHECK-NEXT: vmv1r.v v10, v0
12461263; CHECK-NEXT: lui a1, %hi(.LCPI36_0)
12471264; CHECK-NEXT: fld fa5, %lo(.LCPI36_0)(a1)
@@ -1286,6 +1303,7 @@ declare <vscale x 4 x double> @llvm.vp.ceil.nxv4f64(<vscale x 4 x double>, <vsca
12861303define <vscale x 4 x double > @vp_ceil_vv_nxv4f64 (<vscale x 4 x double > %va , <vscale x 4 x i1 > %m , i32 zeroext %evl ) {
12871304; CHECK-LABEL: vp_ceil_vv_nxv4f64:
12881305; CHECK: # %bb.0:
1306+ ; CHECK-NEXT: vsetivli zero, 0, e32, m1, tu, mu
12891307; CHECK-NEXT: vmv1r.v v12, v0
12901308; CHECK-NEXT: lui a1, %hi(.LCPI38_0)
12911309; CHECK-NEXT: fld fa5, %lo(.LCPI38_0)(a1)
@@ -1330,6 +1348,7 @@ declare <vscale x 7 x double> @llvm.vp.ceil.nxv7f64(<vscale x 7 x double>, <vsca
13301348define <vscale x 7 x double > @vp_ceil_vv_nxv7f64 (<vscale x 7 x double > %va , <vscale x 7 x i1 > %m , i32 zeroext %evl ) {
13311349; CHECK-LABEL: vp_ceil_vv_nxv7f64:
13321350; CHECK: # %bb.0:
1351+ ; CHECK-NEXT: vsetivli zero, 0, e32, m1, tu, mu
13331352; CHECK-NEXT: vmv1r.v v16, v0
13341353; CHECK-NEXT: lui a1, %hi(.LCPI40_0)
13351354; CHECK-NEXT: fld fa5, %lo(.LCPI40_0)(a1)
@@ -1374,6 +1393,7 @@ declare <vscale x 8 x double> @llvm.vp.ceil.nxv8f64(<vscale x 8 x double>, <vsca
13741393define <vscale x 8 x double > @vp_ceil_vv_nxv8f64 (<vscale x 8 x double > %va , <vscale x 8 x i1 > %m , i32 zeroext %evl ) {
13751394; CHECK-LABEL: vp_ceil_vv_nxv8f64:
13761395; CHECK: # %bb.0:
1396+ ; CHECK-NEXT: vsetivli zero, 0, e32, m1, tu, mu
13771397; CHECK-NEXT: vmv1r.v v16, v0
13781398; CHECK-NEXT: lui a1, %hi(.LCPI42_0)
13791399; CHECK-NEXT: fld fa5, %lo(.LCPI42_0)(a1)
@@ -1425,6 +1445,7 @@ define <vscale x 16 x double> @vp_ceil_vv_nxv16f64(<vscale x 16 x double> %va, <
14251445; CHECK-NEXT: slli a1, a1, 3
14261446; CHECK-NEXT: sub sp, sp, a1
14271447; CHECK-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x08, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 8 * vlenb
1448+ ; CHECK-NEXT: vsetivli zero, 0, e32, m1, tu, mu
14281449; CHECK-NEXT: vmv1r.v v7, v0
14291450; CHECK-NEXT: csrr a1, vlenb
14301451; CHECK-NEXT: lui a2, %hi(.LCPI44_0)
@@ -1458,6 +1479,7 @@ define <vscale x 16 x double> @vp_ceil_vv_nxv16f64(<vscale x 16 x double> %va, <
14581479; CHECK-NEXT: # %bb.1:
14591480; CHECK-NEXT: mv a0, a1
14601481; CHECK-NEXT: .LBB44_2:
1482+ ; CHECK-NEXT: vsetivli zero, 0, e32, m1, tu, mu
14611483; CHECK-NEXT: vmv1r.v v0, v7
14621484; CHECK-NEXT: vsetvli zero, a0, e64, m8, ta, ma
14631485; CHECK-NEXT: vfabs.v v16, v8, v0.t
0 commit comments