@@ -749,7 +749,7 @@ define bfloat @fcvt_bf16_si(i16 %a) nounwind {
749749; CHECK64ZFBFMIN: # %bb.0:
750750; CHECK64ZFBFMIN-NEXT: slli a0, a0, 48
751751; CHECK64ZFBFMIN-NEXT: srai a0, a0, 48
752- ; CHECK64ZFBFMIN-NEXT: fcvt.s.l fa5, a0
752+ ; CHECK64ZFBFMIN-NEXT: fcvt.s.w fa5, a0
753753; CHECK64ZFBFMIN-NEXT: fcvt.bf16.s fa0, fa5
754754; CHECK64ZFBFMIN-NEXT: ret
755755;
@@ -795,7 +795,7 @@ define bfloat @fcvt_bf16_si_signext(i16 signext %a) nounwind {
795795;
796796; CHECK64ZFBFMIN-LABEL: fcvt_bf16_si_signext:
797797; CHECK64ZFBFMIN: # %bb.0:
798- ; CHECK64ZFBFMIN-NEXT: fcvt.s.l fa5, a0
798+ ; CHECK64ZFBFMIN-NEXT: fcvt.s.w fa5, a0
799799; CHECK64ZFBFMIN-NEXT: fcvt.bf16.s fa0, fa5
800800; CHECK64ZFBFMIN-NEXT: ret
801801;
@@ -845,7 +845,7 @@ define bfloat @fcvt_bf16_ui(i16 %a) nounwind {
845845; CHECK64ZFBFMIN: # %bb.0:
846846; CHECK64ZFBFMIN-NEXT: slli a0, a0, 48
847847; CHECK64ZFBFMIN-NEXT: srli a0, a0, 48
848- ; CHECK64ZFBFMIN-NEXT: fcvt.s.lu fa5, a0
848+ ; CHECK64ZFBFMIN-NEXT: fcvt.s.wu fa5, a0
849849; CHECK64ZFBFMIN-NEXT: fcvt.bf16.s fa0, fa5
850850; CHECK64ZFBFMIN-NEXT: ret
851851;
@@ -891,7 +891,7 @@ define bfloat @fcvt_bf16_ui_zeroext(i16 zeroext %a) nounwind {
891891;
892892; CHECK64ZFBFMIN-LABEL: fcvt_bf16_ui_zeroext:
893893; CHECK64ZFBFMIN: # %bb.0:
894- ; CHECK64ZFBFMIN-NEXT: fcvt.s.lu fa5, a0
894+ ; CHECK64ZFBFMIN-NEXT: fcvt.s.wu fa5, a0
895895; CHECK64ZFBFMIN-NEXT: fcvt.bf16.s fa0, fa5
896896; CHECK64ZFBFMIN-NEXT: ret
897897;
@@ -935,8 +935,7 @@ define bfloat @fcvt_bf16_w(i32 %a) nounwind {
935935;
936936; CHECK64ZFBFMIN-LABEL: fcvt_bf16_w:
937937; CHECK64ZFBFMIN: # %bb.0:
938- ; CHECK64ZFBFMIN-NEXT: sext.w a0, a0
939- ; CHECK64ZFBFMIN-NEXT: fcvt.s.l fa5, a0
938+ ; CHECK64ZFBFMIN-NEXT: fcvt.s.w fa5, a0
940939; CHECK64ZFBFMIN-NEXT: fcvt.bf16.s fa0, fa5
941940; CHECK64ZFBFMIN-NEXT: ret
942941;
@@ -983,7 +982,7 @@ define bfloat @fcvt_bf16_w_load(ptr %p) nounwind {
983982; CHECK64ZFBFMIN-LABEL: fcvt_bf16_w_load:
984983; CHECK64ZFBFMIN: # %bb.0:
985984; CHECK64ZFBFMIN-NEXT: lw a0, 0(a0)
986- ; CHECK64ZFBFMIN-NEXT: fcvt.s.l fa5, a0
985+ ; CHECK64ZFBFMIN-NEXT: fcvt.s.w fa5, a0
987986; CHECK64ZFBFMIN-NEXT: fcvt.bf16.s fa0, fa5
988987; CHECK64ZFBFMIN-NEXT: ret
989988;
@@ -1029,9 +1028,7 @@ define bfloat @fcvt_bf16_wu(i32 %a) nounwind {
10291028;
10301029; CHECK64ZFBFMIN-LABEL: fcvt_bf16_wu:
10311030; CHECK64ZFBFMIN: # %bb.0:
1032- ; CHECK64ZFBFMIN-NEXT: slli a0, a0, 32
1033- ; CHECK64ZFBFMIN-NEXT: srli a0, a0, 32
1034- ; CHECK64ZFBFMIN-NEXT: fcvt.s.lu fa5, a0
1031+ ; CHECK64ZFBFMIN-NEXT: fcvt.s.wu fa5, a0
10351032; CHECK64ZFBFMIN-NEXT: fcvt.bf16.s fa0, fa5
10361033; CHECK64ZFBFMIN-NEXT: ret
10371034;
@@ -1078,7 +1075,7 @@ define bfloat @fcvt_bf16_wu_load(ptr %p) nounwind {
10781075; CHECK64ZFBFMIN-LABEL: fcvt_bf16_wu_load:
10791076; CHECK64ZFBFMIN: # %bb.0:
10801077; CHECK64ZFBFMIN-NEXT: lwu a0, 0(a0)
1081- ; CHECK64ZFBFMIN-NEXT: fcvt.s.lu fa5, a0
1078+ ; CHECK64ZFBFMIN-NEXT: fcvt.s.wu fa5, a0
10821079; CHECK64ZFBFMIN-NEXT: fcvt.bf16.s fa0, fa5
10831080; CHECK64ZFBFMIN-NEXT: ret
10841081;
@@ -1376,7 +1373,7 @@ define signext i32 @fcvt_bf16_w_demanded_bits(i32 signext %0, ptr %1) nounwind {
13761373; CHECK64ZFBFMIN-LABEL: fcvt_bf16_w_demanded_bits:
13771374; CHECK64ZFBFMIN: # %bb.0:
13781375; CHECK64ZFBFMIN-NEXT: addiw a0, a0, 1
1379- ; CHECK64ZFBFMIN-NEXT: fcvt.s.l fa5, a0
1376+ ; CHECK64ZFBFMIN-NEXT: fcvt.s.w fa5, a0
13801377; CHECK64ZFBFMIN-NEXT: fcvt.bf16.s fa5, fa5
13811378; CHECK64ZFBFMIN-NEXT: fsh fa5, 0(a1)
13821379; CHECK64ZFBFMIN-NEXT: ret
@@ -1436,9 +1433,7 @@ define signext i32 @fcvt_bf16_wu_demanded_bits(i32 signext %0, ptr %1) nounwind
14361433; CHECK64ZFBFMIN-LABEL: fcvt_bf16_wu_demanded_bits:
14371434; CHECK64ZFBFMIN: # %bb.0:
14381435; CHECK64ZFBFMIN-NEXT: addiw a0, a0, 1
1439- ; CHECK64ZFBFMIN-NEXT: slli a2, a0, 32
1440- ; CHECK64ZFBFMIN-NEXT: srli a2, a2, 32
1441- ; CHECK64ZFBFMIN-NEXT: fcvt.s.lu fa5, a2
1436+ ; CHECK64ZFBFMIN-NEXT: fcvt.s.wu fa5, a0
14421437; CHECK64ZFBFMIN-NEXT: fcvt.bf16.s fa5, fa5
14431438; CHECK64ZFBFMIN-NEXT: fsh fa5, 0(a1)
14441439; CHECK64ZFBFMIN-NEXT: ret
0 commit comments