[openssl] master update
Dr. Paul Dale
pauli at openssl.org
Tue Jun 22 08:34:25 UTC 2021
The branch master has been updated
via b1fa45b01ba55a95bea1a4f05444f40be1b126f5 (commit)
via 676efe3116f8275fb7308331078838c93d97d02e (commit)
via e41ded8f2e0772e3b8037ca752c39ca64ff38f81 (commit)
via 3f55ff6af5dde97c6cda53bd735606f21b5707a5 (commit)
via 5b7f986457d2ae181de9475a3d303e6ba4a3b16c (commit)
via 77bd294bd0249eae040438a785fe17fb631eaa97 (commit)
via 450d9804806a676485b8697cc2989777e3dc0cc8 (commit)
via 7f98eaab8b5d5de22a869af1a92e29a4ea4b1776 (commit)
from 5ae86f284c5508ee09dab527ae9206f394b70f3a (commit)
- Log -----------------------------------------------------------------
commit b1fa45b01ba55a95bea1a4f05444f40be1b126f5
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Jun 18 11:10:16 2021 +1000
ec: Only build ecp_nistp521-ppc64.s if enable-ec_nistp_64_gcc_128
Signed-off-by: Martin Schwenke <martin at meltin.net>
Signed-off-by: Amitay Isaacs <amitay at ozlabs.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
Reviewed-by: Paul Dale <pauli at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15798)
commit 676efe3116f8275fb7308331078838c93d97d02e
Author: Martin Schwenke <martin at meltin.net>
Date: Thu Jun 17 12:20:15 2021 +1000
ec: Add alignment pseudo-op at beginning of function
Signed-off-by: Martin Schwenke <martin at meltin.net>
Reviewed-by: Amitay Isaacs <amitay at gmail.com>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
Reviewed-by: Paul Dale <pauli at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15798)
commit e41ded8f2e0772e3b8037ca752c39ca64ff38f81
Author: Martin Schwenke <martin at meltin.net>
Date: Thu Jun 17 12:15:35 2021 +1000
ec: Drop uses of .cfi_startproc/.cfi_endproc pseudo-ops
These work fine on Linux but break the build on AIX.
Signed-off-by: Martin Schwenke <martin at meltin.net>
Reviewed-by: Amitay Isaacs <amitay at gmail.com>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
Reviewed-by: Paul Dale <pauli at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15798)
commit 3f55ff6af5dde97c6cda53bd735606f21b5707a5
Author: Martin Schwenke <martin at meltin.net>
Date: Wed Jun 16 16:54:26 2021 +1000
bn: save/restore registers to/from stack
mtvsrd/mfvsrd are ISA >= 2.07 only, so this won't work for older
CPUs.
It would be possible to use this scheme only in the ISA >= 3.0
implementation. However, in the future it may be possible for newer
ISAs to allow CPU implementations without a vector unit, so don't
bother. The performance improvement versus using the stack was small
anyway.
Signed-off-by: Martin Schwenke <martin at meltin.net>
Reviewed-by: Amitay Isaacs <amitay at gmail.com>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
Reviewed-by: Paul Dale <pauli at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15798)
commit 5b7f986457d2ae181de9475a3d303e6ba4a3b16c
Author: Martin Schwenke <martin at meltin.net>
Date: Wed Jun 16 16:37:15 2021 +1000
bn: Switch $i to be unused r9
No need to save/restore because it is volatile.
Signed-off-by: Martin Schwenke <martin at meltin.net>
Reviewed-by: Amitay Isaacs <amitay at gmail.com>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
Reviewed-by: Paul Dale <pauli at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15798)
commit 77bd294bd0249eae040438a785fe17fb631eaa97
Author: Martin Schwenke <martin at meltin.net>
Date: Wed Jun 16 14:58:08 2021 +1000
bn: Drop unnecessary use of r9
This is done in other versions due to the possibility of an early
return. However, there is no early return here.
Signed-off-by: Martin Schwenke <martin at meltin.net>
Reviewed-by: Amitay Isaacs <amitay at gmail.com>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
Reviewed-by: Paul Dale <pauli at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15798)
commit 450d9804806a676485b8697cc2989777e3dc0cc8
Author: Martin Schwenke <martin at meltin.net>
Date: Wed Jun 16 17:29:52 2021 +1000
bn: Update .align pseudo-ops to match convention
64-bit alignment at the beginning of functions, 32-bit alignment for
loop targets.
Signed-off-by: Martin Schwenke <martin at meltin.net>
Reviewed-by: Amitay Isaacs <amitay at gmail.com>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
Reviewed-by: Paul Dale <pauli at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15798)
commit 7f98eaab8b5d5de22a869af1a92e29a4ea4b1776
Author: Martin Schwenke <martin at meltin.net>
Date: Wed Jun 16 16:39:11 2021 +1000
bn: Drop use of .p2align pseudo-op
This works on Linux but breaks the build on AIX.
Fixes #15748
Signed-off-by: Martin Schwenke <martin at meltin.net>
Reviewed-by: Amitay Isaacs <amitay at gmail.com>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
Reviewed-by: Paul Dale <pauli at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15798)
-----------------------------------------------------------------------
Summary of changes:
crypto/bn/asm/ppc64-mont-fixed.pl | 20 ++++++++------------
crypto/ec/asm/ecp_nistp521-ppc64.pl | 3 +--
crypto/ec/build.info | 10 +++++++---
3 files changed, 16 insertions(+), 17 deletions(-)
diff --git a/crypto/bn/asm/ppc64-mont-fixed.pl b/crypto/bn/asm/ppc64-mont-fixed.pl
index 62d2db0006..da4967a730 100755
--- a/crypto/bn/asm/ppc64-mont-fixed.pl
+++ b/crypto/bn/asm/ppc64-mont-fixed.pl
@@ -72,8 +72,7 @@ my $np = "r6";
my $n0 = "r7";
my $num = "r8";
-$rp = "r9"; # $rp is reassigned
-
+my $i = "r9";
my $c0 = "r10";
my $bp0 = "r11";
my $bpi = "r11";
@@ -83,7 +82,6 @@ my $apj = "r12";
my $npj = "r12";
my $lo = "r14";
my $c1 = "r14";
-my $i = "r15";
# Non-volatile registers used for tp[i]
#
@@ -186,8 +184,8 @@ sub mul_mont_fixed($)
$self->add_code(<<___);
.globl .${fname}
+.align 5
.${fname}:
- mr $rp,r3
___
@@ -226,6 +224,7 @@ ___
mtctr $num
b $label->{"enter"}
+.align 4
$label->{"outer"}:
ldx $bpi,$bp,$i
@@ -247,6 +246,7 @@ ___
___
$self->add_code(<<___);
+.align 4
$label->{"enter"}:
mulld $bpi,$tp[0],$n0
@@ -345,13 +345,12 @@ sub save_registers($)
my $n = $self->{n};
$self->add_code(<<___);
- mtvsrd $vsrs[0],$lo
- mtvsrd $vsrs[1],$i
+ std $lo,-8($sp)
___
for (my $j = 0; $j <= $n+1; $j++) {
$self->{code}.=<<___;
- mtvsrd $vsrs[$j+2],$tp[$j]
+ std $tp[$j],-`($j+2)*8`($sp)
___
}
@@ -367,13 +366,12 @@ sub restore_registers($)
my $n = $self->{n};
$self->add_code(<<___);
- mfvsrd $lo,$vsrs[0]
- mfvsrd $i,$vsrs[1]
+ ld $lo,-8($sp)
___
for (my $j = 0; $j <= $n+1; $j++) {
$self->{code}.=<<___;
- mfvsrd $tp[$j],$vsrs[$j+2]
+ ld $tp[$j],-`($j+2)*8`($sp)
___
}
@@ -561,8 +559,6 @@ my $code;
$code.=<<___;
.machine "any"
.text
-.align 5
-.p2align 5,,31
___
my $mont;
diff --git a/crypto/ec/asm/ecp_nistp521-ppc64.pl b/crypto/ec/asm/ecp_nistp521-ppc64.pl
index 7e71e924ba..e97d803d26 100755
--- a/crypto/ec/asm/ecp_nistp521-ppc64.pl
+++ b/crypto/ec/asm/ecp_nistp521-ppc64.pl
@@ -45,8 +45,8 @@ sub startproc($)
$code.=<<___;
.globl ${name}
+ .align 5
${name}:
- .cfi_startproc
___
}
@@ -57,7 +57,6 @@ sub endproc($)
$code.=<<___;
blr
- .cfi_endproc
.size ${name},.-${name}
___
diff --git a/crypto/ec/build.info b/crypto/ec/build.info
index f4314dd896..216139e596 100644
--- a/crypto/ec/build.info
+++ b/crypto/ec/build.info
@@ -30,9 +30,13 @@ IF[{- !$disabled{asm} -}]
$ECASM_parisc20_64=
$ECASM_ppc32=
- $ECASM_ppc64=ecp_nistz256.c ecp_nistz256-ppc64.s ecp_nistp521-ppc64.s x25519-ppc64.s
- $ECDEF_ppc64=ECP_NISTZ256_ASM ECP_NISTP521_ASM X25519_ASM
- INCLUDE[ecp_nistp521.o]=..
+ $ECASM_ppc64=ecp_nistz256.c ecp_nistz256-ppc64.s x25519-ppc64.s
+ $ECDEF_ppc64=ECP_NISTZ256_ASM X25519_ASM
+ IF[{- !$disabled{'ec_nistp_64_gcc_128'} -}]
+ $ECASM_ppc64=$ECASM_ppc64 ecp_nistp521-ppc64.s
+ $ECDEF_ppc64=$ECDEF_ppc64 ECP_NISTP521_ASM
+ INCLUDE[ecp_nistp521.o]=..
+ ENDIF
$ECASM_c64xplus=
More information about the openssl-commits
mailing list