1ifeq ($(subdir),math)
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
4# prefixed with  m_.
5sysdep_calls := s_modf-power5+ \
6		s_modf-ppc64 \
7		s_modff-power5+ \
8		s_modff-ppc64
9
10sysdep_routines += $(sysdep_calls)
11libm-sysdep_routines += s_ceil-power5+ \
12			s_ceil-ppc64 \
13			s_ceilf-power5+ \
14			s_ceilf-ppc64 \
15			s_floor-power5+ \
16			s_floor-ppc64 \
17			s_floorf-power5+ \
18			s_floorf-ppc64 \
19			s_round-power5+ \
20			s_round-ppc64 \
21			s_roundf-power5+ \
22			s_roundf-ppc64 \
23			s_trunc-power5+ \
24			s_trunc-ppc64 \
25			s_truncf-power5+ \
26			s_truncf-ppc64 \
27			s_llrint-power8 \
28			s_llrint-power6x \
29			s_llrint-ppc64 \
30			s_llround-power8 \
31			s_llround-power6x \
32			s_llround-power5+ \
33			s_llround-ppc64 \
34			s_llroundf-ppc64 \
35			s_logb-power7 \
36			s_logbf-power7 \
37			s_logbl-power7 \
38			s_logb-ppc64 \
39			s_logbf-ppc64 \
40			s_logbl-ppc64 \
41			$(sysdep_calls:s_%=m_%)
42
43CFLAGS-s_ceil-power5+.c = -mcpu=power5+
44CFLAGS-s_ceilf-power5+.c = -mcpu=power5+
45CFLAGS-s_floor-power5+.c = -mcpu=power5+
46CFLAGS-s_floorf-power5+.c = -mcpu=power5+
47CFLAGS-s_round-power5+.c = -mcpu=power5+
48CFLAGS-s_roundf-power5+.c = -mcpu=power5+
49CFLAGS-s_trunc-power5+.c = -mcpu=power5+
50CFLAGS-s_truncf-power5+.c = -mcpu=power5+
51CFLAGS-s_llrint-power8.c += -mcpu=power8
52CFLAGS-s_llrint-power6x.c += -mcpu=power6x
53CFLAGS-s_llround-power8.c += -mcpu=power8
54CFLAGS-s_llround-power6x.c += -mcpu=power6x
55CFLAGS-s_llround-power5+.c += -mcpu=power5+
56
57CFLAGS-s_modf-power5+.c += -mcpu=power5+
58CFLAGS-s_modff-power5+.c += -mcpu=power5+
59CFLAGS-s_logbf-power7.c = -mcpu=power7
60CFLAGS-s_logbl-power7.c = -mcpu=power7
61CFLAGS-s_logb-power7.c = -mcpu=power7
62
63# These files quiet sNaNs in a way that is optimized away without
64# -fsignaling-nans.
65CFLAGS-s_modf-ppc64.c += -fsignaling-nans
66CFLAGS-s_modff-ppc64.c += -fsignaling-nans
67endif
68