diff options
author | Ulrich Drepper <drepper@redhat.com> | 2010-08-15 20:46:09 -0700 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2010-08-15 20:46:09 -0700 |
commit | 1feccb6caf8b324e67d6becebbe445af1a3b0847 (patch) | |
tree | 4baca612651cbad09c28b2b5bb40e876696bf287 | |
parent | f8392f40049cf6faedcf4f26736227d9a7a04b9e (diff) | |
download | glibc-1feccb6caf8b324e67d6becebbe445af1a3b0847.zip glibc-1feccb6caf8b324e67d6becebbe445af1a3b0847.tar.gz glibc-1feccb6caf8b324e67d6becebbe445af1a3b0847.tar.bz2 |
Fix fourth parameter of SSE4.2 strcmp for x86-64.
-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | sysdeps/x86_64/multiarch/strcmp.S | 6 |
2 files changed, 4 insertions, 3 deletions
@@ -13,6 +13,7 @@ * sysdeps/x86_64/strcmp.S: Use correct register for fourth parameter of strncasecmp_l. + * sysdeps/multiarch/strcmp.S: Likewise. 2010-08-14 Ulrich Drepper <drepper@redhat.com> diff --git a/sysdeps/x86_64/multiarch/strcmp.S b/sysdeps/x86_64/multiarch/strcmp.S index 764eb09..45cd80b 100644 --- a/sysdeps/x86_64/multiarch/strcmp.S +++ b/sysdeps/x86_64/multiarch/strcmp.S @@ -181,7 +181,7 @@ END (__strcasecmp_sse42) # ifdef USE_AS_STRNCASECMP_L ENTRY (__strncasecmp_sse42) movq __libc_tsd_LOCALE@gottpoff(%rip),%rax - movq %fs:(%rax),%r10 + movq %fs:(%rax),%rcx // XXX 5 byte should be before the function /* 5-byte NOP. */ @@ -212,9 +212,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(%r10), %rax + movq LOCALE_T___LOCALES+LC_CTYPE*8(%rcx), %rax # else - movq (%r10), %rax + movq (%rcx), %rax # endif testl $0, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax) jne __strncasecmp_l_nonascii |