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


- Log -----------------------------------------------------------------
commit 10f279713ae39736ca1c7bcb09e240c7c5fb298a
Author: Andy Polyakov <ap...@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 <rs...@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";
_____
openssl-commits mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits

Reply via email to