summaryrefslogtreecommitdiff
path: root/arch/i386/bits/fenv.h
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2011-02-15 00:33:23 -0500
committerRich Felker <dalias@aerifal.cx>2011-02-15 00:33:23 -0500
commit1355fdca7cb923c93f9011d8e9dcf49e1a67e537 (patch)
treebdff256e69dbeb5b5fcab7a2afc549d496d956f0 /arch/i386/bits/fenv.h
parent8f4865c8d25e508154a1cb89291f79489a4b3b4c (diff)
downloadmusl-1355fdca7cb923c93f9011d8e9dcf49e1a67e537.tar.gz
preparing build system to handle ports - step 1
Diffstat (limited to 'arch/i386/bits/fenv.h')
-rw-r--r--arch/i386/bits/fenv.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/arch/i386/bits/fenv.h b/arch/i386/bits/fenv.h
new file mode 100644
index 00000000..24df0417
--- /dev/null
+++ b/arch/i386/bits/fenv.h
@@ -0,0 +1,34 @@
+#define FE_INVALID 1
+#define __FE_DENORM 2
+#define FE_DIVBYZERO 4
+#define FE_OVERFLOW 8
+#define FE_UNDERFLOW 16
+#define FE_INEXACT 32
+
+#define FE_ALL_EXCEPT 63
+
+#define FE_TONEAREST 0
+#define FE_DOWNWARD 0x400
+#define FE_UPWARD 0x800
+#define FE_TOWARDZERO 0xc00
+
+typedef unsigned short fexcept_t;
+
+typedef struct {
+ unsigned short __control_word;
+ unsigned short __unused1;
+ unsigned short __status_word;
+ unsigned short __unused2;
+ unsigned short __tags;
+ unsigned short __unused3;
+ unsigned int __eip;
+ unsigned short __cs_selector;
+ unsigned int __opcode:11;
+ unsigned int __unused4:5;
+ unsigned int __data_offset;
+ unsigned short __data_selector;
+ unsigned short __unused5;
+ unsigned int __mxcsr;
+} fenv_t;
+
+#define FE_DFL_ENV ((const fenv_t *) -1)