aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/x86/ldbl2mpn.c8
-rw-r--r--sysdeps/x86/tst-ldbl-nonnormal-printf.c5
2 files changed, 1 insertions, 12 deletions
diff --git a/sysdeps/x86/ldbl2mpn.c b/sysdeps/x86/ldbl2mpn.c
index 23afedfb67..ec8464eef7 100644
--- a/sysdeps/x86/ldbl2mpn.c
+++ b/sysdeps/x86/ldbl2mpn.c
@@ -115,14 +115,6 @@ __mpn_extract_long_double (mp_ptr res_ptr, mp_size_t size,
&& res_ptr[N - 1] == 0)
/* Pseudo zero. */
*expt = 0;
- else
- /* Unlike other floating point formats, the most significant bit
- is explicit and expected to be set for normal numbers. Set it
- in case it is cleared in the input. Otherwise, callers will
- not be able to produce the expected multi-precision integer
- layout by shifting. */
- res_ptr[N - 1] |= (mp_limb_t) 1 << (LDBL_MANT_DIG - 1
- - ((N - 1) * BITS_PER_MP_LIMB));
return N;
}
diff --git a/sysdeps/x86/tst-ldbl-nonnormal-printf.c b/sysdeps/x86/tst-ldbl-nonnormal-printf.c
index 54381ece0b..2b513960a7 100644
--- a/sysdeps/x86/tst-ldbl-nonnormal-printf.c
+++ b/sysdeps/x86/tst-ldbl-nonnormal-printf.c
@@ -42,10 +42,7 @@ do_test (void)
char buf[30];
int ret = snprintf (buf, sizeof (buf), "%Lg", value);
TEST_COMPARE (ret, strlen (buf));
- if (strcmp (buf, "nan") != 0)
- /* If snprintf does not recognize the non-normal number as a NaN,
- it has added the missing explicit MSB. */
- TEST_COMPARE_STRING (buf, "3.02201e-4624");
+ TEST_COMPARE_STRING (buf, "nan");
return 0;
}