]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
S390: Use mvcle for copies > 1MB on 32bit with default memcpy variant.
authorStefan Liebler <stli@linux.vnet.ibm.com>
Tue, 24 May 2016 08:39:13 +0000 (10:39 +0200)
committerStefan Liebler <stli@linux.vnet.ibm.com>
Tue, 24 May 2016 08:39:13 +0000 (10:39 +0200)
If more than 255 bytes should be copied, the algorithm jumps away.
Before this patch, it jumps to the mvc-loop (.L_G5_12).
Now it jumps first to the "> 1MB" check, which jumps away to
__memcpy_mvcle. Otherwise, the mvc-loop (.L_G5_12) copies the bytes.

ChangeLog:

* sysdeps/s390/s390-32/memcpy.S (memcpy):
Jump to 1MB check before executing mvc-loop.

ChangeLog
sysdeps/s390/s390-32/memcpy.S

index 2b51267194c868297b7ddb67ce6a8f6c0625ad65..d2b34a847863e4fbd65e96d957f74691696d6422 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2016-05-24  Stefan Liebler  <stli@linux.vnet.ibm.com>
+
+       * sysdeps/s390/s390-32/memcpy.S (memcpy):
+       Jump to 1MB check before executing mvc-loop.
+
 2016-05-24  Florian Weimer  <fweimer@redhat.com>
 
        [BZ #6527]
index 62ecbbf6190d57d38d5589b00e300860d63804e8..2ac51ab62ed064c581a46137c7f1a3e4ca90677c 100644 (file)
@@ -42,7 +42,7 @@ ENTRY(memcpy)
        srl     %r5,8
        ltr     %r5,%r5
        lr      %r1,%r2
-       jne     .L_G5_12
+       jne     .L_G5_13
        ex      %r4,.L_G5_17-.L_G5_16(%r13)
 .L_G5_4:
        l       %r13,52(%r15)