diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1996-03-04 08:57:43 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1996-03-04 08:57:43 -0500 |
commit | de3a68a106506d13e4429f868c3af140a022c6a3 (patch) | |
tree | a5d2908cb8681f40e4d34802d18042b0ed75fc59 | |
parent | 541180f92afb6494e1e1b1a5d53016a3a466ae4a (diff) | |
download | gcc-de3a68a106506d13e4429f868c3af140a022c6a3.zip gcc-de3a68a106506d13e4429f868c3af140a022c6a3.tar.gz gcc-de3a68a106506d13e4429f868c3af140a022c6a3.tar.bz2 |
(significand_size): Don't test the modes, but their sizes.
From-SVN: r11415
-rw-r--r-- | gcc/real.c | 15 |
1 files changed, 9 insertions, 6 deletions
@@ -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: |