From: Andy Polyakov Date: Mon, 30 May 2016 20:16:31 +0000 (+0200) Subject: s390x assembly pack: improve portability. X-Git-Tag: OpenSSL_1_1_0-pre6~542 X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff_plain;h=0a4c87a90c6cf6628c688868cd5f13e4b9a5f19d s390x assembly pack: improve portability. Some of the instructions used in latest additions are extension ones. There is no real reason to limit ourselves to specific processors, so [re-]adhere to base instruction set. RT#4548 Reviewed-by: Rich Salz --- diff --git a/crypto/chacha/asm/chacha-s390x.pl b/crypto/chacha/asm/chacha-s390x.pl index c7a26921fe..c31526473d 100755 --- a/crypto/chacha/asm/chacha-s390x.pl +++ b/crypto/chacha/asm/chacha-s390x.pl @@ -147,7 +147,8 @@ $code.=<<___; .type ChaCha20_ctr32,\@function .align 32 ChaCha20_ctr32: - cl${g}ije $len,0,.Lno_data # $len==0? + lt${g}r $len,$len # $len==0? + bzr %r14 a${g}hi $len,-64 l${g}hi %r1,-$frame stm${g} %r6,%r15,`6*$SIZE_T`($sp) @@ -279,7 +280,6 @@ $code.=<<___; stmg %r0,%r3,$stdframe+4*12($sp) lm${g} %r6,%r15,`$frame+6*$SIZE_T`($sp) -.Lno_data: br %r14 .align 16 diff --git a/crypto/s390xcpuid.S b/crypto/s390xcpuid.S index 61ef0eb2ac..8859e9e64a 100644 --- a/crypto/s390xcpuid.S +++ b/crypto/s390xcpuid.S @@ -143,9 +143,9 @@ CRYPTO_memcmp: je .Lno_data .Loop_cmp: - llc %r0,0(%r2) + llgc %r0,0(%r2) la %r2,1(%r2) - llc %r1,0(%r3) + llgc %r1,0(%r3) la %r3,1(%r3) xr %r1,%r0 or %r5,%r1