VM: simplify slab allocator
[minix.git] / lib / libc / softfloat / softfloat-for-gcc.h
blob665cdc4af69ecdd37e66a27f7bac5fb26d7fb663
1 /* $NetBSD: softfloat-for-gcc.h,v 1.8 2009/12/14 01:07:42 matt Exp $ */
3 /*
4 * Move private identifiers with external linkage into implementation
5 * namespace. -- Klaus Klein <kleink@NetBSD.org>, May 5, 1999
6 */
7 #define float_exception_flags _softfloat_float_exception_flags
8 #define float_exception_mask _softfloat_float_exception_mask
9 #define float_rounding_mode _softfloat_float_rounding_mode
10 #define float_raise _softfloat_float_raise
12 /* The following batch are called by GCC through wrappers */
13 #define float32_eq _softfloat_float32_eq
14 #define float32_le _softfloat_float32_le
15 #define float32_lt _softfloat_float32_lt
16 #define float64_eq _softfloat_float64_eq
17 #define float64_le _softfloat_float64_le
18 #define float64_lt _softfloat_float64_lt
19 #define float128_eq _softfloat_float128_eq
20 #define float128_le _softfloat_float128_le
21 #define float128_lt _softfloat_float128_lt
24 * Macros to define functions with the GCC expected names
27 #define float32_add __addsf3
28 #define float64_add __adddf3
29 #define floatx80_add __addxf3
30 #define float128_add __addtf3
32 #define float32_sub __subsf3
33 #define float64_sub __subdf3
34 #define floatx80_sub __subxf3
35 #define float128_sub __subtf3
37 #define float32_mul __mulsf3
38 #define float64_mul __muldf3
39 #define floatx80_mul __mulxf3
40 #define float128_mul __multf3
42 #define float32_div __divsf3
43 #define float64_div __divdf3
44 #define floatx80_div __divxf3
45 #define float128_div __divtf3
47 #if 0
48 #define float32_neg __negsf2
49 #define float64_neg __negdf2
50 #define floatx80_neg __negxf2
51 #define float128_neg __negtf2
52 #endif
54 #define int32_to_float32 __floatsisf
55 #define int32_to_float64 __floatsidf
56 #define int32_to_floatx80 __floatsixf
57 #define int32_to_float128 __floatsitf
59 #define int64_to_float32 __floatdisf
60 #define int64_to_float64 __floatdidf
61 #define int64_to_floatx80 __floatdixf
62 #define int64_to_float128 __floatditf
64 #define int128_to_float32 __floattisf
65 #define int128_to_float64 __floattidf
66 #define int128_to_floatx80 __floattixf
67 #define int128_to_float128 __floattitf
69 #define uint32_to_float32 __floatunsisf
70 #define uint32_to_float64 __floatunsidf
71 #define uint32_to_floatx80 __floatunsixf
72 #define uint32_to_float128 __floatunsitf
74 #define uint64_to_float32 __floatundisf
75 #define uint64_to_float64 __floatundidf
76 #define uint64_to_floatx80 __floatundixf
77 #define uint64_to_float128 __floatunditf
79 #define uint128_to_float32 __floatuntisf
80 #define uint128_to_float64 __floatuntidf
81 #define uint128_to_floatx80 __floatuntixf
82 #define uint128_to_float128 __floatuntitf
84 #define float32_to_int32_round_to_zero __fixsfsi
85 #define float64_to_int32_round_to_zero __fixdfsi
86 #define floatx80_to_int32_round_to_zero __fixxfsi
87 #define float128_to_int32_round_to_zero __fixtfsi
89 #define float32_to_int64_round_to_zero __fixsfdi
90 #define float64_to_int64_round_to_zero __fixdfdi
91 #define floatx80_to_int64_round_to_zero __fixxfdi
92 #define float128_to_int64_round_to_zero __fixtfdi
94 #define float32_to_int128_round_to_zero __fixsfti
95 #define float64_to_int128_round_to_zero __fixdfti
96 #define floatx80_to_int128_round_to_zero __fixxfti
97 #define float128_to_int128_round_to_zero __fixtfti
99 #define float32_to_uint32_round_to_zero __fixunssfsi
100 #define float64_to_uint32_round_to_zero __fixunsdfsi
101 #define floatx80_to_uint32_round_to_zero __fixunsxfsi
102 #define float128_to_uint32_round_to_zero __fixunstfsi
104 #define float32_to_uint64_round_to_zero __fixunssfdi
105 #define float64_to_uint64_round_to_zero __fixunsdfdi
106 #define floatx80_to_uint64_round_to_zero __fixunsxfdi
107 #define float128_to_uint64_round_to_zero __fixunstfdi
109 #define float32_to_uint128_round_to_zero __fixunssfti
110 #define float64_to_uint128_round_to_zero __fixunsdfti
111 #define floatx80_to_uint128_round_to_zero __fixunsxfti
112 #define float128_to_uint128_round_to_zero __fixunstfti
114 #define float32_to_float64 __extendsfdf2
115 #define float32_to_floatx80 __extendsfxf2
116 #define float32_to_float128 __extendsftf2
117 #define float64_to_floatx80 __extenddfxf2
118 #define float64_to_float128 __extenddftf2
120 #define float128_to_float64 __trunctfdf2
121 #define floatx80_to_float64 __truncxfdf2
122 #define float128_to_float32 __trunctfsf2
123 #define floatx80_to_float32 __truncxfsf2
124 #define float64_to_float32 __truncdfsf2
126 #if 0
127 #define float32_cmp __cmpsf2
128 #define float32_unord __unordsf2
129 #define float32_eq __eqsf2
130 #define float32_ne __nesf2
131 #define float32_ge __gesf2
132 #define float32_lt __ltsf2
133 #define float32_le __lesf2
134 #define float32_gt __gtsf2
135 #endif
137 #if 0
138 #define float64_cmp __cmpdf2
139 #define float64_unord __unorddf2
140 #define float64_eq __eqdf2
141 #define float64_ne __nedf2
142 #define float64_ge __gedf2
143 #define float64_lt __ltdf2
144 #define float64_le __ledf2
145 #define float64_gt __gtdf2
146 #endif
148 /* XXX not in libgcc */
149 #if 1
150 #define floatx80_cmp __cmpxf2
151 #define floatx80_unord __unordxf2
152 #define floatx80_eq __eqxf2
153 #define floatx80_ne __nexf2
154 #define floatx80_ge __gexf2
155 #define floatx80_lt __ltxf2
156 #define floatx80_le __lexf2
157 #define floatx80_gt __gtxf2
158 #endif
160 #if 0
161 #define float128_cmp __cmptf2
162 #define float128_unord __unordtf2
163 #define float128_eq __eqtf2
164 #define float128_ne __netf2
165 #define float128_ge __getf2
166 #define float128_lt __lttf2
167 #define float128_le __letf2
168 #define float128_gt __gttf2
169 #endif