@@ -784,9 +784,11 @@ define void @copysign_v6bf16(ptr %x, ptr %y) {
784
784
; CHECK-NEXT: vle16.v v8, (a1)
785
785
; CHECK-NEXT: vle16.v v9, (a0)
786
786
; CHECK-NEXT: lui a1, 8
787
+ ; CHECK-NEXT: vsetivli zero, 8, e16, m1, ta, ma
787
788
; CHECK-NEXT: vand.vx v8, v8, a1
788
789
; CHECK-NEXT: addi a1, a1, -1
789
790
; CHECK-NEXT: vand.vx v9, v9, a1
791
+ ; CHECK-NEXT: vsetivli zero, 6, e16, m1, ta, ma
790
792
; CHECK-NEXT: vor.vv v8, v9, v8
791
793
; CHECK-NEXT: vse16.v v8, (a0)
792
794
; CHECK-NEXT: ret
@@ -842,9 +844,11 @@ define void @copysign_v6f16(ptr %x, ptr %y) {
842
844
; ZVFHMIN-NEXT: vle16.v v8, (a1)
843
845
; ZVFHMIN-NEXT: vle16.v v9, (a0)
844
846
; ZVFHMIN-NEXT: lui a1, 8
847
+ ; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma
845
848
; ZVFHMIN-NEXT: vand.vx v8, v8, a1
846
849
; ZVFHMIN-NEXT: addi a1, a1, -1
847
850
; ZVFHMIN-NEXT: vand.vx v9, v9, a1
851
+ ; ZVFHMIN-NEXT: vsetivli zero, 6, e16, m1, ta, ma
848
852
; ZVFHMIN-NEXT: vor.vv v8, v9, v8
849
853
; ZVFHMIN-NEXT: vse16.v v8, (a0)
850
854
; ZVFHMIN-NEXT: ret
@@ -916,10 +920,12 @@ define void @copysign_vf_v6bf16(ptr %x, bfloat %y) {
916
920
; CHECK-NEXT: vsetivli zero, 6, e16, m1, ta, ma
917
921
; CHECK-NEXT: vle16.v v8, (a0)
918
922
; CHECK-NEXT: lui a2, 8
923
+ ; CHECK-NEXT: vsetivli zero, 8, e16, m1, ta, ma
919
924
; CHECK-NEXT: vmv.v.x v9, a1
920
925
; CHECK-NEXT: addi a1, a2, -1
921
926
; CHECK-NEXT: vand.vx v8, v8, a1
922
927
; CHECK-NEXT: vand.vx v9, v9, a2
928
+ ; CHECK-NEXT: vsetivli zero, 6, e16, m1, ta, ma
923
929
; CHECK-NEXT: vor.vv v8, v8, v9
924
930
; CHECK-NEXT: vse16.v v8, (a0)
925
931
; CHECK-NEXT: ret
@@ -976,10 +982,12 @@ define void @copysign_vf_v6f16(ptr %x, half %y) {
976
982
; ZVFHMIN-NEXT: vsetivli zero, 6, e16, m1, ta, ma
977
983
; ZVFHMIN-NEXT: vle16.v v8, (a0)
978
984
; ZVFHMIN-NEXT: lui a2, 8
985
+ ; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma
979
986
; ZVFHMIN-NEXT: vmv.v.x v9, a1
980
987
; ZVFHMIN-NEXT: addi a1, a2, -1
981
988
; ZVFHMIN-NEXT: vand.vx v8, v8, a1
982
989
; ZVFHMIN-NEXT: vand.vx v9, v9, a2
990
+ ; ZVFHMIN-NEXT: vsetivli zero, 6, e16, m1, ta, ma
983
991
; ZVFHMIN-NEXT: vor.vv v8, v8, v9
984
992
; ZVFHMIN-NEXT: vse16.v v8, (a0)
985
993
; ZVFHMIN-NEXT: ret
@@ -1053,9 +1061,11 @@ define void @copysign_neg_v6bf16(ptr %x, ptr %y) {
1053
1061
; CHECK-NEXT: vle16.v v9, (a0)
1054
1062
; CHECK-NEXT: lui a1, 8
1055
1063
; CHECK-NEXT: addi a2, a1, -1
1064
+ ; CHECK-NEXT: vsetivli zero, 8, e16, m1, ta, ma
1056
1065
; CHECK-NEXT: vxor.vx v8, v8, a1
1057
1066
; CHECK-NEXT: vand.vx v9, v9, a2
1058
1067
; CHECK-NEXT: vand.vx v8, v8, a1
1068
+ ; CHECK-NEXT: vsetivli zero, 6, e16, m1, ta, ma
1059
1069
; CHECK-NEXT: vor.vv v8, v9, v8
1060
1070
; CHECK-NEXT: vse16.v v8, (a0)
1061
1071
; CHECK-NEXT: ret
@@ -1115,9 +1125,11 @@ define void @copysign_neg_v6f16(ptr %x, ptr %y) {
1115
1125
; ZVFHMIN-NEXT: vle16.v v9, (a0)
1116
1126
; ZVFHMIN-NEXT: lui a1, 8
1117
1127
; ZVFHMIN-NEXT: addi a2, a1, -1
1128
+ ; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma
1118
1129
; ZVFHMIN-NEXT: vxor.vx v8, v8, a1
1119
1130
; ZVFHMIN-NEXT: vand.vx v9, v9, a2
1120
1131
; ZVFHMIN-NEXT: vand.vx v8, v8, a1
1132
+ ; ZVFHMIN-NEXT: vsetivli zero, 6, e16, m1, ta, ma
1121
1133
; ZVFHMIN-NEXT: vor.vv v8, v9, v8
1122
1134
; ZVFHMIN-NEXT: vse16.v v8, (a0)
1123
1135
; ZVFHMIN-NEXT: ret
@@ -1195,12 +1207,12 @@ define void @copysign_neg_trunc_v3bf16_v3f32(ptr %x, ptr %y) {
1195
1207
; CHECK-NEXT: vle32.v v9, (a1)
1196
1208
; CHECK-NEXT: lui a1, 8
1197
1209
; CHECK-NEXT: addi a2, a1, -1
1198
- ; CHECK-NEXT: vand.vx v8, v8, a2
1199
1210
; CHECK-NEXT: vsetivli zero, 4, e16, mf2, ta, ma
1211
+ ; CHECK-NEXT: vand.vx v8, v8, a2
1200
1212
; CHECK-NEXT: vfncvtbf16.f.f.w v10, v9
1201
- ; CHECK-NEXT: vsetivli zero, 3, e16, mf2, ta, ma
1202
1213
; CHECK-NEXT: vxor.vx v9, v10, a1
1203
1214
; CHECK-NEXT: vand.vx v9, v9, a1
1215
+ ; CHECK-NEXT: vsetivli zero, 3, e16, mf2, ta, ma
1204
1216
; CHECK-NEXT: vor.vv v8, v8, v9
1205
1217
; CHECK-NEXT: vse16.v v8, (a0)
1206
1218
; CHECK-NEXT: ret
@@ -1265,10 +1277,12 @@ define void @copysign_neg_trunc_v3f16_v3f32(ptr %x, ptr %y) {
1265
1277
; ZVFHMIN-NEXT: vle32.v v9, (a1)
1266
1278
; ZVFHMIN-NEXT: lui a1, 8
1267
1279
; ZVFHMIN-NEXT: addi a2, a1, -1
1280
+ ; ZVFHMIN-NEXT: vsetivli zero, 4, e16, mf2, ta, ma
1268
1281
; ZVFHMIN-NEXT: vand.vx v8, v8, a2
1269
1282
; ZVFHMIN-NEXT: vfncvt.f.f.w v10, v9
1270
1283
; ZVFHMIN-NEXT: vxor.vx v9, v10, a1
1271
1284
; ZVFHMIN-NEXT: vand.vx v9, v9, a1
1285
+ ; ZVFHMIN-NEXT: vsetivli zero, 3, e16, mf2, ta, ma
1272
1286
; ZVFHMIN-NEXT: vor.vv v8, v8, v9
1273
1287
; ZVFHMIN-NEXT: vse16.v v8, (a0)
1274
1288
; ZVFHMIN-NEXT: ret
0 commit comments