aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorStephen L Moshier <moshier@world.std.com>1998-11-25 11:06:07 -0700
committerJeff Law <law@gcc.gnu.org>1998-11-25 11:06:07 -0700
commita46f03ea151890ac0cfc96b843a857172fde23f8 (patch)
treed72c15b3df06205fd04c15aab9ac5157d1e6a8ca /gcc
parentc85c32322e6be7fd3e82a46bba31268510304584 (diff)
downloadgcc-a46f03ea151890ac0cfc96b843a857172fde23f8.zip
gcc-a46f03ea151890ac0cfc96b843a857172fde23f8.tar.gz
gcc-a46f03ea151890ac0cfc96b843a857172fde23f8.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/emit-rtl.c5
-rw-r--r--gcc/real.c4
3 files changed, 7 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 803fb78..22188d5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Wed Nov 25 19:02:55 1998 (Stephen L Moshier) <moshier@world.std.com>
+
+ * 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 <m.hayes@elec.canterbury.ac.nz>
* config/c4x/c4x.md (addqi3): Emit addqi3_noclobber pattern
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index 9a19de1..037269a 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 7fac64d..d40a0f3 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