diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2017-10-13 09:56:49 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2017-11-29 16:21:27 -0200 |
commit | 1cbd7bfe65e4fafdf77cccccf67950d2b5570d4a (patch) | |
tree | 49aca2fc8c969ae0d8ec99e9cd4e8aef44a4eb57 /sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.S | |
parent | aa1142c593447b433208a79bd5a95095cd5dd892 (diff) | |
download | glibc-1cbd7bfe65e4fafdf77cccccf67950d2b5570d4a.tar.gz glibc-1cbd7bfe65e4fafdf77cccccf67950d2b5570d4a.tar.xz glibc-1cbd7bfe65e4fafdf77cccccf67950d2b5570d4a.zip |
sparc: refactor sparc64 signbit{f} selector to C
This patch refactors the sparc64 ifunc selector to a C implementation. Also, the generic symbol is moved to its own implementation file (s_signbit{f}-generic.S). It also simplifies the multiarch Makefile by moving the common objects from libm-sysdeps_routines and sysdeps_routines to a new sysdeps_call rule and including it where required with the correct prefix. Checked on sparc64-linux-gnu and sparcv9-linux-gnu. * sysdeps/sparc/sparc-ifunc.h (sparc_libm_ifunc_redirected): New macro. * sysdeps/sparc/sparc64/fpu/multiarch/Makefile (sysdep_calls): New rule. (sysdep_routines): Use sysdep_calls as base. (libm-sysdep_routines): Add generic rule for symbols shared with libc. Add s_signbit-generic and s_signbitf-generic objects. * sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.c: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf.c: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_signbit-generic.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf-generic.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.S: Remove file. * sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf.S: Likewise. Signed-off-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Diffstat (limited to 'sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.S')
-rw-r--r-- | sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.S | 20 |
1 files changed, 0 insertions, 20 deletions
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.S deleted file mode 100644 index b8ff64a547..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.S +++ /dev/null @@ -1,20 +0,0 @@ -#include <sparc-ifunc.h> - -SPARC_ASM_VIS3_IFUNC(signbit) - -/* On 64-bit the double version will also always work for - long-double-precision since in both cases the word with the - sign bit in it is passed always in register %f0. */ -strong_alias (__signbit, __signbitl) -hidden_def (__signbitl) - -# undef weak_alias -# define weak_alias(a, b) -# undef strong_alias -# define strong_alias(a, b) -# undef hidden_def -# define hidden_def(a) - -#define __signbit __signbit_generic - -#include "../s_signbit.S" |