2 # These functions are built both for libc and libm because they're required
3 # by printf. While the libc objects have the prefix s_, the libm ones are
5 sysdep_calls
:= s_copysign-power6 s_copysign-ppc64 \
6 s_finite-power8 s_finite-power7 s_finite-ppc64 \
8 s_isinf-power8 s_isinf-ppc64 \
9 s_isinff-ppc64 s_isinf-power7 \
10 s_isnan-power8 s_isnan-power7 s_isnan-power6x s_isnan-power6 \
11 s_isnan-power5 s_isnan-ppc64 \
12 s_modf-power5
+ s_modf-ppc64 \
13 s_modff-power5
+ s_modff-ppc64
15 sysdep_routines
+= $(sysdep_calls
)
16 libm-sysdep_routines
+= s_llround-power6x \
17 s_llround-power5
+ s_llround-ppc64 s_ceil-power5
+ \
18 s_ceil-ppc64 s_ceilf-power5
+ s_ceilf-ppc64 \
19 s_floor-power5
+ s_floor-ppc64 s_floorf-power5
+ \
20 s_floorf-ppc64 s_round-power5
+ s_round-ppc64 \
21 s_roundf-power5
+ s_roundf-ppc64 s_trunc-power5
+ \
22 s_trunc-ppc64 s_truncf-power5
+ s_truncf-ppc64 \
23 s_llrint-power6x s_llrint-ppc64 \
24 s_logb-power7 s_logbf-power7 \
25 s_logbl-power7 s_logb-ppc64 s_logbf-ppc64 \
26 s_logbl-ppc64 e_hypot-ppc64 \
27 e_hypot-power7 e_hypotf-ppc64 e_hypotf-power7 \
28 s_llrint-power8 s_llround-power8 s_llroundf-ppc64 \
29 e_expf-power8 e_expf-ppc64 \
30 $(sysdep_calls
:s_
%=m_
%)
32 CFLAGS-s_logbf-power7.c
= -mcpu
=power7
33 CFLAGS-s_logbl-power7.c
= -mcpu
=power7
34 CFLAGS-s_logb-power7.c
= -mcpu
=power7
35 CFLAGS-s_modf-power5
+.c
= -mcpu
=power5
+
36 CFLAGS-s_modff-power5
+.c
= -mcpu
=power5
+
37 CFLAGS-e_hypot-power7.c
= -mcpu
=power7
38 CFLAGS-e_hypotf-power7.c
= -mcpu
=power7
40 # These files quiet sNaNs in a way that is optimized away without
42 CFLAGS-s_modf-ppc64.c
+= -fsignaling-nans
43 CFLAGS-s_modff-ppc64.c
+= -fsignaling-nans