Fix int-to-float conversions when int range barely exceeds float range
For example, when converting from uint128 to float32 (whose max exponent is 2^127), the unit fails to detect overflow for numbers just under 2^128. The bug only manifests when the ranges are that close. If the float has greater range, or has much smaller range, the bug does not manifest. Existing RV32 and RV64 cores are unaffected by this bug, because no such conversions exist in the ISA.
parent
95d78907
Please register or sign in to comment