Commit e6724881 by Richard Henderson Committed by Richard Henderson

real.c (etoe113, toe113): Ifndef INTEL_EXTENDED_IEEE_FORMAT.

        * real.c (etoe113, toe113): Ifndef INTEL_EXTENDED_IEEE_FORMAT.
        (endian): Clear word 3 for INTEL_EXTENDED_IEEE_FORMAT.
        (etartdouble): Invoke etoe64 for INTEL_EXTENDED_IEEE_FORMAT.
        * real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Don't special case
        INTEL_EXTENDED_IEEE_FORMAT.

From-SVN: r48342
parent 9346c2ff
2001-12-28 Richard Henderson <rth@redhat.com>
* real.c (etoe113, toe113): Ifndef INTEL_EXTENDED_IEEE_FORMAT.
(endian): Clear word 3 for INTEL_EXTENDED_IEEE_FORMAT.
(etartdouble): Invoke etoe64 for INTEL_EXTENDED_IEEE_FORMAT.
* real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Don't special case
INTEL_EXTENDED_IEEE_FORMAT.
2001-12-27 Geoff Keating <geoffk@redhat.com>
* combine.c (try_combine): Mask off sign bits when combining
......
......@@ -425,8 +425,10 @@ static void e64toe PARAMS ((UEMUSHORT *, UEMUSHORT *));
static void e113toe PARAMS ((UEMUSHORT *, UEMUSHORT *));
#endif
static void e24toe PARAMS ((UEMUSHORT *, UEMUSHORT *));
#if (INTEL_EXTENDED_IEEE_FORMAT == 0)
static void etoe113 PARAMS ((UEMUSHORT *, UEMUSHORT *));
static void toe113 PARAMS ((UEMUSHORT *, UEMUSHORT *));
#endif
static void etoe64 PARAMS ((UEMUSHORT *, UEMUSHORT *));
static void toe64 PARAMS ((UEMUSHORT *, UEMUSHORT *));
static void etoe53 PARAMS ((UEMUSHORT *, UEMUSHORT *));
......@@ -524,7 +526,10 @@ endian (e, x, mode)
t = (unsigned long) e[7] & 0xffff;
t |= th << 16;
x[3] = (long) t;
#else
x[3] = 0;
#endif
/* FALLTHRU */
case XFmode:
/* Swap halfwords in the third long. */
......@@ -532,7 +537,7 @@ endian (e, x, mode)
t = (unsigned long) e[5] & 0xffff;
t |= th << 16;
x[2] = (long) t;
/* fall into the double case */
/* FALLTHRU */
case DFmode:
/* Swap halfwords in the second word. */
......@@ -540,7 +545,7 @@ endian (e, x, mode)
t = (unsigned long) e[3] & 0xffff;
t |= th << 16;
x[1] = (long) t;
/* fall into the float case */
/* FALLTHRU */
case SFmode:
case HFmode:
......@@ -568,7 +573,10 @@ endian (e, x, mode)
t = (unsigned long) e[6] & 0xffff;
t |= th << 16;
x[3] = (long) t;
#else
x[3] = 0;
#endif
/* FALLTHRU */
case XFmode:
/* Pack the third long.
......@@ -578,7 +586,7 @@ endian (e, x, mode)
t = (unsigned long) e[4] & 0xffff;
t |= th << 16;
x[2] = (long) t;
/* fall into the double case */
/* FALLTHRU */
case DFmode:
/* Pack the second long */
......@@ -586,7 +594,7 @@ endian (e, x, mode)
t = (unsigned long) e[2] & 0xffff;
t |= th << 16;
x[1] = (long) t;
/* fall into the float case */
/* FALLTHRU */
case SFmode:
case HFmode:
......@@ -1256,7 +1264,11 @@ etartdouble (r, l)
UEMUSHORT e[NE];
GET_REAL (&r, e);
#if INTEL_EXTENDED_IEEE_FORMAT == 0
etoe113 (e, e);
#else
etoe64 (e, e);
#endif
endian (e, l, TFmode);
}
......@@ -3535,6 +3547,7 @@ e24toe (pe, y)
#endif /* not IBM */
}
#if (INTEL_EXTENDED_IEEE_FORMAT == 0)
/* Convert e-type X to IEEE 128-bit long double format E. */
static void
......@@ -3627,6 +3640,7 @@ toe113 (a, b)
*q-- = *p++;
}
}
#endif
/* Convert e-type X to IEEE double extended format E. */
......@@ -5515,9 +5529,11 @@ read_expnt:
case 64:
toe64 (yy, y);
break;
#if (INTEL_EXTENDED_IEEE_FORMAT == 0)
case 113:
toe113 (yy, y);
break;
#endif
case NBITS:
emovo (yy, y);
break;
......
......@@ -208,15 +208,11 @@ extern REAL_VALUE_TYPE ereal_from_double PARAMS ((HOST_WIDE_INT *));
ereal_from_uint (&d, lo, hi, mode)
/* IN is a REAL_VALUE_TYPE. OUT is an array of longs. */
#if (INTEL_EXTENDED_IEEE_FORMAT != 0) && (MAX_LONG_DOUBLE_TYPE_SIZE == 128)
#define REAL_VALUE_TO_TARGET_LONG_DOUBLE(IN, OUT) (etarldouble ((IN), (OUT)))
#else
#define REAL_VALUE_TO_TARGET_LONG_DOUBLE(IN, OUT) \
(LONG_DOUBLE_TYPE_SIZE == 64 ? etardouble ((IN), (OUT)) \
: LONG_DOUBLE_TYPE_SIZE == 96 ? etarldouble ((IN), (OUT)) \
: LONG_DOUBLE_TYPE_SIZE == 128 ? etartdouble ((IN), (OUT)) \
: abort())
#endif
#define REAL_VALUE_TO_TARGET_DOUBLE(IN, OUT) (etardouble ((IN), (OUT)))
/* IN is a REAL_VALUE_TYPE. OUT is a long. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment