diff options
author | Alan Modra <amodra@bigpond.net.au> | 2002-03-23 11:57:29 +0000 |
---|---|---|
committer | Alan Modra <amodra@gcc.gnu.org> | 2002-03-23 22:27:29 +1030 |
commit | bbaa9790f3bd9d145e620646ef60bd96d6479371 (patch) | |
tree | 50c5de03fbc7ab65b2dc378b52128fa7451c08a6 /gcc | |
parent | ad42149cb159bd56008d8ea54974876a963e4be3 (diff) | |
download | gcc-bbaa9790f3bd9d145e620646ef60bd96d6479371.zip gcc-bbaa9790f3bd9d145e620646ef60bd96d6479371.tar.gz gcc-bbaa9790f3bd9d145e620646ef60bd96d6479371.tar.bz2 |
* real.h (N): Special case 128 bit doubles.
From-SVN: r51229
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 2 | ||||
-rw-r--r-- | gcc/real.h | 5 |
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b95a707..21bc263 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,7 @@ 2002-03-23 Alan Modra <amodra@bigpond.net.au> + * real.h (N): Special case 128 bit doubles. + * combine.c (simplify_comparison): When widening modes, ignore sign extension on CONST_INTs. @@ -77,7 +77,12 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA /* REAL_VALUE_TYPE is an array of the minimum number of HOST_WIDE_INTs required to hold MAX_LONG_DOUBLE_TYPE_SIZE bits. */ +#if MAX_LONG_DOUBLE_TYPE_SIZE == 128 +/* For 128 bit reals, we calculate internally with extra precision. */ +#define N (160 / BITS_PER_UNIT) +#else #define N (MAX_LONG_DOUBLE_TYPE_SIZE / BITS_PER_UNIT) +#endif #define S sizeof (HOST_WIDE_INT) typedef struct { HOST_WIDE_INT r[N/S + (N%S ? 1 : 0)]; /* round up */ |