This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
PATCH: Use register macros in memcpy.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:38:28 -0700
- Subject: PATCH: Use register macros in memcpy.S
- Reply-to: "H.J. Lu" <hjl dot tools at gmail dot com>
Hi,
__x86_64_data_cache_size_half and __x86_64_data_cache_size_half are
longs. This uses R11_LP/R8_LP to load them. Tested on Linux/x86-64.
OK to install?
Thanks.
H.J.
---
* 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/memcpy.S b/sysdeps/x86_64/memcpy.S
index d74e532..9e693f2 100644
--- a/sysdeps/x86_64/memcpy.S
+++ b/sysdeps/x86_64/memcpy.S
@@ -254,7 +254,7 @@ L(32after):
L(fasttry): /* first 1/2 L1 */
#ifndef NOT_IN_libc /* only up to this algorithm outside of libc.so */
- movq __x86_64_data_cache_size_half(%rip), %r11
+ mov __x86_64_data_cache_size_half(%rip), %R11_LP
cmpq %rdx, %r11 /* calculate the smaller of */
cmovaq %rdx, %r11 /* remaining bytes and 1/2 L1 */
#endif
@@ -303,7 +303,7 @@ L(fastafter):
/* Handle large blocks smaller than 1/2 L2. */
L(pretry): /* first 1/2 L2 */
- movq __x86_64_shared_cache_size_half (%rip), %r8
+ mov __x86_64_shared_cache_size_half (%rip), %R8_LP
cmpq %rdx, %r8 /* calculate the lesser of */
cmovaq %rdx, %r8 /* remaining bytes and 1/2 L2 */
--
1.7.6.5