Fix x86-x-ia64 cross compiler build failure.

* real.c (ereal_from_int, ereal_from_uint, significand_size): Handle
	INTEL_EXTENDED_IEEE_FORMAT.
	(toe64): Delete INTEL_EXTENDED_IEEE_FORMAT support.  Unconditionally
	clear last two bytes of output FP value.

From-SVN: r35861
This commit is contained in:
Jim Wilson 2000-08-22 00:36:44 +00:00 committed by Jim Wilson
parent 94c21c1737
commit 280db20577
2 changed files with 27 additions and 16 deletions

View File

@ -1,3 +1,10 @@
2000-08-21 Jim Wilson <wilson@cygnus.com>
* real.c (ereal_from_int, ereal_from_uint, significand_size): Handle
INTEL_EXTENDED_IEEE_FORMAT.
(toe64): Delete INTEL_EXTENDED_IEEE_FORMAT support. Unconditionally
clear last two bytes of output FP value.
2000-08-21 Graham Stott <grahams@cygnus.co.uk>
* config/ia64/ia64.h (REDO_SECTION_INFO_P): Change decl to DECL.

View File

@ -882,8 +882,13 @@ ereal_from_int (d, i, j, mode)
break;
case 128:
#ifndef INTEL_EXTENDED_IEEE_FORMAT
etoe113 (dg, df);
e113toe (df, dg);
#else
etoe64 (dg, df);
e64toe (df, dg);
#endif
break;
default:
@ -936,8 +941,13 @@ ereal_from_uint (d, i, j, mode)
break;
case 128:
#ifndef INTEL_EXTENDED_IEEE_FORMAT
etoe113 (dg, df);
e113toe (df, dg);
#else
etoe64 (dg, df);
e64toe (df, dg);
#endif
break;
default:
@ -3666,22 +3676,11 @@ toe64 (a, b)
else
{
q = b + 4; /* point to output exponent */
/* The purpose of this conditional is to avoid scribbling beyond
the end of a long double, in case the type is only 80 bits wide. */
if (LONG_DOUBLE_TYPE_SIZE == 96)
{
/* Clear the last two bytes of 12-byte Intel format */
*(q+1) = 0;
}
#ifdef INTEL_EXTENDED_IEEE_FORMAT
if (LONG_DOUBLE_TYPE_SIZE == 128)
{
/* Clear the last 6 bytes of 16-byte Intel format. */
q[1] = 0;
q[2] = 0;
q[3] = 0;
}
#endif
/* Clear the last two bytes of 12-byte Intel format. q is pointing
into an array of size 6 (e.g. x[NE]), so the last two bytes are
always there, and there are never more bytes, even when we are using
INTEL_EXTENDED_IEEE_FORMAT. */
*(q+1) = 0;
}
#endif
@ -6917,8 +6916,13 @@ switch (GET_MODE_BITSIZE (mode))
case 96:
return 64;
case 128:
#ifndef INTEL_EXTENDED_IEEE_FORMAT
return 113;
#else
return 64;
#endif
default:
abort ();