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