[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 09/22] softfloat: Fix float64_to_uint32
From: |
Richard Henderson |
Subject: |
Re: [Qemu-devel] [PATCH 09/22] softfloat: Fix float64_to_uint32 |
Date: |
Tue, 31 Dec 2013 06:24:02 -0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 |
On 12/31/2013 05:35 AM, Peter Maydell wrote:
> From: Tom Musta <address@hidden>
>
> The float64_to_uint32 has several flaws:
>
> - for numbers between 2**32 and 2**64, the inexact exception flag
> may get incorrectly set. In this case, only the invalid flag
> should be set.
>
> test pattern: 425F81378DC0CD1F / 0x1.f81378dc0cd1fp+38
>
> - for numbers between 2**63 and 2**64, incorrect results may
> be produced:
>
> test pattern: 43EAAF73F1F0B8BD / 0x1.aaf73f1f0b8bdp+63
>
> This patch re-implements float64_to_uint32 to re-use the
> float64_to_uint64 routine (instead of float64_to_int64). For the
> saturation case, we ignore any flags which the conversion routine
> has set and raise only the invalid flag.
>
> This contribution can be licensed under either the softfloat-2a or -2b
> license.
>
> Signed-off-by: Tom Musta <address@hidden>
> Message-id: address@hidden
> Signed-off-by: Peter Maydell <address@hidden>
> ---
> fpu/softfloat.c | 15 +++++++--------
> 1 file changed, 7 insertions(+), 8 deletions(-)
Reviewed-by: Richard Henderson <address@hidden>
r~
- [Qemu-devel] [PATCH 22/22] target-arm: A64: Add support for FCVT between half, single and double, (continued)
- [Qemu-devel] [PATCH 22/22] target-arm: A64: Add support for FCVT between half, single and double, Peter Maydell, 2013/12/31
- [Qemu-devel] [PATCH 16/22] target-arm: Rename A32 VFP conversion helpers, Peter Maydell, 2013/12/31
- [Qemu-devel] [PATCH 10/22] softfloat: Fix float64_to_uint32_round_to_zero, Peter Maydell, 2013/12/31
- [Qemu-devel] [PATCH 18/22] target-arm: A64: Add extra VFP fixed point conversion helpers, Peter Maydell, 2013/12/31
- [Qemu-devel] [PATCH 06/22] softfloat: Fix factor 2 error for scalbn on denormal inputs, Peter Maydell, 2013/12/31
- [Qemu-devel] [PATCH 05/22] softfloat: Only raise Invalid when conversions to int are out of range, Peter Maydell, 2013/12/31
- [Qemu-devel] [PATCH 09/22] softfloat: Fix float64_to_uint32, Peter Maydell, 2013/12/31
- Re: [Qemu-devel] [PATCH 09/22] softfloat: Fix float64_to_uint32,
Richard Henderson <=
- [Qemu-devel] [PATCH 17/22] target-arm: Ignore most exceptions from scalbn when doing fixpoint conversion, Peter Maydell, 2013/12/31
- [Qemu-devel] [PATCH 21/22] target-arm: A64: Add 1-source 32-to-32 and 64-to-64 FP instructions, Peter Maydell, 2013/12/31
- [Qemu-devel] [PATCH 04/22] softfloat: Fix float64_to_uint64, Peter Maydell, 2013/12/31
- [Qemu-devel] [PATCH 13/22] softfloat: Add float16 <=> float64 conversion functions, Peter Maydell, 2013/12/31
- [Qemu-devel] [PATCH 14/22] softfloat: Add support for ties-away rounding, Peter Maydell, 2013/12/31
- [Qemu-devel] [PATCH 12/22] softfloat: Factor out RoundAndPackFloat16 and NormalizeFloat16Subnormal, Peter Maydell, 2013/12/31