mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 20:40:05 +00:00
Improved st{r,p}{,n}cpy for SSE2 and SSSE3 on x86-64
This commit is contained in:
parent
d5495a116c
commit
8912479f9e
17
ChangeLog
17
ChangeLog
@ -1,3 +1,20 @@
|
||||
2011-06-22 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
|
||||
strcpy-ssse3 strncpy-ssse3 stpcpy-ssse3 stpncpy-ssse3
|
||||
strcpy-sse2-unaligned strncpy-sse2-unaligned
|
||||
stpcpy-sse2-unaligned stpncpy-sse2-unaligned.
|
||||
* sysdeps/x86_64/multiarch/stpcpy-sse2-unaligned.S: New file.
|
||||
* sysdeps/x86_64/multiarch/stpcpy-ssse3.S: New file.
|
||||
* sysdeps/x86_64/multiarch/stpncpy-sse2-unaligned.S: New file.
|
||||
* sysdeps/x86_64/multiarch/stpncpy-ssse3.S: New file.
|
||||
* sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S: New file.
|
||||
* sysdeps/x86_64/multiarch/strcpy-ssse3.S: New file.
|
||||
* sysdeps/x86_64/multiarch/strncpy-sse2-unaligned.S: New file.
|
||||
* sysdeps/x86_64/multiarch/strncpy-ssse3.S: New file.
|
||||
* sysdeps/x86_64/multiarch/strcpy.S: Remove strcpy with SSSE3.
|
||||
(STRCPY): Support SSE2 and SSSE3 versions.
|
||||
|
||||
2011-06-24 Ulrich Drepper <drepper@gmail.com>
|
||||
|
||||
[BZ #12874]
|
||||
|
3
NEWS
3
NEWS
@ -20,6 +20,9 @@ Version 2.15
|
||||
|
||||
* Optimized strcpy, strncpy, stpcpy, stpncpy for SSE2 and SSSE3 on x86-32.
|
||||
Contributed by HJ Lu.
|
||||
|
||||
* Improved strcpy, strncpy, stpcpy, stpncpy for SSE2 and SSSE3 on x86-64.
|
||||
Contributed by HJ Lu.
|
||||
|
||||
Version 2.14
|
||||
|
||||
|
@ -4,12 +4,15 @@ gen-as-const-headers += ifunc-defines.sym
|
||||
endif
|
||||
|
||||
ifeq ($(subdir),string)
|
||||
|
||||
sysdep_routines += stpncpy-c strncpy-c strcmp-ssse3 strncmp-ssse3 \
|
||||
strend-sse4 memcmp-sse4 memcpy-ssse3 mempcpy-ssse3 \
|
||||
memmove-ssse3 memcpy-ssse3-back mempcpy-ssse3-back \
|
||||
memmove-ssse3-back strcasestr-nonascii strcasecmp_l-ssse3 \
|
||||
strncase_l-ssse3 strlen-sse4 strlen-no-bsf \
|
||||
memset-x86-64
|
||||
strncase_l-ssse3 strlen-sse4 strlen-no-bsf memset-x86-64 \
|
||||
strcpy-ssse3 strncpy-ssse3 stpcpy-ssse3 stpncpy-ssse3 \
|
||||
strcpy-sse2-unaligned strncpy-sse2-unaligned \
|
||||
stpcpy-sse2-unaligned stpncpy-sse2-unaligned
|
||||
ifeq (yes,$(config-cflags-sse4))
|
||||
sysdep_routines += strcspn-c strpbrk-c strspn-c strstr-c strcasestr-c varshift
|
||||
CFLAGS-varshift.c += -msse4
|
||||
|
3
sysdeps/x86_64/multiarch/stpcpy-sse2-unaligned.S
Normal file
3
sysdeps/x86_64/multiarch/stpcpy-sse2-unaligned.S
Normal file
@ -0,0 +1,3 @@
|
||||
#define USE_AS_STPCPY
|
||||
#define STRCPY __stpcpy_sse2_unaligned
|
||||
#include "strcpy-sse2-unaligned.S"
|
3
sysdeps/x86_64/multiarch/stpcpy-ssse3.S
Normal file
3
sysdeps/x86_64/multiarch/stpcpy-ssse3.S
Normal file
@ -0,0 +1,3 @@
|
||||
#define USE_AS_STPCPY
|
||||
#define STRCPY __stpcpy_ssse3
|
||||
#include "strcpy-ssse3.S"
|
4
sysdeps/x86_64/multiarch/stpncpy-sse2-unaligned.S
Normal file
4
sysdeps/x86_64/multiarch/stpncpy-sse2-unaligned.S
Normal file
@ -0,0 +1,4 @@
|
||||
#define USE_AS_STPCPY
|
||||
#define USE_AS_STRNCPY
|
||||
#define STRCPY __stpncpy_sse2_unaligned
|
||||
#include "strcpy-sse2-unaligned.S"
|
4
sysdeps/x86_64/multiarch/stpncpy-ssse3.S
Normal file
4
sysdeps/x86_64/multiarch/stpncpy-ssse3.S
Normal file
@ -0,0 +1,4 @@
|
||||
#define USE_AS_STPCPY
|
||||
#define USE_AS_STRNCPY
|
||||
#define STRCPY __stpncpy_ssse3
|
||||
#include "strcpy-ssse3.S"
|
1718
sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S
Normal file
1718
sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S
Normal file
File diff suppressed because it is too large
Load Diff
3721
sysdeps/x86_64/multiarch/strcpy-ssse3.S
Normal file
3721
sysdeps/x86_64/multiarch/strcpy-ssse3.S
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
3
sysdeps/x86_64/multiarch/strncpy-sse2-unaligned.S
Normal file
3
sysdeps/x86_64/multiarch/strncpy-sse2-unaligned.S
Normal file
@ -0,0 +1,3 @@
|
||||
#define USE_AS_STRNCPY
|
||||
#define STRCPY __strncpy_sse2_unaligned
|
||||
#include "strcpy-sse2-unaligned.S"
|
3
sysdeps/x86_64/multiarch/strncpy-ssse3.S
Normal file
3
sysdeps/x86_64/multiarch/strncpy-ssse3.S
Normal file
@ -0,0 +1,3 @@
|
||||
#define USE_AS_STRNCPY
|
||||
#define STRCPY __strncpy_ssse3
|
||||
#include "strcpy-ssse3.S"
|
Loading…
Reference in New Issue
Block a user