softfloat: Factor out RoundAndPackFloat16 and NormalizeFloat16Subnormal
authorPeter Maydell <peter.maydell@linaro.org>
Tue, 7 Jan 2014 17:19:11 +0000 (17:19 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Wed, 8 Jan 2014 19:07:22 +0000 (19:07 +0000)
commitc4a1c5e7e2fae28ef3fde2aadf7ec6fed0a5a967
tree951232751292ea417e2f71b870e69b7b604f5007
parent879d096b37b1233fec334bc2c2f569ac3b8fec9a
softfloat: Factor out RoundAndPackFloat16 and NormalizeFloat16Subnormal

In preparation for adding conversions between float16 and float64,
factor out code currently done inline in the float16<=>float32
conversion functions into functions RoundAndPackFloat16 and
NormalizeFloat16Subnormal along the lines of the existing versions
for the other float types.

Note that we change the handling of zExp from the inline code
to match the API of the other RoundAndPackFloat functions; however
we leave the positioning of the binary point between bits 22 and 23
rather than shifting it up to the high end of the word.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <rth@twiddle.net>
fpu/softfloat.c