aboutsummaryrefslogtreecommitdiff
path: root/sys/crypto/openssl/powerpc64le/keccak1600-ppc64.S
diff options
context:
space:
mode:
Diffstat (limited to 'sys/crypto/openssl/powerpc64le/keccak1600-ppc64.S')
-rw-r--r--sys/crypto/openssl/powerpc64le/keccak1600-ppc64.S82
1 files changed, 29 insertions, 53 deletions
diff --git a/sys/crypto/openssl/powerpc64le/keccak1600-ppc64.S b/sys/crypto/openssl/powerpc64le/keccak1600-ppc64.S
index 3451068190b8..735c16c31876 100644
--- a/sys/crypto/openssl/powerpc64le/keccak1600-ppc64.S
+++ b/sys/crypto/openssl/powerpc64le/keccak1600-ppc64.S
@@ -298,33 +298,6 @@ KeccakF1600:
.byte 0,12,4,1,0x80,18,1,0
.long 0
.size KeccakF1600,.-KeccakF1600
-
-.type dword_le_load,@function
-.align 5
-dword_le_load:
-.localentry dword_le_load,0
-
- lbz 0,1(3)
- lbz 4,2(3)
- lbz 5,3(3)
- insrdi 0,4,8,48
- lbz 4,4(3)
- insrdi 0,5,8,40
- lbz 5,5(3)
- insrdi 0,4,8,32
- lbz 4,6(3)
- insrdi 0,5,8,24
- lbz 5,7(3)
- insrdi 0,4,8,16
- lbzu 4,8(3)
- insrdi 0,5,8,8
- insrdi 0,4,8,0
- blr
-.long 0
-.byte 0,12,0x14,0,0,0,1,0
-.long 0
-.size dword_le_load,.-dword_le_load
-
.globl SHA3_absorb
.type SHA3_absorb,@function
.type SHA3_absorb,@function
@@ -355,7 +328,7 @@ SHA3_absorb:
std 0,288(1)
bl PICmeup
- subi 4,4,1
+ subi 4,4,8
subi 12,12,8
std 3,48(1)
@@ -406,79 +379,79 @@ SHA3_absorb:
srwi 5,5,3
std 4,64(1)
mtctr 5
- bl dword_le_load
+ ldu 0,8(3)
xor 7,7,0
bdz .Lprocess_block
- bl dword_le_load
+ ldu 0,8(3)
xor 8,8,0
bdz .Lprocess_block
- bl dword_le_load
+ ldu 0,8(3)
xor 9,9,0
bdz .Lprocess_block
- bl dword_le_load
+ ldu 0,8(3)
xor 10,10,0
bdz .Lprocess_block
- bl dword_le_load
+ ldu 0,8(3)
xor 11,11,0
bdz .Lprocess_block
- bl dword_le_load
+ ldu 0,8(3)
xor 12,12,0
bdz .Lprocess_block
- bl dword_le_load
+ ldu 0,8(3)
xor 6,6,0
bdz .Lprocess_block
- bl dword_le_load
+ ldu 0,8(3)
xor 14,14,0
bdz .Lprocess_block
- bl dword_le_load
+ ldu 0,8(3)
xor 15,15,0
bdz .Lprocess_block
- bl dword_le_load
+ ldu 0,8(3)
xor 16,16,0
bdz .Lprocess_block
- bl dword_le_load
+ ldu 0,8(3)
xor 17,17,0
bdz .Lprocess_block
- bl dword_le_load
+ ldu 0,8(3)
xor 18,18,0
bdz .Lprocess_block
- bl dword_le_load
+ ldu 0,8(3)
xor 19,19,0
bdz .Lprocess_block
- bl dword_le_load
+ ldu 0,8(3)
xor 20,20,0
bdz .Lprocess_block
- bl dword_le_load
+ ldu 0,8(3)
xor 21,21,0
bdz .Lprocess_block
- bl dword_le_load
+ ldu 0,8(3)
xor 22,22,0
bdz .Lprocess_block
- bl dword_le_load
+ ldu 0,8(3)
xor 23,23,0
bdz .Lprocess_block
- bl dword_le_load
+ ldu 0,8(3)
xor 24,24,0
bdz .Lprocess_block
- bl dword_le_load
+ ldu 0,8(3)
xor 25,25,0
bdz .Lprocess_block
- bl dword_le_load
+ ldu 0,8(3)
xor 26,26,0
bdz .Lprocess_block
- bl dword_le_load
+ ldu 0,8(3)
xor 27,27,0
bdz .Lprocess_block
- bl dword_le_load
+ ldu 0,8(3)
xor 28,28,0
bdz .Lprocess_block
- bl dword_le_load
+ ldu 0,8(3)
xor 29,29,0
bdz .Lprocess_block
- bl dword_le_load
+ ldu 0,8(3)
xor 30,30,0
bdz .Lprocess_block
- bl dword_le_load
+ ldu 0,8(3)
xor 31,31,0
.Lprocess_block:
@@ -571,6 +544,8 @@ SHA3_squeeze:
subi 29,4,1
mr 30,5
mr 31,6
+ cmplwi 7,0
+ bne .Lnext_block
b .Loop_squeeze
.align 4
@@ -601,6 +576,7 @@ SHA3_squeeze:
subic. 6,6,8
bgt .Loop_squeeze
+.Lnext_block:
mr 3,28
bl KeccakF1600
subi 3,28,8