@@ -788,11 +788,9 @@ 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
792791; CHECK-NEXT: vand.vx v8, v8, a1
793792; CHECK-NEXT: addi a1, a1, -1
794793; CHECK-NEXT: vand.vx v9, v9, a1
795- ; CHECK-NEXT: vsetivli zero, 6, e16, m1, ta, ma
796794; CHECK-NEXT: vor.vv v8, v9, v8
797795; CHECK-NEXT: vse16.v v8, (a0)
798796; CHECK-NEXT: ret
@@ -848,11 +846,9 @@ define void @copysign_v6f16(ptr %x, ptr %y) {
848846; ZVFHMIN-NEXT: vle16.v v8, (a1)
849847; ZVFHMIN-NEXT: vle16.v v9, (a0)
850848; ZVFHMIN-NEXT: lui a1, 8
851- ; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma
852849; ZVFHMIN-NEXT: vand.vx v8, v8, a1
853850; ZVFHMIN-NEXT: addi a1, a1, -1
854851; ZVFHMIN-NEXT: vand.vx v9, v9, a1
855- ; ZVFHMIN-NEXT: vsetivli zero, 6, e16, m1, ta, ma
856852; ZVFHMIN-NEXT: vor.vv v8, v9, v8
857853; ZVFHMIN-NEXT: vse16.v v8, (a0)
858854; ZVFHMIN-NEXT: ret
@@ -924,12 +920,10 @@ define void @copysign_vf_v6bf16(ptr %x, bfloat %y) {
924920; CHECK-NEXT: vsetivli zero, 6, e16, m1, ta, ma
925921; CHECK-NEXT: vle16.v v8, (a0)
926922; CHECK-NEXT: lui a2, 8
927- ; CHECK-NEXT: vsetivli zero, 8, e16, m1, ta, ma
928923; CHECK-NEXT: vmv.v.x v9, a1
929924; CHECK-NEXT: addi a1, a2, -1
930925; CHECK-NEXT: vand.vx v8, v8, a1
931926; CHECK-NEXT: vand.vx v9, v9, a2
932- ; CHECK-NEXT: vsetivli zero, 6, e16, m1, ta, ma
933927; CHECK-NEXT: vor.vv v8, v8, v9
934928; CHECK-NEXT: vse16.v v8, (a0)
935929; CHECK-NEXT: ret
@@ -986,12 +980,10 @@ define void @copysign_vf_v6f16(ptr %x, half %y) {
986980; ZVFHMIN-NEXT: vsetivli zero, 6, e16, m1, ta, ma
987981; ZVFHMIN-NEXT: vle16.v v8, (a0)
988982; ZVFHMIN-NEXT: lui a2, 8
989- ; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma
990983; ZVFHMIN-NEXT: vmv.v.x v9, a1
991984; ZVFHMIN-NEXT: addi a1, a2, -1
992985; ZVFHMIN-NEXT: vand.vx v8, v8, a1
993986; ZVFHMIN-NEXT: vand.vx v9, v9, a2
994- ; ZVFHMIN-NEXT: vsetivli zero, 6, e16, m1, ta, ma
995987; ZVFHMIN-NEXT: vor.vv v8, v8, v9
996988; ZVFHMIN-NEXT: vse16.v v8, (a0)
997989; ZVFHMIN-NEXT: ret
@@ -1065,11 +1057,9 @@ define void @copysign_neg_v6bf16(ptr %x, ptr %y) {
10651057; CHECK-NEXT: vle16.v v9, (a0)
10661058; CHECK-NEXT: lui a1, 8
10671059; CHECK-NEXT: addi a2, a1, -1
1068- ; CHECK-NEXT: vsetivli zero, 8, e16, m1, ta, ma
10691060; CHECK-NEXT: vxor.vx v8, v8, a1
10701061; CHECK-NEXT: vand.vx v9, v9, a2
10711062; CHECK-NEXT: vand.vx v8, v8, a1
1072- ; CHECK-NEXT: vsetivli zero, 6, e16, m1, ta, ma
10731063; CHECK-NEXT: vor.vv v8, v9, v8
10741064; CHECK-NEXT: vse16.v v8, (a0)
10751065; CHECK-NEXT: ret
@@ -1129,11 +1119,9 @@ define void @copysign_neg_v6f16(ptr %x, ptr %y) {
11291119; ZVFHMIN-NEXT: vle16.v v9, (a0)
11301120; ZVFHMIN-NEXT: lui a1, 8
11311121; ZVFHMIN-NEXT: addi a2, a1, -1
1132- ; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma
11331122; ZVFHMIN-NEXT: vxor.vx v8, v8, a1
11341123; ZVFHMIN-NEXT: vand.vx v9, v9, a2
11351124; ZVFHMIN-NEXT: vand.vx v8, v8, a1
1136- ; ZVFHMIN-NEXT: vsetivli zero, 6, e16, m1, ta, ma
11371125; ZVFHMIN-NEXT: vor.vv v8, v9, v8
11381126; ZVFHMIN-NEXT: vse16.v v8, (a0)
11391127; ZVFHMIN-NEXT: ret
@@ -1211,12 +1199,12 @@ define void @copysign_neg_trunc_v3bf16_v3f32(ptr %x, ptr %y) {
12111199; CHECK-NEXT: vle32.v v9, (a1)
12121200; CHECK-NEXT: lui a1, 8
12131201; CHECK-NEXT: addi a2, a1, -1
1214- ; CHECK-NEXT: vsetivli zero, 4, e16, mf2, ta, ma
12151202; CHECK-NEXT: vand.vx v8, v8, a2
1203+ ; CHECK-NEXT: vsetivli zero, 4, e16, mf2, ta, ma
12161204; CHECK-NEXT: vfncvtbf16.f.f.w v10, v9
1205+ ; CHECK-NEXT: vsetivli zero, 3, e16, mf2, ta, ma
12171206; CHECK-NEXT: vxor.vx v9, v10, a1
12181207; CHECK-NEXT: vand.vx v9, v9, a1
1219- ; CHECK-NEXT: vsetivli zero, 3, e16, mf2, ta, ma
12201208; CHECK-NEXT: vor.vv v8, v8, v9
12211209; CHECK-NEXT: vse16.v v8, (a0)
12221210; CHECK-NEXT: ret
@@ -1283,12 +1271,12 @@ define void @copysign_neg_trunc_v3f16_v3f32(ptr %x, ptr %y) {
12831271; ZVFHMIN-NEXT: vle32.v v9, (a1)
12841272; ZVFHMIN-NEXT: lui a1, 8
12851273; ZVFHMIN-NEXT: addi a2, a1, -1
1286- ; ZVFHMIN-NEXT: vsetivli zero, 4, e16, mf2, ta, ma
12871274; ZVFHMIN-NEXT: vand.vx v8, v8, a2
1275+ ; ZVFHMIN-NEXT: vsetivli zero, 4, e16, mf2, ta, ma
12881276; ZVFHMIN-NEXT: vfncvt.f.f.w v10, v9
1277+ ; ZVFHMIN-NEXT: vsetivli zero, 3, e16, mf2, ta, ma
12891278; ZVFHMIN-NEXT: vxor.vx v9, v10, a1
12901279; ZVFHMIN-NEXT: vand.vx v9, v9, a1
1291- ; ZVFHMIN-NEXT: vsetivli zero, 3, e16, mf2, ta, ma
12921280; ZVFHMIN-NEXT: vor.vv v8, v8, v9
12931281; ZVFHMIN-NEXT: vse16.v v8, (a0)
12941282; ZVFHMIN-NEXT: ret
0 commit comments