aboutsummaryrefslogtreecommitdiff
path: root/crypto/openssl/crypto/bn/asm/s390x-mont.pl
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/openssl/crypto/bn/asm/s390x-mont.pl')
-rwxr-xr-xcrypto/openssl/crypto/bn/asm/s390x-mont.pl14
1 files changed, 7 insertions, 7 deletions
diff --git a/crypto/openssl/crypto/bn/asm/s390x-mont.pl b/crypto/openssl/crypto/bn/asm/s390x-mont.pl
index 9fd64e81eef3..46188ebb7e5b 100755
--- a/crypto/openssl/crypto/bn/asm/s390x-mont.pl
+++ b/crypto/openssl/crypto/bn/asm/s390x-mont.pl
@@ -245,16 +245,16 @@ $code.=<<___;
brct $count,.Lsub
lghi $ahi,0
slbgr $AHI,$ahi # handle upmost carry
-
- ngr $ap,$AHI
- lghi $np,-1
- xgr $np,$AHI
- ngr $np,$rp
- ogr $ap,$np # ap=borrow?tp:rp
+ lghi $NHI,-1
+ xgr $NHI,$AHI
la $j,0(%r0)
lgr $count,$num
-.Lcopy: lg $alo,0($j,$ap) # copy or in-place refresh
+.Lcopy: lg $ahi,$stdframe($j,$sp) # conditional copy
+ lg $alo,0($j,$rp)
+ ngr $ahi,$AHI
+ ngr $alo,$NHI
+ ogr $alo,$ahi
_dswap $alo
stg $j,$stdframe($j,$sp) # zap tp
stg $alo,0($j,$rp)