diff options
author | Richard Henderson <rth@redhat.com> | 2001-12-28 01:23:05 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2001-12-28 01:23:05 -0800 |
commit | e6724881e63b36f7b174030d003b47b9c6a111a2 (patch) | |
tree | d275d01dc5904078137c164bea348b4daae5e140 /gcc/real.c | |
parent | 9346c2fffd405990bb4c956006d16ec324447760 (diff) | |
download | gcc-e6724881e63b36f7b174030d003b47b9c6a111a2.zip gcc-e6724881e63b36f7b174030d003b47b9c6a111a2.tar.gz gcc-e6724881e63b36f7b174030d003b47b9c6a111a2.tar.bz2 |
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
Diffstat (limited to 'gcc/real.c')
-rw-r--r-- | gcc/real.c | 24 |
1 files changed, 20 insertions, 4 deletions
@@ -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; |