From 3bc426e156c6952a1b7e32435c308aaab76616a1 Mon Sep 17 00:00:00 2001 From: Wainer dos Santos Moschetta Date: Tue, 11 Apr 2017 14:18:34 -0300 Subject: powerpc: refactor strcasecmp, strcmp, and strncmp IFUNC. Clean up the IFUNC implementations for powerpc in order to remove unneeded macro definitions. Tested on ppc64le with and without --disable-multi-arch flag. * sysdeps/powerpc/powerpc64/multiarch/strcasecmp_l-power7.S: Define the implementation-specific function name and remove unneeded macros definition. * sysdeps/powerpc/powerpc64/multiarch/strcmp-power7.S: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strcmp-power8.S Likewise. * sysdeps/powerpc/powerpc64/multiarch/strcmp-power9.S: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strcmp-ppc64.S: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strncmp-power4.S: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strncmp-power7.S: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strncmp-power8.S: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strncmp-power9.S: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strncmp-ppc64.S: Likewise. * sysdeps/powerpc/powerpc64/power4/strncmp.S: Set a default function name if not defined and pass as parameter to macros accordingly. * sysdeps/powerpc/powerpc64/power7/strcmp.S: Likewise. * sysdeps/powerpc/powerpc64/power7/strncmp.S: Likewise. * sysdeps/powerpc/powerpc64/power8/strcmp.S: Likewise. * sysdeps/powerpc/powerpc64/power8/strncmp.S: Likewise. * sysdeps/powerpc/powerpc64/power9/strcmp.S: Likewise. * sysdeps/powerpc/powerpc64/power9/strncmp.S: Likewise. * sysdeps/powerpc/powerpc64/strcmp.S: Likewise. * sysdeps/powerpc/powerpc64/strncmp.S: Likewise. --- .../powerpc/powerpc64/multiarch/strcasecmp_l-power7.S | 15 +-------------- sysdeps/powerpc/powerpc64/multiarch/strcmp-power7.S | 16 +--------------- sysdeps/powerpc/powerpc64/multiarch/strcmp-power8.S | 16 +--------------- sysdeps/powerpc/powerpc64/multiarch/strcmp-power9.S | 16 +--------------- sysdeps/powerpc/powerpc64/multiarch/strcmp-ppc64.S | 18 ++---------------- sysdeps/powerpc/powerpc64/multiarch/strncmp-power4.S | 16 +--------------- sysdeps/powerpc/powerpc64/multiarch/strncmp-power7.S | 17 +---------------- sysdeps/powerpc/powerpc64/multiarch/strncmp-power8.S | 17 +---------------- sysdeps/powerpc/powerpc64/multiarch/strncmp-power9.S | 17 +---------------- sysdeps/powerpc/powerpc64/multiarch/strncmp-ppc64.S | 16 +--------------- 10 files changed, 11 insertions(+), 153 deletions(-) (limited to 'sysdeps/powerpc/powerpc64/multiarch') diff --git a/sysdeps/powerpc/powerpc64/multiarch/strcasecmp_l-power7.S b/sysdeps/powerpc/powerpc64/multiarch/strcasecmp_l-power7.S index f30a3119ed..da4c4054c3 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/strcasecmp_l-power7.S +++ b/sysdeps/powerpc/powerpc64/multiarch/strcasecmp_l-power7.S @@ -18,20 +18,7 @@ #include -#undef ENTRY -#define ENTRY(name) \ - .section ".text"; \ - ENTRY_2(__strcasecmp_l_power7) \ - .align ALIGNARG(2); \ - BODY_LABEL(__strcasecmp_l_power7): \ - cfi_startproc; \ - LOCALENTRY(__strcasecmp_l_power7) - -#undef END -#define END(name) \ - cfi_endproc; \ - TRACEBACK(__strcasecmp_l_power7) \ - END_2(__strcasecmp_l_power7) +#define __strcasecmp __strcasecmp_l_power7 #undef weak_alias #define weak_alias(name, alias) diff --git a/sysdeps/powerpc/powerpc64/multiarch/strcmp-power7.S b/sysdeps/powerpc/powerpc64/multiarch/strcmp-power7.S index b34bd4580b..82d1b63af9 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/strcmp-power7.S +++ b/sysdeps/powerpc/powerpc64/multiarch/strcmp-power7.S @@ -18,21 +18,7 @@ #include -#undef EALIGN -#define EALIGN(name, alignt, words) \ - .section ".text"; \ - ENTRY_2(__strcmp_power7) \ - .align ALIGNARG(alignt); \ - EALIGN_W_##words; \ - BODY_LABEL(__strcmp_power7): \ - cfi_startproc; \ - LOCALENTRY(__strcmp_power7) - -#undef END -#define END(name) \ - cfi_endproc; \ - TRACEBACK(__strcmp_power7) \ - END_2(__strcmp_power7) +#define STRCMP __strcmp_power7 #undef libc_hidden_builtin_def #define libc_hidden_builtin_def(name) diff --git a/sysdeps/powerpc/powerpc64/multiarch/strcmp-power8.S b/sysdeps/powerpc/powerpc64/multiarch/strcmp-power8.S index b3aeb6cc06..b2464a8018 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/strcmp-power8.S +++ b/sysdeps/powerpc/powerpc64/multiarch/strcmp-power8.S @@ -18,21 +18,7 @@ #include -#undef EALIGN -#define EALIGN(name, alignt, words) \ - .section ".text"; \ - ENTRY_2(__strcmp_power8) \ - .align ALIGNARG(alignt); \ - EALIGN_W_##words; \ - BODY_LABEL(__strcmp_power8): \ - cfi_startproc; \ - LOCALENTRY(__strcmp_power8) - -#undef END -#define END(name) \ - cfi_endproc; \ - TRACEBACK(__strcmp_power8) \ - END_2(__strcmp_power8) +#define STRCMP __strcmp_power8 #undef libc_hidden_builtin_def #define libc_hidden_builtin_def(name) diff --git a/sysdeps/powerpc/powerpc64/multiarch/strcmp-power9.S b/sysdeps/powerpc/powerpc64/multiarch/strcmp-power9.S index 11dc688e7f..48ea05d2c5 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/strcmp-power9.S +++ b/sysdeps/powerpc/powerpc64/multiarch/strcmp-power9.S @@ -18,21 +18,7 @@ #include -#undef EALIGN -#define EALIGN(name, alignt, words) \ - .section ".text"; \ - ENTRY_2(__strcmp_power9) \ - .align ALIGNARG(alignt); \ - EALIGN_W_##words; \ - BODY_LABEL(__strcmp_power9): \ - cfi_startproc; \ - LOCALENTRY(__strcmp_power9) - -#undef END -#define END(name) \ - cfi_endproc; \ - TRACEBACK(__strcmp_power9) \ - END_2(__strcmp_power9) +#define STRCMP __strcmp_power9 #undef libc_hidden_builtin_def #define libc_hidden_builtin_def(name) diff --git a/sysdeps/powerpc/powerpc64/multiarch/strcmp-ppc64.S b/sysdeps/powerpc/powerpc64/multiarch/strcmp-ppc64.S index 3cff3266be..085e74758f 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/strcmp-ppc64.S +++ b/sysdeps/powerpc/powerpc64/multiarch/strcmp-ppc64.S @@ -19,25 +19,11 @@ #include #if defined SHARED && IS_IN (libc) -# undef EALIGN -# define EALIGN(name, alignt, words) \ - .section ".text"; \ - ENTRY_2(__strcmp_ppc) \ - .align ALIGNARG(alignt); \ - EALIGN_W_##words; \ - BODY_LABEL(__strcmp_ppc): \ - cfi_startproc; \ - LOCALENTRY(__strcmp_ppc) - -# undef END -# define END(name) \ - cfi_endproc; \ - TRACEBACK(__strcmp_ppc) \ - END_2(__strcmp_ppc) +# define STRCMP __strcmp_ppc # undef libc_hidden_builtin_def # define libc_hidden_builtin_def(name) \ .globl __GI_strcmp; __GI_strcmp = __strcmp_ppc -#endif +#endif /* SHARED && IS_IN */ #include diff --git a/sysdeps/powerpc/powerpc64/multiarch/strncmp-power4.S b/sysdeps/powerpc/powerpc64/multiarch/strncmp-power4.S index fa25d8e3ec..01729a3bba 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/strncmp-power4.S +++ b/sysdeps/powerpc/powerpc64/multiarch/strncmp-power4.S @@ -17,21 +17,7 @@ #include -#undef EALIGN -#define EALIGN(name,alignt,words) \ - .section ".text"; \ - ENTRY_2(__strncmp_power4) \ - .align ALIGNARG(alignt); \ - EALIGN_W_##words; \ - BODY_LABEL(__strncmp_power4): \ - cfi_startproc; \ - LOCALENTRY(__strncmp_power4) - -#undef END -#define END(name) \ - cfi_endproc; \ - TRACEBACK(__strncmp_power4) \ - END_2(__strncmp_power4) +#define STRNCMP __strncmp_power4 #undef libc_hidden_builtin_def #define libc_hidden_builtin_def(name) diff --git a/sysdeps/powerpc/powerpc64/multiarch/strncmp-power7.S b/sysdeps/powerpc/powerpc64/multiarch/strncmp-power7.S index 3aad27782a..a069d4b21c 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/strncmp-power7.S +++ b/sysdeps/powerpc/powerpc64/multiarch/strncmp-power7.S @@ -17,22 +17,7 @@ #include -#undef EALIGN -#define EALIGN(name,alignt,words) \ - .section ".text"; \ - ENTRY_2(__strncmp_power7) \ - .align ALIGNARG(alignt); \ - EALIGN_W_##words; \ - BODY_LABEL(__strncmp_power7): \ - cfi_startproc; \ - LOCALENTRY(__strncmp_power7) - -#undef END -#define END(name) \ - cfi_endproc; \ - TRACEBACK(__strncmp_power7) \ - END_2(__strncmp_power7) - +#define STRNCMP __strncmp_power7 #undef libc_hidden_builtin_def #define libc_hidden_builtin_def(name) diff --git a/sysdeps/powerpc/powerpc64/multiarch/strncmp-power8.S b/sysdeps/powerpc/powerpc64/multiarch/strncmp-power8.S index 496d19e848..3cbcaada62 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/strncmp-power8.S +++ b/sysdeps/powerpc/powerpc64/multiarch/strncmp-power8.S @@ -17,22 +17,7 @@ #include -#undef EALIGN -#define EALIGN(name,alignt,words) \ - .section ".text"; \ - ENTRY_2(__strncmp_power8) \ - .align ALIGNARG(alignt); \ - EALIGN_W_##words; \ - BODY_LABEL(__strncmp_power8): \ - cfi_startproc; \ - LOCALENTRY(__strncmp_power8) - -#undef END -#define END(name) \ - cfi_endproc; \ - TRACEBACK(__strncmp_power8) \ - END_2(__strncmp_power8) - +#define STRNCMP __strncmp_power8 #undef libc_hidden_builtin_def #define libc_hidden_builtin_def(name) diff --git a/sysdeps/powerpc/powerpc64/multiarch/strncmp-power9.S b/sysdeps/powerpc/powerpc64/multiarch/strncmp-power9.S index bd09285b9d..6d0deaa6e6 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/strncmp-power9.S +++ b/sysdeps/powerpc/powerpc64/multiarch/strncmp-power9.S @@ -17,22 +17,7 @@ #include -#undef EALIGN -#define EALIGN(name,alignt,words) \ - .section ".text"; \ - ENTRY_2(__strncmp_power9) \ - .align ALIGNARG(alignt); \ - EALIGN_W_##words; \ - BODY_LABEL(__strncmp_power9): \ - cfi_startproc; \ - LOCALENTRY(__strncmp_power9) - -#undef END -#define END(name) \ - cfi_endproc; \ - TRACEBACK(__strncmp_power9) \ - END_2(__strncmp_power9) - +#define STRNCMP __strncmp_power9 #undef libc_hidden_builtin_def #define libc_hidden_builtin_def(name) diff --git a/sysdeps/powerpc/powerpc64/multiarch/strncmp-ppc64.S b/sysdeps/powerpc/powerpc64/multiarch/strncmp-ppc64.S index 2e7885b341..e4b93ae8f2 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/strncmp-ppc64.S +++ b/sysdeps/powerpc/powerpc64/multiarch/strncmp-ppc64.S @@ -18,21 +18,7 @@ #include #if defined SHARED && IS_IN (libc) -#undef EALIGN -#define EALIGN(name,alignt,words) \ - .section ".text"; \ - ENTRY_2(__strncmp_ppc) \ - .align ALIGNARG(alignt); \ - EALIGN_W_##words; \ - BODY_LABEL(__strncmp_ppc): \ - cfi_startproc; \ - LOCALENTRY(__strncmp_ppc) - -#undef END -#define END(name) \ - cfi_endproc; \ - TRACEBACK(__strncmp_ppc) \ - END_2(__strncmp_ppc) +# define STRNCMP __strncmp_ppc # undef libc_hidden_builtin_def # define libc_hidden_builtin_def(name) \ -- cgit 1.4.1