diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2012-05-15 09:54:05 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2012-05-15 09:54:05 -0700 |
commit | 3cb845617b80442ebb96a836852c329ecbdc738d (patch) | |
tree | be8b5071cc1203d2f590c7546913699de477b777 | |
parent | 54e2ed81050b3b943c104faea34cd82376df96f7 (diff) | |
download | glibc-3cb845617b80442ebb96a836852c329ecbdc738d.tar.gz glibc-3cb845617b80442ebb96a836852c329ecbdc738d.tar.xz glibc-3cb845617b80442ebb96a836852c329ecbdc738d.zip |
Load pointers into R*_LP in strcmp.S
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | sysdeps/x86_64/strcmp.S | 12 |
2 files changed, 10 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog index 079b1a95d4..825ceeb4c3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2012-05-15 H.J. Lu <hongjiu.lu@intel.com> + * sysdeps/x86_64/strcmp.S: Load pointers into R*_LP. + +2012-05-15 H.J. Lu <hongjiu.lu@intel.com> + * sysdeps/x86_64/memcpy.S: Load __x86_64_data_cache_size_half into R11_LP and load __x86_64_shared_cache_size_half into R8_LP. diff --git a/sysdeps/x86_64/strcmp.S b/sysdeps/x86_64/strcmp.S index 4da2bc4064..a16d67d37e 100644 --- a/sysdeps/x86_64/strcmp.S +++ b/sysdeps/x86_64/strcmp.S @@ -96,7 +96,7 @@ ENTRY2 (__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. */ @@ -115,7 +115,7 @@ libc_hidden_def (__strcasecmp) ENTRY2 (__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. */ @@ -152,9 +152,9 @@ END (BP_SYM (STRCMP)) /* 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 @@ -162,9 +162,9 @@ END (BP_SYM (STRCMP)) /* 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 |