@@ -780,9 +780,11 @@ define void @copysign_v6bf16(ptr %x, ptr %y) {
780
780
; CHECK-NEXT: vle16.v v8, (a1)
781
781
; CHECK-NEXT: vle16.v v9, (a0)
782
782
; CHECK-NEXT: lui a1, 8
783
+ ; CHECK-NEXT: vsetivli zero, 8, e16, m1, ta, ma
783
784
; CHECK-NEXT: vand.vx v8, v8, a1
784
785
; CHECK-NEXT: addi a1, a1, -1
785
786
; CHECK-NEXT: vand.vx v9, v9, a1
787
+ ; CHECK-NEXT: vsetivli zero, 6, e16, m1, ta, ma
786
788
; CHECK-NEXT: vor.vv v8, v9, v8
787
789
; CHECK-NEXT: vse16.v v8, (a0)
788
790
; CHECK-NEXT: ret
@@ -838,9 +840,11 @@ define void @copysign_v6f16(ptr %x, ptr %y) {
838
840
; ZVFHMIN-NEXT: vle16.v v8, (a1)
839
841
; ZVFHMIN-NEXT: vle16.v v9, (a0)
840
842
; ZVFHMIN-NEXT: lui a1, 8
843
+ ; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma
841
844
; ZVFHMIN-NEXT: vand.vx v8, v8, a1
842
845
; ZVFHMIN-NEXT: addi a1, a1, -1
843
846
; ZVFHMIN-NEXT: vand.vx v9, v9, a1
847
+ ; ZVFHMIN-NEXT: vsetivli zero, 6, e16, m1, ta, ma
844
848
; ZVFHMIN-NEXT: vor.vv v8, v9, v8
845
849
; ZVFHMIN-NEXT: vse16.v v8, (a0)
846
850
; ZVFHMIN-NEXT: ret
@@ -912,10 +916,12 @@ define void @copysign_vf_v6bf16(ptr %x, bfloat %y) {
912
916
; CHECK-NEXT: vsetivli zero, 6, e16, m1, ta, ma
913
917
; CHECK-NEXT: vle16.v v8, (a0)
914
918
; CHECK-NEXT: lui a2, 8
919
+ ; CHECK-NEXT: vsetivli zero, 8, e16, m1, ta, ma
915
920
; CHECK-NEXT: vmv.v.x v9, a1
916
921
; CHECK-NEXT: addi a1, a2, -1
917
922
; CHECK-NEXT: vand.vx v8, v8, a1
918
923
; CHECK-NEXT: vand.vx v9, v9, a2
924
+ ; CHECK-NEXT: vsetivli zero, 6, e16, m1, ta, ma
919
925
; CHECK-NEXT: vor.vv v8, v8, v9
920
926
; CHECK-NEXT: vse16.v v8, (a0)
921
927
; CHECK-NEXT: ret
@@ -972,10 +978,12 @@ define void @copysign_vf_v6f16(ptr %x, half %y) {
972
978
; ZVFHMIN-NEXT: vsetivli zero, 6, e16, m1, ta, ma
973
979
; ZVFHMIN-NEXT: vle16.v v8, (a0)
974
980
; ZVFHMIN-NEXT: lui a2, 8
981
+ ; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma
975
982
; ZVFHMIN-NEXT: vmv.v.x v9, a1
976
983
; ZVFHMIN-NEXT: addi a1, a2, -1
977
984
; ZVFHMIN-NEXT: vand.vx v8, v8, a1
978
985
; ZVFHMIN-NEXT: vand.vx v9, v9, a2
986
+ ; ZVFHMIN-NEXT: vsetivli zero, 6, e16, m1, ta, ma
979
987
; ZVFHMIN-NEXT: vor.vv v8, v8, v9
980
988
; ZVFHMIN-NEXT: vse16.v v8, (a0)
981
989
; ZVFHMIN-NEXT: ret
@@ -1049,9 +1057,11 @@ define void @copysign_neg_v6bf16(ptr %x, ptr %y) {
1049
1057
; CHECK-NEXT: vle16.v v9, (a0)
1050
1058
; CHECK-NEXT: lui a1, 8
1051
1059
; CHECK-NEXT: addi a2, a1, -1
1060
+ ; CHECK-NEXT: vsetivli zero, 8, e16, m1, ta, ma
1052
1061
; CHECK-NEXT: vxor.vx v8, v8, a1
1053
1062
; CHECK-NEXT: vand.vx v9, v9, a2
1054
1063
; CHECK-NEXT: vand.vx v8, v8, a1
1064
+ ; CHECK-NEXT: vsetivli zero, 6, e16, m1, ta, ma
1055
1065
; CHECK-NEXT: vor.vv v8, v9, v8
1056
1066
; CHECK-NEXT: vse16.v v8, (a0)
1057
1067
; CHECK-NEXT: ret
@@ -1111,9 +1121,11 @@ define void @copysign_neg_v6f16(ptr %x, ptr %y) {
1111
1121
; ZVFHMIN-NEXT: vle16.v v9, (a0)
1112
1122
; ZVFHMIN-NEXT: lui a1, 8
1113
1123
; ZVFHMIN-NEXT: addi a2, a1, -1
1124
+ ; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma
1114
1125
; ZVFHMIN-NEXT: vxor.vx v8, v8, a1
1115
1126
; ZVFHMIN-NEXT: vand.vx v9, v9, a2
1116
1127
; ZVFHMIN-NEXT: vand.vx v8, v8, a1
1128
+ ; ZVFHMIN-NEXT: vsetivli zero, 6, e16, m1, ta, ma
1117
1129
; ZVFHMIN-NEXT: vor.vv v8, v9, v8
1118
1130
; ZVFHMIN-NEXT: vse16.v v8, (a0)
1119
1131
; ZVFHMIN-NEXT: ret
@@ -1195,6 +1207,7 @@ define void @copysign_neg_trunc_v3bf16_v3f32(ptr %x, ptr %y) {
1195
1207
; CHECK-NEXT: vfncvtbf16.f.f.w v10, v9
1196
1208
; CHECK-NEXT: vxor.vx v9, v10, a1
1197
1209
; CHECK-NEXT: vand.vx v9, v9, a1
1210
+ ; CHECK-NEXT: vsetivli zero, 3, e16, mf2, ta, ma
1198
1211
; CHECK-NEXT: vor.vv v8, v8, v9
1199
1212
; CHECK-NEXT: vse16.v v8, (a0)
1200
1213
; CHECK-NEXT: ret
@@ -1259,10 +1272,12 @@ define void @copysign_neg_trunc_v3f16_v3f32(ptr %x, ptr %y) {
1259
1272
; ZVFHMIN-NEXT: vle32.v v9, (a1)
1260
1273
; ZVFHMIN-NEXT: lui a1, 8
1261
1274
; ZVFHMIN-NEXT: addi a2, a1, -1
1275
+ ; ZVFHMIN-NEXT: vsetivli zero, 4, e16, mf2, ta, ma
1262
1276
; ZVFHMIN-NEXT: vand.vx v8, v8, a2
1263
1277
; ZVFHMIN-NEXT: vfncvt.f.f.w v10, v9
1264
1278
; ZVFHMIN-NEXT: vxor.vx v9, v10, a1
1265
1279
; ZVFHMIN-NEXT: vand.vx v9, v9, a1
1280
+ ; ZVFHMIN-NEXT: vsetivli zero, 3, e16, mf2, ta, ma
1266
1281
; ZVFHMIN-NEXT: vor.vv v8, v8, v9
1267
1282
; ZVFHMIN-NEXT: vse16.v v8, (a0)
1268
1283
; ZVFHMIN-NEXT: ret
0 commit comments