aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1996-03-12 08:19:58 +0000
committerRoland McGrath <roland@gnu.org>1996-03-12 08:19:58 +0000
commitdd0e4e0c8bc50309bdadae2ec78c4ccf15e6c402 (patch)
tree002412f86014ce455ffbbea2bc268363cf85c997
parentd25d5f6a5043df3e5aee57b078a102305f0cbdad (diff)
downloadglibc-dd0e4e0c8bc50309bdadae2ec78c4ccf15e6c402.zip
glibc-dd0e4e0c8bc50309bdadae2ec78c4ccf15e6c402.tar.gz
glibc-dd0e4e0c8bc50309bdadae2ec78c4ccf15e6c402.tar.bz2
Tue Mar 12 03:15:02 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* sysdeps/unix/sysv/linux/i386/fpu_control.h (_FPU_DEFAULT): Change default to double precision, all interrupts masked; fdlibm requires.
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/unix/sysv/linux/i386/fpu_control.h15
2 files changed, 11 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 80b4d8c..02f53fb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Mar 12 03:15:02 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
+
+ * sysdeps/unix/sysv/linux/i386/fpu_control.h (_FPU_DEFAULT): Change
+ default to double precision, all interrupts masked; fdlibm requires.
+
Sat Mar 9 18:44:27 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* sysdeps/unix/sysv/linux/i386/setfpucw.c: Obsolete file removed.
diff --git a/sysdeps/unix/sysv/linux/i386/fpu_control.h b/sysdeps/unix/sysv/linux/i386/fpu_control.h
index 56f42cd..ed56d83 100644
--- a/sysdeps/unix/sysv/linux/i386/fpu_control.h
+++ b/sysdeps/unix/sysv/linux/i386/fpu_control.h
@@ -63,8 +63,8 @@ Boston, MA 02111-1307, USA. */
#define _FPU_MASK_PM 0x20
/* precision control */
-#define _FPU_EXTENDED 0x300 /* RECOMMENDED */
-#define _FPU_DOUBLE 0x200
+#define _FPU_EXTENDED 0x300
+#define _FPU_DOUBLE 0x200 /* fdlibm requires double precision */
#define _FPU_SINGLE 0x0 /* DO NOT USE */
/* rounding control */
@@ -76,16 +76,13 @@ Boston, MA 02111-1307, USA. */
#define _FPU_RESERVED 0xF0C0 /* Reserved bits in cw */
-/* Now two recommended cw */
+/* The fdlibm code requires strict IEEE double precision arithmetic,
+ and no interrupts for exceptions, rounding to nearest. */
-/* Linux default:
- - extended precision
- - rounding to nearest
- - exceptions on overflow, zero divide and NaN */
-#define _FPU_DEFAULT 0x1372
+#define _FPU_DEFAULT 0x127f
/* IEEE: same as above, but exceptions */
-#define _FPU_IEEE 0x137f
+#define _FPU_IEEE 0x127f
/* Type of the control word. */
typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__HI__)));