summaryrefslogtreecommitdiff
path: root/stdlib/gmp-impl.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-06-01 14:26:00 +0000
committerUlrich Drepper <drepper@redhat.com>1998-06-01 14:26:00 +0000
commit0061df4ed91c91d6b20f3edc0aab437f3fed4969 (patch)
treea1957c3451ad120f161b78f7766483a3b2a263a4 /stdlib/gmp-impl.h
parent112f5896cc947bd7f6d28e4dec473eb429a12787 (diff)
Update.
1998-05-30 Philip Blundell <Philip.Blundell@pobox.com> * stdlib/gmp-impl.h: Support strange mixed-endian double format used by ARM systems. * sysdeps/arm/fpu/bits/fenv.h (FE_EXCEPTION_SHIFT): Rename to FE_EXCEPT_SHIFT. * sysdeps/arm/bits/fenv.h: Deleted. * sysdeps/arm/fpu/ieee754.h: New file. * sysdeps/arm/gmp-mparam.h: New file. * stdlib/longlong.h (umul_ppmm): Temporarily disable broken ARM implementation.
Diffstat (limited to 'stdlib/gmp-impl.h')
-rw-r--r--stdlib/gmp-impl.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/stdlib/gmp-impl.h b/stdlib/gmp-impl.h
index 837fcfdb28..3dbb837d1e 100644
--- a/stdlib/gmp-impl.h
+++ b/stdlib/gmp-impl.h
@@ -327,6 +327,23 @@ extern void impn_sqr_n _PROTO ((mp_ptr prodp, mp_srcptr up, mp_size_t size,
#define IEEE_DOUBLE_BIG_ENDIAN 1
#endif
+#ifndef IEEE_DOUBLE_MIXED_ENDIAN
+#define IEEE_DOUBLE_MIXED_ENDIAN 0
+#endif
+
+#if IEEE_DOUBLE_MIXED_ENDIAN
+union ieee_double_extract
+{
+ struct
+ {
+ unsigned int manh:20;
+ unsigned int exp:11;
+ unsigned int sig:1;
+ unsigned int manl:32;
+ } s;
+ double d;
+};
+#else
#if IEEE_DOUBLE_BIG_ENDIAN
union ieee_double_extract
{
@@ -352,3 +369,4 @@ union ieee_double_extract
double d;
};
#endif
+#endif