mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-02 01:40:07 +00:00
f82ed45d7f
This patch removes the power6 wcsrchr optimization and uses generic implementation instead. Currently, both power6 and power7 IFUNC variant resulting binary are essentially the same and the generic implementation with unrolling loop set to 8 also results in similar performance. Checked on powerpc64-linux-gnu. * sysdeps/powerpc/Makefile [$(subdir) == wcsmbs] (CFLAGS-wcsrchr.c): New rule. * sysdeps/powerpc/power6/wcsrchr.c: Remove file. * sysdeps/powerpc/powerpc32/power4/multiarch/wcsrchr-power6.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/wcsrchr-power7.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/wcsrchr-ppc32.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/wcsrchr.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/wcsrchr-power6.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/wcsrchr-power7.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/wcsrchr-ppc64.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/wcsrchr.c: Likewise. * sysdeps/powerpc/powerpc64/power6/wcsrchr.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/Makefile [$(subdir) == wcsmbs] (sysdeps_routines): Remove wcsrchr-power6 and wcsrchr-power7. (CFLAGS-wcsrchr-power7.c, CFLAGS-wcsrchr-power6.c): Remove rule. * sysdeps/powerpc/powerpc64/multiarch/Makefile: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/ifunc-impl-list.c: Remove wcsrchr optimizations. * sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c: Likewise.
40 lines
1.7 KiB
Makefile
40 lines
1.7 KiB
Makefile
ifeq ($(subdir),string)
|
|
sysdep_routines += memcpy-power8-cached memcpy-power7 memcpy-a2 memcpy-power6 \
|
|
memcpy-cell memcpy-power4 memcpy-ppc64 \
|
|
memcmp-power8 memcmp-power7 memcmp-power4 memcmp-ppc64 \
|
|
memset-power7 memset-power6 memset-power4 \
|
|
memset-ppc64 memset-power8 \
|
|
mempcpy-power7 mempcpy-ppc64 \
|
|
memchr-power8 memchr-power7 memchr-ppc64 \
|
|
memrchr-power8 memrchr-power7 memrchr-ppc64 \
|
|
rawmemchr-power7 rawmemchr-ppc64 \
|
|
strlen-power7 strlen-ppc64 \
|
|
strnlen-power8 strnlen-power7 strnlen-ppc64 \
|
|
strcasecmp-power7 strcasecmp_l-power7 \
|
|
strncase-power7 strncase_l-power7 \
|
|
strncmp-power8 strncmp-power7 \
|
|
strncmp-power4 strncmp-ppc64 \
|
|
strchr-power8 strchr-power7 strchr-ppc64 \
|
|
strchrnul-power8 strchrnul-power7 strchrnul-ppc64 \
|
|
strcpy-power8 strcpy-power7 strcpy-ppc64 stpcpy-power8 \
|
|
stpcpy-power7 stpcpy-ppc64 \
|
|
strrchr-power8 strrchr-power7 strrchr-ppc64 \
|
|
strncat-power8 strncat-power7 strncat-ppc64 \
|
|
strncpy-power7 strncpy-ppc64 \
|
|
stpncpy-power8 stpncpy-power7 stpncpy-ppc64 \
|
|
strcmp-power8 strcmp-power7 strcmp-ppc64 \
|
|
strcat-power8 strcat-power7 strcat-ppc64 \
|
|
memmove-power7 memmove-ppc64 wordcopy-ppc64 bcopy-ppc64 \
|
|
strncpy-power8 strstr-power7 strstr-ppc64 \
|
|
strspn-power8 strspn-ppc64 strcspn-power8 strcspn-ppc64 \
|
|
strlen-power8 strcasestr-power8 strcasestr-ppc64 \
|
|
strcasecmp-ppc64 strcasecmp-power8 strncase-ppc64 \
|
|
strncase-power8
|
|
|
|
ifneq (,$(filter %le,$(config-machine)))
|
|
sysdep_routines += strcmp-power9 strncmp-power9
|
|
endif
|
|
CFLAGS-strncase-power7.c += -mcpu=power7 -funroll-loops
|
|
CFLAGS-strncase_l-power7.c += -mcpu=power7 -funroll-loops
|
|
endif
|