diff options
author | Rajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com> | 2017-06-23 11:24:30 +0530 |
---|---|---|
committer | Rajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com> | 2017-06-23 11:24:30 +0530 |
commit | 12f50337ae80672c393c2317d471d097ad92c492 (patch) | |
tree | 835c6553f10f8238a8ed4c1888d255ccb296ebb9 | |
parent | 001b09a6a2176b22bd7524a8329950c1ef98f06f (diff) | |
download | glibc-12f50337ae80672c393c2317d471d097ad92c492.zip glibc-12f50337ae80672c393c2317d471d097ad92c492.tar.gz glibc-12f50337ae80672c393c2317d471d097ad92c492.tar.bz2 |
powerpc: refactor strrchr IFUNC
As done in commit 6d15a5c2e9450a1e926d5b4991759e1cfa50fccf
clean up IFUNC implementation for power8 in order to remove
unneeded macro definitions.
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/multiarch/strrchr-power8.S | 18 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/power8/strrchr.S | 8 |
3 files changed, 16 insertions, 19 deletions
@@ -1,5 +1,14 @@ 2017-06-23 Rajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com> + * sysdeps/powerpc/powerpc64/multiarch/strchr-power8.S(STRRCHR): Define + the implementation-specific function name and remove unneeded macros + definition. + * sysdeps/powerpc/powerpc64/power8/strrchr.S(STRRCHR): Set a default + function name if not defined and pass as parameter to macros + accordingly. + +2017-06-23 Rajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com> + * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile (libm-sysdep_routines): Add s_llroundf-ppc64. * sysdeps/powerpc/powerpc64/power5+fpu/s_llround.S diff --git a/sysdeps/powerpc/powerpc64/multiarch/strrchr-power8.S b/sysdeps/powerpc/powerpc64/multiarch/strrchr-power8.S index 2b2b1de..63080f5 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/strrchr-power8.S +++ b/sysdeps/powerpc/powerpc64/multiarch/strrchr-power8.S @@ -18,23 +18,7 @@ #include <sysdep.h> -#undef ENTRY_TOCLESS -#ifndef PROF -#define ENTRY_TOCLESS(name, ...) \ - ENTRY_3 __strrchr_power8, ## __VA_ARGS__; \ - cfi_startproc -#else -#define ENTRY_TOCLESS(name, ...) \ - ENTRY_3 __strrchr_power8, ## __VA_ARGS__; \ - cfi_startproc; \ - LOCALENTRY(__strrchr_power8) -#endif - -#undef END -#define END(name) \ - cfi_endproc; \ - TRACEBACK(__strrchr_power8); \ - END_2(__strrchr_power8) +#define STRRCHR __strrchr_power8 #undef libc_hidden_builtin_def #define libc_hidden_builtin_def(name) diff --git a/sysdeps/powerpc/powerpc64/power8/strrchr.S b/sysdeps/powerpc/powerpc64/power8/strrchr.S index 0ba6138..090eb96 100644 --- a/sysdeps/powerpc/powerpc64/power8/strrchr.S +++ b/sysdeps/powerpc/powerpc64/power8/strrchr.S @@ -76,8 +76,12 @@ 1: \ vsumsws v2, v2, v0; #endif /* !__LITTLE_ENDIAN__ */ + +#ifndef STRRCHR +# define STRRCHR strrchr +#endif .machine power7 -ENTRY_TOCLESS (strrchr) +ENTRY_TOCLESS (STRRCHR) CALL_MCOUNT 2 dcbt 0,r3 clrrdi r8,r3,3 /* Align the address to doubleword boundary. */ @@ -459,6 +463,6 @@ L(continue1): #endif add r3, r3, r6 /* Compute final length. */ blr -END (strrchr) +END_GEN_TB (STRRCHR, TB_TOCLESS) weak_alias (strrchr, rindex) libc_hidden_builtin_def (strrchr) |