aboutsummaryrefslogtreecommitdiff
path: root/gcc/real.c
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1996-03-04 08:57:43 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1996-03-04 08:57:43 -0500
commitde3a68a106506d13e4429f868c3af140a022c6a3 (patch)
treea5d2908cb8681f40e4d34802d18042b0ed75fc59 /gcc/real.c
parent541180f92afb6494e1e1b1a5d53016a3a466ae4a (diff)
downloadgcc-de3a68a106506d13e4429f868c3af140a022c6a3.zip
gcc-de3a68a106506d13e4429f868c3af140a022c6a3.tar.gz
gcc-de3a68a106506d13e4429f868c3af140a022c6a3.tar.bz2
(significand_size): Don't test the modes, but their sizes.
From-SVN: r11415
Diffstat (limited to 'gcc/real.c')
-rw-r--r--gcc/real.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/gcc/real.c b/gcc/real.c
index 082cfd0..ec44370 100644
--- a/gcc/real.c
+++ b/gcc/real.c
@@ -1,6 +1,6 @@
/* real.c - implementation of REAL_ARITHMETIC, REAL_VALUE_ATOF,
and support for XFmode IEEE extended real floating point arithmetic.
- Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc.
+ Copyright (C) 1993, 1994, 1995, 1996 Free Software Foundation, Inc.
Contributed by Stephen L. Moshier (moshier@world.std.com).
This file is part of GNU CC.
@@ -6091,12 +6091,15 @@ significand_size (mode)
enum machine_mode mode;
{
-switch (mode)
+/* Don't test the modes, but their sizes, lest this
+ code won't work for BITS_PER_UNIT != 8 . */
+
+switch (GET_MODE_BITSIZE (mode))
{
- case SFmode:
+ case 32:
return 24;
- case DFmode:
+ case 64:
#if TARGET_FLOAT_FORMAT == IEEE_FLOAT_FORMAT
return 53;
#else
@@ -6111,9 +6114,9 @@ switch (mode)
#endif
#endif
- case XFmode:
+ case 96:
return 64;
- case TFmode:
+ case 128:
return 113;
default: