xref: /freebsd/lib/libc/softfloat/softfloat-for-gcc.h (revision 15144b0f960e6044ec23ad91c5f76f37d1de36ba)
115144b0fSOlivier Houchard /* $NetBSD: softfloat-for-gcc.h,v 1.6 2003/07/26 19:24:51 salo Exp $ */
215144b0fSOlivier Houchard /* $FreeBSD$ */
315144b0fSOlivier Houchard 
415144b0fSOlivier Houchard /*
515144b0fSOlivier Houchard  * Move private identifiers with external linkage into implementation
615144b0fSOlivier Houchard  * namespace.  -- Klaus Klein <kleink@NetBSD.org>, May 5, 1999
715144b0fSOlivier Houchard  */
815144b0fSOlivier Houchard #define float_exception_flags	_softfloat_float_exception_flags
915144b0fSOlivier Houchard #define float_exception_mask	_softfloat_float_exception_mask
1015144b0fSOlivier Houchard #define float_rounding_mode	_softfloat_float_rounding_mode
1115144b0fSOlivier Houchard #define float_raise		_softfloat_float_raise
1215144b0fSOlivier Houchard /* The following batch are called by GCC through wrappers */
1315144b0fSOlivier Houchard #define float32_eq		_softfloat_float32_eq
1415144b0fSOlivier Houchard #define float32_le		_softfloat_float32_le
1515144b0fSOlivier Houchard #define float32_lt		_softfloat_float32_lt
1615144b0fSOlivier Houchard #define float64_eq		_softfloat_float64_eq
1715144b0fSOlivier Houchard #define float64_le		_softfloat_float64_le
1815144b0fSOlivier Houchard #define float64_lt		_softfloat_float64_lt
1915144b0fSOlivier Houchard 
2015144b0fSOlivier Houchard /*
2115144b0fSOlivier Houchard  * Macros to define functions with the GCC expected names
2215144b0fSOlivier Houchard  */
2315144b0fSOlivier Houchard 
2415144b0fSOlivier Houchard #define float32_add			__addsf3
2515144b0fSOlivier Houchard #define float64_add			__adddf3
2615144b0fSOlivier Houchard #define float32_sub			__subsf3
2715144b0fSOlivier Houchard #define float64_sub			__subdf3
2815144b0fSOlivier Houchard #define float32_mul			__mulsf3
2915144b0fSOlivier Houchard #define float64_mul			__muldf3
3015144b0fSOlivier Houchard #define float32_div			__divsf3
3115144b0fSOlivier Houchard #define float64_div			__divdf3
3215144b0fSOlivier Houchard #define int32_to_float32		__floatsisf
3315144b0fSOlivier Houchard #define int32_to_float64		__floatsidf
3415144b0fSOlivier Houchard #define int64_to_float32		__floatdisf
3515144b0fSOlivier Houchard #define int64_to_float64		__floatdidf
3615144b0fSOlivier Houchard #define float32_to_int32_round_to_zero	__fixsfsi
3715144b0fSOlivier Houchard #define float64_to_int32_round_to_zero	__fixdfsi
3815144b0fSOlivier Houchard #define float32_to_int64_round_to_zero	__fixsfdi
3915144b0fSOlivier Houchard #define float64_to_int64_round_to_zero	__fixdfdi
4015144b0fSOlivier Houchard #define float32_to_uint32_round_to_zero	__fixunssfsi
4115144b0fSOlivier Houchard #define float64_to_uint32_round_to_zero	__fixunsdfsi
4215144b0fSOlivier Houchard #define float32_to_float64		__extendsfdf2
4315144b0fSOlivier Houchard #define float64_to_float32		__truncdfsf2
44