[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 1/2] softfloat: float*_to_int32_round_to_zero
From: |
Blue Swirl |
Subject: |
Re: [Qemu-devel] [PATCH v2 1/2] softfloat: float*_to_int32_round_to_zero: don't assume int32 is 32 bits |
Date: |
Sat, 7 Apr 2012 14:15:24 +0000 |
On Thu, Apr 5, 2012 at 18:12, Peter Maydell <address@hidden> wrote:
> Code in the float64_to_int32_round_to_zero() function was assuming
> that int32 would not be wider than 32 bits; this meant it might
> not correctly detect the overflow case. We take the simple approach
> of using int32_t. Also fix equivalent issues in the functions
> for other float sizes.
Thanks, applied both.
>
> Signed-off-by: Peter Maydell <address@hidden>
> ---
> fpu/softfloat.c | 8 ++++----
> 1 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/fpu/softfloat.c b/fpu/softfloat.c
> index 81a7d1a..074fbc3 100644
> --- a/fpu/softfloat.c
> +++ b/fpu/softfloat.c
> @@ -1378,7 +1378,7 @@ int32 float32_to_int32_round_to_zero( float32 a
> STATUS_PARAM )
> flag aSign;
> int16 aExp, shiftCount;
> uint32_t aSig;
> - int32 z;
> + int32_t z;
> a = float32_squash_input_denormal(a STATUS_VAR);
>
> aSig = extractFloat32Frac( a );
> @@ -2762,7 +2762,7 @@ int32 float64_to_int32_round_to_zero( float64 a
> STATUS_PARAM )
> flag aSign;
> int16 aExp, shiftCount;
> uint64_t aSig, savedASig;
> - int32 z;
> + int32_t z;
> a = float64_squash_input_denormal(a STATUS_VAR);
>
> aSig = extractFloat64Frac( a );
> @@ -4248,7 +4248,7 @@ int32 floatx80_to_int32_round_to_zero( floatx80 a
> STATUS_PARAM )
> flag aSign;
> int32 aExp, shiftCount;
> uint64_t aSig, savedASig;
> - int32 z;
> + int32_t z;
>
> aSig = extractFloatx80Frac( a );
> aExp = extractFloatx80Exp( a );
> @@ -5277,7 +5277,7 @@ int32 float128_to_int32_round_to_zero( float128 a
> STATUS_PARAM )
> flag aSign;
> int32 aExp, shiftCount;
> uint64_t aSig0, aSig1, savedASig;
> - int32 z;
> + int32_t z;
>
> aSig1 = extractFloat128Frac1( a );
> aSig0 = extractFloat128Frac0( a );
> --
> 1.7.1
>
>