1 /* $NetBSD: softfloat-for-gcc.h,v 1.7 2004/09/26 21:13:27 jmmv Exp $ */
2 
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
11 /* The following batch are called by GCC through wrappers */
12 #define float32_eq		_softfloat_float32_eq
13 #define float32_le		_softfloat_float32_le
14 #define float32_lt		_softfloat_float32_lt
15 #define float64_eq		_softfloat_float64_eq
16 #define float64_le		_softfloat_float64_le
17 #define float64_lt		_softfloat_float64_lt
18 
19 /*
20  * Macros to define functions with the GCC expected names
21  */
22 
23 #define float32_add			__addsf3
24 #define float64_add			__adddf3
25 #define floatx80_add			__addxf3
26 #define float32_sub			__subsf3
27 #define float64_sub			__subdf3
28 #define floatx80_sub			__subxf3
29 #define float32_mul			__mulsf3
30 #define float64_mul			__muldf3
31 #define floatx80_mul			__mulxf3
32 #define float32_div			__divsf3
33 #define float64_div			__divdf3
34 #define floatx80_div			__divxf3
35 #define int32_to_float32		__floatsisf
36 #define int32_to_float64		__floatsidf
37 #define int32_to_floatx80		__floatsixf
38 #define int64_to_float32		__floatdisf
39 #define int64_to_float64		__floatdidf
40 #define int64_to_floatx80		__floatdixf
41 #define float32_to_int32_round_to_zero	__fixsfsi
42 #define float64_to_int32_round_to_zero	__fixdfsi
43 #define floatx80_to_int32_round_to_zero __fixxfsi
44 #define float32_to_int64_round_to_zero	__fixsfdi
45 #define float64_to_int64_round_to_zero	__fixdfdi
46 #define floatx80_to_int64_round_to_zero __fixxfdi
47 #define float32_to_uint32_round_to_zero	__fixunssfsi
48 #define float64_to_uint32_round_to_zero	__fixunsdfsi
49 #define float32_to_float64		__extendsfdf2
50 #define float64_to_floatx80		__extenddfxf2
51 #define float32_to_floatx80		__extendsfxf2
52 #define float64_to_float32		__truncdfsf2
53 #define floatx80_to_float64		__truncxfdf2
54 #define floatx80_to_float32		__truncxfsf2
55 
56 #define floatx80_lt			__ltxf2
57 #define floatx80_eq			__eqxf2
58 #define floatx80_le			__lexf2
59