9 #include <sys/config.h>
11 #ifdef __IEEE_LITTLE_ENDIAN
15 #ifdef __IEEE_BIG_ENDIAN
23 #if defined(IEEE_8087) + defined(IEEE_MC68k) + defined(VAX) + defined(IBM) != 1
24 Exactly one of IEEE_8087
, IEEE_MC68k
, VAX
, or IBM should be defined
.
27 union long_double_union
33 typedef union long_double_union LONG_DOUBLE_UNION
;
35 extern void _simdstrtold (char *, char **, LONG_DOUBLE_UNION
*);
36 extern int _simdldcheck (LONG_DOUBLE_UNION
*);
38 #define SIMD_LDBL_MANT_DIG 113
41 # define word0(x) (x.i[3])
42 # define word1(x) (x.i[2])
43 # define word2(x) (x.i[1])
44 # define word3(x) (x.i[0])
45 #else /* !IEEE_8087 */
46 # define word0(x) (x.i[0])
47 # define word1(x) (x.i[1])
48 # define word2(x) (x.i[2])
49 # define word3(x) (x.i[3])
50 #endif /* !IEEE_8087 */
55 #define Exp_mask ((__uint32_t)0x7fff0000L)
57 #define Exp_msk1 ((__uint32_t)0x00010000L)
63 #define Sign_bit ((__uint32_t)0x80000000L)
72 #ifdef __LITTLE_ENDIAN__
73 # define hiword(y) (y.j[1])
74 # define loword(y) (y.j[0])
75 #else /* __BIG_ENDIAN__ */
76 # define hiword(y) (y.j[0])
77 # define loword(y) (y.j[1])
78 #endif /* __BIG_ENDIAN__ */
80 #endif /* _FIX64_H_ */