Port musl to x86-64. One giant commit!
[musl] / arch / x86_64 / bits / fenv.h
1 #define FE_INVALID    1
2 #define __FE_DENORM   2
3 #define FE_DIVBYZERO  4
4 #define FE_OVERFLOW   8
5 #define FE_UNDERFLOW  16
6 #define FE_INEXACT    32
7
8 #define FE_ALL_EXCEPT 63
9
10 #define FE_TONEAREST  0
11 #define FE_DOWNWARD   0x400
12 #define FE_UPWARD     0x800
13 #define FE_TOWARDZERO 0xc00
14
15 typedef unsigned short fexcept_t;
16
17 typedef struct {
18         unsigned short __control_word;
19         unsigned short __unused1;
20         unsigned short __status_word;
21         unsigned short __unused2;
22         unsigned short __tags;
23         unsigned short __unused3;
24         unsigned int __eip;
25         unsigned short __cs_selector;
26         unsigned int __opcode:11;
27         unsigned int __unused4:5;
28         unsigned int __data_offset;
29         unsigned short __data_selector;
30         unsigned short __unused5;
31         unsigned int __mxcsr;
32 } fenv_t;
33
34 #define FE_DFL_ENV      ((const fenv_t *) -1)