Add ppc bits; untested
This commit is contained in:
parent
d4fd069bec
commit
e3ec2bf190
|
@ -0,0 +1,16 @@
|
|||
# $NetBSD: Makefile,v 1.1 2008/05/13 15:35:40 christos Exp $
|
||||
|
||||
.include "bsd.own.mk"
|
||||
|
||||
CRYPTODIST=${NETBSDSRCDIR}/crypto/dist
|
||||
.include "${NETBSDSRCDIR}/crypto/Makefile.openssl"
|
||||
XLATE=${OPENSSLSRC}/crypto/perlasm/ppc-xlate.pl
|
||||
|
||||
regen:
|
||||
for i in $$(find ${OPENSSLSRC} -name \*ppc\*.pl); do \
|
||||
case $$i in \
|
||||
*xlate.pl) ;; \
|
||||
*64*) ;; \
|
||||
*) perl $$i 32 | perl ${XLATE} linux32 > $$(basename $$i .pl).S ;; \
|
||||
esac; \
|
||||
done
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,3 @@
|
|||
.PATH.S: ${.PARSEDIR}
|
||||
BN_SRCS = ppc.S
|
||||
.include "../../bn.inc"
|
|
@ -0,0 +1,213 @@
|
|||
.machine "any"
|
||||
.text
|
||||
|
||||
.globl bn_mul_mont
|
||||
.type bn_mul_mont,@function
|
||||
.align 4
|
||||
bn_mul_mont:
|
||||
cmpwi 8,4
|
||||
mr 9,3
|
||||
li 3,0
|
||||
bclr 12,0
|
||||
|
||||
slwi 8,8,2
|
||||
li 12,-4096
|
||||
addi 3,8,288
|
||||
subf 3,3,1
|
||||
and 3,3,12
|
||||
subf 3,1,3
|
||||
srwi 8,8,2
|
||||
stwux 1,1,3
|
||||
|
||||
stw 14,16(1)
|
||||
stw 15,20(1)
|
||||
stw 16,24(1)
|
||||
stw 17,28(1)
|
||||
stw 18,32(1)
|
||||
stw 19,36(1)
|
||||
stw 20,40(1)
|
||||
stw 21,44(1)
|
||||
stw 22,48(1)
|
||||
stw 23,52(1)
|
||||
stw 24,56(1)
|
||||
stw 25,60(1)
|
||||
|
||||
lwz 7,0(7)
|
||||
addi 8,8,-2
|
||||
|
||||
lwz 17,0(5)
|
||||
lwz 10,0(4)
|
||||
addi 16,1,64
|
||||
mullw 19,10,17
|
||||
mulhwu 20,10,17
|
||||
|
||||
lwz 10,4(4)
|
||||
lwz 11,0(6)
|
||||
|
||||
mullw 18,19,7
|
||||
|
||||
mullw 23,10,17
|
||||
mulhwu 24,10,17
|
||||
|
||||
mullw 21,11,18
|
||||
mulhwu 22,11,18
|
||||
lwz 11,4(6)
|
||||
addc 21,21,19
|
||||
addze 22,22
|
||||
|
||||
mullw 25,11,18
|
||||
mulhwu 0,11,18
|
||||
|
||||
mtctr 8
|
||||
li 15,8
|
||||
.align 4
|
||||
.L1st:
|
||||
lwzx 10,4,15
|
||||
addc 19,23,20
|
||||
lwzx 11,6,15
|
||||
addze 20,24
|
||||
mullw 23,10,17
|
||||
addc 21,25,22
|
||||
mulhwu 24,10,17
|
||||
addze 22,0
|
||||
mullw 25,11,18
|
||||
addc 21,21,19
|
||||
mulhwu 0,11,18
|
||||
addze 22,22
|
||||
stw 21,0(16)
|
||||
|
||||
addi 15,15,4
|
||||
addi 16,16,4
|
||||
bc 25,0,.L1st
|
||||
|
||||
addc 19,23,20
|
||||
addze 20,24
|
||||
|
||||
addc 21,25,22
|
||||
addze 22,0
|
||||
addc 21,21,19
|
||||
addze 22,22
|
||||
stw 21,0(16)
|
||||
|
||||
li 3,0
|
||||
addc 22,22,20
|
||||
addze 3,3
|
||||
stw 22,4(16)
|
||||
|
||||
li 14,4
|
||||
.align 4
|
||||
.Louter:
|
||||
lwzx 17,5,14
|
||||
lwz 10,0(4)
|
||||
addi 16,1,64
|
||||
lwz 12,64(1)
|
||||
mullw 19,10,17
|
||||
mulhwu 20,10,17
|
||||
lwz 10,4(4)
|
||||
lwz 11,0(6)
|
||||
addc 19,19,12
|
||||
mullw 23,10,17
|
||||
addze 20,20
|
||||
mullw 18,19,7
|
||||
mulhwu 24,10,17
|
||||
mullw 21,11,18
|
||||
mulhwu 22,11,18
|
||||
lwz 11,4(6)
|
||||
addc 21,21,19
|
||||
mullw 25,11,18
|
||||
addze 22,22
|
||||
mulhwu 0,11,18
|
||||
|
||||
mtctr 8
|
||||
li 15,8
|
||||
.align 4
|
||||
.Linner:
|
||||
lwzx 10,4,15
|
||||
addc 19,23,20
|
||||
lwz 12,4(16)
|
||||
addze 20,24
|
||||
lwzx 11,6,15
|
||||
addc 21,25,22
|
||||
mullw 23,10,17
|
||||
addze 22,0
|
||||
mulhwu 24,10,17
|
||||
addc 19,19,12
|
||||
mullw 25,11,18
|
||||
addze 20,20
|
||||
mulhwu 0,11,18
|
||||
addc 21,21,19
|
||||
addi 15,15,4
|
||||
addze 22,22
|
||||
stw 21,0(16)
|
||||
addi 16,16,4
|
||||
bc 25,0,.Linner
|
||||
|
||||
lwz 12,4(16)
|
||||
addc 19,23,20
|
||||
addze 20,24
|
||||
addc 19,19,12
|
||||
addze 20,20
|
||||
|
||||
addc 21,25,22
|
||||
addze 22,0
|
||||
addc 21,21,19
|
||||
addze 22,22
|
||||
stw 21,0(16)
|
||||
|
||||
addic 3,3,-1
|
||||
li 3,0
|
||||
adde 22,22,20
|
||||
addze 3,3
|
||||
stw 22,4(16)
|
||||
|
||||
slwi 12,8,2
|
||||
.long 0x7c0e6040
|
||||
addi 14,14,4
|
||||
ble- .Louter
|
||||
|
||||
addi 8,8,2
|
||||
subfc 15,15,15
|
||||
addi 16,1,64
|
||||
mtctr 8
|
||||
|
||||
.align 4
|
||||
.Lsub: lwzx 12,16,15
|
||||
lwzx 11,6,15
|
||||
subfe 10,11,12
|
||||
stwx 10,9,15
|
||||
addi 15,15,4
|
||||
bc 25,0,.Lsub
|
||||
|
||||
li 15,0
|
||||
mtctr 8
|
||||
subfe 3,15,3
|
||||
and 4,16,3
|
||||
andc 6,9,3
|
||||
or 4,4,6
|
||||
|
||||
.align 4
|
||||
.Lcopy:
|
||||
lwzx 12,4,15
|
||||
stwx 12,9,15
|
||||
stwx 15,16,15
|
||||
addi 15,15,4
|
||||
bc 25,0,.Lcopy
|
||||
|
||||
lwz 14,16(1)
|
||||
lwz 15,20(1)
|
||||
lwz 16,24(1)
|
||||
lwz 17,28(1)
|
||||
lwz 18,32(1)
|
||||
lwz 19,36(1)
|
||||
lwz 20,40(1)
|
||||
lwz 21,44(1)
|
||||
lwz 22,48(1)
|
||||
lwz 23,52(1)
|
||||
lwz 24,56(1)
|
||||
lwz 25,60(1)
|
||||
lwz 1,0(1)
|
||||
li 3,1
|
||||
blr
|
||||
.long 0
|
||||
.byte 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105,112,108,105,99,97,116,105,111,110,32,102,111,114,32,80,80,67,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,102,121,46,99,104,97,108,109,101,114,115,46,115,101,62,0
|
||||
.align 2
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,71 @@
|
|||
.text
|
||||
|
||||
.globl OPENSSL_cpuid_setup
|
||||
.type OPENSSL_cpuid_setup,@function
|
||||
.align 4
|
||||
OPENSSL_cpuid_setup:
|
||||
blr
|
||||
|
||||
.globl OPENSSL_wipe_cpu
|
||||
.type OPENSSL_wipe_cpu,@function
|
||||
.align 4
|
||||
OPENSSL_wipe_cpu:
|
||||
xor 0,0,0
|
||||
mr 3,1
|
||||
xor 4,4,4
|
||||
xor 5,5,5
|
||||
xor 6,6,6
|
||||
xor 7,7,7
|
||||
xor 8,8,8
|
||||
xor 9,9,9
|
||||
xor 10,10,10
|
||||
xor 11,11,11
|
||||
xor 12,12,12
|
||||
blr
|
||||
|
||||
.globl OPENSSL_atomic_add
|
||||
.type OPENSSL_atomic_add,@function
|
||||
.align 4
|
||||
OPENSSL_atomic_add:
|
||||
.Loop: lwarx 5,0,3
|
||||
add 0,4,5
|
||||
stwcx. 0,0,3
|
||||
bne- .Loop
|
||||
mr 3,0
|
||||
blr
|
||||
|
||||
.globl OPENSSL_rdtsc
|
||||
.type OPENSSL_rdtsc,@function
|
||||
.align 4
|
||||
OPENSSL_rdtsc:
|
||||
mftb 3
|
||||
mftbu 4
|
||||
blr
|
||||
|
||||
.globl OPENSSL_cleanse
|
||||
.type OPENSSL_cleanse,@function
|
||||
.align 4
|
||||
OPENSSL_cleanse:
|
||||
cmplwi 4,7
|
||||
li 0,0
|
||||
bge .Lot
|
||||
.Little: mtctr 4
|
||||
stb 0,0(3)
|
||||
addi 3,3,1
|
||||
bc 25,0,$-8
|
||||
blr
|
||||
.Lot: andi. 5,3,3
|
||||
beq .Laligned
|
||||
stb 0,0(3)
|
||||
subi 4,4,1
|
||||
addi 3,3,1
|
||||
b .Lot
|
||||
.Laligned:
|
||||
srwi 5,4,2
|
||||
mtctr 5
|
||||
stw 0,0(3)
|
||||
addi 3,3,4
|
||||
bc 25,0,$-8
|
||||
andi. 4,4,3
|
||||
bne .Little
|
||||
blr
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue