bionic/x86: Optimization for string routines
Optimized strcpy, strcat, strncpy, strncat, strlcpy, strlcat, memchr, memrchr, strchr, strrchr, index, strnlen, strlen, wcslen, wmemcmp, wcscmp, wcschr, wcsrchr, wcscpy, wcscat Change-Id: I82b29132edf9a2e144e0bb3ee4ff5217df8d2a6d Signed-off-by: Liubov Dmitrieva <liubov.dmitrieva@intel.com>
This commit is contained in:
@@ -10,16 +10,75 @@ _LIBC_ARCH_COMMON_SRC_FILES := \
|
||||
arch-x86/bionic/sigsetjmp.S \
|
||||
arch-x86/bionic/syscall.S \
|
||||
arch-x86/bionic/vfork.S \
|
||||
arch-x86/string/bcopy_wrapper.S \
|
||||
arch-x86/string/bzero_wrapper.S \
|
||||
arch-x86/string/ffs.S \
|
||||
arch-x86/string/memcmp_wrapper.S \
|
||||
arch-x86/string/memcpy_wrapper.S \
|
||||
arch-x86/string/memmove_wrapper.S \
|
||||
arch-x86/string/memset_wrapper.S \
|
||||
arch-x86/string/strcmp_wrapper.S \
|
||||
arch-x86/string/strlen_wrapper.S \
|
||||
arch-x86/string/strncmp_wrapper.S \
|
||||
arch-x86/string/ffs.S
|
||||
|
||||
ifeq ($(ARCH_X86_HAVE_SSSE3),true)
|
||||
_LIBC_ARCH_COMMON_SRC_FILES += \
|
||||
arch-x86/string/ssse3-memcpy-atom.S \
|
||||
arch-x86/string/ssse3-memmove-atom.S \
|
||||
arch-x86/string/ssse3-bcopy-atom.S \
|
||||
arch-x86/string/ssse3-strncat-atom.S \
|
||||
arch-x86/string/ssse3-strncpy-atom.S \
|
||||
arch-x86/string/ssse3-strlcat-atom.S \
|
||||
arch-x86/string/ssse3-strlcpy-atom.S \
|
||||
arch-x86/string/ssse3-strcmp-atom.S \
|
||||
arch-x86/string/ssse3-strncmp-atom.S \
|
||||
arch-x86/string/ssse3-strcat-atom.S \
|
||||
arch-x86/string/ssse3-strcpy-atom.S \
|
||||
arch-x86/string/ssse3-memcmp-atom.S \
|
||||
arch-x86/string/ssse3-wmemcmp-atom.S \
|
||||
arch-x86/string/ssse3-wcscat-atom.S \
|
||||
arch-x86/string/ssse3-wcscpy-atom.S
|
||||
else
|
||||
_LIBC_ARCH_COMMON_SRC_FILES += \
|
||||
arch-x86/string/memcpy.S \
|
||||
arch-x86/string/memmove.S \
|
||||
arch-x86/string/bcopy.S \
|
||||
arch-x86/string/strcmp.S \
|
||||
arch-x86/string/strncmp.S \
|
||||
arch-x86/string/strcat.S \
|
||||
arch-x86/string/memcmp.S \
|
||||
string/strcpy.c \
|
||||
string/strncat.c \
|
||||
string/strncpy.c \
|
||||
string/strlcat.c \
|
||||
string/strlcpy.c \
|
||||
upstream-freebsd/lib/libc/string/wcscpy.c \
|
||||
upstream-freebsd/lib/libc/string/wcscat.c \
|
||||
upstream-freebsd/lib/libc/string/wmemcmp.c
|
||||
endif
|
||||
|
||||
ifeq ($(ARCH_X86_HAVE_SSE2),true)
|
||||
_LIBC_ARCH_COMMON_SRC_FILES += \
|
||||
arch-x86/string/sse2-memset-atom.S \
|
||||
arch-x86/string/sse2-bzero-atom.S \
|
||||
arch-x86/string/sse2-memchr-atom.S \
|
||||
arch-x86/string/sse2-memrchr-atom.S \
|
||||
arch-x86/string/sse2-strchr-atom.S \
|
||||
arch-x86/string/sse2-strrchr-atom.S \
|
||||
arch-x86/string/sse2-index-atom.S \
|
||||
arch-x86/string/sse2-strlen-atom.S \
|
||||
arch-x86/string/sse2-strnlen-atom.S \
|
||||
arch-x86/string/sse2-wcschr-atom.S \
|
||||
arch-x86/string/sse2-wcsrchr-atom.S \
|
||||
arch-x86/string/sse2-wcslen-atom.S \
|
||||
arch-x86/string/sse2-wcscmp-atom.S
|
||||
else
|
||||
_LIBC_ARCH_COMMON_SRC_FILES += \
|
||||
arch-x86/string/memset.S \
|
||||
arch-x86/string/strlen.S \
|
||||
arch-x86/string/bzero.S \
|
||||
bionic/memrchr.c \
|
||||
bionic/memchr.c \
|
||||
string/strchr.cpp \
|
||||
string/strrchr.c \
|
||||
string/index.c \
|
||||
bionic/strnlen.c \
|
||||
upstream-freebsd/lib/libc/string/wcschr.c \
|
||||
upstream-freebsd/lib/libc/string/wcsrchr.c \
|
||||
upstream-freebsd/lib/libc/string/wcslen.c \
|
||||
upstream-freebsd/lib/libc/string/wcscmp.c
|
||||
endif
|
||||
|
||||
_LIBC_ARCH_STATIC_SRC_FILES := \
|
||||
bionic/dl_iterate_phdr_static.c \
|
||||
|
||||
Reference in New Issue
Block a user