mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-04 10:50:07 +00:00
21bfcc3d24
This patch refactors the sparc64 ifunc selector to a C implementation. Also, the generic symbol is moved to its own implementation file s_rint{f}-generic.S). Checked on sparc64-linux-gnu and sparcv9-linux-gnu. * sysdeps/sparc/sparc64/fpu/multiarch/Makefile (libm-sysdep_routines): Add s_rintf-generic and s_rint-generic objects. * sysdeps/sparc/sparc64/fpu/multiarch/s_rint-generic.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_rint.c: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_rintf-generic.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.c: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_rint.S: Remove file. * sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.S: Likewise. Signed-off-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
31 lines
1.3 KiB
Makefile
31 lines
1.3 KiB
Makefile
ifeq ($(subdir),math)
|
|
# These functions are built both for libc and libm because they're required
|
|
# by printf. While the libc objects have the prefix s_, the libm ones are
|
|
# prefixed with m_.
|
|
sysdep_calls := s_signbitf-vis3 s_signbit-vis3 s_signbitf-generic \
|
|
s_signbit-generic s_finitef-vis3 s_finite-vis3 \
|
|
s_finitef-generic s_finite-generic \
|
|
s_isinff-vis3 s_isinf-vis3 s_isinff-generic s_isinf-generic \
|
|
s_isnanf-vis3 s_isnan-vis3 s_isnanf-generic s_isnan-generic
|
|
|
|
sysdep_routines += $(sysdep_calls)
|
|
libm-sysdep_routines += s_lrintf-vis3 s_lrint-vis3 s_lrintf-generic \
|
|
s_lrint-generic s_rintf-vis3 s_rint-vis3 \
|
|
s_rintf-generic s_rint-generic \
|
|
s_fmaf-vis3 s_fma-vis3 s_fmaf-generic s_fma-generic \
|
|
s_nearbyint-vis3 s_nearbyintf-vis3 \
|
|
s_nearbyint-generic s_nearbyintf-generic \
|
|
s_ceilf-vis3 s_ceil-vis3 s_ceilf-generic \
|
|
s_ceil-generic s_floorf-vis3 s_floor-vis3 \
|
|
s_floorf-generic s_floor-generic s_truncf-vis3 \
|
|
s_trunc-vis3 s_truncf-generic s_trunc-generic \
|
|
$(sysdep_calls:s_%=m_%)
|
|
|
|
CFLAGS-s_ceilf-vis3.c += -Wa,-Av9d -mvis3
|
|
CFLAGS-s_ceil-vis3.c += -Wa,-Av9d -mvis3
|
|
CFLAGS-s_floorf-vis3.c += -Wa,-Av9d -mvis3
|
|
CFLAGS-s_floor-vis3.c += -Wa,-Av9d -mvis3
|
|
CFLAGS-s_truncf-vis3.c += -Wa,-Av9d -mvis3
|
|
CFLAGS-s_trunc-vis3.c += -Wa,-Av9d -mvis3
|
|
endif
|