From a46f03ea151890ac0cfc96b843a857172fde23f8 Mon Sep 17 00:00:00 2001 From: Stephen L Moshier Date: Wed, 25 Nov 1998 11:06:07 -0700 Subject: [PATCH] emit-rtl.c (gen_lowpart_common): Remove earlier change. * emit-rtl.c (gen_lowpart_common): Remove earlier change. * real.c (make_nan): Make SIGN arg actually specify the sign bit. From-SVN: r23874 --- gcc/ChangeLog | 5 +++++ gcc/emit-rtl.c | 5 ----- gcc/real.c | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 803fb78e579..22188d50034 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Wed Nov 25 19:02:55 1998 (Stephen L Moshier) + + * emit-rtl.c (gen_lowpart_common): Remove earlier change. + * real.c (make_nan): Make SIGN arg actually specify the sign bit. + Thu Nov 26 14:12:05 1998 Michael Hayes * config/c4x/c4x.md (addqi3): Emit addqi3_noclobber pattern diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 9a19de121da..037269a61a5 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -781,9 +781,6 @@ gen_lowpart_common (mode, x) i = INTVAL (x); r = REAL_VALUE_FROM_TARGET_SINGLE (i); - /* Avoid changing the bit pattern of a NaN. */ - if (REAL_VALUE_ISNAN (r)) - return 0; return CONST_DOUBLE_FROM_REAL_VALUE (r, mode); } #else @@ -822,8 +819,6 @@ gen_lowpart_common (mode, x) i[0] = low, i[1] = high; r = REAL_VALUE_FROM_TARGET_DOUBLE (i); - if (REAL_VALUE_ISNAN (r)) - return 0; return CONST_DOUBLE_FROM_REAL_VALUE (r, mode); } #else diff --git a/gcc/real.c b/gcc/real.c index 7fac64d19a6..d40a0f374d0 100644 --- a/gcc/real.c +++ b/gcc/real.c @@ -6205,11 +6205,11 @@ make_nan (nan, sign, mode) abort (); } if (REAL_WORDS_BIG_ENDIAN) - *nan++ = (sign << 15) | *p++; + *nan++ = (sign << 15) | (*p++ & 0x7fff); while (--n != 0) *nan++ = *p++; if (! REAL_WORDS_BIG_ENDIAN) - *nan = (sign << 15) | *p; + *nan = (sign << 15) | (*p & 0x7fff); } /* This is the inverse of the function `etarsingle' invoked by -- 2.30.2