aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2012-05-15 09:52:35 -0700
committerH.J. Lu <hjl.tools@gmail.com>2012-05-15 09:52:35 -0700
commit54e2ed81050b3b943c104faea34cd82376df96f7 (patch)
tree932af99bdff99c9b3149288d0db7003fdb04dc49
parent8a17f34979b8425fdd74c15872d78c4d56a68079 (diff)
downloadglibc-54e2ed81050b3b943c104faea34cd82376df96f7.zip
glibc-54e2ed81050b3b943c104faea34cd82376df96f7.tar.gz
glibc-54e2ed81050b3b943c104faea34cd82376df96f7.tar.bz2
Load cache sizes into R11_LP/R8_LP
-rw-r--r--ChangeLog6
-rw-r--r--sysdeps/x86_64/memcpy.S4
2 files changed, 8 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 51b0bd5..079b1a9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
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.
+
+2012-05-15 H.J. Lu <hongjiu.lu@intel.com>
+
* sysdeps/x86_64/multiarch/memcmp-sse4.S: Load cache size 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 */