about summary refs log tree commit diff
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)
downloadglibc-0061df4ed91c91d6b20f3edc0aab437f3fed4969.tar.gz
glibc-0061df4ed91c91d6b20f3edc0aab437f3fed4969.tar.xz
glibc-0061df4ed91c91d6b20f3edc0aab437f3fed4969.zip
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