Skip to content

Commit

Permalink
PowerPC: multiarch bzero cleanup for PPC64
Browse files Browse the repository at this point in the history
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).
  • Loading branch information
Adhemerval Zanella committed Sep 10, 2014
1 parent e6fb958 commit 3b473fe
Show file tree
Hide file tree
Showing 11 changed files with 32 additions and 91 deletions.
17 changes: 17 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion sysdeps/powerpc/powerpc64/multiarch/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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 \
Expand Down
26 changes: 0 additions & 26 deletions sysdeps/powerpc/powerpc64/multiarch/bzero-power4.S

This file was deleted.

26 changes: 0 additions & 26 deletions sysdeps/powerpc/powerpc64/multiarch/bzero-power6.S

This file was deleted.

26 changes: 0 additions & 26 deletions sysdeps/powerpc/powerpc64/multiarch/bzero-power7.S

This file was deleted.

4 changes: 3 additions & 1 deletion sysdeps/powerpc/powerpc64/multiarch/memset-power4.S
Original file line number Diff line number Diff line change
Expand Up @@ -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>
4 changes: 3 additions & 1 deletion sysdeps/powerpc/powerpc64/multiarch/memset-power6.S
Original file line number Diff line number Diff line change
Expand Up @@ -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>
3 changes: 2 additions & 1 deletion sysdeps/powerpc/powerpc64/multiarch/memset-power7.S
Original file line number Diff line number Diff line change
Expand Up @@ -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>
5 changes: 2 additions & 3 deletions sysdeps/powerpc/powerpc64/power4/memset.S
Original file line number Diff line number Diff line change
Expand Up @@ -235,15 +235,14 @@ 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)
CALL_MCOUNT 3
mr r5,r4
li r4,0
b L(_memset)
END_GEN_TB (__bzero,TB_TOCLESS)

END (__bzero)
#ifndef __bzero
weak_alias (__bzero, bzero)
#endif
5 changes: 2 additions & 3 deletions sysdeps/powerpc/powerpc64/power6/memset.S
Original file line number Diff line number Diff line change
Expand Up @@ -379,15 +379,14 @@ 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)
CALL_MCOUNT 3
mr r5,r4
li r4,0
b L(_memset)
END_GEN_TB (__bzero,TB_TOCLESS)

END (__bzero)
#ifndef __bzero
weak_alias (__bzero, bzero)
#endif
5 changes: 2 additions & 3 deletions sysdeps/powerpc/powerpc64/power7/memset.S
Original file line number Diff line number Diff line change
Expand Up @@ -383,15 +383,14 @@ 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)
CALL_MCOUNT 3
mr r5,r4
li r4,0
b L(_memset)
END_GEN_TB (__bzero,TB_TOCLESS)

END (__bzero)
#ifndef __bzero
weak_alias (__bzero, bzero)
#endif

0 comments on commit 3b473fe

Please sign in to comment.