diff options
author | Adhemerval Zanella <azanella@linux.vnet.ibm.com> | 2014-07-15 16:54:46 -0400 |
---|---|---|
committer | Adhemerval Zanella <azanella@linux.vnet.ibm.com> | 2014-09-10 07:39:46 -0400 |
commit | 3b473fecdf4c52989cd915b649bb6d26c042d048 (patch) | |
tree | 5740a9d1e348b841ad84ba2c9d8f1987e98c0235 | |
parent | e6fb95871cd3557e5882a6f969c11bc6a3cbe781 (diff) | |
download | glibc-3b473fecdf4c52989cd915b649bb6d26c042d048.tar glibc-3b473fecdf4c52989cd915b649bb6d26c042d048.tar.gz glibc-3b473fecdf4c52989cd915b649bb6d26c042d048.tar.bz2 glibc-3b473fecdf4c52989cd915b649bb6d26c042d048.zip |
PowerPC: multiarch bzero cleanup for PPC64
This patch cleanups the multiarch bzero for powerpc64 by remove
the multiarch objects and use instead the the memset embedded
implementation presented in each multiarch optimization. The
code generate is essentially the same, but the TB_TOCLESS (which
is not essential).
-rw-r--r-- | ChangeLog | 17 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/multiarch/Makefile | 2 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/multiarch/bzero-power4.S | 26 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/multiarch/bzero-power6.S | 26 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/multiarch/bzero-power7.S | 26 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/multiarch/memset-power4.S | 4 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/multiarch/memset-power6.S | 4 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/multiarch/memset-power7.S | 3 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/power4/memset.S | 5 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/power6/memset.S | 5 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/power7/memset.S | 5 |
11 files changed, 32 insertions, 91 deletions
@@ -1,3 +1,20 @@ +2014-09-10 Adhemerval Zanella <azanella@linux.vnet.ibm.com> + + * sysdeps/powerpc/powerpc64/multiarch/Makefile [sysdep_routines]: + Remove bzero multiarch objects. + * sysdeps/powerpc/powerpc64/multiarch/bzero-power4.S: Remove file. + * sysdeps/powerpc/powerpc64/multiarch/bzero-power6.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/bzero-power7.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/memset-power4.S [NO_BZERO_IMPL]: + Remove define. + [__bzero]: Redefine to specific name. + * sysdeps/powerpc/powerpc64/multiarch/memset-power6.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/memset-power7.S: Likewise. + * sysdeps/powerpc/powerpc64/power4/memset.S [NO_BZERO_IMPL]: Remove + define. + * sysdeps/powerpc/powerpc64/power6/memset.S: Likewise. + * sysdeps/powerpc/powerpc64/power7/memset.S: Likewise. + 2014-09-10 Florian Weimer <fweimer@redhat.com> * Makeconfig (gccwarn-c): Turn implicit-function-declaration diff --git a/sysdeps/powerpc/powerpc64/multiarch/Makefile b/sysdeps/powerpc/powerpc64/multiarch/Makefile index 82722fb69f..0de3804c0c 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/Makefile +++ b/sysdeps/powerpc/powerpc64/multiarch/Makefile @@ -2,7 +2,7 @@ ifeq ($(subdir),string) sysdep_routines += memcpy-power7 memcpy-a2 memcpy-power6 memcpy-cell \ memcpy-power4 memcpy-ppc64 memcmp-power7 memcmp-power4 \ memcmp-ppc64 memset-power7 memset-power6 memset-power4 \ - memset-ppc64 bzero-power4 bzero-power6 bzero-power7 \ + memset-ppc64 \ mempcpy-power7 mempcpy-ppc64 memchr-power7 memchr-ppc64 \ memrchr-power7 memrchr-ppc64 rawmemchr-power7 \ rawmemchr-ppc64 strlen-power7 strlen-ppc64 strnlen-power7 \ diff --git a/sysdeps/powerpc/powerpc64/multiarch/bzero-power4.S b/sysdeps/powerpc/powerpc64/multiarch/bzero-power4.S deleted file mode 100644 index 72b75acff7..0000000000 --- a/sysdeps/powerpc/powerpc64/multiarch/bzero-power4.S +++ /dev/null @@ -1,26 +0,0 @@ -/* Optimized bzero implementation for PowerPC64/POWER4. - Copyright (C) 2013-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include <sysdep.h> - -ENTRY (__bzero_power4) - CALL_MCOUNT 3 - mr r5,r4 - li r4,0 - b __memset_power4 -END_GEN_TB (__bzero_power4,TB_TOCLESS) diff --git a/sysdeps/powerpc/powerpc64/multiarch/bzero-power6.S b/sysdeps/powerpc/powerpc64/multiarch/bzero-power6.S deleted file mode 100644 index d0917c5e66..0000000000 --- a/sysdeps/powerpc/powerpc64/multiarch/bzero-power6.S +++ /dev/null @@ -1,26 +0,0 @@ -/* Optimized bzero implementation for PowerPC64/POWER6. - Copyright (C) 2013-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include <sysdep.h> - -ENTRY (__bzero_power6) - CALL_MCOUNT 3 - mr r5,r4 - li r4,0 - b __memset_power6 -END_GEN_TB (__bzero_power6,TB_TOCLESS) diff --git a/sysdeps/powerpc/powerpc64/multiarch/bzero-power7.S b/sysdeps/powerpc/powerpc64/multiarch/bzero-power7.S deleted file mode 100644 index 0ec285a9bd..0000000000 --- a/sysdeps/powerpc/powerpc64/multiarch/bzero-power7.S +++ /dev/null @@ -1,26 +0,0 @@ -/* Optimized bzero implementation for PowerPC64/POWER7. - Copyright (C) 2013-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include <sysdep.h> - -ENTRY (__bzero_power7) - CALL_MCOUNT 3 - mr r5,r4 - li r4,0 - b __memset_power7 -END_GEN_TB (__bzero_power7,TB_TOCLESS) diff --git a/sysdeps/powerpc/powerpc64/multiarch/memset-power4.S b/sysdeps/powerpc/powerpc64/multiarch/memset-power4.S index 968dc24bd3..1291fb7339 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/memset-power4.S +++ b/sysdeps/powerpc/powerpc64/multiarch/memset-power4.S @@ -37,5 +37,7 @@ #undef libc_hidden_builtin_def #define libc_hidden_builtin_def(name) -#define NO_BZERO_IMPL +#undef __bzero +#define __bzero __bzero_power4 + #include <sysdeps/powerpc/powerpc64/power4/memset.S> diff --git a/sysdeps/powerpc/powerpc64/multiarch/memset-power6.S b/sysdeps/powerpc/powerpc64/multiarch/memset-power6.S index 65519b91f1..3dc199c535 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/memset-power6.S +++ b/sysdeps/powerpc/powerpc64/multiarch/memset-power6.S @@ -37,5 +37,7 @@ #undef libc_hidden_builtin_def #define libc_hidden_builtin_def(name) -#define NO_BZERO_IMPL +#undef __bzero +#define __bzero __bzero_power6 + #include <sysdeps/powerpc/powerpc64/power6/memset.S> diff --git a/sysdeps/powerpc/powerpc64/multiarch/memset-power7.S b/sysdeps/powerpc/powerpc64/multiarch/memset-power7.S index 86765e74ab..fb1a3423ee 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/memset-power7.S +++ b/sysdeps/powerpc/powerpc64/multiarch/memset-power7.S @@ -37,5 +37,6 @@ #undef libc_hidden_builtin_def #define libc_hidden_builtin_def(name) -#define NO_BZERO_IMPL +#undef __bzero +#define __bzero __bzero_power7 #include <sysdeps/powerpc/powerpc64/power7/memset.S> diff --git a/sysdeps/powerpc/powerpc64/power4/memset.S b/sysdeps/powerpc/powerpc64/power4/memset.S index 3a1e9dc76a..b433d49be8 100644 --- a/sysdeps/powerpc/powerpc64/power4/memset.S +++ b/sysdeps/powerpc/powerpc64/power4/memset.S @@ -235,7 +235,6 @@ L(medium_28t): END_GEN_TB (memset,TB_TOCLESS) libc_hidden_builtin_def (memset) -#ifndef NO_BZERO_IMPL /* Copied from bzero.S to prevent the linker from inserting a stub between bzero and memset. */ ENTRY (__bzero) @@ -243,7 +242,7 @@ ENTRY (__bzero) mr r5,r4 li r4,0 b L(_memset) -END_GEN_TB (__bzero,TB_TOCLESS) - +END (__bzero) +#ifndef __bzero weak_alias (__bzero, bzero) #endif diff --git a/sysdeps/powerpc/powerpc64/power6/memset.S b/sysdeps/powerpc/powerpc64/power6/memset.S index b5115a7989..6fffe0ec66 100644 --- a/sysdeps/powerpc/powerpc64/power6/memset.S +++ b/sysdeps/powerpc/powerpc64/power6/memset.S @@ -379,7 +379,6 @@ L(medium_28t): END_GEN_TB (memset,TB_TOCLESS) libc_hidden_builtin_def (memset) -#ifndef NO_BZERO_IMPL /* Copied from bzero.S to prevent the linker from inserting a stub between bzero and memset. */ ENTRY (__bzero) @@ -387,7 +386,7 @@ ENTRY (__bzero) mr r5,r4 li r4,0 b L(_memset) -END_GEN_TB (__bzero,TB_TOCLESS) - +END (__bzero) +#ifndef __bzero weak_alias (__bzero, bzero) #endif diff --git a/sysdeps/powerpc/powerpc64/power7/memset.S b/sysdeps/powerpc/powerpc64/power7/memset.S index 6b8999dc1f..14df042785 100644 --- a/sysdeps/powerpc/powerpc64/power7/memset.S +++ b/sysdeps/powerpc/powerpc64/power7/memset.S @@ -383,7 +383,6 @@ L(small): END_GEN_TB (memset,TB_TOCLESS) libc_hidden_builtin_def (memset) -#ifndef NO_BZERO_IMPL /* Copied from bzero.S to prevent the linker from inserting a stub between bzero and memset. */ ENTRY (__bzero) @@ -391,7 +390,7 @@ ENTRY (__bzero) mr r5,r4 li r4,0 b L(_memset) -END_GEN_TB (__bzero,TB_TOCLESS) - +END (__bzero) +#ifndef __bzero weak_alias (__bzero, bzero) #endif |