Changeset View
Changeset View
Standalone View
Standalone View
sys/crypto/openssl/powerpc64/keccak1600-ppc64.S
- This file was added.
/* $FreeBSD$ */ | |||||
/* Do not modify. This file is auto-generated from keccak1600-ppc64.pl. */ | |||||
.abiversion 2 | |||||
.text | |||||
.type KeccakF1600_int,@function | |||||
.align 5 | |||||
KeccakF1600_int: | |||||
.localentry KeccakF1600_int,0 | |||||
li 0,24 | |||||
mtctr 0 | |||||
b .Loop | |||||
.align 4 | |||||
.Loop: | |||||
xor 0,7,12 | |||||
std 11,96(1) | |||||
xor 3,8,6 | |||||
std 16,104(1) | |||||
xor 4,9,14 | |||||
std 21,112(1) | |||||
xor 5,10,15 | |||||
std 26,120(1) | |||||
xor 11,11,16 | |||||
xor 0,0,17 | |||||
xor 3,3,18 | |||||
xor 4,4,19 | |||||
xor 5,5,20 | |||||
xor 11,11,21 | |||||
xor 0,0,22 | |||||
xor 3,3,23 | |||||
xor 4,4,24 | |||||
xor 5,5,25 | |||||
xor 11,11,26 | |||||
xor 0,0,27 | |||||
xor 4,4,29 | |||||
xor 3,3,28 | |||||
xor 5,5,30 | |||||
rotldi 16,4,1 | |||||
xor 11,11,31 | |||||
rotldi 21,5,1 | |||||
xor 16,16,0 | |||||
rotldi 26,11,1 | |||||
xor 8,8,16 | |||||
xor 6,6,16 | |||||
xor 18,18,16 | |||||
xor 23,23,16 | |||||
xor 28,28,16 | |||||
rotldi 16,0,1 | |||||
xor 21,21,3 | |||||
xor 4,4,26 | |||||
rotldi 26,3,1 | |||||
xor 5,5,16 | |||||
xor 11,11,26 | |||||
xor 3, 9,21 | |||||
xor 14,14,21 | |||||
xor 19,19,21 | |||||
xor 24,24,21 | |||||
xor 29,29,21 | |||||
xor 7,7,11 | |||||
xor 12,12,11 | |||||
xor 17,17,11 | |||||
xor 22,22,11 | |||||
xor 27,27,11 | |||||
ld 11,96(1) | |||||
xor 0, 10,4 | |||||
ld 16,104(1) | |||||
xor 15,15,4 | |||||
ld 21,112(1) | |||||
xor 20,20,4 | |||||
ld 26,120(1) | |||||
xor 25,25,4 | |||||
xor 30,30,4 | |||||
xor 4, 11,5 | |||||
xor 16,16,5 | |||||
xor 21,21,5 | |||||
xor 26,26,5 | |||||
xor 31,31,5 | |||||
mr 5,8 | |||||
rotldi 8,6,44 | |||||
rotldi 9,19,43 | |||||
rotldi 10,25,21 | |||||
rotldi 11,31,14 | |||||
rotldi 6,16,20 | |||||
rotldi 19,20,25 | |||||
rotldi 25,24,15 | |||||
rotldi 31,28,2 | |||||
rotldi 16,29,61 | |||||
rotldi 20,26,8 | |||||
rotldi 24,18,10 | |||||
rotldi 28,15,55 | |||||
rotldi 29,21,39 | |||||
rotldi 26,30,56 | |||||
rotldi 18,14,6 | |||||
rotldi 15,23,45 | |||||
rotldi 21,27,18 | |||||
rotldi 30,22,41 | |||||
rotldi 14,17,3 | |||||
rotldi 23,12,36 | |||||
rotldi 12,0,28 | |||||
rotldi 17,5,1 | |||||
rotldi 22,4,27 | |||||
rotldi 27,3,62 | |||||
andc 0,9,8 | |||||
andc 3,10,9 | |||||
andc 4,7,11 | |||||
andc 5,8,7 | |||||
xor 7,7,0 | |||||
andc 0,11,10 | |||||
xor 8,8,3 | |||||
ld 3,80(1) | |||||
xor 10,10,4 | |||||
xor 11,11,5 | |||||
xor 9,9,0 | |||||
ldu 5,8(3) | |||||
andc 0,14,6 | |||||
std 3,80(1) | |||||
andc 3,15,14 | |||||
andc 4,12,16 | |||||
xor 7,7,5 | |||||
andc 5,6,12 | |||||
xor 12,12,0 | |||||
andc 0,16,15 | |||||
xor 6,6,3 | |||||
xor 15,15,4 | |||||
xor 16,16,5 | |||||
xor 14,14,0 | |||||
andc 0,19,18 | |||||
andc 3,20,19 | |||||
andc 4,17,21 | |||||
andc 5,18,17 | |||||
xor 17,17,0 | |||||
andc 0,21,20 | |||||
xor 18,18,3 | |||||
xor 20,20,4 | |||||
xor 21,21,5 | |||||
xor 19,19,0 | |||||
andc 0,24,23 | |||||
andc 3,25,24 | |||||
andc 4,22,26 | |||||
andc 5,23,22 | |||||
xor 22,22,0 | |||||
andc 0,26,25 | |||||
xor 23,23,3 | |||||
xor 25,25,4 | |||||
xor 26,26,5 | |||||
xor 24,24,0 | |||||
andc 0,29,28 | |||||
andc 3,30,29 | |||||
andc 4,27,31 | |||||
andc 5,28,27 | |||||
xor 27,27,0 | |||||
andc 0,31,30 | |||||
xor 28,28,3 | |||||
xor 30,30,4 | |||||
xor 31,31,5 | |||||
xor 29,29,0 | |||||
bdnz .Loop | |||||
blr | |||||
.long 0 | |||||
.byte 0,12,0x14,0,0,0,0,0 | |||||
.size KeccakF1600_int,.-KeccakF1600_int | |||||
.type KeccakF1600,@function | |||||
.align 5 | |||||
KeccakF1600: | |||||
.localentry KeccakF1600,0 | |||||
stdu 1,-272(1) | |||||
mflr 0 | |||||
std 14,128(1) | |||||
std 15,136(1) | |||||
std 16,144(1) | |||||
std 17,152(1) | |||||
std 18,160(1) | |||||
std 19,168(1) | |||||
std 20,176(1) | |||||
std 21,184(1) | |||||
std 22,192(1) | |||||
std 23,200(1) | |||||
std 24,208(1) | |||||
std 25,216(1) | |||||
std 26,224(1) | |||||
std 27,232(1) | |||||
std 28,240(1) | |||||
std 29,248(1) | |||||
std 30,256(1) | |||||
std 31,264(1) | |||||
std 0,288(1) | |||||
bl PICmeup | |||||
subi 12,12,8 | |||||
std 3,48(1) | |||||
std 12,80(1) | |||||
ld 7,0(3) | |||||
ld 8,8(3) | |||||
ld 9,16(3) | |||||
ld 10,24(3) | |||||
ld 11,32(3) | |||||
ld 12,40(3) | |||||
ld 6,48(3) | |||||
ld 14,56(3) | |||||
ld 15,64(3) | |||||
ld 16,72(3) | |||||
ld 17,80(3) | |||||
ld 18,88(3) | |||||
ld 19,96(3) | |||||
ld 20,104(3) | |||||
ld 21,112(3) | |||||
ld 22,120(3) | |||||
ld 23,128(3) | |||||
ld 24,136(3) | |||||
ld 25,144(3) | |||||
ld 26,152(3) | |||||
ld 27,160(3) | |||||
ld 28,168(3) | |||||
ld 29,176(3) | |||||
ld 30,184(3) | |||||
ld 31,192(3) | |||||
bl KeccakF1600_int | |||||
ld 3,48(1) | |||||
std 7,0(3) | |||||
std 8,8(3) | |||||
std 9,16(3) | |||||
std 10,24(3) | |||||
std 11,32(3) | |||||
std 12,40(3) | |||||
std 6,48(3) | |||||
std 14,56(3) | |||||
std 15,64(3) | |||||
std 16,72(3) | |||||
std 17,80(3) | |||||
std 18,88(3) | |||||
std 19,96(3) | |||||
std 20,104(3) | |||||
std 21,112(3) | |||||
std 22,120(3) | |||||
std 23,128(3) | |||||
std 24,136(3) | |||||
std 25,144(3) | |||||
std 26,152(3) | |||||
std 27,160(3) | |||||
std 28,168(3) | |||||
std 29,176(3) | |||||
std 30,184(3) | |||||
std 31,192(3) | |||||
ld 0,288(1) | |||||
ld 14,128(1) | |||||
ld 15,136(1) | |||||
ld 16,144(1) | |||||
ld 17,152(1) | |||||
ld 18,160(1) | |||||
ld 19,168(1) | |||||
ld 20,176(1) | |||||
ld 21,184(1) | |||||
ld 22,192(1) | |||||
ld 23,200(1) | |||||
ld 24,208(1) | |||||
ld 25,216(1) | |||||
ld 26,224(1) | |||||
ld 27,232(1) | |||||
ld 28,240(1) | |||||
ld 29,248(1) | |||||
ld 30,256(1) | |||||
ld 31,264(1) | |||||
mtlr 0 | |||||
addi 1,1,272 | |||||
blr | |||||
.long 0 | |||||
.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 | |||||
lbzu 0,1(3) | |||||
lbzu 4,1(3) | |||||
lbzu 5,1(3) | |||||
insrdi 0,4,8,48 | |||||
lbzu 4,1(3) | |||||
insrdi 0,5,8,40 | |||||
lbzu 5,1(3) | |||||
insrdi 0,4,8,32 | |||||
lbzu 4,1(3) | |||||
insrdi 0,5,8,24 | |||||
lbzu 5,1(3) | |||||
insrdi 0,4,8,16 | |||||
lbzu 4,1(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 | |||||
.align 5 | |||||
SHA3_absorb: | |||||
.localentry SHA3_absorb,0 | |||||
stdu 1,-272(1) | |||||
mflr 0 | |||||
std 14,128(1) | |||||
std 15,136(1) | |||||
std 16,144(1) | |||||
std 17,152(1) | |||||
std 18,160(1) | |||||
std 19,168(1) | |||||
std 20,176(1) | |||||
std 21,184(1) | |||||
std 22,192(1) | |||||
std 23,200(1) | |||||
std 24,208(1) | |||||
std 25,216(1) | |||||
std 26,224(1) | |||||
std 27,232(1) | |||||
std 28,240(1) | |||||
std 29,248(1) | |||||
std 30,256(1) | |||||
std 31,264(1) | |||||
std 0,288(1) | |||||
bl PICmeup | |||||
subi 4,4,1 | |||||
subi 12,12,8 | |||||
std 3,48(1) | |||||
std 4,56(1) | |||||
std 5,64(1) | |||||
std 6,72(1) | |||||
mr 0,6 | |||||
std 12,80(1) | |||||
ld 7,0(3) | |||||
ld 8,8(3) | |||||
ld 9,16(3) | |||||
ld 10,24(3) | |||||
ld 11,32(3) | |||||
ld 12,40(3) | |||||
ld 6,48(3) | |||||
ld 14,56(3) | |||||
ld 15,64(3) | |||||
ld 16,72(3) | |||||
ld 17,80(3) | |||||
ld 18,88(3) | |||||
ld 19,96(3) | |||||
ld 20,104(3) | |||||
ld 21,112(3) | |||||
ld 22,120(3) | |||||
ld 23,128(3) | |||||
ld 24,136(3) | |||||
ld 25,144(3) | |||||
ld 26,152(3) | |||||
ld 27,160(3) | |||||
ld 28,168(3) | |||||
ld 29,176(3) | |||||
ld 30,184(3) | |||||
ld 31,192(3) | |||||
mr 3,4 | |||||
mr 4,5 | |||||
mr 5,0 | |||||
b .Loop_absorb | |||||
.align 4 | |||||
.Loop_absorb: | |||||
cmpld 4,5 | |||||
blt .Labsorbed | |||||
sub 4,4,5 | |||||
srwi 5,5,3 | |||||
std 4,64(1) | |||||
mtctr 5 | |||||
bl dword_le_load | |||||
xor 7,7,0 | |||||
bdz .Lprocess_block | |||||
bl dword_le_load | |||||
xor 8,8,0 | |||||
bdz .Lprocess_block | |||||
bl dword_le_load | |||||
xor 9,9,0 | |||||
bdz .Lprocess_block | |||||
bl dword_le_load | |||||
xor 10,10,0 | |||||
bdz .Lprocess_block | |||||
bl dword_le_load | |||||
xor 11,11,0 | |||||
bdz .Lprocess_block | |||||
bl dword_le_load | |||||
xor 12,12,0 | |||||
bdz .Lprocess_block | |||||
bl dword_le_load | |||||
xor 6,6,0 | |||||
bdz .Lprocess_block | |||||
bl dword_le_load | |||||
xor 14,14,0 | |||||
bdz .Lprocess_block | |||||
bl dword_le_load | |||||
xor 15,15,0 | |||||
bdz .Lprocess_block | |||||
bl dword_le_load | |||||
xor 16,16,0 | |||||
bdz .Lprocess_block | |||||
bl dword_le_load | |||||
xor 17,17,0 | |||||
bdz .Lprocess_block | |||||
bl dword_le_load | |||||
xor 18,18,0 | |||||
bdz .Lprocess_block | |||||
bl dword_le_load | |||||
xor 19,19,0 | |||||
bdz .Lprocess_block | |||||
bl dword_le_load | |||||
xor 20,20,0 | |||||
bdz .Lprocess_block | |||||
bl dword_le_load | |||||
xor 21,21,0 | |||||
bdz .Lprocess_block | |||||
bl dword_le_load | |||||
xor 22,22,0 | |||||
bdz .Lprocess_block | |||||
bl dword_le_load | |||||
xor 23,23,0 | |||||
bdz .Lprocess_block | |||||
bl dword_le_load | |||||
xor 24,24,0 | |||||
bdz .Lprocess_block | |||||
bl dword_le_load | |||||
xor 25,25,0 | |||||
bdz .Lprocess_block | |||||
bl dword_le_load | |||||
xor 26,26,0 | |||||
bdz .Lprocess_block | |||||
bl dword_le_load | |||||
xor 27,27,0 | |||||
bdz .Lprocess_block | |||||
bl dword_le_load | |||||
xor 28,28,0 | |||||
bdz .Lprocess_block | |||||
bl dword_le_load | |||||
xor 29,29,0 | |||||
bdz .Lprocess_block | |||||
bl dword_le_load | |||||
xor 30,30,0 | |||||
bdz .Lprocess_block | |||||
bl dword_le_load | |||||
xor 31,31,0 | |||||
.Lprocess_block: | |||||
std 3,56(1) | |||||
bl KeccakF1600_int | |||||
ld 0,80(1) | |||||
ld 5,72(1) | |||||
ld 4,64(1) | |||||
ld 3,56(1) | |||||
addic 0,0,-192 | |||||
std 0,80(1) | |||||
b .Loop_absorb | |||||
.align 4 | |||||
.Labsorbed: | |||||
ld 3,48(1) | |||||
std 7,0(3) | |||||
std 8,8(3) | |||||
std 9,16(3) | |||||
std 10,24(3) | |||||
std 11,32(3) | |||||
std 12,40(3) | |||||
std 6,48(3) | |||||
std 14,56(3) | |||||
std 15,64(3) | |||||
std 16,72(3) | |||||
std 17,80(3) | |||||
std 18,88(3) | |||||
std 19,96(3) | |||||
std 20,104(3) | |||||
std 21,112(3) | |||||
std 22,120(3) | |||||
std 23,128(3) | |||||
std 24,136(3) | |||||
std 25,144(3) | |||||
std 26,152(3) | |||||
std 27,160(3) | |||||
std 28,168(3) | |||||
std 29,176(3) | |||||
std 30,184(3) | |||||
std 31,192(3) | |||||
mr 3,4 | |||||
ld 0,288(1) | |||||
ld 14,128(1) | |||||
ld 15,136(1) | |||||
ld 16,144(1) | |||||
ld 17,152(1) | |||||
ld 18,160(1) | |||||
ld 19,168(1) | |||||
ld 20,176(1) | |||||
ld 21,184(1) | |||||
ld 22,192(1) | |||||
ld 23,200(1) | |||||
ld 24,208(1) | |||||
ld 25,216(1) | |||||
ld 26,224(1) | |||||
ld 27,232(1) | |||||
ld 28,240(1) | |||||
ld 29,248(1) | |||||
ld 30,256(1) | |||||
ld 31,264(1) | |||||
mtlr 0 | |||||
addi 1,1,272 | |||||
blr | |||||
.long 0 | |||||
.byte 0,12,4,1,0x80,18,4,0 | |||||
.long 0 | |||||
.size SHA3_absorb,.-SHA3_absorb | |||||
.globl SHA3_squeeze | |||||
.type SHA3_squeeze,@function | |||||
.type SHA3_squeeze,@function | |||||
.align 5 | |||||
SHA3_squeeze: | |||||
.localentry SHA3_squeeze,0 | |||||
stdu 1,-80(1) | |||||
mflr 0 | |||||
std 28,48(1) | |||||
std 29,56(1) | |||||
std 30,64(1) | |||||
std 31,72(1) | |||||
std 0,96(1) | |||||
mr 28,3 | |||||
subi 3,3,8 | |||||
subi 29,4,1 | |||||
mr 30,5 | |||||
mr 31,6 | |||||
b .Loop_squeeze | |||||
.align 4 | |||||
.Loop_squeeze: | |||||
ldu 0,8(3) | |||||
cmpldi 30,8 | |||||
blt .Lsqueeze_tail | |||||
stbu 0,1(29) | |||||
srdi 0,0,8 | |||||
stbu 0,1(29) | |||||
srdi 0,0,8 | |||||
stbu 0,1(29) | |||||
srdi 0,0,8 | |||||
stbu 0,1(29) | |||||
srdi 0,0,8 | |||||
stbu 0,1(29) | |||||
srdi 0,0,8 | |||||
stbu 0,1(29) | |||||
srdi 0,0,8 | |||||
stbu 0,1(29) | |||||
srdi 0,0,8 | |||||
stbu 0,1(29) | |||||
subic. 30,30,8 | |||||
beq .Lsqueeze_done | |||||
subic. 6,6,8 | |||||
bgt .Loop_squeeze | |||||
mr 3,28 | |||||
bl KeccakF1600 | |||||
subi 3,28,8 | |||||
mr 6,31 | |||||
b .Loop_squeeze | |||||
.align 4 | |||||
.Lsqueeze_tail: | |||||
mtctr 30 | |||||
.Loop_tail: | |||||
stbu 0,1(29) | |||||
srdi 0,0,8 | |||||
bdnz .Loop_tail | |||||
.Lsqueeze_done: | |||||
ld 0,96(1) | |||||
ld 28,48(1) | |||||
ld 29,56(1) | |||||
ld 30,64(1) | |||||
ld 31,72(1) | |||||
mtlr 0 | |||||
addi 1,1,80 | |||||
blr | |||||
.long 0 | |||||
.byte 0,12,4,1,0x80,4,4,0 | |||||
.long 0 | |||||
.size SHA3_squeeze,.-SHA3_squeeze | |||||
.align 6 | |||||
PICmeup: | |||||
mflr 0 | |||||
bcl 20,31,$+4 | |||||
mflr 12 | |||||
addi 12,12,56 | |||||
mtlr 0 | |||||
blr | |||||
.long 0 | |||||
.byte 0,12,0x14,0,0,0,0,0 | |||||
.space 28 | |||||
.type iotas,@object | |||||
iotas: | |||||
.long 0x00000000,0x00000001 | |||||
.long 0x00000000,0x00008082 | |||||
.long 0x80000000,0x0000808a | |||||
.long 0x80000000,0x80008000 | |||||
.long 0x00000000,0x0000808b | |||||
.long 0x00000000,0x80000001 | |||||
.long 0x80000000,0x80008081 | |||||
.long 0x80000000,0x00008009 | |||||
.long 0x00000000,0x0000008a | |||||
.long 0x00000000,0x00000088 | |||||
.long 0x00000000,0x80008009 | |||||
.long 0x00000000,0x8000000a | |||||
.long 0x00000000,0x8000808b | |||||
.long 0x80000000,0x0000008b | |||||
.long 0x80000000,0x00008089 | |||||
.long 0x80000000,0x00008003 | |||||
.long 0x80000000,0x00008002 | |||||
.long 0x80000000,0x00000080 | |||||
.long 0x00000000,0x0000800a | |||||
.long 0x80000000,0x8000000a | |||||
.long 0x80000000,0x80008081 | |||||
.long 0x80000000,0x00008080 | |||||
.long 0x00000000,0x80000001 | |||||
.long 0x80000000,0x80008008 | |||||
.size iotas,.-iotas | |||||
.byte 75,101,99,99,97,107,45,49,54,48,48,32,97,98,115,111,114,98,32,97,110,100,32,115,113,117,101,101,122,101,32,102,111,114,32,80,80,67,54,52,44,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 | |||||
.align 2 |