[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 14/46] softfloat: Do not produce a default_nan from parts_silence_
From: |
Richard Henderson |
Subject: |
[PULL 14/46] softfloat: Do not produce a default_nan from parts_silence_nan |
Date: |
Sun, 16 May 2021 07:33:59 -0500 |
Require default_nan_mode to be set instead.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
fpu/softfloat-specialize.c.inc | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/fpu/softfloat-specialize.c.inc b/fpu/softfloat-specialize.c.inc
index 96ed8c1a26..05cb2ee940 100644
--- a/fpu/softfloat-specialize.c.inc
+++ b/fpu/softfloat-specialize.c.inc
@@ -179,16 +179,15 @@ static FloatParts parts_default_nan(float_status *status)
static FloatParts parts_silence_nan(FloatParts a, float_status *status)
{
g_assert(!no_signaling_nans(status));
-#if defined(TARGET_HPPA)
- a.frac &= ~(1ULL << (DECOMPOSED_BINARY_POINT - 1));
- a.frac |= 1ULL << (DECOMPOSED_BINARY_POINT - 2);
-#else
+ g_assert(!status->default_nan_mode);
+
+ /* The only snan_bit_is_one target without default_nan_mode is HPPA. */
if (snan_bit_is_one(status)) {
- return parts_default_nan(status);
+ a.frac &= ~(1ULL << (DECOMPOSED_BINARY_POINT - 1));
+ a.frac |= 1ULL << (DECOMPOSED_BINARY_POINT - 2);
} else {
a.frac |= 1ULL << (DECOMPOSED_BINARY_POINT - 1);
}
-#endif
a.cls = float_class_qnan;
return a;
}
--
2.25.1
- [PULL 05/46] tests/fp: add quad support to the benchmark utility, (continued)
- [PULL 05/46] tests/fp: add quad support to the benchmark utility, Richard Henderson, 2021/05/16
- [PULL 02/46] qemu/host-utils: Add wrappers for overflow builtins, Richard Henderson, 2021/05/16
- [PULL 04/46] accel/tcg: Use add/sub overflow routines in tcg-runtime-gvec.c, Richard Henderson, 2021/05/16
- [PULL 06/46] softfloat: Move the binary point to the msb, Richard Henderson, 2021/05/16
- [PULL 09/46] softfloat: Tidy a * b + inf return, Richard Henderson, 2021/05/16
- [PULL 08/46] softfloat: Use float_raise in more places, Richard Henderson, 2021/05/16
- [PULL 10/46] softfloat: Add float_cmask and constants, Richard Henderson, 2021/05/16
- [PULL 11/46] softfloat: Use return_nan in float_to_float, Richard Henderson, 2021/05/16
- [PULL 13/46] target/mips: Set set_default_nan_mode with set_snan_bit_is_one, Richard Henderson, 2021/05/16
- [PULL 16/46] softfloat: Move type-specific pack/unpack routines, Richard Henderson, 2021/05/16
- [PULL 14/46] softfloat: Do not produce a default_nan from parts_silence_nan,
Richard Henderson <=
- [PULL 15/46] softfloat: Rename FloatParts to FloatParts64, Richard Henderson, 2021/05/16
- [PULL 20/46] softfloat: Use pointers with pack_raw, Richard Henderson, 2021/05/16
- [PULL 23/46] softfloat: Use pointers with ftype_round_pack_canonical, Richard Henderson, 2021/05/16
- [PULL 12/46] softfloat: fix return_nan vs default_nan_mode, Richard Henderson, 2021/05/16
- [PULL 17/46] softfloat: Use pointers with parts_default_nan, Richard Henderson, 2021/05/16
- [PULL 29/46] softfloat: Move pick_nan to softfloat-parts.c.inc, Richard Henderson, 2021/05/16
- [PULL 33/46] softfloat: Use uadd64_carry, usub64_borrow in softfloat-macros.h, Richard Henderson, 2021/05/16
- [PULL 18/46] softfloat: Use pointers with unpack_raw, Richard Henderson, 2021/05/16
- [PULL 19/46] softfloat: Use pointers with ftype_unpack_raw, Richard Henderson, 2021/05/16
- [PULL 07/46] softfloat: Inline float_raise, Richard Henderson, 2021/05/16