On 08.05.21 03:47, Richard Henderson wrote:
Require default_nan_mode to be set instead.
Signed-off-by: Richard Henderson
---
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 487b29155c..5988830c16 100644
--- a/fpu/softfloat-specialize.c.inc
+++ b/fpu/softfloat-specialize.c.inc
@@ -180,16 +180,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;
}
Reviewed-by: David Hildenbrand
--
Thanks,
David / dhildenb