diff options
author | Andy Polyakov <appro@openssl.org> | 2016-05-30 22:16:31 +0200 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2016-06-06 11:08:04 +0200 |
commit | 0a4c87a90c6cf6628c688868cd5f13e4b9a5f19d (patch) | |
tree | 505edc325c5e4f3c06dbc9d713f096a9d0c68961 /crypto | |
parent | 78e91586fbeb2c3a54d2a8a28dadeeb1eb0f57a8 (diff) |
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 <rsalz@openssl.org>
Diffstat (limited to 'crypto')
-rwxr-xr-x | crypto/chacha/asm/chacha-s390x.pl | 4 | ||||
-rw-r--r-- | crypto/s390xcpuid.S | 4 |
2 files changed, 4 insertions, 4 deletions
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 |