Skip to content

Commit

Permalink
powerpc: Remove POWER7 wordcopy ifunc
Browse files Browse the repository at this point in the history
This patch remove the POWER7 ifunc wordcopy function
(_wordcopy_*_power7), since now GLIBC provides a optimized memmove/bcopy
for POWER7.
  • Loading branch information
Adhemerval Zanella committed Feb 9, 2015
1 parent 6f0993a commit 18e270a
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 45 deletions.
9 changes: 9 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
2015-02-09 Adhemerval Zanellla <azanella@linux.vnet.ibm.com>

* sysdeps/powerpc/powerpc64/multiarch/Makefile [sysdep_routines]:
Remove wordcopy-power7 object.
* sysdeps/powerpc/powerpc64/multiarch/wordcopy-power7.c: Remove file.
* sysdeps/powerpc/powerpc64/multiarch/wordcopy.c
(_wordcopy_fwd_aligned): Remove POWER7 specialization.
(_wordcopy_fwd_dest_aligned): Likewise.
(_wordcopy_bwd_aligned): Likewise.
(_wordcopy_bwd_dest_aligned): Likewise.

* sysdeps/powerpc/powerpc64/multiarch/bcopy-ppc64.c (__bcopy_ppc):
Rewrite to call __memmove_ppc instead of include default
implementation.
Expand Down
3 changes: 1 addition & 2 deletions sysdeps/powerpc/powerpc64/multiarch/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ sysdep_routines += memcpy-power7 memcpy-a2 memcpy-power6 memcpy-cell \
strncmp-power8 strncmp-power7 strncmp-power4 strncmp-ppc64 \
strchr-power7 strchr-ppc64 \
strchrnul-power7 strchrnul-ppc64 \
wordcopy-power7 wordcopy-power6 wordcopy-ppc64 \
wordcopy-power6 wordcopy-ppc64 \
strcpy-power8 strcpy-power7 strcpy-ppc64 stpcpy-power8 \
stpcpy-power7 stpcpy-ppc64 \
strrchr-power7 strrchr-ppc64 strncat-power7 strncat-ppc64 \
Expand All @@ -23,7 +23,6 @@ sysdep_routines += memcpy-power7 memcpy-a2 memcpy-power6 memcpy-cell \

CFLAGS-strncase-power7.c += -mcpu=power7 -funroll-loops
CFLAGS-strncase_l-power7.c += -mcpu=power7 -funroll-loops
CFLAGS-wordcopy-power7.c += -mcpu=power7
CFLAGS-wordcopy-power6.c += -mcpu=power6
endif

Expand Down
19 changes: 0 additions & 19 deletions sysdeps/powerpc/powerpc64/multiarch/wordcopy-power7.c

This file was deleted.

32 changes: 8 additions & 24 deletions sysdeps/powerpc/powerpc64/multiarch/wordcopy.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,59 +26,43 @@ extern __typeof (_wordcopy_fwd_aligned) _wordcopy_fwd_aligned_ppc
attribute_hidden;
extern __typeof (_wordcopy_fwd_aligned) _wordcopy_fwd_aligned_power6
attribute_hidden;
extern __typeof (_wordcopy_fwd_aligned) _wordcopy_fwd_aligned_power7
attribute_hidden;

libc_ifunc (_wordcopy_fwd_aligned,
(hwcap & PPC_FEATURE_HAS_VSX)
? _wordcopy_fwd_aligned_power7 :
(hwcap & PPC_FEATURE_ARCH_2_05)
? _wordcopy_fwd_aligned_power6
(hwcap & PPC_FEATURE_ARCH_2_05)
? _wordcopy_fwd_aligned_power6
: _wordcopy_fwd_aligned_ppc);


extern __typeof (_wordcopy_fwd_dest_aligned) _wordcopy_fwd_dest_aligned_ppc
attribute_hidden;
extern __typeof (_wordcopy_fwd_dest_aligned) _wordcopy_fwd_dest_aligned_power6
attribute_hidden;
extern __typeof (_wordcopy_fwd_dest_aligned) _wordcopy_fwd_dest_aligned_power7
attribute_hidden;

libc_ifunc (_wordcopy_fwd_dest_aligned,
(hwcap & PPC_FEATURE_HAS_VSX)
? _wordcopy_fwd_dest_aligned_power7 :
(hwcap & PPC_FEATURE_ARCH_2_05)
? _wordcopy_fwd_dest_aligned_power6
(hwcap & PPC_FEATURE_ARCH_2_05)
? _wordcopy_fwd_dest_aligned_power6
: _wordcopy_fwd_dest_aligned_ppc);


extern __typeof (_wordcopy_bwd_aligned) _wordcopy_bwd_aligned_ppc
attribute_hidden;
extern __typeof (_wordcopy_bwd_aligned) _wordcopy_bwd_aligned_power6
attribute_hidden;
extern __typeof (_wordcopy_bwd_aligned) _wordcopy_bwd_aligned_power7
attribute_hidden;

libc_ifunc (_wordcopy_bwd_aligned,
(hwcap & PPC_FEATURE_HAS_VSX)
? _wordcopy_bwd_aligned_power7 :
(hwcap & PPC_FEATURE_ARCH_2_05)
? _wordcopy_bwd_aligned_power6
(hwcap & PPC_FEATURE_ARCH_2_05)
? _wordcopy_bwd_aligned_power6
: _wordcopy_bwd_aligned_ppc);


extern __typeof (_wordcopy_bwd_dest_aligned) _wordcopy_bwd_dest_aligned_ppc
attribute_hidden;
extern __typeof (_wordcopy_bwd_dest_aligned) _wordcopy_bwd_dest_aligned_power6
attribute_hidden;
extern __typeof (_wordcopy_bwd_dest_aligned) _wordcopy_bwd_dest_aligned_power7
attribute_hidden;

libc_ifunc (_wordcopy_bwd_dest_aligned,
(hwcap & PPC_FEATURE_HAS_VSX)
? _wordcopy_bwd_dest_aligned_power7 :
(hwcap & PPC_FEATURE_ARCH_2_05)
? _wordcopy_bwd_dest_aligned_power6
(hwcap & PPC_FEATURE_ARCH_2_05)
? _wordcopy_bwd_dest_aligned_power6
: _wordcopy_bwd_dest_aligned_ppc);

#else
Expand Down

0 comments on commit 18e270a

Please sign in to comment.