summaryrefslogtreecommitdiffstats
path: root/crypto/sha
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2018-11-15 15:47:46 +0100
committerRichard Levitte <levitte@openssl.org>2018-11-16 09:26:29 +0100
commit7a6d71c5275eef2206c7e946fb936152c83c8d29 (patch)
tree59fb24aa0b3c8f75420271187bc254a129622a0f /crypto/sha
parent0e2ad9593a0ff494fab3234e49499a2e68542228 (diff)
sha/asm/sha512p8-ppc.pl: optimize epilogue.
Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/7643) (cherry picked from commit 6b956fe77b8aeb899ef7bdfa147a00bda51b804a)
Diffstat (limited to 'crypto/sha')
-rwxr-xr-xcrypto/sha/asm/sha512p8-ppc.pl25
1 files changed, 9 insertions, 16 deletions
diff --git a/crypto/sha/asm/sha512p8-ppc.pl b/crypto/sha/asm/sha512p8-ppc.pl
index d7ad17b29f..0d4fdd292c 100755
--- a/crypto/sha/asm/sha512p8-ppc.pl
+++ b/crypto/sha/asm/sha512p8-ppc.pl
@@ -286,24 +286,17 @@ $code.=<<___ if ($SZ==8);
stvx_u $G,$x30,$ctx
___
$code.=<<___;
- li r10,`$LOCALS+15`
+ addi $offload,$sp,`$LOCALS+15`
mtlr $lrsave
- li r11,`$LOCALS+31`
mtspr 256,$vrsave
- lvx v24,r10,$sp # ABI says so
- addi r10,r10,32
- lvx v25,r11,$sp
- addi r11,r11,32
- lvx v26,r10,$sp
- addi r10,r10,32
- lvx v27,r11,$sp
- addi r11,r11,32
- lvx v28,r10,$sp
- addi r10,r10,32
- lvx v29,r11,$sp
- addi r11,r11,32
- lvx v30,r10,$sp
- lvx v31,r11,$sp
+ lvx v24,$x00,$offload # ABI says so
+ lvx v25,$x10,$offload
+ lvx v26,$x20,$offload
+ lvx v27,$x30,$offload
+ lvx v28,$x40,$offload
+ lvx v29,$x50,$offload
+ lvx v30,$x60,$offload
+ lvx v31,$x70,$offload
$POP r26,`$FRAME-6*$SIZE_T`($sp)
$POP r27,`$FRAME-5*$SIZE_T`($sp)
$POP r28,`$FRAME-4*$SIZE_T`($sp)