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.
/* 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 */