Home | History | Annotate | Line # | Download | only in softfloat
      1 /*
      2  * Get everything SOFTFLOAT_FOR_GCC normally would rename out of the users
      3  * namespace. Much of this isn't used but to avoid dissecting softloat.c
      4  * all of it is pulled in even for just the _Qp* case
      5  */
      6 
      7 #if defined(SOFTFLOATAARCH64_FOR_GCC) && !defined(SOFTFLOAT_FOR_GCC)
      8 #define float_exception_flags   _softfloat_float_exception_flags
      9 #define float_rounding_mode     _softfloat_float_rounding_mode
     10 #define float_raise             _softfloat_float_raise
     11 
     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 #define float32_add			_softfloat_float32_add
     20 #define float64_add			_softfloat_float64_add
     21 #define float32_sub			_softfloat_float32_sub
     22 #define float64_sub			_softfloat_float64_sub
     23 #define float32_mul			_softfloat_float32_mul
     24 #define float64_mul			_softfloat_float64_mul
     25 #define float32_div			_softfloat_float32_div
     26 #define float64_div			_softfloat_float64_div
     27 #define int32_to_float32		_softfloat_int32_to_float32
     28 #define int32_to_float64		_softfloat_int32_to_float64
     29 #define int64_to_float32		_softfloat_int64_to_float32
     30 #define int64_to_float64		_softfloat_int64_to_float64
     31 #define float32_to_int32_round_to_zero	_softfloat_float32_to_int32_round_to_zero
     32 #define float64_to_int32_round_to_zero	_softfloat_float64_to_int32_round_to_zero
     33 #define float32_to_int64_round_to_zero	_softfloat_float32_to_int64_round_to_zero
     34 #define float64_to_int64_round_to_zero	_softfloat_float64_to_int64_round_to_zero
     35 #define float32_to_uint32_round_to_zero	_softfloat_float32_to_uint32_round_to_zero
     36 #define float64_to_uint32_round_to_zero	_softfloat_float64_to_uint32_round_to_zero
     37 #define float32_to_float64		_softfloat_float32_to_float64
     38 #define float64_to_float32		_softfloat_float64_to_float32
     39 #define float32_is_signaling_nan	_softfloat_float32_is_signaling_nan
     40 #define float64_is_signaling_nan	_softfloat_float64_is_signaling_nan
     41 
     42 #endif /* SOFTFLOATAARCH64_FOR_GCC and !SOFTFLOAT_FOR_GCC */
     43 
     44 /*
     45  * The following will always end up in the namespace if FLOAT128 is
     46  * defined and SOFTFLOAT_FOR_GCC isn't. So rename them out of the user's
     47  * namespace.
     48  */
     49 
     50 #ifdef SOFTFLOATAARCH64_FOR_GCC
     51 #define	float128_add			_softfloat_float128_add
     52 #define	float128_div			_softfloat_float128_div
     53 #define	float128_eq			_softfloat_float128_eq
     54 #define	float128_eq_signaling		_softfloat_float128_eq_signaling
     55 #define	float128_is_nan			_softfloat_float128_is_nan
     56 #define	float128_is_signaling_nan	_softfloat_float128_is_signaling_nan
     57 #define	float128_le			_softfloat_float128_le
     58 #define	float128_le_quiet		_softfloat_float128_le_quiet
     59 #define	float128_lt			_softfloat_float128_lt
     60 #define	float128_lt_quiet		_softfloat_float128_lt_quiet
     61 #define	float128_mul			_softfloat_float128_mul
     62 #define	float128_rem			_softfloat_float128_rem
     63 #define	float128_round_to_int		_softfloat_float128_round_to_int
     64 #define	float128_sqrt			_softfloat_float128_sqrt
     65 #define	float128_sub			_softfloat_float128_sub
     66 #define	float128_to_float32		_softfloat_float128_to_float32
     67 #define	float128_to_float64		_softfloat_float128_to_float64
     68 #define	float128_to_int32		_softfloat_float128_to_int32
     69 #define	float128_to_int32_round_to_zero	_softfloat_float128_to_int32_round_to_zero
     70 #define	float128_to_int64		_softfloat_float128_to_int64
     71 #define	float128_to_int64_round_to_zero	_softfloat_float128_to_int64_round_to_zero
     72 #define	float128_to_uint64_round_to_zero	_softfloat_float128_to_uint64_round_to_zero
     73 #define	float32_to_float128		_softfloat_float32_to_float128
     74 #define	float64_to_float128		_softfloat_float64_to_float128
     75 #define	int32_to_float128		_softfloat_int32_to_float128
     76 #define	int64_to_float128		_softfloat_int64_to_float128
     77 
     78 /*
     79  * If this isn't defined go ahead and set it now since this is now past
     80  * anywhere define's are happening and this will conditionally compile out
     81  * a lot of extraneous code in softfloat.c
     82  */
     83 
     84 #ifndef SOFTFLOAT_FOR_GCC
     85 #define SOFTFLOAT_FOR_GCC
     86 #endif
     87 
     88 #endif /* SOFTFLOATAARCH64_FOR_GCC */
     89