This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
PATCH: Load pointers into R*_LP in strcmp.S
- From: "H.J. Lu" <hongjiu dot lu at intel dot com>
- To: GNU C Library <libc-alpha at sourceware dot org>
- Date: Mon, 14 May 2012 21:41:21 -0700
- Subject: PATCH: Load pointers into R*_LP in strcmp.S
- Reply-to: "H.J. Lu" <hjl dot tools at gmail dot com>
Hi,
This patch loads pointers into R*_LP in strcmp.S. Tested on
Linux/x86-64. OK to install?
Thanks.
H.J.
---
* sysdeps/x86_64/strcmp.S: Load pointers into R*_LP.
diff --git a/sysdeps/x86_64/strcmp.S b/sysdeps/x86_64/strcmp.S
index 4da2bc4..a16d67d 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
--
1.7.6.5