diff options
Diffstat (limited to 'sysdeps/i386/i686/multiarch/strcmp-ssse3.S')
-rw-r--r-- | sysdeps/i386/i686/multiarch/strcmp-ssse3.S | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sysdeps/i386/i686/multiarch/strcmp-ssse3.S b/sysdeps/i386/i686/multiarch/strcmp-ssse3.S index 5fd9ac8..3eb304b 100644 --- a/sysdeps/i386/i686/multiarch/strcmp-ssse3.S +++ b/sysdeps/i386/i686/multiarch/strcmp-ssse3.S @@ -138,8 +138,14 @@ ENTRY (__strcasecmp_ssse3) movl (%eax), %eax # endif testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%eax) +# ifdef PIC + je L(ascii) + POP (%ebx) + jmp __strcasecmp_nonascii +# else jne __strcasecmp_nonascii jmp L(ascii) +# endif END (__strcasecmp_ssse3) #endif @@ -169,8 +175,14 @@ ENTRY (__strncasecmp_ssse3) movl (%eax), %eax # endif testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%eax) +# ifdef PIC + je L(ascii) + POP (%ebx) + jmp __strncasecmp_nonascii +# else jne __strncasecmp_nonascii jmp L(ascii) +# endif END (__strncasecmp_ssse3) #endif |