From: Andreas Färber Date: Wed, 25 Apr 2012 22:15:53 +0000 (+0200) Subject: softfloat: Fix mixups of int and int16 X-Git-Tag: v1.1-rc0~28 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c9696547d4b2d4da9e27d87a56f246d0c6551b96;p=thirdparty%2Fqemu.git softfloat: Fix mixups of int and int16 normalizeFloat{32,64}Subnormal() expect the exponent as int16, not int. This went unnoticed since int16 and uint16 were both typedef'ed to int. Signed-off-by: Andreas Färber Reviewed-by: Peter Maydell Tested-by: Bernhard Walle Signed-off-by: Blue Swirl --- diff --git a/fpu/softfloat.c b/fpu/softfloat.c index 9e1b5f9cab0..a1c658eef73 100644 --- a/fpu/softfloat.c +++ b/fpu/softfloat.c @@ -2131,7 +2131,7 @@ float32 float32_rem( float32 a, float32 b STATUS_PARAM ) float32 float32_muladd(float32 a, float32 b, float32 c, int flags STATUS_PARAM) { flag aSign, bSign, cSign, zSign; - int aExp, bExp, cExp, pExp, zExp, expDiff; + int16 aExp, bExp, cExp, pExp, zExp, expDiff; uint32_t aSig, bSig, cSig; flag pInf, pZero, pSign; uint64_t pSig64, cSig64, zSig64; @@ -3685,7 +3685,7 @@ float64 float64_rem( float64 a, float64 b STATUS_PARAM ) float64 float64_muladd(float64 a, float64 b, float64 c, int flags STATUS_PARAM) { flag aSign, bSign, cSign, zSign; - int aExp, bExp, cExp, pExp, zExp, expDiff; + int16 aExp, bExp, cExp, pExp, zExp, expDiff; uint64_t aSig, bSig, cSig; flag pInf, pZero, pSign; uint64_t pSig0, pSig1, cSig0, cSig1, zSig0, zSig1;