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 */ 8*980ece80SDavid Schultz #define float_exception_flags __softfloat_float_exception_flags 9*980ece80SDavid Schultz #define float_exception_mask __softfloat_float_exception_mask 10*980ece80SDavid Schultz #define float_rounding_mode __softfloat_float_rounding_mode 11*980ece80SDavid Schultz #define float_raise __softfloat_float_raise 1215144b0fSOlivier Houchard /* The following batch are called by GCC through wrappers */ 13*980ece80SDavid Schultz #define float32_eq __softfloat_float32_eq 14*980ece80SDavid Schultz #define float32_le __softfloat_float32_le 15*980ece80SDavid Schultz #define float32_lt __softfloat_float32_lt 16*980ece80SDavid Schultz #define float64_eq __softfloat_float64_eq 17*980ece80SDavid Schultz #define float64_le __softfloat_float64_le 18*980ece80SDavid Schultz #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