6eaf95cbfa
This patch add a optimized strcspn for POWER7 by using a different algorithm than default implementation: it constructs a table based on the 'accept' argument and use this table to check for any occurance on the input string. The idea is similar as x86_64 uses. For PowerPC some tunings were added, such as unroll loops and align stack memory to table to 16 bytes (so VSX clean can ran without alignment issues).
31 lines
1.5 KiB
Makefile
31 lines
1.5 KiB
Makefile
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 \
|
|
mempcpy-power7 mempcpy-ppc64 memchr-power7 memchr-ppc64 \
|
|
memrchr-power7 memrchr-ppc64 rawmemchr-power7 \
|
|
rawmemchr-ppc64 strlen-power7 strlen-ppc64 strnlen-power7 \
|
|
strnlen-ppc64 strcasecmp-power7 strcasecmp_l-power7 \
|
|
strncase-power7 strncase_l-power7 strncmp-power7 \
|
|
strncmp-power4 strncmp-ppc64 strchr-power7 strchr-ppc64 \
|
|
strchrnul-power7 strchrnul-ppc64 wcschr-power7 \
|
|
wcschr-power6 wcschr-ppc64 wcsrchr-power7 wcsrchr-power6 \
|
|
wcsrchr-ppc64 wcscpy-power7 wcscpy-power6 wcscpy-ppc64 \
|
|
wordcopy-power7 wordcopy-power6 wordcopy-ppc64 \
|
|
strcpy-power7 strcpy-ppc64 stpcpy-power7 stpcpy-ppc64 \
|
|
strrchr-power7 strrchr-ppc64 strncat-power7 strncat-ppc64 \
|
|
strspn-power7 strspn-ppc64 strcspn-power7 strcspn-ppc64
|
|
|
|
CFLAGS-strncase-power7.c += -mcpu=power7 -funroll-loops
|
|
CFLAGS-strncase_l-power7.c += -mcpu=power7 -funroll-loops
|
|
CFLAGS-wcschr-power7.c += -mcpu=power7
|
|
CFLAGS-wcschr-power6.c += -mcpu=power6
|
|
CFLAGS-wcsrchr-power7.c += -mcpu=power7
|
|
CFLAGS-wcsrchr-power6.c += -mcpu=power6
|
|
CFLAGS-wcscpy-power7.c += -mcpu=power7
|
|
CFLAGS-wcscpy-power6.c += -mcpu=power6
|
|
CFLAGS-wordcopy-power7.c += -mcpu=power7
|
|
CFLAGS-wordcopy-power6.c += -mcpu=power6
|
|
endif
|