mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-12 04:00:17 +00:00
S390: Use 64bit instruction to check for copies of > 1MB with mvcle.
The __memcpy_default variant on s390 64bit calculates the number of 256byte blocks in a 64bit register and checks, if they exceed 1MB to jump to mvcle. Otherwise a mvc-loop is used. The compare-instruction only checks a 32bit value. This patch uses a 64bit compare. ChangeLog: * sysdeps/s390/s390-64/memcpy.S (memcpy): Use cghi instead of chi to compare 64bit value.
This commit is contained in:
parent
04bb21ac93
commit
074b0f27d9
@ -1,3 +1,8 @@
|
|||||||
|
2016-05-24 Stefan Liebler <stli@linux.vnet.ibm.com>
|
||||||
|
|
||||||
|
* sysdeps/s390/s390-64/memcpy.S (memcpy):
|
||||||
|
Use cghi instead of chi to compare 64bit value.
|
||||||
|
|
||||||
2016-05-24 Stefan Liebler <stli@linux.vnet.ibm.com>
|
2016-05-24 Stefan Liebler <stli@linux.vnet.ibm.com>
|
||||||
|
|
||||||
* sysdeps/s390/s390-32/memcpy.S (memcpy):
|
* sysdeps/s390/s390-32/memcpy.S (memcpy):
|
||||||
|
@ -47,7 +47,7 @@ ENTRY(memcpy)
|
|||||||
.L_Z900_4:
|
.L_Z900_4:
|
||||||
br %r14
|
br %r14
|
||||||
.L_Z900_13:
|
.L_Z900_13:
|
||||||
chi %r5,4096 # Switch to mvcle for copies >1MB
|
cghi %r5,4096 # Switch to mvcle for copies >1MB
|
||||||
jh __memcpy_mvcle
|
jh __memcpy_mvcle
|
||||||
.L_Z900_12:
|
.L_Z900_12:
|
||||||
mvc 0(256,%r1),0(%r3)
|
mvc 0(256,%r1),0(%r3)
|
||||||
|
Loading…
Reference in New Issue
Block a user