diff options
author | Ulrich Drepper <drepper@gmail.com> | 2011-11-01 16:46:23 -0400 |
---|---|---|
committer | Ulrich Drepper <drepper@gmail.com> | 2011-11-01 16:46:23 -0400 |
commit | 34372fc6d3e7bb8870905a6ac124bb2217e3800a (patch) | |
tree | d3c72b43b1edd7a32a137e7c0ae2a0f66074b85e /sysdeps/x86_64 | |
parent | fadb59f8d322e5c7ec3c2dd2cbf5d44baf5eddd9 (diff) | |
download | glibc-34372fc6d3e7bb8870905a6ac124bb2217e3800a.tar.gz glibc-34372fc6d3e7bb8870905a6ac124bb2217e3800a.tar.xz glibc-34372fc6d3e7bb8870905a6ac124bb2217e3800a.zip |
Fix test of non-ASCII locales in x86-64 strcasecmp et.al.
Diffstat (limited to 'sysdeps/x86_64')
-rw-r--r-- | sysdeps/x86_64/multiarch/strcmp-sse42.S | 4 | ||||
-rw-r--r-- | sysdeps/x86_64/strcmp.S | 6 |
2 files changed, 5 insertions, 5 deletions
diff --git a/sysdeps/x86_64/multiarch/strcmp-sse42.S b/sysdeps/x86_64/multiarch/strcmp-sse42.S index b93eda13b4..7a50ff05db 100644 --- a/sysdeps/x86_64/multiarch/strcmp-sse42.S +++ b/sysdeps/x86_64/multiarch/strcmp-sse42.S @@ -104,7 +104,7 @@ STRCMP_SSE42: # else movq (%rdx), %rax # endif - testl $0, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax) + testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax) jne __strcasecmp_l_nonascii #endif #ifdef USE_AS_STRNCASECMP_L @@ -115,7 +115,7 @@ STRCMP_SSE42: # else movq (%rcx), %rax # endif - testl $0, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax) + testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax) jne __strncasecmp_l_nonascii #endif diff --git a/sysdeps/x86_64/strcmp.S b/sysdeps/x86_64/strcmp.S index 165073e907..6e5bdaaf2e 100644 --- a/sysdeps/x86_64/strcmp.S +++ b/sysdeps/x86_64/strcmp.S @@ -1,5 +1,5 @@ /* Highly optimized version for x86-64. - Copyright (C) 1999, 2000, 2002, 2003, 2005, 2009, 2010 + Copyright (C) 1999, 2000, 2002, 2003, 2005, 2009, 2010, 2011 Free Software Foundation, Inc. This file is part of the GNU C Library. Based on i686 version contributed by Ulrich Drepper @@ -157,7 +157,7 @@ END (BP_SYM (STRCMP)) # else movq (%rdx), %rax # endif - testl $0, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax) + testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax) jne __strcasecmp_l_nonascii # elif defined USE_AS_STRNCASECMP_L /* We have to fall back on the C implementation for locales @@ -167,7 +167,7 @@ END (BP_SYM (STRCMP)) # else movq (%rcx), %rax # endif - testl $0, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax) + testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax) jne __strncasecmp_l_nonascii # endif |