Load pointers into RAX_LP in strcmp-sse42.S

This commit is contained in:
H.J. Lu 2012-05-15 09:59:31 -07:00
parent 9bc0b730a6
commit 70bc83b910
2 changed files with 11 additions and 6 deletions

View File

@ -1,3 +1,8 @@
2012-05-15 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/x86_64/multiarch/strcmp-sse42.S: Load pointers into
RAX_LP.
2012-05-15 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/x86_64/multiarch/memcpy-ssse3.S: Load cache sizes

View File

@ -51,7 +51,7 @@
#ifdef USE_AS_STRCASECMP_L
ENTRY (GLABEL(__strcasecmp))
movq __libc_tsd_LOCALE@gottpoff(%rip),%rax
movq %fs:(%rax),%rdx
mov %fs:(%rax),%RDX_LP
// XXX 5 byte should be before the function
/* 5-byte NOP. */
@ -62,7 +62,7 @@ END (GLABEL(__strcasecmp))
#ifdef USE_AS_STRNCASECMP_L
ENTRY (GLABEL(__strncasecmp))
movq __libc_tsd_LOCALE@gottpoff(%rip),%rax
movq %fs:(%rax),%rcx
mov %fs:(%rax),%RCX_LP
// XXX 5 byte should be before the function
/* 5-byte NOP. */
@ -99,9 +99,9 @@ STRCMP_SSE42:
/* We have to fall back on the C implementation for locales
with encodings not matching ASCII for single bytes. */
# if LOCALE_T___LOCALES != 0 || LC_CTYPE != 0
movq LOCALE_T___LOCALES+LC_CTYPE*8(%rdx), %rax
mov LOCALE_T___LOCALES+LC_CTYPE*LP_SIZE(%rdx), %RAX_LP
# else
movq (%rdx), %rax
mov (%rdx), %RAX_LP
# endif
testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax)
jne __strcasecmp_l_nonascii
@ -110,9 +110,9 @@ STRCMP_SSE42:
/* We have to fall back on the C implementation for locales
with encodings not matching ASCII for single bytes. */
# if LOCALE_T___LOCALES != 0 || LC_CTYPE != 0
movq LOCALE_T___LOCALES+LC_CTYPE*8(%rcx), %rax
mov LOCALE_T___LOCALES+LC_CTYPE*LP_SIZE(%rcx), %RAX_LP
# else
movq (%rcx), %rax
mov (%rcx), %RAX_LP
# endif
testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax)
jne __strncasecmp_l_nonascii