From: Stefan Liebler Date: Tue, 24 May 2016 08:39:13 +0000 (+0200) Subject: S390: Use 64bit instruction to check for copies of > 1MB with mvcle. X-Git-Tag: glibc-2.24~222 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=074b0f27d9b9cdfb58c5c7e7f4129546084582b2;p=thirdparty%2Fglibc.git 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. --- diff --git a/ChangeLog b/ChangeLog index d2b34a84786..1bacd7172e9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2016-05-24 Stefan Liebler + + * sysdeps/s390/s390-64/memcpy.S (memcpy): + Use cghi instead of chi to compare 64bit value. + 2016-05-24 Stefan Liebler * sysdeps/s390/s390-32/memcpy.S (memcpy): diff --git a/sysdeps/s390/s390-64/memcpy.S b/sysdeps/s390/s390-64/memcpy.S index e84a3572cbd..9d60a14cccd 100644 --- a/sysdeps/s390/s390-64/memcpy.S +++ b/sysdeps/s390/s390-64/memcpy.S @@ -47,7 +47,7 @@ ENTRY(memcpy) .L_Z900_4: br %r14 .L_Z900_13: - chi %r5,4096 # Switch to mvcle for copies >1MB + cghi %r5,4096 # Switch to mvcle for copies >1MB jh __memcpy_mvcle .L_Z900_12: mvc 0(256,%r1),0(%r3)