1 #ifndef _MACHINE_IEEE_H_
2 #define _MACHINE_IEEE_H_
5 #include <machine/ieeefp.h>
8 #if LDBL_MANT_DIG == 24
9 #define EXT_IMPLICIT_NBIT
10 #define EXT_TO_ARRAY32(p, a) do { \
11 (a)[0] = (p)->ext_frac; \
13 #ifdef __IEEE_LITTLE_ENDIAN
20 #ifdef __IEEE_BIG_ENDIAN
22 #ifndef ___IEEE_BYTES_LITTLE_ENDIAN
26 #else /* ARMEL without __VFP_FP__ */
33 #elif LDBL_MANT_DIG == 53
34 #define EXT_IMPLICIT_NBIT
35 #define EXT_TO_ARRAY32(p, a) do { \
36 (a)[0] = (p)->ext_fracl; \
37 (a)[1] = (p)->ext_frach; \
39 #ifdef __IEEE_LITTLE_ENDIAN
42 uint32_t ext_frach
:20;
47 #ifdef __IEEE_BIG_ENDIAN
49 #ifndef ___IEEE_BYTES_LITTLE_ENDIAN
52 uint32_t ext_frach
:20;
53 #else /* ARMEL without __VFP_FP__ */
54 uint32_t ext_frach
:20;
61 #elif LDBL_MANT_DIG == 64
62 #define EXT_TO_ARRAY32(p, a) do { \
63 (a)[0] = (p)->ext_fracl; \
64 (a)[1] = (p)->ext_frach; \
66 #ifdef __IEEE_LITTLE_ENDIAN /* for Intel CPU */
76 #ifdef __IEEE_BIG_ENDIAN
78 #ifndef ___IEEE_BYTES_LITTLE_ENDIAN /* for m68k */
82 #else /* ARM FPA10 math coprocessor */
91 #elif LDBL_MANT_DIG == 113
92 #define EXT_IMPLICIT_NBIT
93 #define EXT_TO_ARRAY32(p, a) do { \
94 (a)[0] = (p)->ext_fracl; \
95 (a)[1] = (p)->ext_fraclm; \
96 (a)[2] = (p)->ext_frachm; \
97 (a)[3] = (p)->ext_frach; \
99 #ifdef __IEEE_LITTLE_ENDIAN
104 uint32_t ext_frach
:16;
109 #ifdef __IEEE_BIG_ENDIAN
111 #ifndef ___IEEE_BYTES_LITTLE_ENDIAN
114 uint32_t ext_frach
:16;
115 #else /* ARMEL without __VFP_FP__ */
116 uint32_t ext_frach
:16;
127 #endif /* _MACHINE_IEEE_H_ */