@@ -788,9 +788,11 @@ define void @copysign_v6bf16(ptr %x, ptr %y) {
788
788
; CHECK-NEXT: vle16.v v8, (a1)
789
789
; CHECK-NEXT: vle16.v v9, (a0)
790
790
; CHECK-NEXT: lui a1, 8
791
+ ; CHECK-NEXT: vsetivli zero, 8, e16, m1, ta, ma
791
792
; CHECK-NEXT: vand.vx v8, v8, a1
792
793
; CHECK-NEXT: addi a1, a1, -1
793
794
; CHECK-NEXT: vand.vx v9, v9, a1
795
+ ; CHECK-NEXT: vsetivli zero, 6, e16, m1, ta, ma
794
796
; CHECK-NEXT: vor.vv v8, v9, v8
795
797
; CHECK-NEXT: vse16.v v8, (a0)
796
798
; CHECK-NEXT: ret
@@ -846,9 +848,11 @@ define void @copysign_v6f16(ptr %x, ptr %y) {
846
848
; ZVFHMIN-NEXT: vle16.v v8, (a1)
847
849
; ZVFHMIN-NEXT: vle16.v v9, (a0)
848
850
; ZVFHMIN-NEXT: lui a1, 8
851
+ ; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma
849
852
; ZVFHMIN-NEXT: vand.vx v8, v8, a1
850
853
; ZVFHMIN-NEXT: addi a1, a1, -1
851
854
; ZVFHMIN-NEXT: vand.vx v9, v9, a1
855
+ ; ZVFHMIN-NEXT: vsetivli zero, 6, e16, m1, ta, ma
852
856
; ZVFHMIN-NEXT: vor.vv v8, v9, v8
853
857
; ZVFHMIN-NEXT: vse16.v v8, (a0)
854
858
; ZVFHMIN-NEXT: ret
@@ -920,10 +924,12 @@ define void @copysign_vf_v6bf16(ptr %x, bfloat %y) {
920
924
; CHECK-NEXT: vsetivli zero, 6, e16, m1, ta, ma
921
925
; CHECK-NEXT: vle16.v v8, (a0)
922
926
; CHECK-NEXT: lui a2, 8
927
+ ; CHECK-NEXT: vsetivli zero, 8, e16, m1, ta, ma
923
928
; CHECK-NEXT: vmv.v.x v9, a1
924
929
; CHECK-NEXT: addi a1, a2, -1
925
930
; CHECK-NEXT: vand.vx v8, v8, a1
926
931
; CHECK-NEXT: vand.vx v9, v9, a2
932
+ ; CHECK-NEXT: vsetivli zero, 6, e16, m1, ta, ma
927
933
; CHECK-NEXT: vor.vv v8, v8, v9
928
934
; CHECK-NEXT: vse16.v v8, (a0)
929
935
; CHECK-NEXT: ret
@@ -980,10 +986,12 @@ define void @copysign_vf_v6f16(ptr %x, half %y) {
980
986
; ZVFHMIN-NEXT: vsetivli zero, 6, e16, m1, ta, ma
981
987
; ZVFHMIN-NEXT: vle16.v v8, (a0)
982
988
; ZVFHMIN-NEXT: lui a2, 8
989
+ ; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma
983
990
; ZVFHMIN-NEXT: vmv.v.x v9, a1
984
991
; ZVFHMIN-NEXT: addi a1, a2, -1
985
992
; ZVFHMIN-NEXT: vand.vx v8, v8, a1
986
993
; ZVFHMIN-NEXT: vand.vx v9, v9, a2
994
+ ; ZVFHMIN-NEXT: vsetivli zero, 6, e16, m1, ta, ma
987
995
; ZVFHMIN-NEXT: vor.vv v8, v8, v9
988
996
; ZVFHMIN-NEXT: vse16.v v8, (a0)
989
997
; ZVFHMIN-NEXT: ret
@@ -1057,9 +1065,11 @@ define void @copysign_neg_v6bf16(ptr %x, ptr %y) {
1057
1065
; CHECK-NEXT: vle16.v v9, (a0)
1058
1066
; CHECK-NEXT: lui a1, 8
1059
1067
; CHECK-NEXT: addi a2, a1, -1
1068
+ ; CHECK-NEXT: vsetivli zero, 8, e16, m1, ta, ma
1060
1069
; CHECK-NEXT: vxor.vx v8, v8, a1
1061
1070
; CHECK-NEXT: vand.vx v9, v9, a2
1062
1071
; CHECK-NEXT: vand.vx v8, v8, a1
1072
+ ; CHECK-NEXT: vsetivli zero, 6, e16, m1, ta, ma
1063
1073
; CHECK-NEXT: vor.vv v8, v9, v8
1064
1074
; CHECK-NEXT: vse16.v v8, (a0)
1065
1075
; CHECK-NEXT: ret
@@ -1119,9 +1129,11 @@ define void @copysign_neg_v6f16(ptr %x, ptr %y) {
1119
1129
; ZVFHMIN-NEXT: vle16.v v9, (a0)
1120
1130
; ZVFHMIN-NEXT: lui a1, 8
1121
1131
; ZVFHMIN-NEXT: addi a2, a1, -1
1132
+ ; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma
1122
1133
; ZVFHMIN-NEXT: vxor.vx v8, v8, a1
1123
1134
; ZVFHMIN-NEXT: vand.vx v9, v9, a2
1124
1135
; ZVFHMIN-NEXT: vand.vx v8, v8, a1
1136
+ ; ZVFHMIN-NEXT: vsetivli zero, 6, e16, m1, ta, ma
1125
1137
; ZVFHMIN-NEXT: vor.vv v8, v9, v8
1126
1138
; ZVFHMIN-NEXT: vse16.v v8, (a0)
1127
1139
; ZVFHMIN-NEXT: ret
@@ -1199,12 +1211,12 @@ define void @copysign_neg_trunc_v3bf16_v3f32(ptr %x, ptr %y) {
1199
1211
; CHECK-NEXT: vle32.v v9, (a1)
1200
1212
; CHECK-NEXT: lui a1, 8
1201
1213
; CHECK-NEXT: addi a2, a1, -1
1202
- ; CHECK-NEXT: vand.vx v8, v8, a2
1203
1214
; CHECK-NEXT: vsetivli zero, 4, e16, mf2, ta, ma
1215
+ ; CHECK-NEXT: vand.vx v8, v8, a2
1204
1216
; CHECK-NEXT: vfncvtbf16.f.f.w v10, v9
1205
- ; CHECK-NEXT: vsetivli zero, 3, e16, mf2, ta, ma
1206
1217
; CHECK-NEXT: vxor.vx v9, v10, a1
1207
1218
; CHECK-NEXT: vand.vx v9, v9, a1
1219
+ ; CHECK-NEXT: vsetivli zero, 3, e16, mf2, ta, ma
1208
1220
; CHECK-NEXT: vor.vv v8, v8, v9
1209
1221
; CHECK-NEXT: vse16.v v8, (a0)
1210
1222
; CHECK-NEXT: ret
@@ -1271,12 +1283,12 @@ define void @copysign_neg_trunc_v3f16_v3f32(ptr %x, ptr %y) {
1271
1283
; ZVFHMIN-NEXT: vle32.v v9, (a1)
1272
1284
; ZVFHMIN-NEXT: lui a1, 8
1273
1285
; ZVFHMIN-NEXT: addi a2, a1, -1
1274
- ; ZVFHMIN-NEXT: vand.vx v8, v8, a2
1275
1286
; ZVFHMIN-NEXT: vsetivli zero, 4, e16, mf2, ta, ma
1287
+ ; ZVFHMIN-NEXT: vand.vx v8, v8, a2
1276
1288
; ZVFHMIN-NEXT: vfncvt.f.f.w v10, v9
1277
- ; ZVFHMIN-NEXT: vsetivli zero, 3, e16, mf2, ta, ma
1278
1289
; ZVFHMIN-NEXT: vxor.vx v9, v10, a1
1279
1290
; ZVFHMIN-NEXT: vand.vx v9, v9, a1
1291
+ ; ZVFHMIN-NEXT: vsetivli zero, 3, e16, mf2, ta, ma
1280
1292
; ZVFHMIN-NEXT: vor.vv v8, v8, v9
1281
1293
; ZVFHMIN-NEXT: vse16.v v8, (a0)
1282
1294
; ZVFHMIN-NEXT: ret
0 commit comments