@@ -7098,19 +7098,15 @@ float32 normalize_roundpack_float32(flag sign, int_fast16_t exp, uint32_t sig,
return packFloat32(sign, 0, sig);
}
+ if (!sig) {
+ return float32_set_sign(float32_zero, sign);
+ }
+
if (sign) {
if (sig & 0x7FFFFFFF) {
return normalizeRoundAndPackFloat32(1, exp - 2, sig, status);
}
- if (sig) {
- return packFloat32(1, exp, 0);
- } else {
- return float32_zero;
- }
- }
-
- if (!sig) {
- return float32_zero;
+ return packFloat32(1, exp, 0);
}
scount = countLeadingZeros64(absa) - 40;