aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2012-05-15 09:54:05 -0700
committerH.J. Lu <hjl.tools@gmail.com>2012-05-15 09:54:05 -0700
commit3cb845617b80442ebb96a836852c329ecbdc738d (patch)
treebe8b5071cc1203d2f590c7546913699de477b777
parent54e2ed81050b3b943c104faea34cd82376df96f7 (diff)
downloadglibc-3cb845617b80442ebb96a836852c329ecbdc738d.tar
glibc-3cb845617b80442ebb96a836852c329ecbdc738d.tar.gz
glibc-3cb845617b80442ebb96a836852c329ecbdc738d.tar.bz2
glibc-3cb845617b80442ebb96a836852c329ecbdc738d.zip
Load pointers into R*_LP in strcmp.S
-rw-r--r--ChangeLog4
-rw-r--r--sysdeps/x86_64/strcmp.S12
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