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