[openssl-commits] [openssl] master update

Andy Polyakov appro at openssl.org
Fri Jun 8 13:50:37 UTC 2018


The branch master has been updated
       via  10f279713ae39736ca1c7bcb09e240c7c5fb298a (commit)
      from  bb5f281ad0eed55ae4ddc7ba0ce953411b64bf32 (commit)


- Log -----------------------------------------------------------------
commit 10f279713ae39736ca1c7bcb09e240c7c5fb298a
Author: Andy Polyakov <appro at openssl.org>
Date:   Thu Jun 7 14:04:34 2018 +0200

    chacha/asm/chacha-ppc.pl: fix big-endian build.
    
    It's kind of a "brown-bag" bug, as I did recognize the problem and
    verified an ad-hoc solution, but failed to follow up with cross-checks
    prior filing previous merge request.
    
    Reviewed-by: Rich Salz <rsalz at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/6435)

-----------------------------------------------------------------------

Summary of changes:
 crypto/chacha/asm/chacha-ppc.pl | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/crypto/chacha/asm/chacha-ppc.pl b/crypto/chacha/asm/chacha-ppc.pl
index 96cdfeb..f4f8610 100755
--- a/crypto/chacha/asm/chacha-ppc.pl
+++ b/crypto/chacha/asm/chacha-ppc.pl
@@ -438,9 +438,9 @@ my ($a,$b,$c,$d)=@_;
 	"&vxor		('$b','$b','$c')",
 	"&vrlw		('$b','$b','$seven')",
 
-	"&vsldoi	('$c','$c','$c',8)",
-	"&vsldoi	('$b','$b','$b',$odd?4:12)",
-	"&vsldoi	('$d','$d','$d',$odd?12:4)"
+	"&vrldoi	('$c','$c',8)",
+	"&vrldoi	('$b','$b',$odd?4:12)",
+	"&vrldoi	('$d','$d',$odd?12:4)"
 	);
 }
 
@@ -1334,11 +1334,12 @@ foreach (split("\n",$code)) {
 	    s/\?lvsr/lvsl/	or
 	    s/\?lvsl/lvsr/	or
 	    s/\?(vperm\s+v[0-9]+,\s*)(v[0-9]+,\s*)(v[0-9]+,\s*)(v[0-9]+)/$1$3$2$4/ or
-	    s/(vsldoi\s+v[0-9]+,\s*)(v[0-9]+,)\s*(v[0-9]+,\s*)([0-9]+)/$1$3$2 16-$4/;
+	    s/vrldoi(\s+v[0-9]+,\s*)(v[0-9]+,)\s*([0-9]+)/vsldoi$1$2$2 16-$3/;
 	} else {			# little-endian
 	    s/le\?//		or
 	    s/be\?/#be#/	or
-	    s/\?([a-z]+)/$1/;
+	    s/\?([a-z]+)/$1/	or
+	    s/vrldoi(\s+v[0-9]+,\s*)(v[0-9]+,)\s*([0-9]+)/vsldoi$1$2$2 $3/;
 	}
 
 	print $_,"\n";


More information about the openssl-commits mailing list