@@ -780,9 +780,11 @@ define void @copysign_v6bf16(ptr %x, ptr %y) {
780780; CHECK-NEXT: vle16.v v8, (a1)
781781; CHECK-NEXT: vle16.v v9, (a0)
782782; CHECK-NEXT: lui a1, 8
783+ ; CHECK-NEXT: vsetivli zero, 8, e16, m1, ta, ma
783784; CHECK-NEXT: vand.vx v8, v8, a1
784785; CHECK-NEXT: addi a1, a1, -1
785786; CHECK-NEXT: vand.vx v9, v9, a1
787+ ; CHECK-NEXT: vsetivli zero, 6, e16, m1, ta, ma
786788; CHECK-NEXT: vor.vv v8, v9, v8
787789; CHECK-NEXT: vse16.v v8, (a0)
788790; CHECK-NEXT: ret
@@ -838,9 +840,11 @@ define void @copysign_v6f16(ptr %x, ptr %y) {
838840; ZVFHMIN-NEXT: vle16.v v8, (a1)
839841; ZVFHMIN-NEXT: vle16.v v9, (a0)
840842; ZVFHMIN-NEXT: lui a1, 8
843+ ; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma
841844; ZVFHMIN-NEXT: vand.vx v8, v8, a1
842845; ZVFHMIN-NEXT: addi a1, a1, -1
843846; ZVFHMIN-NEXT: vand.vx v9, v9, a1
847+ ; ZVFHMIN-NEXT: vsetivli zero, 6, e16, m1, ta, ma
844848; ZVFHMIN-NEXT: vor.vv v8, v9, v8
845849; ZVFHMIN-NEXT: vse16.v v8, (a0)
846850; ZVFHMIN-NEXT: ret
@@ -912,10 +916,12 @@ define void @copysign_vf_v6bf16(ptr %x, bfloat %y) {
912916; CHECK-NEXT: vsetivli zero, 6, e16, m1, ta, ma
913917; CHECK-NEXT: vle16.v v8, (a0)
914918; CHECK-NEXT: lui a2, 8
919+ ; CHECK-NEXT: vsetivli zero, 8, e16, m1, ta, ma
915920; CHECK-NEXT: vmv.v.x v9, a1
916921; CHECK-NEXT: addi a1, a2, -1
917922; CHECK-NEXT: vand.vx v8, v8, a1
918923; CHECK-NEXT: vand.vx v9, v9, a2
924+ ; CHECK-NEXT: vsetivli zero, 6, e16, m1, ta, ma
919925; CHECK-NEXT: vor.vv v8, v8, v9
920926; CHECK-NEXT: vse16.v v8, (a0)
921927; CHECK-NEXT: ret
@@ -972,10 +978,12 @@ define void @copysign_vf_v6f16(ptr %x, half %y) {
972978; ZVFHMIN-NEXT: vsetivli zero, 6, e16, m1, ta, ma
973979; ZVFHMIN-NEXT: vle16.v v8, (a0)
974980; ZVFHMIN-NEXT: lui a2, 8
981+ ; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma
975982; ZVFHMIN-NEXT: vmv.v.x v9, a1
976983; ZVFHMIN-NEXT: addi a1, a2, -1
977984; ZVFHMIN-NEXT: vand.vx v8, v8, a1
978985; ZVFHMIN-NEXT: vand.vx v9, v9, a2
986+ ; ZVFHMIN-NEXT: vsetivli zero, 6, e16, m1, ta, ma
979987; ZVFHMIN-NEXT: vor.vv v8, v8, v9
980988; ZVFHMIN-NEXT: vse16.v v8, (a0)
981989; ZVFHMIN-NEXT: ret
@@ -1049,9 +1057,11 @@ define void @copysign_neg_v6bf16(ptr %x, ptr %y) {
10491057; CHECK-NEXT: vle16.v v9, (a0)
10501058; CHECK-NEXT: lui a1, 8
10511059; CHECK-NEXT: addi a2, a1, -1
1060+ ; CHECK-NEXT: vsetivli zero, 8, e16, m1, ta, ma
10521061; CHECK-NEXT: vxor.vx v8, v8, a1
10531062; CHECK-NEXT: vand.vx v9, v9, a2
10541063; CHECK-NEXT: vand.vx v8, v8, a1
1064+ ; CHECK-NEXT: vsetivli zero, 6, e16, m1, ta, ma
10551065; CHECK-NEXT: vor.vv v8, v9, v8
10561066; CHECK-NEXT: vse16.v v8, (a0)
10571067; CHECK-NEXT: ret
@@ -1111,9 +1121,11 @@ define void @copysign_neg_v6f16(ptr %x, ptr %y) {
11111121; ZVFHMIN-NEXT: vle16.v v9, (a0)
11121122; ZVFHMIN-NEXT: lui a1, 8
11131123; ZVFHMIN-NEXT: addi a2, a1, -1
1124+ ; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma
11141125; ZVFHMIN-NEXT: vxor.vx v8, v8, a1
11151126; ZVFHMIN-NEXT: vand.vx v9, v9, a2
11161127; ZVFHMIN-NEXT: vand.vx v8, v8, a1
1128+ ; ZVFHMIN-NEXT: vsetivli zero, 6, e16, m1, ta, ma
11171129; ZVFHMIN-NEXT: vor.vv v8, v9, v8
11181130; ZVFHMIN-NEXT: vse16.v v8, (a0)
11191131; ZVFHMIN-NEXT: ret
@@ -1195,6 +1207,7 @@ define void @copysign_neg_trunc_v3bf16_v3f32(ptr %x, ptr %y) {
11951207; CHECK-NEXT: vfncvtbf16.f.f.w v10, v9
11961208; CHECK-NEXT: vxor.vx v9, v10, a1
11971209; CHECK-NEXT: vand.vx v9, v9, a1
1210+ ; CHECK-NEXT: vsetivli zero, 3, e16, mf2, ta, ma
11981211; CHECK-NEXT: vor.vv v8, v8, v9
11991212; CHECK-NEXT: vse16.v v8, (a0)
12001213; CHECK-NEXT: ret
@@ -1259,10 +1272,12 @@ define void @copysign_neg_trunc_v3f16_v3f32(ptr %x, ptr %y) {
12591272; ZVFHMIN-NEXT: vle32.v v9, (a1)
12601273; ZVFHMIN-NEXT: lui a1, 8
12611274; ZVFHMIN-NEXT: addi a2, a1, -1
1275+ ; ZVFHMIN-NEXT: vsetivli zero, 4, e16, mf2, ta, ma
12621276; ZVFHMIN-NEXT: vand.vx v8, v8, a2
12631277; ZVFHMIN-NEXT: vfncvt.f.f.w v10, v9
12641278; ZVFHMIN-NEXT: vxor.vx v9, v10, a1
12651279; ZVFHMIN-NEXT: vand.vx v9, v9, a1
1280+ ; ZVFHMIN-NEXT: vsetivli zero, 3, e16, mf2, ta, ma
12661281; ZVFHMIN-NEXT: vor.vv v8, v8, v9
12671282; ZVFHMIN-NEXT: vse16.v v8, (a0)
12681283; ZVFHMIN-NEXT: ret
0 commit comments