diff options
author | Stefan Liebler <stli@linux.vnet.ibm.com> | 2016-05-24 10:39:13 +0200 |
---|---|---|
committer | Stefan Liebler <stli@linux.vnet.ibm.com> | 2016-05-24 10:39:13 +0200 |
commit | 04bb21ac93e90d7696bcaf8febe2b2dd2d83585a (patch) | |
tree | 5e4d119652c416d213685c8e1295855794bab80f | |
parent | dea39b13e2958a7f0e75b5594a06d97d61cc439f (diff) | |
download | glibc-04bb21ac93e90d7696bcaf8febe2b2dd2d83585a.tar.gz glibc-04bb21ac93e90d7696bcaf8febe2b2dd2d83585a.tar.xz glibc-04bb21ac93e90d7696bcaf8febe2b2dd2d83585a.zip |
S390: Use mvcle for copies > 1MB on 32bit with default memcpy variant.
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.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | sysdeps/s390/s390-32/memcpy.S | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog index 2b51267194..d2b34a8478 100644 --- 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] diff --git a/sysdeps/s390/s390-32/memcpy.S b/sysdeps/s390/s390-32/memcpy.S index 62ecbbf619..2ac51ab62e 100644 --- a/sysdeps/s390/s390-32/memcpy.S +++ b/sysdeps/s390/s390-32/memcpy.S @@ -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) |