PATCH: Use register macros in memcpy.S
H.J. Lu
hongjiu.lu@intel.com
Tue May 15 04:38:00 GMT 2012
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
More information about the Libc-alpha
mailing list