aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1992-03-07 07:18:44 +0000
committerRichard Stallman <rms@gnu.org>1992-03-07 07:18:44 +0000
commit05795922a259e1b382c48742c36b293c855ddea7 (patch)
tree31eed81003c1e21a21c2aaeb6549d8929b8fc377 /gcc
parenteb76eb5a801e614045465be9d49195ee564c3233 (diff)
downloadgcc-05795922a259e1b382c48742c36b293c855ddea7.zip
gcc-05795922a259e1b382c48742c36b293c855ddea7.tar.gz
gcc-05795922a259e1b382c48742c36b293c855ddea7.tar.bz2
*** empty log message ***
From-SVN: r410
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/i860/i860.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/gcc/config/i860/i860.c b/gcc/config/i860/i860.c
index 2b1828d..c4c75ca 100644
--- a/gcc/config/i860/i860.c
+++ b/gcc/config/i860/i860.c
@@ -1614,21 +1614,17 @@ unsigned long
sfmode_constant_to_ulong (x)
rtx x;
{
- union { double d; unsigned long i[2]; } u;
+ REAL_VALUE_TYPE d;
union { float f; unsigned long i; } u2;
if (GET_CODE (x) != CONST_DOUBLE || GET_MODE (x) != SFmode)
abort ();
-#ifndef HOST_WORDS_BIG_ENDIAN
- u.i[0] = CONST_DOUBLE_LOW (x);
- u.i[1] = CONST_DOUBLE_HIGH (x);
-#else
- u.i[0] = CONST_DOUBLE_HIGH (x);
- u.i[1] = CONST_DOUBLE_LOW (x);
+#if TARGET_FLOAT_FORMAT != HOST_FLOAT_FORMAT
+# error IEEE emulation needed
#endif
-
- u2.f = u.d;
+ REAL_VALUE_FROM_CONST_DOUBLE (u.d, x);
+ u2.f = d;
return u2.i;
}