]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
PowerPC: multiarch bzero cleanup for PPC64
authorAdhemerval Zanella <azanella@linux.vnet.ibm.com>
Tue, 15 Jul 2014 20:54:46 +0000 (16:54 -0400)
committerAdhemerval Zanella <azanella@linux.vnet.ibm.com>
Wed, 10 Sep 2014 11:39:46 +0000 (07:39 -0400)
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).

ChangeLog
sysdeps/powerpc/powerpc64/multiarch/Makefile
sysdeps/powerpc/powerpc64/multiarch/bzero-power4.S [deleted file]
sysdeps/powerpc/powerpc64/multiarch/bzero-power6.S [deleted file]
sysdeps/powerpc/powerpc64/multiarch/bzero-power7.S [deleted file]
sysdeps/powerpc/powerpc64/multiarch/memset-power4.S
sysdeps/powerpc/powerpc64/multiarch/memset-power6.S
sysdeps/powerpc/powerpc64/multiarch/memset-power7.S
sysdeps/powerpc/powerpc64/power4/memset.S
sysdeps/powerpc/powerpc64/power6/memset.S
sysdeps/powerpc/powerpc64/power7/memset.S

index cb8aeb7730ae5c7e95b836c525850a3157372e1e..ddaf70fd2937d2079a71cdac82ea0fa24dcf37c8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
index 82722fb69fff051cd054a03e1db8937802310dbb..0de3804c0cec6ac371c422e9e588972c982d2ac9 100644 (file)
@@ -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 (file)
index 72b75ac..0000000
+++ /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 (file)
index d0917c5..0000000
+++ /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 (file)
index 0ec285a..0000000
+++ /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)
index 968dc24bd3106545135a9630f5fc46be3cac05e2..1291fb73396a7a21c68e0cb17b6a150e857ea37f 100644 (file)
@@ -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>
index 65519b91f1c7dae814438dd6005bb1df0549fdf5..3dc199c535750a2c83d2fedab29bfb902491c1e5 100644 (file)
@@ -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>
index 86765e74ab4f7fb715e6fd6b793982cc258428b7..fb1a3423ee6aca1dfe1b5f236048a2a48266ab46 100644 (file)
@@ -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>
index 3a1e9dc76af154c7d7a40d07e78916e8a4cf0f53..b433d49be82580b312be9082d5affa50b57a078a 100644 (file)
@@ -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
index b5115a798948c3b4af13f9999af7fda993027e7d..6fffe0ec663626a74d7e9eedd41d559549b6d931 100644 (file)
@@ -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
index 6b8999dc1f1b9661efdd19bab80739e0c33b2a21..14df042785d78a289a163c91dd244e1cc138d220 100644 (file)
@@ -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