@@ -788,9 +788,11 @@ define void @copysign_v6bf16(ptr %x, ptr %y) {
788788; CHECK-NEXT: vle16.v v8, (a1)
789789; CHECK-NEXT: vle16.v v9, (a0)
790790; CHECK-NEXT: lui a1, 8
791+ ; CHECK-NEXT: vsetivli zero, 8, e16, m1, ta, ma
791792; CHECK-NEXT: vand.vx v8, v8, a1
792793; CHECK-NEXT: addi a1, a1, -1
793794; CHECK-NEXT: vand.vx v9, v9, a1
795+ ; CHECK-NEXT: vsetivli zero, 6, e16, m1, ta, ma
794796; CHECK-NEXT: vor.vv v8, v9, v8
795797; CHECK-NEXT: vse16.v v8, (a0)
796798; CHECK-NEXT: ret
@@ -846,9 +848,11 @@ define void @copysign_v6f16(ptr %x, ptr %y) {
846848; ZVFHMIN-NEXT: vle16.v v8, (a1)
847849; ZVFHMIN-NEXT: vle16.v v9, (a0)
848850; ZVFHMIN-NEXT: lui a1, 8
851+ ; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma
849852; ZVFHMIN-NEXT: vand.vx v8, v8, a1
850853; ZVFHMIN-NEXT: addi a1, a1, -1
851854; ZVFHMIN-NEXT: vand.vx v9, v9, a1
855+ ; ZVFHMIN-NEXT: vsetivli zero, 6, e16, m1, ta, ma
852856; ZVFHMIN-NEXT: vor.vv v8, v9, v8
853857; ZVFHMIN-NEXT: vse16.v v8, (a0)
854858; ZVFHMIN-NEXT: ret
@@ -920,10 +924,12 @@ define void @copysign_vf_v6bf16(ptr %x, bfloat %y) {
920924; CHECK-NEXT: vsetivli zero, 6, e16, m1, ta, ma
921925; CHECK-NEXT: vle16.v v8, (a0)
922926; CHECK-NEXT: lui a2, 8
927+ ; CHECK-NEXT: vsetivli zero, 8, e16, m1, ta, ma
923928; CHECK-NEXT: vmv.v.x v9, a1
924929; CHECK-NEXT: addi a1, a2, -1
925930; CHECK-NEXT: vand.vx v8, v8, a1
926931; CHECK-NEXT: vand.vx v9, v9, a2
932+ ; CHECK-NEXT: vsetivli zero, 6, e16, m1, ta, ma
927933; CHECK-NEXT: vor.vv v8, v8, v9
928934; CHECK-NEXT: vse16.v v8, (a0)
929935; CHECK-NEXT: ret
@@ -980,10 +986,12 @@ define void @copysign_vf_v6f16(ptr %x, half %y) {
980986; ZVFHMIN-NEXT: vsetivli zero, 6, e16, m1, ta, ma
981987; ZVFHMIN-NEXT: vle16.v v8, (a0)
982988; ZVFHMIN-NEXT: lui a2, 8
989+ ; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma
983990; ZVFHMIN-NEXT: vmv.v.x v9, a1
984991; ZVFHMIN-NEXT: addi a1, a2, -1
985992; ZVFHMIN-NEXT: vand.vx v8, v8, a1
986993; ZVFHMIN-NEXT: vand.vx v9, v9, a2
994+ ; ZVFHMIN-NEXT: vsetivli zero, 6, e16, m1, ta, ma
987995; ZVFHMIN-NEXT: vor.vv v8, v8, v9
988996; ZVFHMIN-NEXT: vse16.v v8, (a0)
989997; ZVFHMIN-NEXT: ret
@@ -1057,9 +1065,11 @@ define void @copysign_neg_v6bf16(ptr %x, ptr %y) {
10571065; CHECK-NEXT: vle16.v v9, (a0)
10581066; CHECK-NEXT: lui a1, 8
10591067; CHECK-NEXT: addi a2, a1, -1
1068+ ; CHECK-NEXT: vsetivli zero, 8, e16, m1, ta, ma
10601069; CHECK-NEXT: vxor.vx v8, v8, a1
10611070; CHECK-NEXT: vand.vx v9, v9, a2
10621071; CHECK-NEXT: vand.vx v8, v8, a1
1072+ ; CHECK-NEXT: vsetivli zero, 6, e16, m1, ta, ma
10631073; CHECK-NEXT: vor.vv v8, v9, v8
10641074; CHECK-NEXT: vse16.v v8, (a0)
10651075; CHECK-NEXT: ret
@@ -1119,9 +1129,11 @@ define void @copysign_neg_v6f16(ptr %x, ptr %y) {
11191129; ZVFHMIN-NEXT: vle16.v v9, (a0)
11201130; ZVFHMIN-NEXT: lui a1, 8
11211131; ZVFHMIN-NEXT: addi a2, a1, -1
1132+ ; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma
11221133; ZVFHMIN-NEXT: vxor.vx v8, v8, a1
11231134; ZVFHMIN-NEXT: vand.vx v9, v9, a2
11241135; ZVFHMIN-NEXT: vand.vx v8, v8, a1
1136+ ; ZVFHMIN-NEXT: vsetivli zero, 6, e16, m1, ta, ma
11251137; ZVFHMIN-NEXT: vor.vv v8, v9, v8
11261138; ZVFHMIN-NEXT: vse16.v v8, (a0)
11271139; ZVFHMIN-NEXT: ret
@@ -1199,12 +1211,12 @@ define void @copysign_neg_trunc_v3bf16_v3f32(ptr %x, ptr %y) {
11991211; CHECK-NEXT: vle32.v v9, (a1)
12001212; CHECK-NEXT: lui a1, 8
12011213; CHECK-NEXT: addi a2, a1, -1
1202- ; CHECK-NEXT: vand.vx v8, v8, a2
12031214; CHECK-NEXT: vsetivli zero, 4, e16, mf2, ta, ma
1215+ ; CHECK-NEXT: vand.vx v8, v8, a2
12041216; CHECK-NEXT: vfncvtbf16.f.f.w v10, v9
1205- ; CHECK-NEXT: vsetivli zero, 3, e16, mf2, ta, ma
12061217; CHECK-NEXT: vxor.vx v9, v10, a1
12071218; CHECK-NEXT: vand.vx v9, v9, a1
1219+ ; CHECK-NEXT: vsetivli zero, 3, e16, mf2, ta, ma
12081220; CHECK-NEXT: vor.vv v8, v8, v9
12091221; CHECK-NEXT: vse16.v v8, (a0)
12101222; CHECK-NEXT: ret
@@ -1271,12 +1283,12 @@ define void @copysign_neg_trunc_v3f16_v3f32(ptr %x, ptr %y) {
12711283; ZVFHMIN-NEXT: vle32.v v9, (a1)
12721284; ZVFHMIN-NEXT: lui a1, 8
12731285; ZVFHMIN-NEXT: addi a2, a1, -1
1274- ; ZVFHMIN-NEXT: vand.vx v8, v8, a2
12751286; ZVFHMIN-NEXT: vsetivli zero, 4, e16, mf2, ta, ma
1287+ ; ZVFHMIN-NEXT: vand.vx v8, v8, a2
12761288; ZVFHMIN-NEXT: vfncvt.f.f.w v10, v9
1277- ; ZVFHMIN-NEXT: vsetivli zero, 3, e16, mf2, ta, ma
12781289; ZVFHMIN-NEXT: vxor.vx v9, v10, a1
12791290; ZVFHMIN-NEXT: vand.vx v9, v9, a1
1291+ ; ZVFHMIN-NEXT: vsetivli zero, 3, e16, mf2, ta, ma
12801292; ZVFHMIN-NEXT: vor.vv v8, v8, v9
12811293; ZVFHMIN-NEXT: vse16.v v8, (a0)
12821294; ZVFHMIN-NEXT: ret
0 commit comments