Add assembly optimized code for OpenSSL on powerpc, powerpc64 and powerpc64le
Summary:
1. 34ab13b7d8
needs to be merged for ELFv2 support on big-endian.
2. crypto/openssl/crypto/ppccap.c needs to be patched.
Same reason as in https://github.com/openssl/openssl/pull/17082.
Approved by: jkim, jhibbits
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D33076
This commit is contained in:
parent
9cf1841c4a
commit
3a60869237
@ -49,7 +49,7 @@ my $globl = sub {
|
||||
/osx/ && do { $name = "_$name";
|
||||
last;
|
||||
};
|
||||
/linux.*(32|64le)/
|
||||
/linux.*(32|64(le|v2))/
|
||||
&& do { $ret .= ".globl $name";
|
||||
if (!$$type) {
|
||||
$ret .= "\n.type $name,\@function";
|
||||
@ -80,7 +80,7 @@ my $globl = sub {
|
||||
};
|
||||
my $text = sub {
|
||||
my $ret = ($flavour =~ /aix/) ? ".csect\t.text[PR],7" : ".text";
|
||||
$ret = ".abiversion 2\n".$ret if ($flavour =~ /linux.*64le/);
|
||||
$ret = ".abiversion 2\n".$ret if ($flavour =~ /linux.*64(le|v2)/);
|
||||
$ret;
|
||||
};
|
||||
my $machine = sub {
|
||||
@ -186,7 +186,7 @@ my $vmr = sub {
|
||||
|
||||
# Some ABIs specify vrsave, special-purpose register #256, as reserved
|
||||
# for system use.
|
||||
my $no_vrsave = ($flavour =~ /aix|linux64le/);
|
||||
my $no_vrsave = ($flavour =~ /aix|linux64(le|v2)/);
|
||||
my $mtspr = sub {
|
||||
my ($f,$idx,$ra) = @_;
|
||||
if ($idx == 256 && $no_vrsave) {
|
||||
@ -318,7 +318,7 @@ while($line=<>) {
|
||||
if ($label) {
|
||||
my $xlated = ($GLOBALS{$label} or $label);
|
||||
print "$xlated:";
|
||||
if ($flavour =~ /linux.*64le/) {
|
||||
if ($flavour =~ /linux.*64(le|v2)/) {
|
||||
if ($TYPES{$label} =~ /function/) {
|
||||
printf "\n.localentry %s,0\n",$xlated;
|
||||
}
|
||||
|
@ -239,14 +239,18 @@ static unsigned long getauxval(unsigned long key)
|
||||
#endif
|
||||
|
||||
/* I wish <sys/auxv.h> was universally available */
|
||||
#define HWCAP 16 /* AT_HWCAP */
|
||||
#ifndef AT_HWCAP
|
||||
# define AT_HWCAP 16 /* AT_HWCAP */
|
||||
#endif
|
||||
#define HWCAP_PPC64 (1U << 30)
|
||||
#define HWCAP_ALTIVEC (1U << 28)
|
||||
#define HWCAP_FPU (1U << 27)
|
||||
#define HWCAP_POWER6_EXT (1U << 9)
|
||||
#define HWCAP_VSX (1U << 7)
|
||||
|
||||
#define HWCAP2 26 /* AT_HWCAP2 */
|
||||
#ifndef AT_HWCAP2
|
||||
# define AT_HWCAP2 26 /* AT_HWCAP2 */
|
||||
#endif
|
||||
#define HWCAP_VEC_CRYPTO (1U << 25)
|
||||
#define HWCAP_ARCH_3_00 (1U << 23)
|
||||
|
||||
@ -337,8 +341,8 @@ void OPENSSL_cpuid_setup(void)
|
||||
|
||||
#ifdef OSSL_IMPLEMENT_GETAUXVAL
|
||||
{
|
||||
unsigned long hwcap = getauxval(HWCAP);
|
||||
unsigned long hwcap2 = getauxval(HWCAP2);
|
||||
unsigned long hwcap = getauxval(AT_HWCAP);
|
||||
unsigned long hwcap2 = getauxval(AT_HWCAP2);
|
||||
|
||||
if (hwcap & HWCAP_FPU) {
|
||||
OPENSSL_ppccap_P |= PPC_FPU;
|
||||
|
@ -28,6 +28,12 @@ SRCS+= x86_64cpuid.S
|
||||
SRCS+= armv4cpuid.S armcap.c
|
||||
.elif defined(ASM_i386)
|
||||
SRCS+= x86cpuid.S
|
||||
.elif defined(ASM_powerpc)
|
||||
SRCS+= ppccpuid.S ppccap.c
|
||||
.elif defined(ASM_powerpc64)
|
||||
SRCS+= ppccpuid.S ppccap.c
|
||||
.elif defined(ASM_powerpc64le)
|
||||
SRCS+= ppccpuid.S ppccap.c
|
||||
.else
|
||||
SRCS+= mem_clr.c
|
||||
.endif
|
||||
@ -44,6 +50,12 @@ SRCS+= aesni-x86_64.S vpaes-x86_64.S
|
||||
SRCS+= aes-armv4.S aesv8-armx.S bsaes-armv7.S
|
||||
.elif defined(ASM_i386)
|
||||
SRCS+= aes_core.c aesni-x86.S vpaes-x86.S
|
||||
.elif defined(ASM_powerpc)
|
||||
SRCS+= aes_core.c aes-ppc.S vpaes-ppc.S aesp8-ppc.S
|
||||
.elif defined(ASM_powerpc64)
|
||||
SRCS+= aes_core.c aes-ppc.S vpaes-ppc.S aesp8-ppc.S
|
||||
.elif defined(ASM_powerpc64le)
|
||||
SRCS+= aes_core.c aes-ppc.S vpaes-ppc.S aesp8-ppc.S
|
||||
.else
|
||||
SRCS+= aes_core.c
|
||||
.endif
|
||||
@ -99,6 +111,12 @@ SRCS+= x86_64-mont.S x86_64-mont5.S
|
||||
SRCS+= armv4-gf2m.S armv4-mont.S bn_asm.c
|
||||
.elif defined(ASM_i386)
|
||||
SRCS+= bn-586.S co-586.S x86-gf2m.S x86-mont.S
|
||||
.elif defined(ASM_powerpc)
|
||||
SRCS+= ppc.S ppc-mont.S
|
||||
.elif defined(ASM_powerpc64)
|
||||
SRCS+= ppc.S ppc-mont.S
|
||||
.elif defined(ASM_powerpc64le)
|
||||
SRCS+= ppc.S ppc-mont.S
|
||||
.else
|
||||
SRCS+= bn_asm.c
|
||||
.endif
|
||||
@ -128,6 +146,12 @@ SRCS+= chacha-x86_64.S
|
||||
SRCS+= chacha-armv4.S
|
||||
.elif defined(ASM_i386)
|
||||
SRCS+= chacha-x86.S
|
||||
.elif defined(ASM_powerpc)
|
||||
SRCS+= chacha-ppc.S
|
||||
.elif defined(ASM_powerpc64)
|
||||
SRCS+= chacha-ppc.S
|
||||
.elif defined(ASM_powerpc64le)
|
||||
SRCS+= chacha-ppc.S
|
||||
.else
|
||||
SRCS+= chacha_enc.c
|
||||
.endif
|
||||
@ -189,6 +213,10 @@ SRCS+= ecp_nistz256-x86_64.S ecp_nistz256.c x25519-x86_64.S
|
||||
SRCS+= ecp_nistz256-armv4.S ecp_nistz256.c
|
||||
.elif defined(ASM_i386)
|
||||
SRCS+= ecp_nistz256-x86.S ecp_nistz256.c
|
||||
.elif defined(ASM_powerpc64)
|
||||
SRCS+= ecp_nistz256-ppc64.S ecp_nistz256.c x25519-ppc64.S
|
||||
.elif defined(ASM_powerpc64le)
|
||||
SRCS+= ecp_nistz256-ppc64.S ecp_nistz256.c x25519-ppc64.S
|
||||
.endif
|
||||
|
||||
# engine
|
||||
@ -250,6 +278,12 @@ SRCS+= aesni-gcm-x86_64.S ghash-x86_64.S
|
||||
SRCS+= ghash-armv4.S ghashv8-armx.S
|
||||
.elif defined(ASM_i386)
|
||||
SRCS+= ghash-x86.S
|
||||
.elif defined(ASM_powerpc)
|
||||
SRCS+= ghashp8-ppc.S
|
||||
.elif defined(ASM_powerpc64)
|
||||
SRCS+= ghashp8-ppc.S
|
||||
.elif defined(ASM_powerpc64le)
|
||||
SRCS+= ghashp8-ppc.S
|
||||
.endif
|
||||
|
||||
# objects
|
||||
@ -282,6 +316,12 @@ SRCS+= poly1305-x86_64.S
|
||||
SRCS+= poly1305-armv4.S
|
||||
.elif defined(ASM_i386)
|
||||
SRCS+= poly1305-x86.S
|
||||
.elif defined(ASM_powerpc)
|
||||
SRCS+= poly1305-ppc.S poly1305-ppcfp.S
|
||||
.elif defined(ASM_powerpc64)
|
||||
SRCS+= poly1305-ppc.S poly1305-ppcfp.S
|
||||
.elif defined(ASM_powerpc64le)
|
||||
SRCS+= poly1305-ppc.S poly1305-ppcfp.S
|
||||
.endif
|
||||
|
||||
# rand
|
||||
@ -333,6 +373,12 @@ SRCS+= sha256-mb-x86_64.S sha256-x86_64.S sha512-x86_64.S
|
||||
SRCS+= keccak1600-armv4.S sha1-armv4-large.S sha256-armv4.S sha512-armv4.S
|
||||
.elif defined(ASM_i386)
|
||||
SRCS+= keccak1600.c sha1-586.S sha256-586.S sha512-586.S
|
||||
.elif defined(ASM_powerpc)
|
||||
SRCS+= keccak1600.c sha1-ppc.S sha256-ppc.S sha512-ppc.S sha256p8-ppc.S sha512p8-ppc.S
|
||||
.elif defined(ASM_powerpc64)
|
||||
SRCS+= keccak1600-ppc64.S sha1-ppc.S sha256-ppc.S sha512-ppc.S sha256p8-ppc.S sha512p8-ppc.S
|
||||
.elif defined(ASM_powerpc64le)
|
||||
SRCS+= keccak1600-ppc64.S sha1-ppc.S sha256-ppc.S sha512-ppc.S sha256p8-ppc.S sha512p8-ppc.S
|
||||
.else
|
||||
SRCS+= keccak1600.c
|
||||
.endif
|
||||
@ -430,7 +476,7 @@ SRCS+= buildinf.h
|
||||
CLEANDIRS= openssl
|
||||
CLEANFILES= buildinf.h opensslconf.h opensslconf.h.tmp
|
||||
|
||||
.if defined(ASM_${MACHINE_CPUARCH})
|
||||
.if defined(ASM_${MACHINE_CPUARCH}) || defined(ASM_${MACHINE_ARCH})
|
||||
_cmd1=/%%NO_ASM%%/d
|
||||
.else
|
||||
_cmd1=s/%%NO_ASM%%//
|
||||
@ -471,6 +517,8 @@ PICFLAG+= -DOPENSSL_PIC
|
||||
.if defined(ASM_amd64)
|
||||
.PATH: ${LCRYPTO_SRC}/crypto/bn/asm
|
||||
.endif
|
||||
.elif defined(ASM_${MACHINE_ARCH})
|
||||
.PATH: ${SRCTOP}/sys/crypto/openssl/${MACHINE_ARCH}
|
||||
.endif
|
||||
|
||||
.PATH: ${LCRYPTO_SRC}/crypto \
|
||||
|
@ -295,6 +295,195 @@ CLEANFILES= ${ASM} ${SRCS:R:S/$/.s/}
|
||||
env CC=cc perl ${PERLPATH} ${.IMPSRC} elf ${CFLAGS} ${.IMPSRC:R:S/$/.s/} ;\
|
||||
cat ${.IMPSRC:R:S/$/.s/} ;\
|
||||
echo '#endif' ) > ${.TARGET}
|
||||
|
||||
.elif defined(ASM_powerpc)
|
||||
|
||||
.PATH: ${LCRYPTO_SRC}/crypto \
|
||||
${LCRYPTO_SRC}/crypto/aes/asm \
|
||||
${LCRYPTO_SRC}/crypto/bn/asm \
|
||||
${LCRYPTO_SRC}/crypto/chacha/asm \
|
||||
${LCRYPTO_SRC}/crypto/modes/asm \
|
||||
${LCRYPTO_SRC}/crypto/poly1305/asm \
|
||||
${LCRYPTO_SRC}/crypto/sha/asm
|
||||
|
||||
PERLPATH= -I${LCRYPTO_SRC}/crypto/perlasm
|
||||
|
||||
#cpuid
|
||||
SRCS= ppccpuid.pl
|
||||
|
||||
#bn
|
||||
SRCS+= ppc.pl ppc-mont.pl
|
||||
|
||||
#aes
|
||||
SRCS+= aes-ppc.pl vpaes-ppc.pl aesp8-ppc.pl
|
||||
|
||||
#sha1
|
||||
SRCS+= sha1-ppc.pl sha512-ppc.pl sha512p8-ppc.pl
|
||||
|
||||
#modes
|
||||
SRCS+= ghashp8-ppc.pl
|
||||
|
||||
#chacha
|
||||
SRCS+= chacha-ppc.pl
|
||||
|
||||
#poly1305
|
||||
SRCS+= poly1305-ppc.pl poly1305-ppcfp.pl
|
||||
|
||||
ASM= ${SRCS:R:S/$/.S/} sha256-ppc.S sha256p8-ppc.S
|
||||
|
||||
all: ${ASM}
|
||||
|
||||
CLEANFILES= ${ASM}
|
||||
.SUFFIXES: .pl
|
||||
|
||||
sha256-ppc.S: sha512-ppc.pl
|
||||
env CC=cc perl ${.ALLSRC} linux32 ${.TARGET:R:S/$/.s/}
|
||||
( echo '/* $$'FreeBSD'$$ */' ;\
|
||||
echo '/* Do not modify. This file is auto-generated from ${.ALLSRC:T:R:S/$/.pl/}. */' ;\
|
||||
cat ${.TARGET:R:S/$/.s/}) > ${.TARGET}
|
||||
|
||||
sha256p8-ppc.S: sha512p8-ppc.pl
|
||||
env CC=cc perl ${.ALLSRC} linux32 ${.TARGET:R:S/$/.s/}
|
||||
( echo '/* $$'FreeBSD'$$ */' ;\
|
||||
echo '/* Do not modify. This file is auto-generated from ${.ALLSRC:T:R:S/$/.pl/}. */' ;\
|
||||
cat ${.TARGET:R:S/$/.s/}) > ${.TARGET}
|
||||
|
||||
.pl.S:
|
||||
env CC=cc perl ${.IMPSRC} linux32 ${.TARGET:R:S/$/.s/}
|
||||
( echo '/* $$'FreeBSD'$$ */' ;\
|
||||
echo '/* Do not modify. This file is auto-generated from ${.ALLSRC:T:R:S/$/.pl/}. */' ;\
|
||||
cat ${.TARGET:R:S/$/.s/}) > ${.TARGET}
|
||||
|
||||
.elif defined(ASM_powerpc64)
|
||||
|
||||
.PATH: ${LCRYPTO_SRC}/crypto \
|
||||
${LCRYPTO_SRC}/crypto/aes/asm \
|
||||
${LCRYPTO_SRC}/crypto/bn/asm \
|
||||
${LCRYPTO_SRC}/crypto/chacha/asm \
|
||||
${LCRYPTO_SRC}/crypto/ec/asm \
|
||||
${LCRYPTO_SRC}/crypto/modes/asm \
|
||||
${LCRYPTO_SRC}/crypto/poly1305/asm \
|
||||
${LCRYPTO_SRC}/crypto/sha/asm
|
||||
|
||||
PERLPATH= -I${LCRYPTO_SRC}/crypto/perlasm
|
||||
|
||||
#cpuid
|
||||
SRCS= ppccpuid.pl
|
||||
|
||||
#bn
|
||||
SRCS+= ppc.pl ppc-mont.pl
|
||||
|
||||
#aes
|
||||
SRCS+= aes-ppc.pl vpaes-ppc.pl aesp8-ppc.pl
|
||||
|
||||
#sha1
|
||||
SRCS+= sha1-ppc.pl sha512-ppc.pl sha512p8-ppc.pl
|
||||
|
||||
#modes
|
||||
SRCS+= ghashp8-ppc.pl
|
||||
|
||||
#chacha
|
||||
SRCS+= chacha-ppc.pl
|
||||
|
||||
#poly1305
|
||||
SRCS+= poly1305-ppc.pl poly1305-ppcfp.pl
|
||||
|
||||
#ec
|
||||
SRCS+= ecp_nistz256-ppc64.pl x25519-ppc64.pl
|
||||
|
||||
#keccak1600
|
||||
SRCS+= keccak1600-ppc64.pl
|
||||
|
||||
ASM= ${SRCS:R:S/$/.S/} sha256-ppc.S sha256p8-ppc.S
|
||||
|
||||
all: ${ASM}
|
||||
|
||||
CLEANFILES= ${ASM}
|
||||
.SUFFIXES: .pl
|
||||
|
||||
sha256-ppc.S: sha512-ppc.pl
|
||||
env CC=cc perl ${.ALLSRC} linux64v2 ${.TARGET:R:S/$/.s/}
|
||||
( echo '/* $$'FreeBSD'$$ */' ;\
|
||||
echo '/* Do not modify. This file is auto-generated from ${.ALLSRC:T:R:S/$/.pl/}. */' ;\
|
||||
cat ${.TARGET:R:S/$/.s/}) > ${.TARGET}
|
||||
|
||||
sha256p8-ppc.S: sha512p8-ppc.pl
|
||||
env CC=cc perl ${.ALLSRC} linux64v2 ${.TARGET:R:S/$/.s/}
|
||||
( echo '/* $$'FreeBSD'$$ */' ;\
|
||||
echo '/* Do not modify. This file is auto-generated from ${.ALLSRC:T:R:S/$/.pl/}. */' ;\
|
||||
cat ${.TARGET:R:S/$/.s/}) > ${.TARGET}
|
||||
|
||||
.pl.S:
|
||||
env CC=cc perl ${.IMPSRC} linux64v2 ${.TARGET:R:S/$/.s/}
|
||||
( echo '/* $$'FreeBSD'$$ */' ;\
|
||||
echo '/* Do not modify. This file is auto-generated from ${.ALLSRC:T:R:S/$/.pl/}. */' ;\
|
||||
cat ${.TARGET:R:S/$/.s/}) > ${.TARGET}
|
||||
|
||||
.elif defined(ASM_powerpc64le)
|
||||
|
||||
.PATH: ${LCRYPTO_SRC}/crypto \
|
||||
${LCRYPTO_SRC}/crypto/aes/asm \
|
||||
${LCRYPTO_SRC}/crypto/bn/asm \
|
||||
${LCRYPTO_SRC}/crypto/chacha/asm \
|
||||
${LCRYPTO_SRC}/crypto/ec/asm \
|
||||
${LCRYPTO_SRC}/crypto/modes/asm \
|
||||
${LCRYPTO_SRC}/crypto/poly1305/asm \
|
||||
${LCRYPTO_SRC}/crypto/sha/asm
|
||||
|
||||
PERLPATH= -I${LCRYPTO_SRC}/crypto/perlasm
|
||||
|
||||
#cpuid
|
||||
SRCS= ppccpuid.pl
|
||||
|
||||
#bn
|
||||
SRCS+= ppc.pl ppc-mont.pl
|
||||
|
||||
#aes
|
||||
SRCS+= aes-ppc.pl vpaes-ppc.pl aesp8-ppc.pl
|
||||
|
||||
#sha1
|
||||
SRCS+= sha1-ppc.pl sha512-ppc.pl sha512p8-ppc.pl
|
||||
|
||||
#modes
|
||||
SRCS+= ghashp8-ppc.pl
|
||||
|
||||
#chacha
|
||||
SRCS+= chacha-ppc.pl
|
||||
|
||||
#poly1305
|
||||
SRCS+= poly1305-ppc.pl poly1305-ppcfp.pl
|
||||
|
||||
#ec
|
||||
SRCS+= ecp_nistz256-ppc64.pl x25519-ppc64.pl
|
||||
|
||||
#keccak1600
|
||||
SRCS+= keccak1600-ppc64.pl
|
||||
|
||||
ASM= ${SRCS:R:S/$/.S/} sha256-ppc.S sha256p8-ppc.S
|
||||
|
||||
all: ${ASM}
|
||||
|
||||
CLEANFILES= ${ASM}
|
||||
.SUFFIXES: .pl
|
||||
|
||||
sha256-ppc.S: sha512-ppc.pl
|
||||
env CC=cc perl ${.ALLSRC} linux64le ${.TARGET:R:S/$/.s/}
|
||||
( echo '/* $$'FreeBSD'$$ */' ;\
|
||||
echo '/* Do not modify. This file is auto-generated from ${.ALLSRC:T:R:S/$/.pl/}. */' ;\
|
||||
cat ${.TARGET:R:S/$/.s/}) > ${.TARGET}
|
||||
|
||||
sha256p8-ppc.S: sha512p8-ppc.pl
|
||||
env CC=cc perl ${.ALLSRC} linux64le ${.TARGET:R:S/$/.s/}
|
||||
( echo '/* $$'FreeBSD'$$ */' ;\
|
||||
echo '/* Do not modify. This file is auto-generated from ${.ALLSRC:T:R:S/$/.pl/}. */' ;\
|
||||
cat ${.TARGET:R:S/$/.s/}) > ${.TARGET}
|
||||
|
||||
.pl.S:
|
||||
env CC=cc perl ${.IMPSRC} linux64le ${.TARGET:R:S/$/.s/}
|
||||
( echo '/* $$'FreeBSD'$$ */' ;\
|
||||
echo '/* Do not modify. This file is auto-generated from ${.ALLSRC:T:R:S/$/.pl/}. */' ;\
|
||||
cat ${.TARGET:R:S/$/.s/}) > ${.TARGET}
|
||||
|
||||
.endif
|
||||
|
||||
.include <bsd.prog.mk>
|
||||
|
@ -23,9 +23,12 @@ CFLAGS+= -DB_ENDIAN
|
||||
.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \
|
||||
${MACHINE_CPUARCH} == "arm" || ${MACHINE_CPUARCH} == "i386"
|
||||
ASM_${MACHINE_CPUARCH}=
|
||||
.elif ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpc64" || \
|
||||
${MACHINE_ARCH} == "powerpc64le"
|
||||
ASM_${MACHINE_ARCH}=
|
||||
.endif
|
||||
|
||||
.if defined(ASM_${MACHINE_CPUARCH})
|
||||
.if defined(ASM_${MACHINE_CPUARCH}) || defined(ASM_${MACHINE_ARCH})
|
||||
CFLAGS+= -DOPENSSL_CPUID_OBJ
|
||||
.if defined(ASM_aarch64)
|
||||
CFLAGS+= -DOPENSSL_BN_ASM_MONT
|
||||
@ -69,6 +72,36 @@ CFLAGS+= -DGHASH_ASM
|
||||
CFLAGS+= -DECP_NISTZ256_ASM
|
||||
CFLAGS+= -DPADLOCK_ASM
|
||||
CFLAGS+= -DPOLY1305_ASM
|
||||
.elif defined(ASM_powerpc)
|
||||
CFLAGS+= -DOPENSSL_BN_ASM_MONT
|
||||
CFLAGS+= -DAES_ASM
|
||||
CFLAGS+= -DVPAES_ASM
|
||||
CFLAGS+= -DSHA1_ASM
|
||||
CFLAGS+= -DSHA256_ASM
|
||||
CFLAGS+= -DSHA512_ASM
|
||||
CFLAGS+= -DPOLY1305_ASM
|
||||
.elif defined(ASM_powerpc64)
|
||||
CFLAGS+= -DOPENSSL_BN_ASM_MONT
|
||||
CFLAGS+= -DAES_ASM
|
||||
CFLAGS+= -DVPAES_ASM
|
||||
CFLAGS+= -DSHA1_ASM
|
||||
CFLAGS+= -DSHA256_ASM
|
||||
CFLAGS+= -DSHA512_ASM
|
||||
CFLAGS+= -DPOLY1305_ASM
|
||||
CFLAGS+= -DECP_NISTZ256_ASM
|
||||
CFLAGS+= -DX25519_ASM
|
||||
CFLAGS+= -DKECCAK1600_ASM
|
||||
.elif defined(ASM_powerpc64le)
|
||||
CFLAGS+= -DOPENSSL_BN_ASM_MONT
|
||||
CFLAGS+= -DAES_ASM
|
||||
CFLAGS+= -DVPAES_ASM
|
||||
CFLAGS+= -DSHA1_ASM
|
||||
CFLAGS+= -DSHA256_ASM
|
||||
CFLAGS+= -DSHA512_ASM
|
||||
CFLAGS+= -DPOLY1305_ASM
|
||||
CFLAGS+= -DECP_NISTZ256_ASM
|
||||
CFLAGS+= -DX25519_ASM
|
||||
CFLAGS+= -DKECCAK1600_ASM
|
||||
.endif
|
||||
.endif
|
||||
|
||||
|
1562
sys/crypto/openssl/powerpc/aes-ppc.S
Normal file
1562
sys/crypto/openssl/powerpc/aes-ppc.S
Normal file
File diff suppressed because it is too large
Load Diff
3643
sys/crypto/openssl/powerpc/aesp8-ppc.S
Normal file
3643
sys/crypto/openssl/powerpc/aesp8-ppc.S
Normal file
File diff suppressed because it is too large
Load Diff
1493
sys/crypto/openssl/powerpc/chacha-ppc.S
Normal file
1493
sys/crypto/openssl/powerpc/chacha-ppc.S
Normal file
File diff suppressed because it is too large
Load Diff
570
sys/crypto/openssl/powerpc/ghashp8-ppc.S
Normal file
570
sys/crypto/openssl/powerpc/ghashp8-ppc.S
Normal file
@ -0,0 +1,570 @@
|
||||
/* $FreeBSD$ */
|
||||
/* Do not modify. This file is auto-generated from ghashp8-ppc.pl. */
|
||||
.machine "any"
|
||||
|
||||
.text
|
||||
|
||||
.globl gcm_init_p8
|
||||
.type gcm_init_p8,@function
|
||||
.align 5
|
||||
gcm_init_p8:
|
||||
li 0,-4096
|
||||
li 8,0x10
|
||||
mfspr 12,256
|
||||
li 9,0x20
|
||||
mtspr 256,0
|
||||
li 10,0x30
|
||||
.long 0x7D202699
|
||||
|
||||
vspltisb 8,-16
|
||||
vspltisb 5,1
|
||||
vaddubm 8,8,8
|
||||
vxor 4,4,4
|
||||
vor 8,8,5
|
||||
vsldoi 8,8,4,15
|
||||
vsldoi 6,4,5,1
|
||||
vaddubm 8,8,8
|
||||
vspltisb 7,7
|
||||
vor 8,8,6
|
||||
vspltb 6,9,0
|
||||
vsl 9,9,5
|
||||
vsrab 6,6,7
|
||||
vand 6,6,8
|
||||
vxor 3,9,6
|
||||
|
||||
vsldoi 9,3,3,8
|
||||
vsldoi 8,4,8,8
|
||||
vsldoi 11,4,9,8
|
||||
vsldoi 10,9,4,8
|
||||
|
||||
.long 0x7D001F99
|
||||
.long 0x7D681F99
|
||||
li 8,0x40
|
||||
.long 0x7D291F99
|
||||
li 9,0x50
|
||||
.long 0x7D4A1F99
|
||||
li 10,0x60
|
||||
|
||||
.long 0x10035CC8
|
||||
.long 0x10234CC8
|
||||
.long 0x104354C8
|
||||
|
||||
.long 0x10E044C8
|
||||
|
||||
vsldoi 5,1,4,8
|
||||
vsldoi 6,4,1,8
|
||||
vxor 0,0,5
|
||||
vxor 2,2,6
|
||||
|
||||
vsldoi 0,0,0,8
|
||||
vxor 0,0,7
|
||||
|
||||
vsldoi 6,0,0,8
|
||||
.long 0x100044C8
|
||||
vxor 6,6,2
|
||||
vxor 16,0,6
|
||||
|
||||
vsldoi 17,16,16,8
|
||||
vsldoi 19,4,17,8
|
||||
vsldoi 18,17,4,8
|
||||
|
||||
.long 0x7E681F99
|
||||
li 8,0x70
|
||||
.long 0x7E291F99
|
||||
li 9,0x80
|
||||
.long 0x7E4A1F99
|
||||
li 10,0x90
|
||||
.long 0x10039CC8
|
||||
.long 0x11B09CC8
|
||||
.long 0x10238CC8
|
||||
.long 0x11D08CC8
|
||||
.long 0x104394C8
|
||||
.long 0x11F094C8
|
||||
|
||||
.long 0x10E044C8
|
||||
.long 0x114D44C8
|
||||
|
||||
vsldoi 5,1,4,8
|
||||
vsldoi 6,4,1,8
|
||||
vsldoi 11,14,4,8
|
||||
vsldoi 9,4,14,8
|
||||
vxor 0,0,5
|
||||
vxor 2,2,6
|
||||
vxor 13,13,11
|
||||
vxor 15,15,9
|
||||
|
||||
vsldoi 0,0,0,8
|
||||
vsldoi 13,13,13,8
|
||||
vxor 0,0,7
|
||||
vxor 13,13,10
|
||||
|
||||
vsldoi 6,0,0,8
|
||||
vsldoi 9,13,13,8
|
||||
.long 0x100044C8
|
||||
.long 0x11AD44C8
|
||||
vxor 6,6,2
|
||||
vxor 9,9,15
|
||||
vxor 0,0,6
|
||||
vxor 13,13,9
|
||||
|
||||
vsldoi 9,0,0,8
|
||||
vsldoi 17,13,13,8
|
||||
vsldoi 11,4,9,8
|
||||
vsldoi 10,9,4,8
|
||||
vsldoi 19,4,17,8
|
||||
vsldoi 18,17,4,8
|
||||
|
||||
.long 0x7D681F99
|
||||
li 8,0xa0
|
||||
.long 0x7D291F99
|
||||
li 9,0xb0
|
||||
.long 0x7D4A1F99
|
||||
li 10,0xc0
|
||||
.long 0x7E681F99
|
||||
.long 0x7E291F99
|
||||
.long 0x7E4A1F99
|
||||
|
||||
mtspr 256,12
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,2,0
|
||||
.long 0
|
||||
.size gcm_init_p8,.-gcm_init_p8
|
||||
.globl gcm_gmult_p8
|
||||
.type gcm_gmult_p8,@function
|
||||
.align 5
|
||||
gcm_gmult_p8:
|
||||
lis 0,0xfff8
|
||||
li 8,0x10
|
||||
mfspr 12,256
|
||||
li 9,0x20
|
||||
mtspr 256,0
|
||||
li 10,0x30
|
||||
.long 0x7C601E99
|
||||
|
||||
.long 0x7D682699
|
||||
|
||||
.long 0x7D292699
|
||||
|
||||
.long 0x7D4A2699
|
||||
|
||||
.long 0x7D002699
|
||||
|
||||
vxor 4,4,4
|
||||
|
||||
.long 0x10035CC8
|
||||
.long 0x10234CC8
|
||||
.long 0x104354C8
|
||||
|
||||
.long 0x10E044C8
|
||||
|
||||
vsldoi 5,1,4,8
|
||||
vsldoi 6,4,1,8
|
||||
vxor 0,0,5
|
||||
vxor 2,2,6
|
||||
|
||||
vsldoi 0,0,0,8
|
||||
vxor 0,0,7
|
||||
|
||||
vsldoi 6,0,0,8
|
||||
.long 0x100044C8
|
||||
vxor 6,6,2
|
||||
vxor 0,0,6
|
||||
|
||||
|
||||
.long 0x7C001F99
|
||||
|
||||
mtspr 256,12
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,2,0
|
||||
.long 0
|
||||
.size gcm_gmult_p8,.-gcm_gmult_p8
|
||||
|
||||
.globl gcm_ghash_p8
|
||||
.type gcm_ghash_p8,@function
|
||||
.align 5
|
||||
gcm_ghash_p8:
|
||||
li 0,-4096
|
||||
li 8,0x10
|
||||
mfspr 12,256
|
||||
li 9,0x20
|
||||
mtspr 256,0
|
||||
li 10,0x30
|
||||
.long 0x7C001E99
|
||||
|
||||
.long 0x7D682699
|
||||
li 8,0x40
|
||||
|
||||
.long 0x7D292699
|
||||
li 9,0x50
|
||||
|
||||
.long 0x7D4A2699
|
||||
li 10,0x60
|
||||
|
||||
.long 0x7D002699
|
||||
|
||||
vxor 4,4,4
|
||||
|
||||
cmplwi 6,64
|
||||
bge .Lgcm_ghash_p8_4x
|
||||
|
||||
.long 0x7C602E99
|
||||
addi 5,5,16
|
||||
subic. 6,6,16
|
||||
|
||||
vxor 3,3,0
|
||||
beq .Lshort
|
||||
|
||||
.long 0x7E682699
|
||||
li 8,16
|
||||
.long 0x7E292699
|
||||
add 9,5,6
|
||||
.long 0x7E4A2699
|
||||
b .Loop_2x
|
||||
|
||||
.align 5
|
||||
.Loop_2x:
|
||||
.long 0x7E002E99
|
||||
|
||||
|
||||
subic 6,6,32
|
||||
.long 0x10039CC8
|
||||
.long 0x11B05CC8
|
||||
subfe 0,0,0
|
||||
.long 0x10238CC8
|
||||
.long 0x11D04CC8
|
||||
and 0,0,6
|
||||
.long 0x104394C8
|
||||
.long 0x11F054C8
|
||||
add 5,5,0
|
||||
|
||||
vxor 0,0,13
|
||||
vxor 1,1,14
|
||||
|
||||
.long 0x10E044C8
|
||||
|
||||
vsldoi 5,1,4,8
|
||||
vsldoi 6,4,1,8
|
||||
vxor 2,2,15
|
||||
vxor 0,0,5
|
||||
vxor 2,2,6
|
||||
|
||||
vsldoi 0,0,0,8
|
||||
vxor 0,0,7
|
||||
.long 0x7C682E99
|
||||
addi 5,5,32
|
||||
|
||||
vsldoi 6,0,0,8
|
||||
.long 0x100044C8
|
||||
|
||||
vxor 6,6,2
|
||||
vxor 3,3,6
|
||||
vxor 3,3,0
|
||||
.long 0x7c092840
|
||||
bgt .Loop_2x
|
||||
|
||||
cmplwi 6,0
|
||||
bne .Leven
|
||||
|
||||
.Lshort:
|
||||
.long 0x10035CC8
|
||||
.long 0x10234CC8
|
||||
.long 0x104354C8
|
||||
|
||||
.long 0x10E044C8
|
||||
|
||||
vsldoi 5,1,4,8
|
||||
vsldoi 6,4,1,8
|
||||
vxor 0,0,5
|
||||
vxor 2,2,6
|
||||
|
||||
vsldoi 0,0,0,8
|
||||
vxor 0,0,7
|
||||
|
||||
vsldoi 6,0,0,8
|
||||
.long 0x100044C8
|
||||
vxor 6,6,2
|
||||
|
||||
.Leven:
|
||||
vxor 0,0,6
|
||||
|
||||
.long 0x7C001F99
|
||||
|
||||
mtspr 256,12
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,4,0
|
||||
.long 0
|
||||
.align 5
|
||||
.gcm_ghash_p8_4x:
|
||||
.Lgcm_ghash_p8_4x:
|
||||
stwu 1,-232(1)
|
||||
li 10,39
|
||||
li 11,55
|
||||
stvx 20,10,1
|
||||
addi 10,10,32
|
||||
stvx 21,11,1
|
||||
addi 11,11,32
|
||||
stvx 22,10,1
|
||||
addi 10,10,32
|
||||
stvx 23,11,1
|
||||
addi 11,11,32
|
||||
stvx 24,10,1
|
||||
addi 10,10,32
|
||||
stvx 25,11,1
|
||||
addi 11,11,32
|
||||
stvx 26,10,1
|
||||
addi 10,10,32
|
||||
stvx 27,11,1
|
||||
addi 11,11,32
|
||||
stvx 28,10,1
|
||||
addi 10,10,32
|
||||
stvx 29,11,1
|
||||
addi 11,11,32
|
||||
stvx 30,10,1
|
||||
li 10,0x60
|
||||
stvx 31,11,1
|
||||
li 0,-1
|
||||
stw 12,228(1)
|
||||
mtspr 256,0
|
||||
|
||||
lvsl 5,0,8
|
||||
|
||||
li 8,0x70
|
||||
.long 0x7E292699
|
||||
li 9,0x80
|
||||
vspltisb 6,8
|
||||
|
||||
li 10,0x90
|
||||
.long 0x7EE82699
|
||||
li 8,0xa0
|
||||
.long 0x7F092699
|
||||
li 9,0xb0
|
||||
.long 0x7F2A2699
|
||||
li 10,0xc0
|
||||
.long 0x7FA82699
|
||||
li 8,0x10
|
||||
.long 0x7FC92699
|
||||
li 9,0x20
|
||||
.long 0x7FEA2699
|
||||
li 10,0x30
|
||||
|
||||
vsldoi 7,4,6,8
|
||||
vaddubm 18,5,7
|
||||
vaddubm 19,6,18
|
||||
|
||||
srwi 6,6,4
|
||||
|
||||
.long 0x7C602E99
|
||||
.long 0x7E082E99
|
||||
subic. 6,6,8
|
||||
.long 0x7EC92E99
|
||||
.long 0x7F8A2E99
|
||||
addi 5,5,0x40
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
vxor 2,3,0
|
||||
|
||||
.long 0x11B0BCC8
|
||||
.long 0x11D0C4C8
|
||||
.long 0x11F0CCC8
|
||||
|
||||
vperm 11,17,9,18
|
||||
vperm 5,22,28,19
|
||||
vperm 10,17,9,19
|
||||
vperm 6,22,28,18
|
||||
.long 0x12B68CC8
|
||||
.long 0x12855CC8
|
||||
.long 0x137C4CC8
|
||||
.long 0x134654C8
|
||||
|
||||
vxor 21,21,14
|
||||
vxor 20,20,13
|
||||
vxor 27,27,21
|
||||
vxor 26,26,15
|
||||
|
||||
blt .Ltail_4x
|
||||
|
||||
.Loop_4x:
|
||||
.long 0x7C602E99
|
||||
.long 0x7E082E99
|
||||
subic. 6,6,4
|
||||
.long 0x7EC92E99
|
||||
.long 0x7F8A2E99
|
||||
addi 5,5,0x40
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.long 0x1002ECC8
|
||||
.long 0x1022F4C8
|
||||
.long 0x1042FCC8
|
||||
.long 0x11B0BCC8
|
||||
.long 0x11D0C4C8
|
||||
.long 0x11F0CCC8
|
||||
|
||||
vxor 0,0,20
|
||||
vxor 1,1,27
|
||||
vxor 2,2,26
|
||||
vperm 5,22,28,19
|
||||
vperm 6,22,28,18
|
||||
|
||||
.long 0x10E044C8
|
||||
.long 0x12855CC8
|
||||
.long 0x134654C8
|
||||
|
||||
vsldoi 5,1,4,8
|
||||
vsldoi 6,4,1,8
|
||||
vxor 0,0,5
|
||||
vxor 2,2,6
|
||||
|
||||
vsldoi 0,0,0,8
|
||||
vxor 0,0,7
|
||||
|
||||
vsldoi 6,0,0,8
|
||||
.long 0x12B68CC8
|
||||
.long 0x137C4CC8
|
||||
.long 0x100044C8
|
||||
|
||||
vxor 20,20,13
|
||||
vxor 26,26,15
|
||||
vxor 2,2,3
|
||||
vxor 21,21,14
|
||||
vxor 2,2,6
|
||||
vxor 27,27,21
|
||||
vxor 2,2,0
|
||||
bge .Loop_4x
|
||||
|
||||
.Ltail_4x:
|
||||
.long 0x1002ECC8
|
||||
.long 0x1022F4C8
|
||||
.long 0x1042FCC8
|
||||
|
||||
vxor 0,0,20
|
||||
vxor 1,1,27
|
||||
|
||||
.long 0x10E044C8
|
||||
|
||||
vsldoi 5,1,4,8
|
||||
vsldoi 6,4,1,8
|
||||
vxor 2,2,26
|
||||
vxor 0,0,5
|
||||
vxor 2,2,6
|
||||
|
||||
vsldoi 0,0,0,8
|
||||
vxor 0,0,7
|
||||
|
||||
vsldoi 6,0,0,8
|
||||
.long 0x100044C8
|
||||
vxor 6,6,2
|
||||
vxor 0,0,6
|
||||
|
||||
addic. 6,6,4
|
||||
beq .Ldone_4x
|
||||
|
||||
.long 0x7C602E99
|
||||
cmplwi 6,2
|
||||
li 6,-4
|
||||
blt .Lone
|
||||
.long 0x7E082E99
|
||||
beq .Ltwo
|
||||
|
||||
.Lthree:
|
||||
.long 0x7EC92E99
|
||||
|
||||
|
||||
|
||||
|
||||
vxor 2,3,0
|
||||
vor 29,23,23
|
||||
vor 30,24,24
|
||||
vor 31,25,25
|
||||
|
||||
vperm 5,16,22,19
|
||||
vperm 6,16,22,18
|
||||
.long 0x12B08CC8
|
||||
.long 0x13764CC8
|
||||
.long 0x12855CC8
|
||||
.long 0x134654C8
|
||||
|
||||
vxor 27,27,21
|
||||
b .Ltail_4x
|
||||
|
||||
.align 4
|
||||
.Ltwo:
|
||||
|
||||
|
||||
|
||||
vxor 2,3,0
|
||||
vperm 5,4,16,19
|
||||
vperm 6,4,16,18
|
||||
|
||||
vsldoi 29,4,17,8
|
||||
vor 30,17,17
|
||||
vsldoi 31,17,4,8
|
||||
|
||||
.long 0x12855CC8
|
||||
.long 0x13704CC8
|
||||
.long 0x134654C8
|
||||
|
||||
b .Ltail_4x
|
||||
|
||||
.align 4
|
||||
.Lone:
|
||||
|
||||
|
||||
vsldoi 29,4,9,8
|
||||
vor 30,9,9
|
||||
vsldoi 31,9,4,8
|
||||
|
||||
vxor 2,3,0
|
||||
vxor 20,20,20
|
||||
vxor 27,27,27
|
||||
vxor 26,26,26
|
||||
|
||||
b .Ltail_4x
|
||||
|
||||
.Ldone_4x:
|
||||
|
||||
.long 0x7C001F99
|
||||
|
||||
li 10,39
|
||||
li 11,55
|
||||
mtspr 256,12
|
||||
lvx 20,10,1
|
||||
addi 10,10,32
|
||||
lvx 21,11,1
|
||||
addi 11,11,32
|
||||
lvx 22,10,1
|
||||
addi 10,10,32
|
||||
lvx 23,11,1
|
||||
addi 11,11,32
|
||||
lvx 24,10,1
|
||||
addi 10,10,32
|
||||
lvx 25,11,1
|
||||
addi 11,11,32
|
||||
lvx 26,10,1
|
||||
addi 10,10,32
|
||||
lvx 27,11,1
|
||||
addi 11,11,32
|
||||
lvx 28,10,1
|
||||
addi 10,10,32
|
||||
lvx 29,11,1
|
||||
addi 11,11,32
|
||||
lvx 30,10,1
|
||||
lvx 31,11,1
|
||||
addi 1,1,232
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x04,0,0x80,0,4,0
|
||||
.long 0
|
||||
.size gcm_ghash_p8,.-gcm_ghash_p8
|
||||
|
||||
.byte 71,72,65,83,72,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,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
|
||||
.align 2
|
313
sys/crypto/openssl/powerpc/poly1305-ppc.S
Normal file
313
sys/crypto/openssl/powerpc/poly1305-ppc.S
Normal file
@ -0,0 +1,313 @@
|
||||
/* $FreeBSD$ */
|
||||
/* Do not modify. This file is auto-generated from poly1305-ppc.pl. */
|
||||
.machine "any"
|
||||
.text
|
||||
.globl poly1305_init_int
|
||||
.type poly1305_init_int,@function
|
||||
.align 4
|
||||
poly1305_init_int:
|
||||
xor 0,0,0
|
||||
stw 0,0(3)
|
||||
stw 0,4(3)
|
||||
stw 0,8(3)
|
||||
stw 0,12(3)
|
||||
stw 0,16(3)
|
||||
|
||||
.long 0x7c040040
|
||||
beq- .Lno_key
|
||||
li 8,4
|
||||
lwbrx 7,0,4
|
||||
li 9,8
|
||||
lwbrx 8,8,4
|
||||
li 10,12
|
||||
lwbrx 9,9,4
|
||||
lwbrx 10,10,4
|
||||
lis 0,0xf000
|
||||
li 12,-4
|
||||
andc 12,12,0
|
||||
|
||||
andc 7,7,0
|
||||
and 8,8,12
|
||||
and 9,9,12
|
||||
and 10,10,12
|
||||
|
||||
stw 7,32(3)
|
||||
stw 8,36(3)
|
||||
stw 9,40(3)
|
||||
stw 10,44(3)
|
||||
|
||||
.Lno_key:
|
||||
xor 3,3,3
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,2,0
|
||||
.size poly1305_init_int,.-poly1305_init_int
|
||||
|
||||
.globl poly1305_blocks
|
||||
.type poly1305_blocks,@function
|
||||
.align 4
|
||||
poly1305_blocks:
|
||||
srwi. 5,5,4
|
||||
beq- .Labort
|
||||
|
||||
stwu 1,-96(1)
|
||||
mflr 0
|
||||
stw 14,24(1)
|
||||
stw 15,28(1)
|
||||
stw 16,32(1)
|
||||
stw 17,36(1)
|
||||
stw 18,40(1)
|
||||
stw 19,44(1)
|
||||
stw 20,48(1)
|
||||
stw 21,52(1)
|
||||
stw 22,56(1)
|
||||
stw 23,60(1)
|
||||
stw 24,64(1)
|
||||
stw 25,68(1)
|
||||
stw 26,72(1)
|
||||
stw 27,76(1)
|
||||
stw 28,80(1)
|
||||
stw 29,84(1)
|
||||
stw 30,88(1)
|
||||
stw 31,92(1)
|
||||
stw 0,100(1)
|
||||
|
||||
lwz 12,32(3)
|
||||
lwz 14,36(3)
|
||||
lwz 15,40(3)
|
||||
lwz 16,44(3)
|
||||
|
||||
lwz 7,0(3)
|
||||
lwz 8,4(3)
|
||||
lwz 9,8(3)
|
||||
lwz 10,12(3)
|
||||
lwz 11,16(3)
|
||||
|
||||
srwi 17,14,2
|
||||
srwi 18,15,2
|
||||
srwi 19,16,2
|
||||
add 17,17,14
|
||||
add 18,18,15
|
||||
add 19,19,16
|
||||
mtctr 5
|
||||
li 0,3
|
||||
b .Loop
|
||||
|
||||
.align 4
|
||||
.Loop:
|
||||
li 29,4
|
||||
lwbrx 28,0,4
|
||||
li 30,8
|
||||
lwbrx 29,29,4
|
||||
li 31,12
|
||||
lwbrx 30,30,4
|
||||
lwbrx 31,31,4
|
||||
addi 4,4,16
|
||||
|
||||
addc 7,7,28
|
||||
adde 8,8,29
|
||||
adde 9,9,30
|
||||
|
||||
mullw 28,7,12
|
||||
mulhwu 24,7,12
|
||||
|
||||
mullw 29,7,14
|
||||
mulhwu 25,7,14
|
||||
|
||||
mullw 30,7,15
|
||||
mulhwu 26,7,15
|
||||
|
||||
adde 10,10,31
|
||||
adde 11,11,6
|
||||
|
||||
mullw 31,7,16
|
||||
mulhwu 27,7,16
|
||||
|
||||
mullw 20,8,19
|
||||
mulhwu 21,8,19
|
||||
|
||||
mullw 22,8,12
|
||||
mulhwu 23,8,12
|
||||
addc 28,28,20
|
||||
adde 24,24,21
|
||||
|
||||
mullw 20,8,14
|
||||
mulhwu 21,8,14
|
||||
addc 29,29,22
|
||||
adde 25,25,23
|
||||
|
||||
mullw 22,8,15
|
||||
mulhwu 23,8,15
|
||||
addc 30,30,20
|
||||
adde 26,26,21
|
||||
|
||||
mullw 20,9,18
|
||||
mulhwu 21,9,18
|
||||
addc 31,31,22
|
||||
adde 27,27,23
|
||||
|
||||
mullw 22,9,19
|
||||
mulhwu 23,9,19
|
||||
addc 28,28,20
|
||||
adde 24,24,21
|
||||
|
||||
mullw 20,9,12
|
||||
mulhwu 21,9,12
|
||||
addc 29,29,22
|
||||
adde 25,25,23
|
||||
|
||||
mullw 22,9,14
|
||||
mulhwu 23,9,14
|
||||
addc 30,30,20
|
||||
adde 26,26,21
|
||||
|
||||
mullw 20,10,17
|
||||
mulhwu 21,10,17
|
||||
addc 31,31,22
|
||||
adde 27,27,23
|
||||
|
||||
mullw 22,10,18
|
||||
mulhwu 23,10,18
|
||||
addc 28,28,20
|
||||
adde 24,24,21
|
||||
|
||||
mullw 20,10,19
|
||||
mulhwu 21,10,19
|
||||
addc 29,29,22
|
||||
adde 25,25,23
|
||||
|
||||
mullw 22,10,12
|
||||
mulhwu 23,10,12
|
||||
addc 30,30,20
|
||||
adde 26,26,21
|
||||
|
||||
mullw 20,11,17
|
||||
addc 31,31,22
|
||||
adde 27,27,23
|
||||
addc 29,29,20
|
||||
|
||||
mullw 21,11,18
|
||||
addze 25,25
|
||||
addc 30,30,21
|
||||
addze 26,26
|
||||
|
||||
mullw 22,11,19
|
||||
addc 31,31,22
|
||||
addze 27,27
|
||||
|
||||
mullw 11,11,12
|
||||
|
||||
addc 8,29,24
|
||||
adde 9,30,25
|
||||
adde 10,31,26
|
||||
adde 11,11,27
|
||||
|
||||
andc 24,11,0
|
||||
and 11,11,0
|
||||
srwi 25,24,2
|
||||
add 24,24,25
|
||||
addc 7,28,24
|
||||
addze 8,8
|
||||
addze 9,9
|
||||
addze 10,10
|
||||
addze 11,11
|
||||
|
||||
bdnz .Loop
|
||||
|
||||
stw 7,0(3)
|
||||
stw 8,4(3)
|
||||
stw 9,8(3)
|
||||
stw 10,12(3)
|
||||
stw 11,16(3)
|
||||
|
||||
lwz 14,24(1)
|
||||
lwz 15,28(1)
|
||||
lwz 16,32(1)
|
||||
lwz 17,36(1)
|
||||
lwz 18,40(1)
|
||||
lwz 19,44(1)
|
||||
lwz 20,48(1)
|
||||
lwz 21,52(1)
|
||||
lwz 22,56(1)
|
||||
lwz 23,60(1)
|
||||
lwz 24,64(1)
|
||||
lwz 25,68(1)
|
||||
lwz 26,72(1)
|
||||
lwz 27,76(1)
|
||||
lwz 28,80(1)
|
||||
lwz 29,84(1)
|
||||
lwz 30,88(1)
|
||||
lwz 31,92(1)
|
||||
addi 1,1,96
|
||||
.Labort:
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,4,1,0x80,18,4,0
|
||||
.size poly1305_blocks,.-poly1305_blocks
|
||||
|
||||
.globl poly1305_emit
|
||||
.type poly1305_emit,@function
|
||||
.align 4
|
||||
poly1305_emit:
|
||||
stwu 1,-96(1)
|
||||
mflr 0
|
||||
stw 28,80(1)
|
||||
stw 29,84(1)
|
||||
stw 30,88(1)
|
||||
stw 31,92(1)
|
||||
stw 0,100(1)
|
||||
|
||||
lwz 7,0(3)
|
||||
lwz 8,4(3)
|
||||
lwz 9,8(3)
|
||||
lwz 10,12(3)
|
||||
lwz 11,16(3)
|
||||
|
||||
addic 28,7,5
|
||||
addze 29,8
|
||||
addze 30,9
|
||||
addze 31,10
|
||||
addze 0,11
|
||||
|
||||
srwi 0,0,2
|
||||
neg 0,0
|
||||
|
||||
andc 7,7,0
|
||||
and 28,28,0
|
||||
andc 8,8,0
|
||||
and 29,29,0
|
||||
or 7,7,28
|
||||
lwz 28,0(5)
|
||||
andc 9,9,0
|
||||
and 30,30,0
|
||||
or 8,8,29
|
||||
lwz 29,4(5)
|
||||
andc 10,10,0
|
||||
and 31,31,0
|
||||
or 9,9,30
|
||||
lwz 30,8(5)
|
||||
or 10,10,31
|
||||
lwz 31,12(5)
|
||||
|
||||
addc 7,7,28
|
||||
adde 8,8,29
|
||||
adde 9,9,30
|
||||
adde 10,10,31
|
||||
li 29,4
|
||||
stwbrx 7,0,4
|
||||
li 30,8
|
||||
stwbrx 8,29,4
|
||||
li 31,12
|
||||
stwbrx 9,30,4
|
||||
stwbrx 10,31,4
|
||||
lwz 28,80(1)
|
||||
lwz 29,84(1)
|
||||
lwz 30,88(1)
|
||||
lwz 31,92(1)
|
||||
addi 1,1,96
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,4,1,0x80,4,3,0
|
||||
.size poly1305_emit,.-poly1305_emit
|
||||
.byte 80,111,108,121,49,51,48,53,32,102,111,114,32,80,80,67,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
|
587
sys/crypto/openssl/powerpc/poly1305-ppcfp.S
Normal file
587
sys/crypto/openssl/powerpc/poly1305-ppcfp.S
Normal file
@ -0,0 +1,587 @@
|
||||
/* $FreeBSD$ */
|
||||
/* Do not modify. This file is auto-generated from poly1305-ppcfp.pl. */
|
||||
.machine "any"
|
||||
.text
|
||||
|
||||
.globl poly1305_init_fpu
|
||||
.type poly1305_init_fpu,@function
|
||||
.align 6
|
||||
poly1305_init_fpu:
|
||||
stwu 1,-24(1)
|
||||
mflr 6
|
||||
stw 6,28(1)
|
||||
|
||||
bl .LPICmeup
|
||||
|
||||
xor 0,0,0
|
||||
mtlr 6
|
||||
|
||||
lfd 8,8*0(5)
|
||||
lfd 9,8*1(5)
|
||||
lfd 10,8*2(5)
|
||||
lfd 11,8*3(5)
|
||||
lfd 12,8*4(5)
|
||||
lfd 13,8*5(5)
|
||||
|
||||
stfd 8,8*0(3)
|
||||
stfd 9,8*1(3)
|
||||
stfd 10,8*2(3)
|
||||
stfd 11,8*3(3)
|
||||
|
||||
.long 0x7c040040
|
||||
beq- .Lno_key
|
||||
|
||||
lfd 6,8*13(5)
|
||||
mffs 7
|
||||
|
||||
stfd 8,8*4(3)
|
||||
stfd 9,8*5(3)
|
||||
stfd 10,8*6(3)
|
||||
stfd 11,8*7(3)
|
||||
|
||||
li 8,4
|
||||
li 9,8
|
||||
li 10,12
|
||||
lwbrx 7,0,4
|
||||
lwbrx 8,8,4
|
||||
lwbrx 9,9,4
|
||||
lwbrx 10,10,4
|
||||
|
||||
lis 11,0xf000
|
||||
ori 12,11,3
|
||||
andc 7,7,11
|
||||
andc 8,8,12
|
||||
andc 9,9,12
|
||||
andc 10,10,12
|
||||
|
||||
stw 7,36(3)
|
||||
stw 8,44(3)
|
||||
stw 9,52(3)
|
||||
stw 10,60(3)
|
||||
|
||||
mtfsf 255,6
|
||||
stfd 8,8*18(3)
|
||||
stfd 9,8*19(3)
|
||||
stfd 10,8*20(3)
|
||||
stfd 11,8*21(3)
|
||||
stfd 12,8*22(3)
|
||||
stfd 13,8*23(3)
|
||||
|
||||
lfd 0,8*4(3)
|
||||
lfd 2,8*5(3)
|
||||
lfd 4,8*6(3)
|
||||
lfd 6,8*7(3)
|
||||
|
||||
fsub 0,0,8
|
||||
fsub 2,2,9
|
||||
fsub 4,4,10
|
||||
fsub 6,6,11
|
||||
|
||||
lfd 8,8*6(5)
|
||||
lfd 9,8*7(5)
|
||||
lfd 10,8*8(5)
|
||||
lfd 11,8*9(5)
|
||||
|
||||
fmul 3,2,13
|
||||
fmul 5,4,13
|
||||
stfd 7,8*15(3)
|
||||
fmul 7,6,13
|
||||
|
||||
fadd 1,0,8
|
||||
stfd 3,8*12(3)
|
||||
fadd 3,2,9
|
||||
stfd 5,8*13(3)
|
||||
fadd 5,4,10
|
||||
stfd 7,8*14(3)
|
||||
fadd 7,6,11
|
||||
|
||||
fsub 1,1,8
|
||||
fsub 3,3,9
|
||||
fsub 5,5,10
|
||||
fsub 7,7,11
|
||||
|
||||
lfd 8,8*10(5)
|
||||
lfd 9,8*11(5)
|
||||
lfd 10,8*12(5)
|
||||
|
||||
fsub 0,0,1
|
||||
fsub 2,2,3
|
||||
fsub 4,4,5
|
||||
fsub 6,6,7
|
||||
|
||||
stfd 1,8*5(3)
|
||||
stfd 3,8*7(3)
|
||||
stfd 5,8*9(3)
|
||||
stfd 7,8*11(3)
|
||||
|
||||
stfd 0,8*4(3)
|
||||
stfd 2,8*6(3)
|
||||
stfd 4,8*8(3)
|
||||
stfd 6,8*10(3)
|
||||
|
||||
lfd 2,8*12(3)
|
||||
lfd 4,8*13(3)
|
||||
lfd 6,8*14(3)
|
||||
lfd 0,8*15(3)
|
||||
|
||||
fadd 3,2,8
|
||||
fadd 5,4,9
|
||||
fadd 7,6,10
|
||||
|
||||
fsub 3,3,8
|
||||
fsub 5,5,9
|
||||
fsub 7,7,10
|
||||
|
||||
fsub 2,2,3
|
||||
fsub 4,4,5
|
||||
fsub 6,6,7
|
||||
|
||||
stfd 3,8*13(3)
|
||||
stfd 5,8*15(3)
|
||||
stfd 7,8*17(3)
|
||||
|
||||
stfd 2,8*12(3)
|
||||
stfd 4,8*14(3)
|
||||
stfd 6,8*16(3)
|
||||
|
||||
mtfsf 255,0
|
||||
.Lno_key:
|
||||
xor 3,3,3
|
||||
addi 1,1,24
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,4,1,0x80,0,2,0
|
||||
.size poly1305_init_fpu,.-poly1305_init_fpu
|
||||
|
||||
.globl poly1305_blocks_fpu
|
||||
.type poly1305_blocks_fpu,@function
|
||||
.align 4
|
||||
poly1305_blocks_fpu:
|
||||
srwi. 5,5,4
|
||||
beq- .Labort
|
||||
|
||||
stwu 1,-216(1)
|
||||
mflr 0
|
||||
stfd 14,72(1)
|
||||
stfd 15,80(1)
|
||||
stfd 16,88(1)
|
||||
stfd 17,96(1)
|
||||
stfd 18,104(1)
|
||||
stfd 19,112(1)
|
||||
stfd 20,120(1)
|
||||
stfd 21,128(1)
|
||||
stfd 22,136(1)
|
||||
stfd 23,144(1)
|
||||
stfd 24,152(1)
|
||||
stfd 25,160(1)
|
||||
stfd 26,168(1)
|
||||
stfd 27,176(1)
|
||||
stfd 28,184(1)
|
||||
stfd 29,192(1)
|
||||
stfd 30,200(1)
|
||||
stfd 31,208(1)
|
||||
stw 0,220(1)
|
||||
|
||||
xor 0,0,0
|
||||
li 10,1
|
||||
mtctr 5
|
||||
neg 5,5
|
||||
stw 0,56(1)
|
||||
stw 10,60(1)
|
||||
|
||||
lfd 8,8*18(3)
|
||||
lfd 9,8*19(3)
|
||||
lfd 10,8*20(3)
|
||||
lfd 11,8*21(3)
|
||||
lfd 12,8*22(3)
|
||||
lfd 13,8*23(3)
|
||||
|
||||
lfd 0,8*0(3)
|
||||
lfd 2,8*1(3)
|
||||
lfd 4,8*2(3)
|
||||
lfd 6,8*3(3)
|
||||
|
||||
stfd 8,24(1)
|
||||
oris 10,6,18736
|
||||
stfd 9,32(1)
|
||||
stfd 10,40(1)
|
||||
stw 10,48(1)
|
||||
|
||||
li 11,4
|
||||
li 12,8
|
||||
li 6,12
|
||||
lwbrx 7,0,4
|
||||
lwbrx 8,11,4
|
||||
lwbrx 9,12,4
|
||||
lwbrx 10,6,4
|
||||
addi 4,4,16
|
||||
|
||||
stw 7,28(1)
|
||||
stw 8,36(1)
|
||||
stw 9,44(1)
|
||||
stw 10,52(1)
|
||||
|
||||
mffs 28
|
||||
lfd 29,56(1)
|
||||
lfd 14,8*4(3)
|
||||
lfd 15,8*5(3)
|
||||
lfd 16,8*6(3)
|
||||
lfd 17,8*7(3)
|
||||
lfd 18,8*8(3)
|
||||
lfd 19,8*9(3)
|
||||
lfd 24,8*10(3)
|
||||
lfd 25,8*11(3)
|
||||
lfd 26,8*12(3)
|
||||
lfd 27,8*13(3)
|
||||
lfd 20,8*14(3)
|
||||
lfd 21,8*15(3)
|
||||
lfd 22,8*16(3)
|
||||
lfd 23,8*17(3)
|
||||
|
||||
stfd 28,56(1)
|
||||
mtfsf 255,29
|
||||
|
||||
addic 5,5,1
|
||||
addze 0,0
|
||||
slwi. 0,0,4
|
||||
sub 4,4,0
|
||||
|
||||
lfd 28,24(1)
|
||||
lfd 29,32(1)
|
||||
lfd 30,40(1)
|
||||
lfd 31,48(1)
|
||||
|
||||
fsub 0,0,8
|
||||
lwbrx 7,0,4
|
||||
fsub 2,2,9
|
||||
lwbrx 8,11,4
|
||||
fsub 4,4,10
|
||||
lwbrx 9,12,4
|
||||
fsub 6,6,11
|
||||
lwbrx 10,6,4
|
||||
|
||||
fsub 28,28,8
|
||||
addi 4,4,16
|
||||
fsub 29,29,9
|
||||
fsub 30,30,10
|
||||
fsub 31,31,11
|
||||
|
||||
fadd 28,28,0
|
||||
stw 7,28(1)
|
||||
fadd 29,29,2
|
||||
stw 8,36(1)
|
||||
fadd 30,30,4
|
||||
stw 9,44(1)
|
||||
fadd 31,31,6
|
||||
stw 10,52(1)
|
||||
|
||||
b .Lentry
|
||||
|
||||
.align 4
|
||||
.Loop:
|
||||
fsub 30,30,8
|
||||
addic 5,5,1
|
||||
fsub 31,31,9
|
||||
addze 0,0
|
||||
fsub 26,26,10
|
||||
slwi. 0,0,4
|
||||
fsub 27,27,11
|
||||
sub 4,4,0
|
||||
|
||||
fadd 0,0,30
|
||||
fadd 1,1,31
|
||||
fadd 4,4,26
|
||||
fadd 5,5,27
|
||||
|
||||
|
||||
fadd 26,2,10
|
||||
lwbrx 7,0,4
|
||||
fadd 27,3,10
|
||||
lwbrx 8,11,4
|
||||
fadd 30,6,12
|
||||
lwbrx 9,12,4
|
||||
fadd 31,7,12
|
||||
lwbrx 10,6,4
|
||||
fadd 24,0,9
|
||||
addi 4,4,16
|
||||
fadd 25,1,9
|
||||
fadd 28,4,11
|
||||
fadd 29,5,11
|
||||
|
||||
fsub 26,26,10
|
||||
stw 7,28(1)
|
||||
fsub 27,27,10
|
||||
stw 8,36(1)
|
||||
fsub 30,30,12
|
||||
stw 9,44(1)
|
||||
fsub 31,31,12
|
||||
stw 10,52(1)
|
||||
fsub 24,24,9
|
||||
fsub 25,25,9
|
||||
fsub 28,28,11
|
||||
fsub 29,29,11
|
||||
|
||||
fsub 2,2,26
|
||||
fsub 3,3,27
|
||||
fsub 6,6,30
|
||||
fsub 7,7,31
|
||||
fsub 4,4,28
|
||||
fsub 5,5,29
|
||||
fsub 0,0,24
|
||||
fsub 1,1,25
|
||||
|
||||
fadd 2,2,24
|
||||
fadd 3,3,25
|
||||
fadd 6,6,28
|
||||
fadd 7,7,29
|
||||
fadd 4,4,26
|
||||
fadd 5,5,27
|
||||
fmadd 0,30,13,0
|
||||
fmadd 1,31,13,1
|
||||
|
||||
fadd 29,2,3
|
||||
lfd 26,8*12(3)
|
||||
fadd 31,6,7
|
||||
lfd 27,8*13(3)
|
||||
fadd 30,4,5
|
||||
lfd 24,8*10(3)
|
||||
fadd 28,0,1
|
||||
lfd 25,8*11(3)
|
||||
.Lentry:
|
||||
fmul 0,22,29
|
||||
fmul 1,23,29
|
||||
fmul 4,16,29
|
||||
fmul 5,17,29
|
||||
fmul 2,14,29
|
||||
fmul 3,15,29
|
||||
fmul 6,18,29
|
||||
fmul 7,19,29
|
||||
|
||||
fmadd 0,26,31,0
|
||||
fmadd 1,27,31,1
|
||||
fmadd 4,22,31,4
|
||||
fmadd 5,23,31,5
|
||||
fmadd 2,20,31,2
|
||||
fmadd 3,21,31,3
|
||||
fmadd 6,14,31,6
|
||||
fmadd 7,15,31,7
|
||||
|
||||
fmadd 0,20,30,0
|
||||
fmadd 1,21,30,1
|
||||
fmadd 4,14,30,4
|
||||
fmadd 5,15,30,5
|
||||
fmadd 2,22,30,2
|
||||
fmadd 3,23,30,3
|
||||
fmadd 6,16,30,6
|
||||
fmadd 7,17,30,7
|
||||
|
||||
fmadd 0,14,28,0
|
||||
lfd 30,24(1)
|
||||
fmadd 1,15,28,1
|
||||
lfd 31,32(1)
|
||||
fmadd 4,18,28,4
|
||||
lfd 26,40(1)
|
||||
fmadd 5,19,28,5
|
||||
lfd 27,48(1)
|
||||
fmadd 2,16,28,2
|
||||
fmadd 3,17,28,3
|
||||
fmadd 6,24,28,6
|
||||
fmadd 7,25,28,7
|
||||
|
||||
bdnz .Loop
|
||||
|
||||
|
||||
fadd 24,0,9
|
||||
fadd 25,1,9
|
||||
fadd 28,4,11
|
||||
fadd 29,5,11
|
||||
fadd 26,2,10
|
||||
fadd 27,3,10
|
||||
fadd 30,6,12
|
||||
fadd 31,7,12
|
||||
|
||||
fsub 24,24,9
|
||||
fsub 25,25,9
|
||||
fsub 28,28,11
|
||||
fsub 29,29,11
|
||||
fsub 26,26,10
|
||||
fsub 27,27,10
|
||||
fsub 30,30,12
|
||||
fsub 31,31,12
|
||||
|
||||
fsub 2,2,26
|
||||
fsub 3,3,27
|
||||
fsub 6,6,30
|
||||
fsub 7,7,31
|
||||
fsub 4,4,28
|
||||
fsub 5,5,29
|
||||
fsub 0,0,24
|
||||
fsub 1,1,25
|
||||
|
||||
fadd 2,2,24
|
||||
fadd 3,3,25
|
||||
fadd 6,6,28
|
||||
fadd 7,7,29
|
||||
fadd 4,4,26
|
||||
fadd 5,5,27
|
||||
fmadd 0,30,13,0
|
||||
fmadd 1,31,13,1
|
||||
|
||||
fadd 29,2,3
|
||||
fadd 31,6,7
|
||||
fadd 30,4,5
|
||||
fadd 28,0,1
|
||||
|
||||
lfd 0,56(1)
|
||||
fadd 29,29,9
|
||||
fadd 31,31,11
|
||||
fadd 30,30,10
|
||||
fadd 28,28,8
|
||||
|
||||
stfd 29,8*1(3)
|
||||
stfd 31,8*3(3)
|
||||
stfd 30,8*2(3)
|
||||
stfd 28,8*0(3)
|
||||
|
||||
mtfsf 255,0
|
||||
lfd 14,72(1)
|
||||
lfd 15,80(1)
|
||||
lfd 16,88(1)
|
||||
lfd 17,96(1)
|
||||
lfd 18,104(1)
|
||||
lfd 19,112(1)
|
||||
lfd 20,120(1)
|
||||
lfd 21,128(1)
|
||||
lfd 22,136(1)
|
||||
lfd 23,144(1)
|
||||
lfd 24,152(1)
|
||||
lfd 25,160(1)
|
||||
lfd 26,168(1)
|
||||
lfd 27,176(1)
|
||||
lfd 28,184(1)
|
||||
lfd 29,192(1)
|
||||
lfd 30,200(1)
|
||||
lfd 31,208(1)
|
||||
addi 1,1,216
|
||||
.Labort:
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,4,1,0x80,0,4,0
|
||||
.size poly1305_blocks_fpu,.-poly1305_blocks_fpu
|
||||
.globl poly1305_emit_fpu
|
||||
.type poly1305_emit_fpu,@function
|
||||
.align 4
|
||||
poly1305_emit_fpu:
|
||||
stwu 1,-40(1)
|
||||
mflr 0
|
||||
stw 28,24(1)
|
||||
stw 29,28(1)
|
||||
stw 30,32(1)
|
||||
stw 31,36(1)
|
||||
stw 0,44(1)
|
||||
|
||||
lwz 28,0(3)
|
||||
lwz 7,4(3)
|
||||
lwz 29,8(3)
|
||||
lwz 8,12(3)
|
||||
lwz 30,16(3)
|
||||
lwz 9,20(3)
|
||||
lwz 31,24(3)
|
||||
lwz 10,28(3)
|
||||
|
||||
lis 0,0xfff0
|
||||
andc 28,28,0
|
||||
andc 29,29,0
|
||||
andc 30,30,0
|
||||
andc 31,31,0
|
||||
li 0,3
|
||||
|
||||
srwi 6,31,2
|
||||
and 11,31,0
|
||||
andc 31,31,0
|
||||
add 31,31,6
|
||||
addc 7,7,31
|
||||
adde 8,8,28
|
||||
adde 9,9,29
|
||||
adde 10,10,30
|
||||
addze 11,11
|
||||
|
||||
addic 28,7,5
|
||||
addze 29,8
|
||||
addze 30,9
|
||||
addze 31,10
|
||||
addze 0,11
|
||||
|
||||
srwi 0,0,2
|
||||
neg 0,0
|
||||
srawi 0,0,31
|
||||
|
||||
andc 7,7,0
|
||||
and 28,28,0
|
||||
andc 8,8,0
|
||||
and 29,29,0
|
||||
or 7,7,28
|
||||
lwz 28,0(5)
|
||||
andc 9,9,0
|
||||
and 30,30,0
|
||||
or 8,8,29
|
||||
lwz 29,4(5)
|
||||
andc 10,10,0
|
||||
and 31,31,0
|
||||
or 9,9,30
|
||||
lwz 30,8(5)
|
||||
or 10,10,31
|
||||
lwz 31,12(5)
|
||||
|
||||
addc 7,7,28
|
||||
adde 8,8,29
|
||||
adde 9,9,30
|
||||
adde 10,10,31
|
||||
li 29,4
|
||||
stwbrx 7,0,4
|
||||
li 30,8
|
||||
stwbrx 8,29,4
|
||||
li 31,12
|
||||
stwbrx 9,30,4
|
||||
stwbrx 10,31,4
|
||||
lwz 28,24(1)
|
||||
lwz 29,28(1)
|
||||
lwz 30,32(1)
|
||||
lwz 31,36(1)
|
||||
addi 1,1,40
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,4,1,0x80,4,3,0
|
||||
.size poly1305_emit_fpu,.-poly1305_emit_fpu
|
||||
.align 6
|
||||
.LPICmeup:
|
||||
mflr 0
|
||||
bcl 20,31,$+4
|
||||
mflr 5
|
||||
addi 5,5,56
|
||||
mtlr 0
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.space 28
|
||||
|
||||
.long 0x43300000,0x00000000
|
||||
.long 0x45300000,0x00000000
|
||||
.long 0x47300000,0x00000000
|
||||
.long 0x49300000,0x00000000
|
||||
.long 0x4b500000,0x00000000
|
||||
|
||||
.long 0x37f40000,0x00000000
|
||||
|
||||
.long 0x44300000,0x00000000
|
||||
.long 0x46300000,0x00000000
|
||||
.long 0x48300000,0x00000000
|
||||
.long 0x4a300000,0x00000000
|
||||
.long 0x3e300000,0x00000000
|
||||
.long 0x40300000,0x00000000
|
||||
.long 0x42300000,0x00000000
|
||||
|
||||
.long 0x00000000,0x00000001
|
||||
.byte 80,111,108,121,49,51,48,53,32,102,111,114,32,80,80,67,32,70,80,85,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
|
||||
.align 4
|
1788
sys/crypto/openssl/powerpc/ppc-mont.S
Normal file
1788
sys/crypto/openssl/powerpc/ppc-mont.S
Normal file
File diff suppressed because it is too large
Load Diff
1856
sys/crypto/openssl/powerpc/ppc.S
Normal file
1856
sys/crypto/openssl/powerpc/ppc.S
Normal file
File diff suppressed because it is too large
Load Diff
357
sys/crypto/openssl/powerpc/ppccpuid.S
Normal file
357
sys/crypto/openssl/powerpc/ppccpuid.S
Normal file
@ -0,0 +1,357 @@
|
||||
/* $FreeBSD$ */
|
||||
/* Do not modify. This file is auto-generated from ppccpuid.pl. */
|
||||
.machine "any"
|
||||
.text
|
||||
|
||||
.globl OPENSSL_fpu_probe
|
||||
.type OPENSSL_fpu_probe,@function
|
||||
.align 4
|
||||
OPENSSL_fpu_probe:
|
||||
fmr 0,0
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.size OPENSSL_fpu_probe,.-OPENSSL_fpu_probe
|
||||
.globl OPENSSL_ppc64_probe
|
||||
.type OPENSSL_ppc64_probe,@function
|
||||
.align 4
|
||||
OPENSSL_ppc64_probe:
|
||||
fcfid 1,1
|
||||
rldicl 0,0,32,32
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.size OPENSSL_ppc64_probe,.-OPENSSL_ppc64_probe
|
||||
|
||||
.globl OPENSSL_altivec_probe
|
||||
.type OPENSSL_altivec_probe,@function
|
||||
.align 4
|
||||
OPENSSL_altivec_probe:
|
||||
.long 0x10000484
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.size OPENSSL_altivec_probe,.-OPENSSL_altivec_probe
|
||||
|
||||
.globl OPENSSL_crypto207_probe
|
||||
.type OPENSSL_crypto207_probe,@function
|
||||
.align 4
|
||||
OPENSSL_crypto207_probe:
|
||||
.long 0x7C000E99
|
||||
.long 0x10000508
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.size OPENSSL_crypto207_probe,.-OPENSSL_crypto207_probe
|
||||
|
||||
.globl OPENSSL_madd300_probe
|
||||
.type OPENSSL_madd300_probe,@function
|
||||
.align 4
|
||||
OPENSSL_madd300_probe:
|
||||
xor 0,0,0
|
||||
.long 0x10600033
|
||||
.long 0x10600031
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
|
||||
.globl OPENSSL_wipe_cpu
|
||||
.type OPENSSL_wipe_cpu,@function
|
||||
.align 4
|
||||
OPENSSL_wipe_cpu:
|
||||
xor 0,0,0
|
||||
fmr 0,31
|
||||
fmr 1,31
|
||||
fmr 2,31
|
||||
mr 3,1
|
||||
fmr 3,31
|
||||
xor 4,4,4
|
||||
fmr 4,31
|
||||
xor 5,5,5
|
||||
fmr 5,31
|
||||
xor 6,6,6
|
||||
fmr 6,31
|
||||
xor 7,7,7
|
||||
fmr 7,31
|
||||
xor 8,8,8
|
||||
fmr 8,31
|
||||
xor 9,9,9
|
||||
fmr 9,31
|
||||
xor 10,10,10
|
||||
fmr 10,31
|
||||
xor 11,11,11
|
||||
fmr 11,31
|
||||
xor 12,12,12
|
||||
fmr 12,31
|
||||
fmr 13,31
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.size OPENSSL_wipe_cpu,.-OPENSSL_wipe_cpu
|
||||
|
||||
.globl OPENSSL_atomic_add
|
||||
.type OPENSSL_atomic_add,@function
|
||||
.align 4
|
||||
OPENSSL_atomic_add:
|
||||
.Ladd: lwarx 5,0,3
|
||||
add 0,4,5
|
||||
stwcx. 0,0,3
|
||||
bne- .Ladd
|
||||
mr 3,0
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,2,0
|
||||
.long 0
|
||||
.size OPENSSL_atomic_add,.-OPENSSL_atomic_add
|
||||
|
||||
.globl OPENSSL_rdtsc_mftb
|
||||
.type OPENSSL_rdtsc_mftb,@function
|
||||
.align 4
|
||||
OPENSSL_rdtsc_mftb:
|
||||
mftb 3
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.size OPENSSL_rdtsc_mftb,.-OPENSSL_rdtsc_mftb
|
||||
|
||||
.globl OPENSSL_rdtsc_mfspr268
|
||||
.type OPENSSL_rdtsc_mfspr268,@function
|
||||
.align 4
|
||||
OPENSSL_rdtsc_mfspr268:
|
||||
mfspr 3,268
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.size OPENSSL_rdtsc_mfspr268,.-OPENSSL_rdtsc_mfspr268
|
||||
|
||||
.globl OPENSSL_cleanse
|
||||
.type OPENSSL_cleanse,@function
|
||||
.align 4
|
||||
OPENSSL_cleanse:
|
||||
cmplwi 4,7
|
||||
li 0,0
|
||||
bge .Lot
|
||||
cmplwi 4,0
|
||||
.long 0x4DC20020
|
||||
.Little: mtctr 4
|
||||
stb 0,0(3)
|
||||
addi 3,3,1
|
||||
bdnz $-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
|
||||
bdnz $-8
|
||||
andi. 4,4,3
|
||||
bne .Little
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,2,0
|
||||
.long 0
|
||||
.size OPENSSL_cleanse,.-OPENSSL_cleanse
|
||||
|
||||
.globl CRYPTO_memcmp
|
||||
.type CRYPTO_memcmp,@function
|
||||
.align 4
|
||||
CRYPTO_memcmp:
|
||||
cmplwi 5,0
|
||||
li 0,0
|
||||
beq .Lno_data
|
||||
mtctr 5
|
||||
.Loop_cmp:
|
||||
lbz 6,0(3)
|
||||
addi 3,3,1
|
||||
lbz 7,0(4)
|
||||
addi 4,4,1
|
||||
xor 6,6,7
|
||||
or 0,0,6
|
||||
bdnz .Loop_cmp
|
||||
|
||||
.Lno_data:
|
||||
li 3,0
|
||||
sub 3,3,0
|
||||
extrwi 3,3,1,0
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,3,0
|
||||
.long 0
|
||||
.size CRYPTO_memcmp,.-CRYPTO_memcmp
|
||||
.globl OPENSSL_instrument_bus_mftb
|
||||
.type OPENSSL_instrument_bus_mftb,@function
|
||||
.align 4
|
||||
OPENSSL_instrument_bus_mftb:
|
||||
mtctr 4
|
||||
|
||||
mftb 7
|
||||
li 8,0
|
||||
|
||||
dcbf 0,3
|
||||
lwarx 6,0,3
|
||||
add 6,6,8
|
||||
stwcx. 6,0,3
|
||||
stwx 6,0,3
|
||||
|
||||
.Loop: mftb 6
|
||||
sub 8,6,7
|
||||
mr 7,6
|
||||
dcbf 0,3
|
||||
lwarx 6,0,3
|
||||
add 6,6,8
|
||||
stwcx. 6,0,3
|
||||
stwx 6,0,3
|
||||
addi 3,3,4
|
||||
bdnz .Loop
|
||||
|
||||
mr 3,4
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,2,0
|
||||
.long 0
|
||||
.size OPENSSL_instrument_bus_mftb,.-OPENSSL_instrument_bus_mftb
|
||||
|
||||
.globl OPENSSL_instrument_bus2_mftb
|
||||
.type OPENSSL_instrument_bus2_mftb,@function
|
||||
.align 4
|
||||
OPENSSL_instrument_bus2_mftb:
|
||||
mr 0,4
|
||||
slwi 4,4,2
|
||||
|
||||
mftb 7
|
||||
li 8,0
|
||||
|
||||
dcbf 0,3
|
||||
lwarx 6,0,3
|
||||
add 6,6,8
|
||||
stwcx. 6,0,3
|
||||
stwx 6,0,3
|
||||
|
||||
mftb 6
|
||||
sub 8,6,7
|
||||
mr 7,6
|
||||
mr 9,8
|
||||
.Loop2:
|
||||
dcbf 0,3
|
||||
lwarx 6,0,3
|
||||
add 6,6,8
|
||||
stwcx. 6,0,3
|
||||
stwx 6,0,3
|
||||
|
||||
addic. 5,5,-1
|
||||
beq .Ldone2
|
||||
|
||||
mftb 6
|
||||
sub 8,6,7
|
||||
mr 7,6
|
||||
.long 0x7f884840
|
||||
mr 9,8
|
||||
|
||||
mfcr 6
|
||||
not 6,6
|
||||
rlwinm 6,6,1,29,29
|
||||
|
||||
sub. 4,4,6
|
||||
add 3,3,6
|
||||
bne .Loop2
|
||||
|
||||
.Ldone2:
|
||||
srwi 4,4,2
|
||||
sub 3,0,4
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,3,0
|
||||
.long 0
|
||||
.size OPENSSL_instrument_bus2_mftb,.-OPENSSL_instrument_bus2_mftb
|
||||
|
||||
.globl OPENSSL_instrument_bus_mfspr268
|
||||
.type OPENSSL_instrument_bus_mfspr268,@function
|
||||
.align 4
|
||||
OPENSSL_instrument_bus_mfspr268:
|
||||
mtctr 4
|
||||
|
||||
mfspr 7,268
|
||||
li 8,0
|
||||
|
||||
dcbf 0,3
|
||||
lwarx 6,0,3
|
||||
add 6,6,8
|
||||
stwcx. 6,0,3
|
||||
stwx 6,0,3
|
||||
|
||||
.Loop3: mfspr 6,268
|
||||
sub 8,6,7
|
||||
mr 7,6
|
||||
dcbf 0,3
|
||||
lwarx 6,0,3
|
||||
add 6,6,8
|
||||
stwcx. 6,0,3
|
||||
stwx 6,0,3
|
||||
addi 3,3,4
|
||||
bdnz .Loop3
|
||||
|
||||
mr 3,4
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,2,0
|
||||
.long 0
|
||||
.size OPENSSL_instrument_bus_mfspr268,.-OPENSSL_instrument_bus_mfspr268
|
||||
|
||||
.globl OPENSSL_instrument_bus2_mfspr268
|
||||
.type OPENSSL_instrument_bus2_mfspr268,@function
|
||||
.align 4
|
||||
OPENSSL_instrument_bus2_mfspr268:
|
||||
mr 0,4
|
||||
slwi 4,4,2
|
||||
|
||||
mfspr 7,268
|
||||
li 8,0
|
||||
|
||||
dcbf 0,3
|
||||
lwarx 6,0,3
|
||||
add 6,6,8
|
||||
stwcx. 6,0,3
|
||||
stwx 6,0,3
|
||||
|
||||
mfspr 6,268
|
||||
sub 8,6,7
|
||||
mr 7,6
|
||||
mr 9,8
|
||||
.Loop4:
|
||||
dcbf 0,3
|
||||
lwarx 6,0,3
|
||||
add 6,6,8
|
||||
stwcx. 6,0,3
|
||||
stwx 6,0,3
|
||||
|
||||
addic. 5,5,-1
|
||||
beq .Ldone4
|
||||
|
||||
mfspr 6,268
|
||||
sub 8,6,7
|
||||
mr 7,6
|
||||
.long 0x7f884840
|
||||
mr 9,8
|
||||
|
||||
mfcr 6
|
||||
not 6,6
|
||||
rlwinm 6,6,1,29,29
|
||||
|
||||
sub. 4,4,6
|
||||
add 3,3,6
|
||||
bne .Loop4
|
||||
|
||||
.Ldone4:
|
||||
srwi 4,4,2
|
||||
sub 3,0,4
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,3,0
|
||||
.long 0
|
||||
.size OPENSSL_instrument_bus2_mfspr268,.-OPENSSL_instrument_bus2_mfspr268
|
1119
sys/crypto/openssl/powerpc/sha1-ppc.S
Normal file
1119
sys/crypto/openssl/powerpc/sha1-ppc.S
Normal file
File diff suppressed because it is too large
Load Diff
1322
sys/crypto/openssl/powerpc/sha256-ppc.S
Normal file
1322
sys/crypto/openssl/powerpc/sha256-ppc.S
Normal file
File diff suppressed because it is too large
Load Diff
736
sys/crypto/openssl/powerpc/sha256p8-ppc.S
Normal file
736
sys/crypto/openssl/powerpc/sha256p8-ppc.S
Normal file
@ -0,0 +1,736 @@
|
||||
/* $FreeBSD$ */
|
||||
/* Do not modify. This file is auto-generated from sha512p8-ppc.pl. */
|
||||
.machine "any"
|
||||
.text
|
||||
|
||||
.globl sha256_block_p8
|
||||
.type sha256_block_p8,@function
|
||||
.align 6
|
||||
sha256_block_p8:
|
||||
stwu 1,-328(1)
|
||||
mflr 8
|
||||
li 10,175
|
||||
li 11,191
|
||||
stvx 24,10,1
|
||||
addi 10,10,32
|
||||
mfspr 12,256
|
||||
stvx 25,11,1
|
||||
addi 11,11,32
|
||||
stvx 26,10,1
|
||||
addi 10,10,32
|
||||
stvx 27,11,1
|
||||
addi 11,11,32
|
||||
stvx 28,10,1
|
||||
addi 10,10,32
|
||||
stvx 29,11,1
|
||||
addi 11,11,32
|
||||
stvx 30,10,1
|
||||
stvx 31,11,1
|
||||
li 11,-4096+255
|
||||
stw 12,300(1)
|
||||
li 10,0x10
|
||||
stw 26,304(1)
|
||||
li 26,0x20
|
||||
stw 27,308(1)
|
||||
li 27,0x30
|
||||
stw 28,312(1)
|
||||
li 28,0x40
|
||||
stw 29,316(1)
|
||||
li 29,0x50
|
||||
stw 30,320(1)
|
||||
li 30,0x60
|
||||
stw 31,324(1)
|
||||
li 31,0x70
|
||||
stw 8,332(1)
|
||||
mtspr 256,11
|
||||
|
||||
bl .LPICmeup
|
||||
addi 11,1,47
|
||||
.long 0x7C001E19
|
||||
.long 0x7C8A1E19
|
||||
vsldoi 1,0,0,4
|
||||
vsldoi 2,0,0,8
|
||||
vsldoi 3,0,0,12
|
||||
vsldoi 5,4,4,4
|
||||
vsldoi 6,4,4,8
|
||||
vsldoi 7,4,4,12
|
||||
li 0,3
|
||||
b .Loop
|
||||
.align 5
|
||||
.Loop:
|
||||
lvx 28,0,6
|
||||
.long 0x7D002699
|
||||
addi 4,4,16
|
||||
mr 7,6
|
||||
stvx 0,0,11
|
||||
stvx 1,10,11
|
||||
stvx 2,26,11
|
||||
stvx 3,27,11
|
||||
stvx 4,28,11
|
||||
stvx 5,29,11
|
||||
stvx 6,30,11
|
||||
stvx 7,31,11
|
||||
vadduwm 7,7,28
|
||||
lvx 28,10,6
|
||||
vadduwm 7,7,8
|
||||
vsel 29,6,5,4
|
||||
vadduwm 6,6,28
|
||||
vadduwm 7,7,29
|
||||
.long 0x13C4FE82
|
||||
vadduwm 7,7,30
|
||||
vxor 29,0,1
|
||||
vsel 29,1,2,29
|
||||
vadduwm 3,3,7
|
||||
.long 0x13C08682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 7,7,30
|
||||
lvx 28,26,7
|
||||
vsldoi 9,8,8,4
|
||||
vadduwm 6,6,9
|
||||
vsel 29,5,4,3
|
||||
vadduwm 5,5,28
|
||||
vadduwm 6,6,29
|
||||
.long 0x13C3FE82
|
||||
vadduwm 6,6,30
|
||||
vxor 29,7,0
|
||||
vsel 29,0,1,29
|
||||
vadduwm 2,2,6
|
||||
.long 0x13C78682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 6,6,30
|
||||
lvx 28,27,7
|
||||
vsldoi 10,9,9,4
|
||||
vadduwm 5,5,10
|
||||
vsel 29,4,3,2
|
||||
vadduwm 4,4,28
|
||||
vadduwm 5,5,29
|
||||
.long 0x13C2FE82
|
||||
vadduwm 5,5,30
|
||||
vxor 29,6,7
|
||||
vsel 29,7,0,29
|
||||
vadduwm 1,1,5
|
||||
.long 0x13C68682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 5,5,30
|
||||
lvx 28,28,7
|
||||
.long 0x7D802699
|
||||
addi 4,4,16
|
||||
vsldoi 11,10,10,4
|
||||
vadduwm 4,4,11
|
||||
vsel 29,3,2,1
|
||||
vadduwm 3,3,28
|
||||
vadduwm 4,4,29
|
||||
.long 0x13C1FE82
|
||||
vadduwm 4,4,30
|
||||
vxor 29,5,6
|
||||
vsel 29,6,7,29
|
||||
vadduwm 0,0,4
|
||||
.long 0x13C58682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 4,4,30
|
||||
lvx 28,29,7
|
||||
vadduwm 3,3,12
|
||||
vsel 29,2,1,0
|
||||
vadduwm 2,2,28
|
||||
vadduwm 3,3,29
|
||||
.long 0x13C0FE82
|
||||
vadduwm 3,3,30
|
||||
vxor 29,4,5
|
||||
vsel 29,5,6,29
|
||||
vadduwm 7,7,3
|
||||
.long 0x13C48682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 3,3,30
|
||||
lvx 28,30,7
|
||||
vsldoi 13,12,12,4
|
||||
vadduwm 2,2,13
|
||||
vsel 29,1,0,7
|
||||
vadduwm 1,1,28
|
||||
vadduwm 2,2,29
|
||||
.long 0x13C7FE82
|
||||
vadduwm 2,2,30
|
||||
vxor 29,3,4
|
||||
vsel 29,4,5,29
|
||||
vadduwm 6,6,2
|
||||
.long 0x13C38682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 2,2,30
|
||||
lvx 28,31,7
|
||||
addi 7,7,0x80
|
||||
vsldoi 14,13,13,4
|
||||
vadduwm 1,1,14
|
||||
vsel 29,0,7,6
|
||||
vadduwm 0,0,28
|
||||
vadduwm 1,1,29
|
||||
.long 0x13C6FE82
|
||||
vadduwm 1,1,30
|
||||
vxor 29,2,3
|
||||
vsel 29,3,4,29
|
||||
vadduwm 5,5,1
|
||||
.long 0x13C28682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 1,1,30
|
||||
lvx 28,0,7
|
||||
.long 0x7E002699
|
||||
addi 4,4,16
|
||||
vsldoi 15,14,14,4
|
||||
vadduwm 0,0,15
|
||||
vsel 29,7,6,5
|
||||
vadduwm 7,7,28
|
||||
vadduwm 0,0,29
|
||||
.long 0x13C5FE82
|
||||
vadduwm 0,0,30
|
||||
vxor 29,1,2
|
||||
vsel 29,2,3,29
|
||||
vadduwm 4,4,0
|
||||
.long 0x13C18682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 0,0,30
|
||||
lvx 28,10,7
|
||||
vadduwm 7,7,16
|
||||
vsel 29,6,5,4
|
||||
vadduwm 6,6,28
|
||||
vadduwm 7,7,29
|
||||
.long 0x13C4FE82
|
||||
vadduwm 7,7,30
|
||||
vxor 29,0,1
|
||||
vsel 29,1,2,29
|
||||
vadduwm 3,3,7
|
||||
.long 0x13C08682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 7,7,30
|
||||
lvx 28,26,7
|
||||
vsldoi 17,16,16,4
|
||||
vadduwm 6,6,17
|
||||
vsel 29,5,4,3
|
||||
vadduwm 5,5,28
|
||||
vadduwm 6,6,29
|
||||
.long 0x13C3FE82
|
||||
vadduwm 6,6,30
|
||||
vxor 29,7,0
|
||||
vsel 29,0,1,29
|
||||
vadduwm 2,2,6
|
||||
.long 0x13C78682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 6,6,30
|
||||
lvx 28,27,7
|
||||
vsldoi 18,17,17,4
|
||||
vadduwm 5,5,18
|
||||
vsel 29,4,3,2
|
||||
vadduwm 4,4,28
|
||||
vadduwm 5,5,29
|
||||
.long 0x13C2FE82
|
||||
vadduwm 5,5,30
|
||||
vxor 29,6,7
|
||||
vsel 29,7,0,29
|
||||
vadduwm 1,1,5
|
||||
.long 0x13C68682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 5,5,30
|
||||
lvx 28,28,7
|
||||
.long 0x7F002699
|
||||
addi 4,4,16
|
||||
vsldoi 19,18,18,4
|
||||
vadduwm 4,4,19
|
||||
vsel 29,3,2,1
|
||||
vadduwm 3,3,28
|
||||
vadduwm 4,4,29
|
||||
.long 0x13C1FE82
|
||||
vadduwm 4,4,30
|
||||
vxor 29,5,6
|
||||
vsel 29,6,7,29
|
||||
vadduwm 0,0,4
|
||||
.long 0x13C58682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 4,4,30
|
||||
lvx 28,29,7
|
||||
vadduwm 3,3,24
|
||||
vsel 29,2,1,0
|
||||
vadduwm 2,2,28
|
||||
vadduwm 3,3,29
|
||||
.long 0x13C0FE82
|
||||
vadduwm 3,3,30
|
||||
vxor 29,4,5
|
||||
vsel 29,5,6,29
|
||||
vadduwm 7,7,3
|
||||
.long 0x13C48682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 3,3,30
|
||||
lvx 28,30,7
|
||||
vsldoi 25,24,24,4
|
||||
vadduwm 2,2,25
|
||||
vsel 29,1,0,7
|
||||
vadduwm 1,1,28
|
||||
vadduwm 2,2,29
|
||||
.long 0x13C7FE82
|
||||
vadduwm 2,2,30
|
||||
vxor 29,3,4
|
||||
vsel 29,4,5,29
|
||||
vadduwm 6,6,2
|
||||
.long 0x13C38682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 2,2,30
|
||||
lvx 28,31,7
|
||||
addi 7,7,0x80
|
||||
vsldoi 26,25,25,4
|
||||
vadduwm 1,1,26
|
||||
vsel 29,0,7,6
|
||||
vadduwm 0,0,28
|
||||
vadduwm 1,1,29
|
||||
.long 0x13C6FE82
|
||||
vadduwm 1,1,30
|
||||
vxor 29,2,3
|
||||
vsel 29,3,4,29
|
||||
vadduwm 5,5,1
|
||||
.long 0x13C28682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 1,1,30
|
||||
lvx 28,0,7
|
||||
vsldoi 27,26,26,4
|
||||
.long 0x13C90682
|
||||
vadduwm 8,8,30
|
||||
.long 0x13DA7E82
|
||||
vadduwm 8,8,30
|
||||
vadduwm 8,8,17
|
||||
vadduwm 0,0,27
|
||||
vsel 29,7,6,5
|
||||
vadduwm 7,7,28
|
||||
vadduwm 0,0,29
|
||||
.long 0x13C5FE82
|
||||
vadduwm 0,0,30
|
||||
vxor 29,1,2
|
||||
vsel 29,2,3,29
|
||||
vadduwm 4,4,0
|
||||
.long 0x13C18682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 0,0,30
|
||||
lvx 28,10,7
|
||||
mtctr 0
|
||||
b .L16_xx
|
||||
.align 5
|
||||
.L16_xx:
|
||||
.long 0x13CA0682
|
||||
vadduwm 9,9,30
|
||||
.long 0x13DB7E82
|
||||
vadduwm 9,9,30
|
||||
vadduwm 9,9,18
|
||||
vadduwm 7,7,8
|
||||
vsel 29,6,5,4
|
||||
vadduwm 6,6,28
|
||||
vadduwm 7,7,29
|
||||
.long 0x13C4FE82
|
||||
vadduwm 7,7,30
|
||||
vxor 29,0,1
|
||||
vsel 29,1,2,29
|
||||
vadduwm 3,3,7
|
||||
.long 0x13C08682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 7,7,30
|
||||
lvx 28,26,7
|
||||
.long 0x13CB0682
|
||||
vadduwm 10,10,30
|
||||
.long 0x13C87E82
|
||||
vadduwm 10,10,30
|
||||
vadduwm 10,10,19
|
||||
vadduwm 6,6,9
|
||||
vsel 29,5,4,3
|
||||
vadduwm 5,5,28
|
||||
vadduwm 6,6,29
|
||||
.long 0x13C3FE82
|
||||
vadduwm 6,6,30
|
||||
vxor 29,7,0
|
||||
vsel 29,0,1,29
|
||||
vadduwm 2,2,6
|
||||
.long 0x13C78682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 6,6,30
|
||||
lvx 28,27,7
|
||||
.long 0x13CC0682
|
||||
vadduwm 11,11,30
|
||||
.long 0x13C97E82
|
||||
vadduwm 11,11,30
|
||||
vadduwm 11,11,24
|
||||
vadduwm 5,5,10
|
||||
vsel 29,4,3,2
|
||||
vadduwm 4,4,28
|
||||
vadduwm 5,5,29
|
||||
.long 0x13C2FE82
|
||||
vadduwm 5,5,30
|
||||
vxor 29,6,7
|
||||
vsel 29,7,0,29
|
||||
vadduwm 1,1,5
|
||||
.long 0x13C68682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 5,5,30
|
||||
lvx 28,28,7
|
||||
.long 0x13CD0682
|
||||
vadduwm 12,12,30
|
||||
.long 0x13CA7E82
|
||||
vadduwm 12,12,30
|
||||
vadduwm 12,12,25
|
||||
vadduwm 4,4,11
|
||||
vsel 29,3,2,1
|
||||
vadduwm 3,3,28
|
||||
vadduwm 4,4,29
|
||||
.long 0x13C1FE82
|
||||
vadduwm 4,4,30
|
||||
vxor 29,5,6
|
||||
vsel 29,6,7,29
|
||||
vadduwm 0,0,4
|
||||
.long 0x13C58682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 4,4,30
|
||||
lvx 28,29,7
|
||||
.long 0x13CE0682
|
||||
vadduwm 13,13,30
|
||||
.long 0x13CB7E82
|
||||
vadduwm 13,13,30
|
||||
vadduwm 13,13,26
|
||||
vadduwm 3,3,12
|
||||
vsel 29,2,1,0
|
||||
vadduwm 2,2,28
|
||||
vadduwm 3,3,29
|
||||
.long 0x13C0FE82
|
||||
vadduwm 3,3,30
|
||||
vxor 29,4,5
|
||||
vsel 29,5,6,29
|
||||
vadduwm 7,7,3
|
||||
.long 0x13C48682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 3,3,30
|
||||
lvx 28,30,7
|
||||
.long 0x13CF0682
|
||||
vadduwm 14,14,30
|
||||
.long 0x13CC7E82
|
||||
vadduwm 14,14,30
|
||||
vadduwm 14,14,27
|
||||
vadduwm 2,2,13
|
||||
vsel 29,1,0,7
|
||||
vadduwm 1,1,28
|
||||
vadduwm 2,2,29
|
||||
.long 0x13C7FE82
|
||||
vadduwm 2,2,30
|
||||
vxor 29,3,4
|
||||
vsel 29,4,5,29
|
||||
vadduwm 6,6,2
|
||||
.long 0x13C38682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 2,2,30
|
||||
lvx 28,31,7
|
||||
addi 7,7,0x80
|
||||
.long 0x13D00682
|
||||
vadduwm 15,15,30
|
||||
.long 0x13CD7E82
|
||||
vadduwm 15,15,30
|
||||
vadduwm 15,15,8
|
||||
vadduwm 1,1,14
|
||||
vsel 29,0,7,6
|
||||
vadduwm 0,0,28
|
||||
vadduwm 1,1,29
|
||||
.long 0x13C6FE82
|
||||
vadduwm 1,1,30
|
||||
vxor 29,2,3
|
||||
vsel 29,3,4,29
|
||||
vadduwm 5,5,1
|
||||
.long 0x13C28682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 1,1,30
|
||||
lvx 28,0,7
|
||||
.long 0x13D10682
|
||||
vadduwm 16,16,30
|
||||
.long 0x13CE7E82
|
||||
vadduwm 16,16,30
|
||||
vadduwm 16,16,9
|
||||
vadduwm 0,0,15
|
||||
vsel 29,7,6,5
|
||||
vadduwm 7,7,28
|
||||
vadduwm 0,0,29
|
||||
.long 0x13C5FE82
|
||||
vadduwm 0,0,30
|
||||
vxor 29,1,2
|
||||
vsel 29,2,3,29
|
||||
vadduwm 4,4,0
|
||||
.long 0x13C18682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 0,0,30
|
||||
lvx 28,10,7
|
||||
.long 0x13D20682
|
||||
vadduwm 17,17,30
|
||||
.long 0x13CF7E82
|
||||
vadduwm 17,17,30
|
||||
vadduwm 17,17,10
|
||||
vadduwm 7,7,16
|
||||
vsel 29,6,5,4
|
||||
vadduwm 6,6,28
|
||||
vadduwm 7,7,29
|
||||
.long 0x13C4FE82
|
||||
vadduwm 7,7,30
|
||||
vxor 29,0,1
|
||||
vsel 29,1,2,29
|
||||
vadduwm 3,3,7
|
||||
.long 0x13C08682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 7,7,30
|
||||
lvx 28,26,7
|
||||
.long 0x13D30682
|
||||
vadduwm 18,18,30
|
||||
.long 0x13D07E82
|
||||
vadduwm 18,18,30
|
||||
vadduwm 18,18,11
|
||||
vadduwm 6,6,17
|
||||
vsel 29,5,4,3
|
||||
vadduwm 5,5,28
|
||||
vadduwm 6,6,29
|
||||
.long 0x13C3FE82
|
||||
vadduwm 6,6,30
|
||||
vxor 29,7,0
|
||||
vsel 29,0,1,29
|
||||
vadduwm 2,2,6
|
||||
.long 0x13C78682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 6,6,30
|
||||
lvx 28,27,7
|
||||
.long 0x13D80682
|
||||
vadduwm 19,19,30
|
||||
.long 0x13D17E82
|
||||
vadduwm 19,19,30
|
||||
vadduwm 19,19,12
|
||||
vadduwm 5,5,18
|
||||
vsel 29,4,3,2
|
||||
vadduwm 4,4,28
|
||||
vadduwm 5,5,29
|
||||
.long 0x13C2FE82
|
||||
vadduwm 5,5,30
|
||||
vxor 29,6,7
|
||||
vsel 29,7,0,29
|
||||
vadduwm 1,1,5
|
||||
.long 0x13C68682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 5,5,30
|
||||
lvx 28,28,7
|
||||
.long 0x13D90682
|
||||
vadduwm 24,24,30
|
||||
.long 0x13D27E82
|
||||
vadduwm 24,24,30
|
||||
vadduwm 24,24,13
|
||||
vadduwm 4,4,19
|
||||
vsel 29,3,2,1
|
||||
vadduwm 3,3,28
|
||||
vadduwm 4,4,29
|
||||
.long 0x13C1FE82
|
||||
vadduwm 4,4,30
|
||||
vxor 29,5,6
|
||||
vsel 29,6,7,29
|
||||
vadduwm 0,0,4
|
||||
.long 0x13C58682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 4,4,30
|
||||
lvx 28,29,7
|
||||
.long 0x13DA0682
|
||||
vadduwm 25,25,30
|
||||
.long 0x13D37E82
|
||||
vadduwm 25,25,30
|
||||
vadduwm 25,25,14
|
||||
vadduwm 3,3,24
|
||||
vsel 29,2,1,0
|
||||
vadduwm 2,2,28
|
||||
vadduwm 3,3,29
|
||||
.long 0x13C0FE82
|
||||
vadduwm 3,3,30
|
||||
vxor 29,4,5
|
||||
vsel 29,5,6,29
|
||||
vadduwm 7,7,3
|
||||
.long 0x13C48682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 3,3,30
|
||||
lvx 28,30,7
|
||||
.long 0x13DB0682
|
||||
vadduwm 26,26,30
|
||||
.long 0x13D87E82
|
||||
vadduwm 26,26,30
|
||||
vadduwm 26,26,15
|
||||
vadduwm 2,2,25
|
||||
vsel 29,1,0,7
|
||||
vadduwm 1,1,28
|
||||
vadduwm 2,2,29
|
||||
.long 0x13C7FE82
|
||||
vadduwm 2,2,30
|
||||
vxor 29,3,4
|
||||
vsel 29,4,5,29
|
||||
vadduwm 6,6,2
|
||||
.long 0x13C38682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 2,2,30
|
||||
lvx 28,31,7
|
||||
addi 7,7,0x80
|
||||
.long 0x13C80682
|
||||
vadduwm 27,27,30
|
||||
.long 0x13D97E82
|
||||
vadduwm 27,27,30
|
||||
vadduwm 27,27,16
|
||||
vadduwm 1,1,26
|
||||
vsel 29,0,7,6
|
||||
vadduwm 0,0,28
|
||||
vadduwm 1,1,29
|
||||
.long 0x13C6FE82
|
||||
vadduwm 1,1,30
|
||||
vxor 29,2,3
|
||||
vsel 29,3,4,29
|
||||
vadduwm 5,5,1
|
||||
.long 0x13C28682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 1,1,30
|
||||
lvx 28,0,7
|
||||
.long 0x13C90682
|
||||
vadduwm 8,8,30
|
||||
.long 0x13DA7E82
|
||||
vadduwm 8,8,30
|
||||
vadduwm 8,8,17
|
||||
vadduwm 0,0,27
|
||||
vsel 29,7,6,5
|
||||
vadduwm 7,7,28
|
||||
vadduwm 0,0,29
|
||||
.long 0x13C5FE82
|
||||
vadduwm 0,0,30
|
||||
vxor 29,1,2
|
||||
vsel 29,2,3,29
|
||||
vadduwm 4,4,0
|
||||
.long 0x13C18682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 0,0,30
|
||||
lvx 28,10,7
|
||||
bdnz .L16_xx
|
||||
|
||||
lvx 10,0,11
|
||||
subic. 5,5,1
|
||||
lvx 11,10,11
|
||||
vadduwm 0,0,10
|
||||
lvx 12,26,11
|
||||
vadduwm 1,1,11
|
||||
lvx 13,27,11
|
||||
vadduwm 2,2,12
|
||||
lvx 14,28,11
|
||||
vadduwm 3,3,13
|
||||
lvx 15,29,11
|
||||
vadduwm 4,4,14
|
||||
lvx 16,30,11
|
||||
vadduwm 5,5,15
|
||||
lvx 17,31,11
|
||||
vadduwm 6,6,16
|
||||
vadduwm 7,7,17
|
||||
bne .Loop
|
||||
lvx 8,26,7
|
||||
vperm 0,0,1,28
|
||||
lvx 9,27,7
|
||||
vperm 4,4,5,28
|
||||
vperm 0,0,2,8
|
||||
vperm 4,4,6,8
|
||||
vperm 0,0,3,9
|
||||
vperm 4,4,7,9
|
||||
.long 0x7C001F19
|
||||
.long 0x7C8A1F19
|
||||
addi 11,1,175
|
||||
mtlr 8
|
||||
mtspr 256,12
|
||||
lvx 24,0,11
|
||||
lvx 25,10,11
|
||||
lvx 26,26,11
|
||||
lvx 27,27,11
|
||||
lvx 28,28,11
|
||||
lvx 29,29,11
|
||||
lvx 30,30,11
|
||||
lvx 31,31,11
|
||||
lwz 26,304(1)
|
||||
lwz 27,308(1)
|
||||
lwz 28,312(1)
|
||||
lwz 29,316(1)
|
||||
lwz 30,320(1)
|
||||
lwz 31,324(1)
|
||||
addi 1,1,328
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,4,1,0x80,6,3,0
|
||||
.long 0
|
||||
.size sha256_block_p8,.-sha256_block_p8
|
||||
.align 6
|
||||
.LPICmeup:
|
||||
mflr 0
|
||||
bcl 20,31,$+4
|
||||
mflr 6
|
||||
addi 6,6,56
|
||||
mtlr 0
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.space 28
|
||||
.long 0x428a2f98,0x428a2f98,0x428a2f98,0x428a2f98
|
||||
.long 0x71374491,0x71374491,0x71374491,0x71374491
|
||||
.long 0xb5c0fbcf,0xb5c0fbcf,0xb5c0fbcf,0xb5c0fbcf
|
||||
.long 0xe9b5dba5,0xe9b5dba5,0xe9b5dba5,0xe9b5dba5
|
||||
.long 0x3956c25b,0x3956c25b,0x3956c25b,0x3956c25b
|
||||
.long 0x59f111f1,0x59f111f1,0x59f111f1,0x59f111f1
|
||||
.long 0x923f82a4,0x923f82a4,0x923f82a4,0x923f82a4
|
||||
.long 0xab1c5ed5,0xab1c5ed5,0xab1c5ed5,0xab1c5ed5
|
||||
.long 0xd807aa98,0xd807aa98,0xd807aa98,0xd807aa98
|
||||
.long 0x12835b01,0x12835b01,0x12835b01,0x12835b01
|
||||
.long 0x243185be,0x243185be,0x243185be,0x243185be
|
||||
.long 0x550c7dc3,0x550c7dc3,0x550c7dc3,0x550c7dc3
|
||||
.long 0x72be5d74,0x72be5d74,0x72be5d74,0x72be5d74
|
||||
.long 0x80deb1fe,0x80deb1fe,0x80deb1fe,0x80deb1fe
|
||||
.long 0x9bdc06a7,0x9bdc06a7,0x9bdc06a7,0x9bdc06a7
|
||||
.long 0xc19bf174,0xc19bf174,0xc19bf174,0xc19bf174
|
||||
.long 0xe49b69c1,0xe49b69c1,0xe49b69c1,0xe49b69c1
|
||||
.long 0xefbe4786,0xefbe4786,0xefbe4786,0xefbe4786
|
||||
.long 0x0fc19dc6,0x0fc19dc6,0x0fc19dc6,0x0fc19dc6
|
||||
.long 0x240ca1cc,0x240ca1cc,0x240ca1cc,0x240ca1cc
|
||||
.long 0x2de92c6f,0x2de92c6f,0x2de92c6f,0x2de92c6f
|
||||
.long 0x4a7484aa,0x4a7484aa,0x4a7484aa,0x4a7484aa
|
||||
.long 0x5cb0a9dc,0x5cb0a9dc,0x5cb0a9dc,0x5cb0a9dc
|
||||
.long 0x76f988da,0x76f988da,0x76f988da,0x76f988da
|
||||
.long 0x983e5152,0x983e5152,0x983e5152,0x983e5152
|
||||
.long 0xa831c66d,0xa831c66d,0xa831c66d,0xa831c66d
|
||||
.long 0xb00327c8,0xb00327c8,0xb00327c8,0xb00327c8
|
||||
.long 0xbf597fc7,0xbf597fc7,0xbf597fc7,0xbf597fc7
|
||||
.long 0xc6e00bf3,0xc6e00bf3,0xc6e00bf3,0xc6e00bf3
|
||||
.long 0xd5a79147,0xd5a79147,0xd5a79147,0xd5a79147
|
||||
.long 0x06ca6351,0x06ca6351,0x06ca6351,0x06ca6351
|
||||
.long 0x14292967,0x14292967,0x14292967,0x14292967
|
||||
.long 0x27b70a85,0x27b70a85,0x27b70a85,0x27b70a85
|
||||
.long 0x2e1b2138,0x2e1b2138,0x2e1b2138,0x2e1b2138
|
||||
.long 0x4d2c6dfc,0x4d2c6dfc,0x4d2c6dfc,0x4d2c6dfc
|
||||
.long 0x53380d13,0x53380d13,0x53380d13,0x53380d13
|
||||
.long 0x650a7354,0x650a7354,0x650a7354,0x650a7354
|
||||
.long 0x766a0abb,0x766a0abb,0x766a0abb,0x766a0abb
|
||||
.long 0x81c2c92e,0x81c2c92e,0x81c2c92e,0x81c2c92e
|
||||
.long 0x92722c85,0x92722c85,0x92722c85,0x92722c85
|
||||
.long 0xa2bfe8a1,0xa2bfe8a1,0xa2bfe8a1,0xa2bfe8a1
|
||||
.long 0xa81a664b,0xa81a664b,0xa81a664b,0xa81a664b
|
||||
.long 0xc24b8b70,0xc24b8b70,0xc24b8b70,0xc24b8b70
|
||||
.long 0xc76c51a3,0xc76c51a3,0xc76c51a3,0xc76c51a3
|
||||
.long 0xd192e819,0xd192e819,0xd192e819,0xd192e819
|
||||
.long 0xd6990624,0xd6990624,0xd6990624,0xd6990624
|
||||
.long 0xf40e3585,0xf40e3585,0xf40e3585,0xf40e3585
|
||||
.long 0x106aa070,0x106aa070,0x106aa070,0x106aa070
|
||||
.long 0x19a4c116,0x19a4c116,0x19a4c116,0x19a4c116
|
||||
.long 0x1e376c08,0x1e376c08,0x1e376c08,0x1e376c08
|
||||
.long 0x2748774c,0x2748774c,0x2748774c,0x2748774c
|
||||
.long 0x34b0bcb5,0x34b0bcb5,0x34b0bcb5,0x34b0bcb5
|
||||
.long 0x391c0cb3,0x391c0cb3,0x391c0cb3,0x391c0cb3
|
||||
.long 0x4ed8aa4a,0x4ed8aa4a,0x4ed8aa4a,0x4ed8aa4a
|
||||
.long 0x5b9cca4f,0x5b9cca4f,0x5b9cca4f,0x5b9cca4f
|
||||
.long 0x682e6ff3,0x682e6ff3,0x682e6ff3,0x682e6ff3
|
||||
.long 0x748f82ee,0x748f82ee,0x748f82ee,0x748f82ee
|
||||
.long 0x78a5636f,0x78a5636f,0x78a5636f,0x78a5636f
|
||||
.long 0x84c87814,0x84c87814,0x84c87814,0x84c87814
|
||||
.long 0x8cc70208,0x8cc70208,0x8cc70208,0x8cc70208
|
||||
.long 0x90befffa,0x90befffa,0x90befffa,0x90befffa
|
||||
.long 0xa4506ceb,0xa4506ceb,0xa4506ceb,0xa4506ceb
|
||||
.long 0xbef9a3f7,0xbef9a3f7,0xbef9a3f7,0xbef9a3f7
|
||||
.long 0xc67178f2,0xc67178f2,0xc67178f2,0xc67178f2
|
||||
.long 0,0,0,0
|
||||
.long 0x00010203,0x10111213,0x10111213,0x10111213
|
||||
.long 0x00010203,0x04050607,0x10111213,0x10111213
|
||||
.long 0x00010203,0x04050607,0x08090a0b,0x10111213
|
||||
.byte 83,72,65,50,53,54,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,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
|
||||
.align 2
|
3072
sys/crypto/openssl/powerpc/sha512-ppc.S
Normal file
3072
sys/crypto/openssl/powerpc/sha512-ppc.S
Normal file
File diff suppressed because it is too large
Load Diff
834
sys/crypto/openssl/powerpc/sha512p8-ppc.S
Normal file
834
sys/crypto/openssl/powerpc/sha512p8-ppc.S
Normal file
@ -0,0 +1,834 @@
|
||||
/* $FreeBSD$ */
|
||||
/* Do not modify. This file is auto-generated from sha512p8-ppc.pl. */
|
||||
.machine "any"
|
||||
.text
|
||||
|
||||
.globl sha512_block_p8
|
||||
.type sha512_block_p8,@function
|
||||
.align 6
|
||||
sha512_block_p8:
|
||||
stwu 1,-328(1)
|
||||
mflr 8
|
||||
li 10,175
|
||||
li 11,191
|
||||
stvx 24,10,1
|
||||
addi 10,10,32
|
||||
mfspr 12,256
|
||||
stvx 25,11,1
|
||||
addi 11,11,32
|
||||
stvx 26,10,1
|
||||
addi 10,10,32
|
||||
stvx 27,11,1
|
||||
addi 11,11,32
|
||||
stvx 28,10,1
|
||||
addi 10,10,32
|
||||
stvx 29,11,1
|
||||
addi 11,11,32
|
||||
stvx 30,10,1
|
||||
stvx 31,11,1
|
||||
li 11,-4096+255
|
||||
stw 12,300(1)
|
||||
li 10,0x10
|
||||
stw 26,304(1)
|
||||
li 26,0x20
|
||||
stw 27,308(1)
|
||||
li 27,0x30
|
||||
stw 28,312(1)
|
||||
li 28,0x40
|
||||
stw 29,316(1)
|
||||
li 29,0x50
|
||||
stw 30,320(1)
|
||||
li 30,0x60
|
||||
stw 31,324(1)
|
||||
li 31,0x70
|
||||
stw 8,332(1)
|
||||
mtspr 256,11
|
||||
|
||||
bl .LPICmeup
|
||||
addi 11,1,47
|
||||
.long 0x7C001E99
|
||||
.long 0x7C4A1E99
|
||||
.long 0x7C9A1E99
|
||||
vsldoi 1,0,0,8
|
||||
.long 0x7CDB1E99
|
||||
vsldoi 3,2,2,8
|
||||
vsldoi 5,4,4,8
|
||||
vsldoi 7,6,6,8
|
||||
li 0,4
|
||||
b .Loop
|
||||
.align 5
|
||||
.Loop:
|
||||
lvx 28,0,6
|
||||
.long 0x7D002699
|
||||
addi 4,4,16
|
||||
mr 7,6
|
||||
stvx 0,0,11
|
||||
stvx 1,10,11
|
||||
stvx 2,26,11
|
||||
stvx 3,27,11
|
||||
stvx 4,28,11
|
||||
stvx 5,29,11
|
||||
stvx 6,30,11
|
||||
stvx 7,31,11
|
||||
.long 0x10E7E0C0
|
||||
lvx 28,10,6
|
||||
.long 0x10E740C0
|
||||
vsel 29,6,5,4
|
||||
.long 0x10C6E0C0
|
||||
.long 0x10E7E8C0
|
||||
.long 0x13C4FEC2
|
||||
.long 0x10E7F0C0
|
||||
vxor 29,0,1
|
||||
vsel 29,1,2,29
|
||||
.long 0x106338C0
|
||||
.long 0x13C086C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10E7F0C0
|
||||
lvx 28,26,7
|
||||
.long 0x7D402699
|
||||
addi 4,4,16
|
||||
vsldoi 9,8,8,8
|
||||
.long 0x10C648C0
|
||||
vsel 29,5,4,3
|
||||
.long 0x10A5E0C0
|
||||
.long 0x10C6E8C0
|
||||
.long 0x13C3FEC2
|
||||
.long 0x10C6F0C0
|
||||
vxor 29,7,0
|
||||
vsel 29,0,1,29
|
||||
.long 0x104230C0
|
||||
.long 0x13C786C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10C6F0C0
|
||||
lvx 28,27,7
|
||||
.long 0x10A550C0
|
||||
vsel 29,4,3,2
|
||||
.long 0x1084E0C0
|
||||
.long 0x10A5E8C0
|
||||
.long 0x13C2FEC2
|
||||
.long 0x10A5F0C0
|
||||
vxor 29,6,7
|
||||
vsel 29,7,0,29
|
||||
.long 0x102128C0
|
||||
.long 0x13C686C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10A5F0C0
|
||||
lvx 28,28,7
|
||||
.long 0x7D802699
|
||||
addi 4,4,16
|
||||
vsldoi 11,10,10,8
|
||||
.long 0x108458C0
|
||||
vsel 29,3,2,1
|
||||
.long 0x1063E0C0
|
||||
.long 0x1084E8C0
|
||||
.long 0x13C1FEC2
|
||||
.long 0x1084F0C0
|
||||
vxor 29,5,6
|
||||
vsel 29,6,7,29
|
||||
.long 0x100020C0
|
||||
.long 0x13C586C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1084F0C0
|
||||
lvx 28,29,7
|
||||
.long 0x106360C0
|
||||
vsel 29,2,1,0
|
||||
.long 0x1042E0C0
|
||||
.long 0x1063E8C0
|
||||
.long 0x13C0FEC2
|
||||
.long 0x1063F0C0
|
||||
vxor 29,4,5
|
||||
vsel 29,5,6,29
|
||||
.long 0x10E718C0
|
||||
.long 0x13C486C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1063F0C0
|
||||
lvx 28,30,7
|
||||
.long 0x7DC02699
|
||||
addi 4,4,16
|
||||
vsldoi 13,12,12,8
|
||||
.long 0x104268C0
|
||||
vsel 29,1,0,7
|
||||
.long 0x1021E0C0
|
||||
.long 0x1042E8C0
|
||||
.long 0x13C7FEC2
|
||||
.long 0x1042F0C0
|
||||
vxor 29,3,4
|
||||
vsel 29,4,5,29
|
||||
.long 0x10C610C0
|
||||
.long 0x13C386C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1042F0C0
|
||||
lvx 28,31,7
|
||||
addi 7,7,0x80
|
||||
.long 0x102170C0
|
||||
vsel 29,0,7,6
|
||||
.long 0x1000E0C0
|
||||
.long 0x1021E8C0
|
||||
.long 0x13C6FEC2
|
||||
.long 0x1021F0C0
|
||||
vxor 29,2,3
|
||||
vsel 29,3,4,29
|
||||
.long 0x10A508C0
|
||||
.long 0x13C286C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1021F0C0
|
||||
lvx 28,0,7
|
||||
.long 0x7E002699
|
||||
addi 4,4,16
|
||||
vsldoi 15,14,14,8
|
||||
.long 0x100078C0
|
||||
vsel 29,7,6,5
|
||||
.long 0x10E7E0C0
|
||||
.long 0x1000E8C0
|
||||
.long 0x13C5FEC2
|
||||
.long 0x1000F0C0
|
||||
vxor 29,1,2
|
||||
vsel 29,2,3,29
|
||||
.long 0x108400C0
|
||||
.long 0x13C186C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1000F0C0
|
||||
lvx 28,10,7
|
||||
.long 0x10E780C0
|
||||
vsel 29,6,5,4
|
||||
.long 0x10C6E0C0
|
||||
.long 0x10E7E8C0
|
||||
.long 0x13C4FEC2
|
||||
.long 0x10E7F0C0
|
||||
vxor 29,0,1
|
||||
vsel 29,1,2,29
|
||||
.long 0x106338C0
|
||||
.long 0x13C086C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10E7F0C0
|
||||
lvx 28,26,7
|
||||
.long 0x7E402699
|
||||
addi 4,4,16
|
||||
vsldoi 17,16,16,8
|
||||
.long 0x10C688C0
|
||||
vsel 29,5,4,3
|
||||
.long 0x10A5E0C0
|
||||
.long 0x10C6E8C0
|
||||
.long 0x13C3FEC2
|
||||
.long 0x10C6F0C0
|
||||
vxor 29,7,0
|
||||
vsel 29,0,1,29
|
||||
.long 0x104230C0
|
||||
.long 0x13C786C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10C6F0C0
|
||||
lvx 28,27,7
|
||||
.long 0x10A590C0
|
||||
vsel 29,4,3,2
|
||||
.long 0x1084E0C0
|
||||
.long 0x10A5E8C0
|
||||
.long 0x13C2FEC2
|
||||
.long 0x10A5F0C0
|
||||
vxor 29,6,7
|
||||
vsel 29,7,0,29
|
||||
.long 0x102128C0
|
||||
.long 0x13C686C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10A5F0C0
|
||||
lvx 28,28,7
|
||||
.long 0x7F002699
|
||||
addi 4,4,16
|
||||
vsldoi 19,18,18,8
|
||||
.long 0x108498C0
|
||||
vsel 29,3,2,1
|
||||
.long 0x1063E0C0
|
||||
.long 0x1084E8C0
|
||||
.long 0x13C1FEC2
|
||||
.long 0x1084F0C0
|
||||
vxor 29,5,6
|
||||
vsel 29,6,7,29
|
||||
.long 0x100020C0
|
||||
.long 0x13C586C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1084F0C0
|
||||
lvx 28,29,7
|
||||
.long 0x1063C0C0
|
||||
vsel 29,2,1,0
|
||||
.long 0x1042E0C0
|
||||
.long 0x1063E8C0
|
||||
.long 0x13C0FEC2
|
||||
.long 0x1063F0C0
|
||||
vxor 29,4,5
|
||||
vsel 29,5,6,29
|
||||
.long 0x10E718C0
|
||||
.long 0x13C486C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1063F0C0
|
||||
lvx 28,30,7
|
||||
.long 0x7F402699
|
||||
addi 4,4,16
|
||||
vsldoi 25,24,24,8
|
||||
.long 0x1042C8C0
|
||||
vsel 29,1,0,7
|
||||
.long 0x1021E0C0
|
||||
.long 0x1042E8C0
|
||||
.long 0x13C7FEC2
|
||||
.long 0x1042F0C0
|
||||
vxor 29,3,4
|
||||
vsel 29,4,5,29
|
||||
.long 0x10C610C0
|
||||
.long 0x13C386C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1042F0C0
|
||||
lvx 28,31,7
|
||||
addi 7,7,0x80
|
||||
.long 0x1021D0C0
|
||||
vsel 29,0,7,6
|
||||
.long 0x1000E0C0
|
||||
.long 0x1021E8C0
|
||||
.long 0x13C6FEC2
|
||||
.long 0x1021F0C0
|
||||
vxor 29,2,3
|
||||
vsel 29,3,4,29
|
||||
.long 0x10A508C0
|
||||
.long 0x13C286C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1021F0C0
|
||||
lvx 28,0,7
|
||||
vsldoi 27,26,26,8
|
||||
.long 0x13C906C2
|
||||
.long 0x1108F0C0
|
||||
.long 0x13DA7EC2
|
||||
.long 0x1108F0C0
|
||||
.long 0x110888C0
|
||||
.long 0x1000D8C0
|
||||
vsel 29,7,6,5
|
||||
.long 0x10E7E0C0
|
||||
.long 0x1000E8C0
|
||||
.long 0x13C5FEC2
|
||||
.long 0x1000F0C0
|
||||
vxor 29,1,2
|
||||
vsel 29,2,3,29
|
||||
.long 0x108400C0
|
||||
.long 0x13C186C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1000F0C0
|
||||
lvx 28,10,7
|
||||
mtctr 0
|
||||
b .L16_xx
|
||||
.align 5
|
||||
.L16_xx:
|
||||
.long 0x13CA06C2
|
||||
.long 0x1129F0C0
|
||||
.long 0x13DB7EC2
|
||||
.long 0x1129F0C0
|
||||
.long 0x112990C0
|
||||
.long 0x10E740C0
|
||||
vsel 29,6,5,4
|
||||
.long 0x10C6E0C0
|
||||
.long 0x10E7E8C0
|
||||
.long 0x13C4FEC2
|
||||
.long 0x10E7F0C0
|
||||
vxor 29,0,1
|
||||
vsel 29,1,2,29
|
||||
.long 0x106338C0
|
||||
.long 0x13C086C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10E7F0C0
|
||||
lvx 28,26,7
|
||||
.long 0x13CB06C2
|
||||
.long 0x114AF0C0
|
||||
.long 0x13C87EC2
|
||||
.long 0x114AF0C0
|
||||
.long 0x114A98C0
|
||||
.long 0x10C648C0
|
||||
vsel 29,5,4,3
|
||||
.long 0x10A5E0C0
|
||||
.long 0x10C6E8C0
|
||||
.long 0x13C3FEC2
|
||||
.long 0x10C6F0C0
|
||||
vxor 29,7,0
|
||||
vsel 29,0,1,29
|
||||
.long 0x104230C0
|
||||
.long 0x13C786C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10C6F0C0
|
||||
lvx 28,27,7
|
||||
.long 0x13CC06C2
|
||||
.long 0x116BF0C0
|
||||
.long 0x13C97EC2
|
||||
.long 0x116BF0C0
|
||||
.long 0x116BC0C0
|
||||
.long 0x10A550C0
|
||||
vsel 29,4,3,2
|
||||
.long 0x1084E0C0
|
||||
.long 0x10A5E8C0
|
||||
.long 0x13C2FEC2
|
||||
.long 0x10A5F0C0
|
||||
vxor 29,6,7
|
||||
vsel 29,7,0,29
|
||||
.long 0x102128C0
|
||||
.long 0x13C686C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10A5F0C0
|
||||
lvx 28,28,7
|
||||
.long 0x13CD06C2
|
||||
.long 0x118CF0C0
|
||||
.long 0x13CA7EC2
|
||||
.long 0x118CF0C0
|
||||
.long 0x118CC8C0
|
||||
.long 0x108458C0
|
||||
vsel 29,3,2,1
|
||||
.long 0x1063E0C0
|
||||
.long 0x1084E8C0
|
||||
.long 0x13C1FEC2
|
||||
.long 0x1084F0C0
|
||||
vxor 29,5,6
|
||||
vsel 29,6,7,29
|
||||
.long 0x100020C0
|
||||
.long 0x13C586C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1084F0C0
|
||||
lvx 28,29,7
|
||||
.long 0x13CE06C2
|
||||
.long 0x11ADF0C0
|
||||
.long 0x13CB7EC2
|
||||
.long 0x11ADF0C0
|
||||
.long 0x11ADD0C0
|
||||
.long 0x106360C0
|
||||
vsel 29,2,1,0
|
||||
.long 0x1042E0C0
|
||||
.long 0x1063E8C0
|
||||
.long 0x13C0FEC2
|
||||
.long 0x1063F0C0
|
||||
vxor 29,4,5
|
||||
vsel 29,5,6,29
|
||||
.long 0x10E718C0
|
||||
.long 0x13C486C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1063F0C0
|
||||
lvx 28,30,7
|
||||
.long 0x13CF06C2
|
||||
.long 0x11CEF0C0
|
||||
.long 0x13CC7EC2
|
||||
.long 0x11CEF0C0
|
||||
.long 0x11CED8C0
|
||||
.long 0x104268C0
|
||||
vsel 29,1,0,7
|
||||
.long 0x1021E0C0
|
||||
.long 0x1042E8C0
|
||||
.long 0x13C7FEC2
|
||||
.long 0x1042F0C0
|
||||
vxor 29,3,4
|
||||
vsel 29,4,5,29
|
||||
.long 0x10C610C0
|
||||
.long 0x13C386C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1042F0C0
|
||||
lvx 28,31,7
|
||||
addi 7,7,0x80
|
||||
.long 0x13D006C2
|
||||
.long 0x11EFF0C0
|
||||
.long 0x13CD7EC2
|
||||
.long 0x11EFF0C0
|
||||
.long 0x11EF40C0
|
||||
.long 0x102170C0
|
||||
vsel 29,0,7,6
|
||||
.long 0x1000E0C0
|
||||
.long 0x1021E8C0
|
||||
.long 0x13C6FEC2
|
||||
.long 0x1021F0C0
|
||||
vxor 29,2,3
|
||||
vsel 29,3,4,29
|
||||
.long 0x10A508C0
|
||||
.long 0x13C286C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1021F0C0
|
||||
lvx 28,0,7
|
||||
.long 0x13D106C2
|
||||
.long 0x1210F0C0
|
||||
.long 0x13CE7EC2
|
||||
.long 0x1210F0C0
|
||||
.long 0x121048C0
|
||||
.long 0x100078C0
|
||||
vsel 29,7,6,5
|
||||
.long 0x10E7E0C0
|
||||
.long 0x1000E8C0
|
||||
.long 0x13C5FEC2
|
||||
.long 0x1000F0C0
|
||||
vxor 29,1,2
|
||||
vsel 29,2,3,29
|
||||
.long 0x108400C0
|
||||
.long 0x13C186C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1000F0C0
|
||||
lvx 28,10,7
|
||||
.long 0x13D206C2
|
||||
.long 0x1231F0C0
|
||||
.long 0x13CF7EC2
|
||||
.long 0x1231F0C0
|
||||
.long 0x123150C0
|
||||
.long 0x10E780C0
|
||||
vsel 29,6,5,4
|
||||
.long 0x10C6E0C0
|
||||
.long 0x10E7E8C0
|
||||
.long 0x13C4FEC2
|
||||
.long 0x10E7F0C0
|
||||
vxor 29,0,1
|
||||
vsel 29,1,2,29
|
||||
.long 0x106338C0
|
||||
.long 0x13C086C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10E7F0C0
|
||||
lvx 28,26,7
|
||||
.long 0x13D306C2
|
||||
.long 0x1252F0C0
|
||||
.long 0x13D07EC2
|
||||
.long 0x1252F0C0
|
||||
.long 0x125258C0
|
||||
.long 0x10C688C0
|
||||
vsel 29,5,4,3
|
||||
.long 0x10A5E0C0
|
||||
.long 0x10C6E8C0
|
||||
.long 0x13C3FEC2
|
||||
.long 0x10C6F0C0
|
||||
vxor 29,7,0
|
||||
vsel 29,0,1,29
|
||||
.long 0x104230C0
|
||||
.long 0x13C786C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10C6F0C0
|
||||
lvx 28,27,7
|
||||
.long 0x13D806C2
|
||||
.long 0x1273F0C0
|
||||
.long 0x13D17EC2
|
||||
.long 0x1273F0C0
|
||||
.long 0x127360C0
|
||||
.long 0x10A590C0
|
||||
vsel 29,4,3,2
|
||||
.long 0x1084E0C0
|
||||
.long 0x10A5E8C0
|
||||
.long 0x13C2FEC2
|
||||
.long 0x10A5F0C0
|
||||
vxor 29,6,7
|
||||
vsel 29,7,0,29
|
||||
.long 0x102128C0
|
||||
.long 0x13C686C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10A5F0C0
|
||||
lvx 28,28,7
|
||||
.long 0x13D906C2
|
||||
.long 0x1318F0C0
|
||||
.long 0x13D27EC2
|
||||
.long 0x1318F0C0
|
||||
.long 0x131868C0
|
||||
.long 0x108498C0
|
||||
vsel 29,3,2,1
|
||||
.long 0x1063E0C0
|
||||
.long 0x1084E8C0
|
||||
.long 0x13C1FEC2
|
||||
.long 0x1084F0C0
|
||||
vxor 29,5,6
|
||||
vsel 29,6,7,29
|
||||
.long 0x100020C0
|
||||
.long 0x13C586C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1084F0C0
|
||||
lvx 28,29,7
|
||||
.long 0x13DA06C2
|
||||
.long 0x1339F0C0
|
||||
.long 0x13D37EC2
|
||||
.long 0x1339F0C0
|
||||
.long 0x133970C0
|
||||
.long 0x1063C0C0
|
||||
vsel 29,2,1,0
|
||||
.long 0x1042E0C0
|
||||
.long 0x1063E8C0
|
||||
.long 0x13C0FEC2
|
||||
.long 0x1063F0C0
|
||||
vxor 29,4,5
|
||||
vsel 29,5,6,29
|
||||
.long 0x10E718C0
|
||||
.long 0x13C486C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1063F0C0
|
||||
lvx 28,30,7
|
||||
.long 0x13DB06C2
|
||||
.long 0x135AF0C0
|
||||
.long 0x13D87EC2
|
||||
.long 0x135AF0C0
|
||||
.long 0x135A78C0
|
||||
.long 0x1042C8C0
|
||||
vsel 29,1,0,7
|
||||
.long 0x1021E0C0
|
||||
.long 0x1042E8C0
|
||||
.long 0x13C7FEC2
|
||||
.long 0x1042F0C0
|
||||
vxor 29,3,4
|
||||
vsel 29,4,5,29
|
||||
.long 0x10C610C0
|
||||
.long 0x13C386C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1042F0C0
|
||||
lvx 28,31,7
|
||||
addi 7,7,0x80
|
||||
.long 0x13C806C2
|
||||
.long 0x137BF0C0
|
||||
.long 0x13D97EC2
|
||||
.long 0x137BF0C0
|
||||
.long 0x137B80C0
|
||||
.long 0x1021D0C0
|
||||
vsel 29,0,7,6
|
||||
.long 0x1000E0C0
|
||||
.long 0x1021E8C0
|
||||
.long 0x13C6FEC2
|
||||
.long 0x1021F0C0
|
||||
vxor 29,2,3
|
||||
vsel 29,3,4,29
|
||||
.long 0x10A508C0
|
||||
.long 0x13C286C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1021F0C0
|
||||
lvx 28,0,7
|
||||
.long 0x13C906C2
|
||||
.long 0x1108F0C0
|
||||
.long 0x13DA7EC2
|
||||
.long 0x1108F0C0
|
||||
.long 0x110888C0
|
||||
.long 0x1000D8C0
|
||||
vsel 29,7,6,5
|
||||
.long 0x10E7E0C0
|
||||
.long 0x1000E8C0
|
||||
.long 0x13C5FEC2
|
||||
.long 0x1000F0C0
|
||||
vxor 29,1,2
|
||||
vsel 29,2,3,29
|
||||
.long 0x108400C0
|
||||
.long 0x13C186C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1000F0C0
|
||||
lvx 28,10,7
|
||||
bdnz .L16_xx
|
||||
|
||||
lvx 10,0,11
|
||||
subic. 5,5,1
|
||||
lvx 11,10,11
|
||||
.long 0x100050C0
|
||||
lvx 12,26,11
|
||||
.long 0x102158C0
|
||||
lvx 13,27,11
|
||||
.long 0x104260C0
|
||||
lvx 14,28,11
|
||||
.long 0x106368C0
|
||||
lvx 15,29,11
|
||||
.long 0x108470C0
|
||||
lvx 16,30,11
|
||||
.long 0x10A578C0
|
||||
lvx 17,31,11
|
||||
.long 0x10C680C0
|
||||
.long 0x10E788C0
|
||||
bne .Loop
|
||||
vperm 0,0,1,28
|
||||
vperm 2,2,3,28
|
||||
vperm 4,4,5,28
|
||||
vperm 6,6,7,28
|
||||
.long 0x7C001F99
|
||||
.long 0x7C4A1F99
|
||||
.long 0x7C9A1F99
|
||||
.long 0x7CDB1F99
|
||||
addi 11,1,175
|
||||
mtlr 8
|
||||
mtspr 256,12
|
||||
lvx 24,0,11
|
||||
lvx 25,10,11
|
||||
lvx 26,26,11
|
||||
lvx 27,27,11
|
||||
lvx 28,28,11
|
||||
lvx 29,29,11
|
||||
lvx 30,30,11
|
||||
lvx 31,31,11
|
||||
lwz 26,304(1)
|
||||
lwz 27,308(1)
|
||||
lwz 28,312(1)
|
||||
lwz 29,316(1)
|
||||
lwz 30,320(1)
|
||||
lwz 31,324(1)
|
||||
addi 1,1,328
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,4,1,0x80,6,3,0
|
||||
.long 0
|
||||
.size sha512_block_p8,.-sha512_block_p8
|
||||
.align 6
|
||||
.LPICmeup:
|
||||
mflr 0
|
||||
bcl 20,31,$+4
|
||||
mflr 6
|
||||
addi 6,6,56
|
||||
mtlr 0
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.space 28
|
||||
.long 0x428a2f98,0xd728ae22
|
||||
.long 0x428a2f98,0xd728ae22
|
||||
.long 0x71374491,0x23ef65cd
|
||||
.long 0x71374491,0x23ef65cd
|
||||
.long 0xb5c0fbcf,0xec4d3b2f
|
||||
.long 0xb5c0fbcf,0xec4d3b2f
|
||||
.long 0xe9b5dba5,0x8189dbbc
|
||||
.long 0xe9b5dba5,0x8189dbbc
|
||||
.long 0x3956c25b,0xf348b538
|
||||
.long 0x3956c25b,0xf348b538
|
||||
.long 0x59f111f1,0xb605d019
|
||||
.long 0x59f111f1,0xb605d019
|
||||
.long 0x923f82a4,0xaf194f9b
|
||||
.long 0x923f82a4,0xaf194f9b
|
||||
.long 0xab1c5ed5,0xda6d8118
|
||||
.long 0xab1c5ed5,0xda6d8118
|
||||
.long 0xd807aa98,0xa3030242
|
||||
.long 0xd807aa98,0xa3030242
|
||||
.long 0x12835b01,0x45706fbe
|
||||
.long 0x12835b01,0x45706fbe
|
||||
.long 0x243185be,0x4ee4b28c
|
||||
.long 0x243185be,0x4ee4b28c
|
||||
.long 0x550c7dc3,0xd5ffb4e2
|
||||
.long 0x550c7dc3,0xd5ffb4e2
|
||||
.long 0x72be5d74,0xf27b896f
|
||||
.long 0x72be5d74,0xf27b896f
|
||||
.long 0x80deb1fe,0x3b1696b1
|
||||
.long 0x80deb1fe,0x3b1696b1
|
||||
.long 0x9bdc06a7,0x25c71235
|
||||
.long 0x9bdc06a7,0x25c71235
|
||||
.long 0xc19bf174,0xcf692694
|
||||
.long 0xc19bf174,0xcf692694
|
||||
.long 0xe49b69c1,0x9ef14ad2
|
||||
.long 0xe49b69c1,0x9ef14ad2
|
||||
.long 0xefbe4786,0x384f25e3
|
||||
.long 0xefbe4786,0x384f25e3
|
||||
.long 0x0fc19dc6,0x8b8cd5b5
|
||||
.long 0x0fc19dc6,0x8b8cd5b5
|
||||
.long 0x240ca1cc,0x77ac9c65
|
||||
.long 0x240ca1cc,0x77ac9c65
|
||||
.long 0x2de92c6f,0x592b0275
|
||||
.long 0x2de92c6f,0x592b0275
|
||||
.long 0x4a7484aa,0x6ea6e483
|
||||
.long 0x4a7484aa,0x6ea6e483
|
||||
.long 0x5cb0a9dc,0xbd41fbd4
|
||||
.long 0x5cb0a9dc,0xbd41fbd4
|
||||
.long 0x76f988da,0x831153b5
|
||||
.long 0x76f988da,0x831153b5
|
||||
.long 0x983e5152,0xee66dfab
|
||||
.long 0x983e5152,0xee66dfab
|
||||
.long 0xa831c66d,0x2db43210
|
||||
.long 0xa831c66d,0x2db43210
|
||||
.long 0xb00327c8,0x98fb213f
|
||||
.long 0xb00327c8,0x98fb213f
|
||||
.long 0xbf597fc7,0xbeef0ee4
|
||||
.long 0xbf597fc7,0xbeef0ee4
|
||||
.long 0xc6e00bf3,0x3da88fc2
|
||||
.long 0xc6e00bf3,0x3da88fc2
|
||||
.long 0xd5a79147,0x930aa725
|
||||
.long 0xd5a79147,0x930aa725
|
||||
.long 0x06ca6351,0xe003826f
|
||||
.long 0x06ca6351,0xe003826f
|
||||
.long 0x14292967,0x0a0e6e70
|
||||
.long 0x14292967,0x0a0e6e70
|
||||
.long 0x27b70a85,0x46d22ffc
|
||||
.long 0x27b70a85,0x46d22ffc
|
||||
.long 0x2e1b2138,0x5c26c926
|
||||
.long 0x2e1b2138,0x5c26c926
|
||||
.long 0x4d2c6dfc,0x5ac42aed
|
||||
.long 0x4d2c6dfc,0x5ac42aed
|
||||
.long 0x53380d13,0x9d95b3df
|
||||
.long 0x53380d13,0x9d95b3df
|
||||
.long 0x650a7354,0x8baf63de
|
||||
.long 0x650a7354,0x8baf63de
|
||||
.long 0x766a0abb,0x3c77b2a8
|
||||
.long 0x766a0abb,0x3c77b2a8
|
||||
.long 0x81c2c92e,0x47edaee6
|
||||
.long 0x81c2c92e,0x47edaee6
|
||||
.long 0x92722c85,0x1482353b
|
||||
.long 0x92722c85,0x1482353b
|
||||
.long 0xa2bfe8a1,0x4cf10364
|
||||
.long 0xa2bfe8a1,0x4cf10364
|
||||
.long 0xa81a664b,0xbc423001
|
||||
.long 0xa81a664b,0xbc423001
|
||||
.long 0xc24b8b70,0xd0f89791
|
||||
.long 0xc24b8b70,0xd0f89791
|
||||
.long 0xc76c51a3,0x0654be30
|
||||
.long 0xc76c51a3,0x0654be30
|
||||
.long 0xd192e819,0xd6ef5218
|
||||
.long 0xd192e819,0xd6ef5218
|
||||
.long 0xd6990624,0x5565a910
|
||||
.long 0xd6990624,0x5565a910
|
||||
.long 0xf40e3585,0x5771202a
|
||||
.long 0xf40e3585,0x5771202a
|
||||
.long 0x106aa070,0x32bbd1b8
|
||||
.long 0x106aa070,0x32bbd1b8
|
||||
.long 0x19a4c116,0xb8d2d0c8
|
||||
.long 0x19a4c116,0xb8d2d0c8
|
||||
.long 0x1e376c08,0x5141ab53
|
||||
.long 0x1e376c08,0x5141ab53
|
||||
.long 0x2748774c,0xdf8eeb99
|
||||
.long 0x2748774c,0xdf8eeb99
|
||||
.long 0x34b0bcb5,0xe19b48a8
|
||||
.long 0x34b0bcb5,0xe19b48a8
|
||||
.long 0x391c0cb3,0xc5c95a63
|
||||
.long 0x391c0cb3,0xc5c95a63
|
||||
.long 0x4ed8aa4a,0xe3418acb
|
||||
.long 0x4ed8aa4a,0xe3418acb
|
||||
.long 0x5b9cca4f,0x7763e373
|
||||
.long 0x5b9cca4f,0x7763e373
|
||||
.long 0x682e6ff3,0xd6b2b8a3
|
||||
.long 0x682e6ff3,0xd6b2b8a3
|
||||
.long 0x748f82ee,0x5defb2fc
|
||||
.long 0x748f82ee,0x5defb2fc
|
||||
.long 0x78a5636f,0x43172f60
|
||||
.long 0x78a5636f,0x43172f60
|
||||
.long 0x84c87814,0xa1f0ab72
|
||||
.long 0x84c87814,0xa1f0ab72
|
||||
.long 0x8cc70208,0x1a6439ec
|
||||
.long 0x8cc70208,0x1a6439ec
|
||||
.long 0x90befffa,0x23631e28
|
||||
.long 0x90befffa,0x23631e28
|
||||
.long 0xa4506ceb,0xde82bde9
|
||||
.long 0xa4506ceb,0xde82bde9
|
||||
.long 0xbef9a3f7,0xb2c67915
|
||||
.long 0xbef9a3f7,0xb2c67915
|
||||
.long 0xc67178f2,0xe372532b
|
||||
.long 0xc67178f2,0xe372532b
|
||||
.long 0xca273ece,0xea26619c
|
||||
.long 0xca273ece,0xea26619c
|
||||
.long 0xd186b8c7,0x21c0c207
|
||||
.long 0xd186b8c7,0x21c0c207
|
||||
.long 0xeada7dd6,0xcde0eb1e
|
||||
.long 0xeada7dd6,0xcde0eb1e
|
||||
.long 0xf57d4f7f,0xee6ed178
|
||||
.long 0xf57d4f7f,0xee6ed178
|
||||
.long 0x06f067aa,0x72176fba
|
||||
.long 0x06f067aa,0x72176fba
|
||||
.long 0x0a637dc5,0xa2c898a6
|
||||
.long 0x0a637dc5,0xa2c898a6
|
||||
.long 0x113f9804,0xbef90dae
|
||||
.long 0x113f9804,0xbef90dae
|
||||
.long 0x1b710b35,0x131c471b
|
||||
.long 0x1b710b35,0x131c471b
|
||||
.long 0x28db77f5,0x23047d84
|
||||
.long 0x28db77f5,0x23047d84
|
||||
.long 0x32caab7b,0x40c72493
|
||||
.long 0x32caab7b,0x40c72493
|
||||
.long 0x3c9ebe0a,0x15c9bebc
|
||||
.long 0x3c9ebe0a,0x15c9bebc
|
||||
.long 0x431d67c4,0x9c100d4c
|
||||
.long 0x431d67c4,0x9c100d4c
|
||||
.long 0x4cc5d4be,0xcb3e42b6
|
||||
.long 0x4cc5d4be,0xcb3e42b6
|
||||
.long 0x597f299c,0xfc657e2a
|
||||
.long 0x597f299c,0xfc657e2a
|
||||
.long 0x5fcb6fab,0x3ad6faec
|
||||
.long 0x5fcb6fab,0x3ad6faec
|
||||
.long 0x6c44198c,0x4a475817
|
||||
.long 0x6c44198c,0x4a475817
|
||||
.long 0,0
|
||||
.long 0,0
|
||||
.long 0x00010203,0x04050607
|
||||
.long 0x10111213,0x14151617
|
||||
.byte 83,72,65,53,49,50,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,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
|
||||
.align 2
|
1469
sys/crypto/openssl/powerpc/vpaes-ppc.S
Normal file
1469
sys/crypto/openssl/powerpc/vpaes-ppc.S
Normal file
File diff suppressed because it is too large
Load Diff
1534
sys/crypto/openssl/powerpc64/aes-ppc.S
Normal file
1534
sys/crypto/openssl/powerpc64/aes-ppc.S
Normal file
File diff suppressed because it is too large
Load Diff
3660
sys/crypto/openssl/powerpc64/aesp8-ppc.S
Normal file
3660
sys/crypto/openssl/powerpc64/aesp8-ppc.S
Normal file
File diff suppressed because it is too large
Load Diff
1500
sys/crypto/openssl/powerpc64/chacha-ppc.S
Normal file
1500
sys/crypto/openssl/powerpc64/chacha-ppc.S
Normal file
File diff suppressed because it is too large
Load Diff
4855
sys/crypto/openssl/powerpc64/ecp_nistz256-ppc64.S
Normal file
4855
sys/crypto/openssl/powerpc64/ecp_nistz256-ppc64.S
Normal file
File diff suppressed because it is too large
Load Diff
577
sys/crypto/openssl/powerpc64/ghashp8-ppc.S
Normal file
577
sys/crypto/openssl/powerpc64/ghashp8-ppc.S
Normal file
@ -0,0 +1,577 @@
|
||||
/* $FreeBSD$ */
|
||||
/* Do not modify. This file is auto-generated from ghashp8-ppc.pl. */
|
||||
.machine "any"
|
||||
|
||||
.abiversion 2
|
||||
.text
|
||||
|
||||
.globl gcm_init_p8
|
||||
.type gcm_init_p8,@function
|
||||
.align 5
|
||||
gcm_init_p8:
|
||||
.localentry gcm_init_p8,0
|
||||
|
||||
li 0,-4096
|
||||
li 8,0x10
|
||||
li 12,-1
|
||||
li 9,0x20
|
||||
or 0,0,0
|
||||
li 10,0x30
|
||||
.long 0x7D202699
|
||||
|
||||
vspltisb 8,-16
|
||||
vspltisb 5,1
|
||||
vaddubm 8,8,8
|
||||
vxor 4,4,4
|
||||
vor 8,8,5
|
||||
vsldoi 8,8,4,15
|
||||
vsldoi 6,4,5,1
|
||||
vaddubm 8,8,8
|
||||
vspltisb 7,7
|
||||
vor 8,8,6
|
||||
vspltb 6,9,0
|
||||
vsl 9,9,5
|
||||
vsrab 6,6,7
|
||||
vand 6,6,8
|
||||
vxor 3,9,6
|
||||
|
||||
vsldoi 9,3,3,8
|
||||
vsldoi 8,4,8,8
|
||||
vsldoi 11,4,9,8
|
||||
vsldoi 10,9,4,8
|
||||
|
||||
.long 0x7D001F99
|
||||
.long 0x7D681F99
|
||||
li 8,0x40
|
||||
.long 0x7D291F99
|
||||
li 9,0x50
|
||||
.long 0x7D4A1F99
|
||||
li 10,0x60
|
||||
|
||||
.long 0x10035CC8
|
||||
.long 0x10234CC8
|
||||
.long 0x104354C8
|
||||
|
||||
.long 0x10E044C8
|
||||
|
||||
vsldoi 5,1,4,8
|
||||
vsldoi 6,4,1,8
|
||||
vxor 0,0,5
|
||||
vxor 2,2,6
|
||||
|
||||
vsldoi 0,0,0,8
|
||||
vxor 0,0,7
|
||||
|
||||
vsldoi 6,0,0,8
|
||||
.long 0x100044C8
|
||||
vxor 6,6,2
|
||||
vxor 16,0,6
|
||||
|
||||
vsldoi 17,16,16,8
|
||||
vsldoi 19,4,17,8
|
||||
vsldoi 18,17,4,8
|
||||
|
||||
.long 0x7E681F99
|
||||
li 8,0x70
|
||||
.long 0x7E291F99
|
||||
li 9,0x80
|
||||
.long 0x7E4A1F99
|
||||
li 10,0x90
|
||||
.long 0x10039CC8
|
||||
.long 0x11B09CC8
|
||||
.long 0x10238CC8
|
||||
.long 0x11D08CC8
|
||||
.long 0x104394C8
|
||||
.long 0x11F094C8
|
||||
|
||||
.long 0x10E044C8
|
||||
.long 0x114D44C8
|
||||
|
||||
vsldoi 5,1,4,8
|
||||
vsldoi 6,4,1,8
|
||||
vsldoi 11,14,4,8
|
||||
vsldoi 9,4,14,8
|
||||
vxor 0,0,5
|
||||
vxor 2,2,6
|
||||
vxor 13,13,11
|
||||
vxor 15,15,9
|
||||
|
||||
vsldoi 0,0,0,8
|
||||
vsldoi 13,13,13,8
|
||||
vxor 0,0,7
|
||||
vxor 13,13,10
|
||||
|
||||
vsldoi 6,0,0,8
|
||||
vsldoi 9,13,13,8
|
||||
.long 0x100044C8
|
||||
.long 0x11AD44C8
|
||||
vxor 6,6,2
|
||||
vxor 9,9,15
|
||||
vxor 0,0,6
|
||||
vxor 13,13,9
|
||||
|
||||
vsldoi 9,0,0,8
|
||||
vsldoi 17,13,13,8
|
||||
vsldoi 11,4,9,8
|
||||
vsldoi 10,9,4,8
|
||||
vsldoi 19,4,17,8
|
||||
vsldoi 18,17,4,8
|
||||
|
||||
.long 0x7D681F99
|
||||
li 8,0xa0
|
||||
.long 0x7D291F99
|
||||
li 9,0xb0
|
||||
.long 0x7D4A1F99
|
||||
li 10,0xc0
|
||||
.long 0x7E681F99
|
||||
.long 0x7E291F99
|
||||
.long 0x7E4A1F99
|
||||
|
||||
or 12,12,12
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,2,0
|
||||
.long 0
|
||||
.size gcm_init_p8,.-gcm_init_p8
|
||||
.globl gcm_gmult_p8
|
||||
.type gcm_gmult_p8,@function
|
||||
.align 5
|
||||
gcm_gmult_p8:
|
||||
.localentry gcm_gmult_p8,0
|
||||
|
||||
lis 0,0xfff8
|
||||
li 8,0x10
|
||||
li 12,-1
|
||||
li 9,0x20
|
||||
or 0,0,0
|
||||
li 10,0x30
|
||||
.long 0x7C601E99
|
||||
|
||||
.long 0x7D682699
|
||||
|
||||
.long 0x7D292699
|
||||
|
||||
.long 0x7D4A2699
|
||||
|
||||
.long 0x7D002699
|
||||
|
||||
vxor 4,4,4
|
||||
|
||||
.long 0x10035CC8
|
||||
.long 0x10234CC8
|
||||
.long 0x104354C8
|
||||
|
||||
.long 0x10E044C8
|
||||
|
||||
vsldoi 5,1,4,8
|
||||
vsldoi 6,4,1,8
|
||||
vxor 0,0,5
|
||||
vxor 2,2,6
|
||||
|
||||
vsldoi 0,0,0,8
|
||||
vxor 0,0,7
|
||||
|
||||
vsldoi 6,0,0,8
|
||||
.long 0x100044C8
|
||||
vxor 6,6,2
|
||||
vxor 0,0,6
|
||||
|
||||
|
||||
.long 0x7C001F99
|
||||
|
||||
or 12,12,12
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,2,0
|
||||
.long 0
|
||||
.size gcm_gmult_p8,.-gcm_gmult_p8
|
||||
|
||||
.globl gcm_ghash_p8
|
||||
.type gcm_ghash_p8,@function
|
||||
.align 5
|
||||
gcm_ghash_p8:
|
||||
.localentry gcm_ghash_p8,0
|
||||
|
||||
li 0,-4096
|
||||
li 8,0x10
|
||||
li 12,-1
|
||||
li 9,0x20
|
||||
or 0,0,0
|
||||
li 10,0x30
|
||||
.long 0x7C001E99
|
||||
|
||||
.long 0x7D682699
|
||||
li 8,0x40
|
||||
|
||||
.long 0x7D292699
|
||||
li 9,0x50
|
||||
|
||||
.long 0x7D4A2699
|
||||
li 10,0x60
|
||||
|
||||
.long 0x7D002699
|
||||
|
||||
vxor 4,4,4
|
||||
|
||||
cmpldi 6,64
|
||||
bge .Lgcm_ghash_p8_4x
|
||||
|
||||
.long 0x7C602E99
|
||||
addi 5,5,16
|
||||
subic. 6,6,16
|
||||
|
||||
vxor 3,3,0
|
||||
beq .Lshort
|
||||
|
||||
.long 0x7E682699
|
||||
li 8,16
|
||||
.long 0x7E292699
|
||||
add 9,5,6
|
||||
.long 0x7E4A2699
|
||||
b .Loop_2x
|
||||
|
||||
.align 5
|
||||
.Loop_2x:
|
||||
.long 0x7E002E99
|
||||
|
||||
|
||||
subic 6,6,32
|
||||
.long 0x10039CC8
|
||||
.long 0x11B05CC8
|
||||
subfe 0,0,0
|
||||
.long 0x10238CC8
|
||||
.long 0x11D04CC8
|
||||
and 0,0,6
|
||||
.long 0x104394C8
|
||||
.long 0x11F054C8
|
||||
add 5,5,0
|
||||
|
||||
vxor 0,0,13
|
||||
vxor 1,1,14
|
||||
|
||||
.long 0x10E044C8
|
||||
|
||||
vsldoi 5,1,4,8
|
||||
vsldoi 6,4,1,8
|
||||
vxor 2,2,15
|
||||
vxor 0,0,5
|
||||
vxor 2,2,6
|
||||
|
||||
vsldoi 0,0,0,8
|
||||
vxor 0,0,7
|
||||
.long 0x7C682E99
|
||||
addi 5,5,32
|
||||
|
||||
vsldoi 6,0,0,8
|
||||
.long 0x100044C8
|
||||
|
||||
vxor 6,6,2
|
||||
vxor 3,3,6
|
||||
vxor 3,3,0
|
||||
cmpld 9,5
|
||||
bgt .Loop_2x
|
||||
|
||||
cmplwi 6,0
|
||||
bne .Leven
|
||||
|
||||
.Lshort:
|
||||
.long 0x10035CC8
|
||||
.long 0x10234CC8
|
||||
.long 0x104354C8
|
||||
|
||||
.long 0x10E044C8
|
||||
|
||||
vsldoi 5,1,4,8
|
||||
vsldoi 6,4,1,8
|
||||
vxor 0,0,5
|
||||
vxor 2,2,6
|
||||
|
||||
vsldoi 0,0,0,8
|
||||
vxor 0,0,7
|
||||
|
||||
vsldoi 6,0,0,8
|
||||
.long 0x100044C8
|
||||
vxor 6,6,2
|
||||
|
||||
.Leven:
|
||||
vxor 0,0,6
|
||||
|
||||
.long 0x7C001F99
|
||||
|
||||
or 12,12,12
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,4,0
|
||||
.long 0
|
||||
.align 5
|
||||
.gcm_ghash_p8_4x:
|
||||
.Lgcm_ghash_p8_4x:
|
||||
stdu 1,-256(1)
|
||||
li 10,63
|
||||
li 11,79
|
||||
stvx 20,10,1
|
||||
addi 10,10,32
|
||||
stvx 21,11,1
|
||||
addi 11,11,32
|
||||
stvx 22,10,1
|
||||
addi 10,10,32
|
||||
stvx 23,11,1
|
||||
addi 11,11,32
|
||||
stvx 24,10,1
|
||||
addi 10,10,32
|
||||
stvx 25,11,1
|
||||
addi 11,11,32
|
||||
stvx 26,10,1
|
||||
addi 10,10,32
|
||||
stvx 27,11,1
|
||||
addi 11,11,32
|
||||
stvx 28,10,1
|
||||
addi 10,10,32
|
||||
stvx 29,11,1
|
||||
addi 11,11,32
|
||||
stvx 30,10,1
|
||||
li 10,0x60
|
||||
stvx 31,11,1
|
||||
li 0,-1
|
||||
stw 12,252(1)
|
||||
or 0,0,0
|
||||
|
||||
lvsl 5,0,8
|
||||
|
||||
li 8,0x70
|
||||
.long 0x7E292699
|
||||
li 9,0x80
|
||||
vspltisb 6,8
|
||||
|
||||
li 10,0x90
|
||||
.long 0x7EE82699
|
||||
li 8,0xa0
|
||||
.long 0x7F092699
|
||||
li 9,0xb0
|
||||
.long 0x7F2A2699
|
||||
li 10,0xc0
|
||||
.long 0x7FA82699
|
||||
li 8,0x10
|
||||
.long 0x7FC92699
|
||||
li 9,0x20
|
||||
.long 0x7FEA2699
|
||||
li 10,0x30
|
||||
|
||||
vsldoi 7,4,6,8
|
||||
vaddubm 18,5,7
|
||||
vaddubm 19,6,18
|
||||
|
||||
srdi 6,6,4
|
||||
|
||||
.long 0x7C602E99
|
||||
.long 0x7E082E99
|
||||
subic. 6,6,8
|
||||
.long 0x7EC92E99
|
||||
.long 0x7F8A2E99
|
||||
addi 5,5,0x40
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
vxor 2,3,0
|
||||
|
||||
.long 0x11B0BCC8
|
||||
.long 0x11D0C4C8
|
||||
.long 0x11F0CCC8
|
||||
|
||||
vperm 11,17,9,18
|
||||
vperm 5,22,28,19
|
||||
vperm 10,17,9,19
|
||||
vperm 6,22,28,18
|
||||
.long 0x12B68CC8
|
||||
.long 0x12855CC8
|
||||
.long 0x137C4CC8
|
||||
.long 0x134654C8
|
||||
|
||||
vxor 21,21,14
|
||||
vxor 20,20,13
|
||||
vxor 27,27,21
|
||||
vxor 26,26,15
|
||||
|
||||
blt .Ltail_4x
|
||||
|
||||
.Loop_4x:
|
||||
.long 0x7C602E99
|
||||
.long 0x7E082E99
|
||||
subic. 6,6,4
|
||||
.long 0x7EC92E99
|
||||
.long 0x7F8A2E99
|
||||
addi 5,5,0x40
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.long 0x1002ECC8
|
||||
.long 0x1022F4C8
|
||||
.long 0x1042FCC8
|
||||
.long 0x11B0BCC8
|
||||
.long 0x11D0C4C8
|
||||
.long 0x11F0CCC8
|
||||
|
||||
vxor 0,0,20
|
||||
vxor 1,1,27
|
||||
vxor 2,2,26
|
||||
vperm 5,22,28,19
|
||||
vperm 6,22,28,18
|
||||
|
||||
.long 0x10E044C8
|
||||
.long 0x12855CC8
|
||||
.long 0x134654C8
|
||||
|
||||
vsldoi 5,1,4,8
|
||||
vsldoi 6,4,1,8
|
||||
vxor 0,0,5
|
||||
vxor 2,2,6
|
||||
|
||||
vsldoi 0,0,0,8
|
||||
vxor 0,0,7
|
||||
|
||||
vsldoi 6,0,0,8
|
||||
.long 0x12B68CC8
|
||||
.long 0x137C4CC8
|
||||
.long 0x100044C8
|
||||
|
||||
vxor 20,20,13
|
||||
vxor 26,26,15
|
||||
vxor 2,2,3
|
||||
vxor 21,21,14
|
||||
vxor 2,2,6
|
||||
vxor 27,27,21
|
||||
vxor 2,2,0
|
||||
bge .Loop_4x
|
||||
|
||||
.Ltail_4x:
|
||||
.long 0x1002ECC8
|
||||
.long 0x1022F4C8
|
||||
.long 0x1042FCC8
|
||||
|
||||
vxor 0,0,20
|
||||
vxor 1,1,27
|
||||
|
||||
.long 0x10E044C8
|
||||
|
||||
vsldoi 5,1,4,8
|
||||
vsldoi 6,4,1,8
|
||||
vxor 2,2,26
|
||||
vxor 0,0,5
|
||||
vxor 2,2,6
|
||||
|
||||
vsldoi 0,0,0,8
|
||||
vxor 0,0,7
|
||||
|
||||
vsldoi 6,0,0,8
|
||||
.long 0x100044C8
|
||||
vxor 6,6,2
|
||||
vxor 0,0,6
|
||||
|
||||
addic. 6,6,4
|
||||
beq .Ldone_4x
|
||||
|
||||
.long 0x7C602E99
|
||||
cmpldi 6,2
|
||||
li 6,-4
|
||||
blt .Lone
|
||||
.long 0x7E082E99
|
||||
beq .Ltwo
|
||||
|
||||
.Lthree:
|
||||
.long 0x7EC92E99
|
||||
|
||||
|
||||
|
||||
|
||||
vxor 2,3,0
|
||||
vor 29,23,23
|
||||
vor 30,24,24
|
||||
vor 31,25,25
|
||||
|
||||
vperm 5,16,22,19
|
||||
vperm 6,16,22,18
|
||||
.long 0x12B08CC8
|
||||
.long 0x13764CC8
|
||||
.long 0x12855CC8
|
||||
.long 0x134654C8
|
||||
|
||||
vxor 27,27,21
|
||||
b .Ltail_4x
|
||||
|
||||
.align 4
|
||||
.Ltwo:
|
||||
|
||||
|
||||
|
||||
vxor 2,3,0
|
||||
vperm 5,4,16,19
|
||||
vperm 6,4,16,18
|
||||
|
||||
vsldoi 29,4,17,8
|
||||
vor 30,17,17
|
||||
vsldoi 31,17,4,8
|
||||
|
||||
.long 0x12855CC8
|
||||
.long 0x13704CC8
|
||||
.long 0x134654C8
|
||||
|
||||
b .Ltail_4x
|
||||
|
||||
.align 4
|
||||
.Lone:
|
||||
|
||||
|
||||
vsldoi 29,4,9,8
|
||||
vor 30,9,9
|
||||
vsldoi 31,9,4,8
|
||||
|
||||
vxor 2,3,0
|
||||
vxor 20,20,20
|
||||
vxor 27,27,27
|
||||
vxor 26,26,26
|
||||
|
||||
b .Ltail_4x
|
||||
|
||||
.Ldone_4x:
|
||||
|
||||
.long 0x7C001F99
|
||||
|
||||
li 10,63
|
||||
li 11,79
|
||||
or 12,12,12
|
||||
lvx 20,10,1
|
||||
addi 10,10,32
|
||||
lvx 21,11,1
|
||||
addi 11,11,32
|
||||
lvx 22,10,1
|
||||
addi 10,10,32
|
||||
lvx 23,11,1
|
||||
addi 11,11,32
|
||||
lvx 24,10,1
|
||||
addi 10,10,32
|
||||
lvx 25,11,1
|
||||
addi 11,11,32
|
||||
lvx 26,10,1
|
||||
addi 10,10,32
|
||||
lvx 27,11,1
|
||||
addi 11,11,32
|
||||
lvx 28,10,1
|
||||
addi 10,10,32
|
||||
lvx 29,11,1
|
||||
addi 11,11,32
|
||||
lvx 30,10,1
|
||||
lvx 31,11,1
|
||||
addi 1,1,256
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x04,0,0x80,0,4,0
|
||||
.long 0
|
||||
.size gcm_ghash_p8,.-gcm_ghash_p8
|
||||
|
||||
.byte 71,72,65,83,72,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,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
|
||||
.align 2
|
671
sys/crypto/openssl/powerpc64/keccak1600-ppc64.S
Normal file
671
sys/crypto/openssl/powerpc64/keccak1600-ppc64.S
Normal file
@ -0,0 +1,671 @@
|
||||
/* $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
|
186
sys/crypto/openssl/powerpc64/poly1305-ppc.S
Normal file
186
sys/crypto/openssl/powerpc64/poly1305-ppc.S
Normal file
@ -0,0 +1,186 @@
|
||||
/* $FreeBSD$ */
|
||||
/* Do not modify. This file is auto-generated from poly1305-ppc.pl. */
|
||||
.machine "any"
|
||||
.abiversion 2
|
||||
.text
|
||||
.globl poly1305_init_int
|
||||
.type poly1305_init_int,@function
|
||||
.align 4
|
||||
poly1305_init_int:
|
||||
.localentry poly1305_init_int,0
|
||||
|
||||
xor 0,0,0
|
||||
std 0,0(3)
|
||||
std 0,8(3)
|
||||
std 0,16(3)
|
||||
|
||||
cmpld 4,0
|
||||
beq- .Lno_key
|
||||
li 7,4
|
||||
lwbrx 10,0,4
|
||||
li 11,8
|
||||
lwbrx 7,7,4
|
||||
li 8,12
|
||||
lwbrx 11,11,4
|
||||
lwbrx 8,8,4
|
||||
insrdi 10,7,32,0
|
||||
insrdi 11,8,32,0
|
||||
lis 8,0xfff
|
||||
ori 8,8,0xfffc
|
||||
insrdi 8,8,32,0
|
||||
ori 7,8,3
|
||||
|
||||
and 10,10,7
|
||||
and 11,11,8
|
||||
|
||||
std 10,32(3)
|
||||
std 11,40(3)
|
||||
|
||||
.Lno_key:
|
||||
xor 3,3,3
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,2,0
|
||||
.size poly1305_init_int,.-poly1305_init_int
|
||||
|
||||
.globl poly1305_blocks
|
||||
.type poly1305_blocks,@function
|
||||
.align 4
|
||||
poly1305_blocks:
|
||||
.localentry poly1305_blocks,0
|
||||
|
||||
srdi. 5,5,4
|
||||
beq- .Labort
|
||||
|
||||
stdu 1,-192(1)
|
||||
mflr 0
|
||||
std 27,152(1)
|
||||
std 28,160(1)
|
||||
std 29,168(1)
|
||||
std 30,176(1)
|
||||
std 31,184(1)
|
||||
std 0,208(1)
|
||||
|
||||
ld 27,32(3)
|
||||
ld 28,40(3)
|
||||
|
||||
ld 7,0(3)
|
||||
ld 8,8(3)
|
||||
ld 9,16(3)
|
||||
|
||||
srdi 29,28,2
|
||||
mtctr 5
|
||||
add 29,29,28
|
||||
li 0,3
|
||||
b .Loop
|
||||
|
||||
.align 4
|
||||
.Loop:
|
||||
li 10,4
|
||||
lwbrx 30,0,4
|
||||
li 31,8
|
||||
lwbrx 10,10,4
|
||||
li 11,12
|
||||
lwbrx 31,31,4
|
||||
lwbrx 11,11,4
|
||||
insrdi 30,10,32,0
|
||||
insrdi 31,11,32,0
|
||||
addi 4,4,16
|
||||
|
||||
addc 7,7,30
|
||||
adde 8,8,31
|
||||
|
||||
mulld 10,7,27
|
||||
mulhdu 11,7,27
|
||||
adde 9,9,6
|
||||
|
||||
mulld 30,8,29
|
||||
mulhdu 31,8,29
|
||||
addc 10,10,30
|
||||
adde 11,11,31
|
||||
|
||||
mulld 30,7,28
|
||||
mulhdu 12,7,28
|
||||
addc 11,11,30
|
||||
addze 12,12
|
||||
|
||||
mulld 30,8,27
|
||||
mulhdu 31,8,27
|
||||
addc 11,11,30
|
||||
adde 12,12,31
|
||||
|
||||
mulld 30,9,29
|
||||
mulld 31,9,27
|
||||
addc 11,11,30
|
||||
adde 12,12,31
|
||||
|
||||
andc 30,12,0
|
||||
and 9,12,0
|
||||
srdi 31,30,2
|
||||
add 30,30,31
|
||||
addc 7,10,30
|
||||
addze 8,11
|
||||
addze 9,9
|
||||
|
||||
bdnz .Loop
|
||||
|
||||
std 7,0(3)
|
||||
std 8,8(3)
|
||||
std 9,16(3)
|
||||
|
||||
ld 27,152(1)
|
||||
ld 28,160(1)
|
||||
ld 29,168(1)
|
||||
ld 30,176(1)
|
||||
ld 31,184(1)
|
||||
addi 1,1,192
|
||||
.Labort:
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,4,1,0x80,5,4,0
|
||||
.size poly1305_blocks,.-poly1305_blocks
|
||||
|
||||
.globl poly1305_emit
|
||||
.type poly1305_emit,@function
|
||||
.align 4
|
||||
poly1305_emit:
|
||||
.localentry poly1305_emit,0
|
||||
|
||||
ld 7,0(3)
|
||||
ld 8,8(3)
|
||||
ld 9,16(3)
|
||||
ld 6,0(5)
|
||||
ld 5,8(5)
|
||||
|
||||
addic 10,7,5
|
||||
addze 11,8
|
||||
addze 12,9
|
||||
|
||||
srdi 0,12,2
|
||||
neg 0,0
|
||||
|
||||
andc 7,7,0
|
||||
and 10,10,0
|
||||
andc 8,8,0
|
||||
and 11,11,0
|
||||
or 7,7,10
|
||||
or 8,8,11
|
||||
rotldi 6,6,32
|
||||
rotldi 5,5,32
|
||||
addc 7,7,6
|
||||
adde 8,8,5
|
||||
rldicl 0,7,32,32
|
||||
li 10,4
|
||||
stwbrx 7,0,4
|
||||
rldicl 7,8,32,32
|
||||
li 11,8
|
||||
stwbrx 0,10,4
|
||||
li 12,12
|
||||
stwbrx 8,11,4
|
||||
stwbrx 7,12,4
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,3,0
|
||||
.size poly1305_emit,.-poly1305_emit
|
||||
.byte 80,111,108,121,49,51,48,53,32,102,111,114,32,80,80,67,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
|
597
sys/crypto/openssl/powerpc64/poly1305-ppcfp.S
Normal file
597
sys/crypto/openssl/powerpc64/poly1305-ppcfp.S
Normal file
@ -0,0 +1,597 @@
|
||||
/* $FreeBSD$ */
|
||||
/* Do not modify. This file is auto-generated from poly1305-ppcfp.pl. */
|
||||
.machine "any"
|
||||
.abiversion 2
|
||||
.text
|
||||
|
||||
.globl poly1305_init_fpu
|
||||
.type poly1305_init_fpu,@function
|
||||
.align 6
|
||||
poly1305_init_fpu:
|
||||
.localentry poly1305_init_fpu,0
|
||||
|
||||
stdu 1,-48(1)
|
||||
mflr 6
|
||||
std 6,64(1)
|
||||
|
||||
bl .LPICmeup
|
||||
|
||||
xor 0,0,0
|
||||
mtlr 6
|
||||
|
||||
lfd 8,8*0(5)
|
||||
lfd 9,8*1(5)
|
||||
lfd 10,8*2(5)
|
||||
lfd 11,8*3(5)
|
||||
lfd 12,8*4(5)
|
||||
lfd 13,8*5(5)
|
||||
|
||||
stfd 8,8*0(3)
|
||||
stfd 9,8*1(3)
|
||||
stfd 10,8*2(3)
|
||||
stfd 11,8*3(3)
|
||||
|
||||
cmpld 4,0
|
||||
beq- .Lno_key
|
||||
|
||||
lfd 6,8*13(5)
|
||||
mffs 7
|
||||
|
||||
stfd 8,8*4(3)
|
||||
stfd 9,8*5(3)
|
||||
stfd 10,8*6(3)
|
||||
stfd 11,8*7(3)
|
||||
|
||||
li 8,4
|
||||
li 9,8
|
||||
li 10,12
|
||||
lwbrx 7,0,4
|
||||
lwbrx 8,8,4
|
||||
lwbrx 9,9,4
|
||||
lwbrx 10,10,4
|
||||
|
||||
lis 11,0xf000
|
||||
ori 12,11,3
|
||||
andc 7,7,11
|
||||
andc 8,8,12
|
||||
andc 9,9,12
|
||||
andc 10,10,12
|
||||
|
||||
stw 7,36(3)
|
||||
stw 8,44(3)
|
||||
stw 9,52(3)
|
||||
stw 10,60(3)
|
||||
|
||||
mtfsf 255,6
|
||||
stfd 8,8*18(3)
|
||||
stfd 9,8*19(3)
|
||||
stfd 10,8*20(3)
|
||||
stfd 11,8*21(3)
|
||||
stfd 12,8*22(3)
|
||||
stfd 13,8*23(3)
|
||||
|
||||
lfd 0,8*4(3)
|
||||
lfd 2,8*5(3)
|
||||
lfd 4,8*6(3)
|
||||
lfd 6,8*7(3)
|
||||
|
||||
fsub 0,0,8
|
||||
fsub 2,2,9
|
||||
fsub 4,4,10
|
||||
fsub 6,6,11
|
||||
|
||||
lfd 8,8*6(5)
|
||||
lfd 9,8*7(5)
|
||||
lfd 10,8*8(5)
|
||||
lfd 11,8*9(5)
|
||||
|
||||
fmul 3,2,13
|
||||
fmul 5,4,13
|
||||
stfd 7,8*15(3)
|
||||
fmul 7,6,13
|
||||
|
||||
fadd 1,0,8
|
||||
stfd 3,8*12(3)
|
||||
fadd 3,2,9
|
||||
stfd 5,8*13(3)
|
||||
fadd 5,4,10
|
||||
stfd 7,8*14(3)
|
||||
fadd 7,6,11
|
||||
|
||||
fsub 1,1,8
|
||||
fsub 3,3,9
|
||||
fsub 5,5,10
|
||||
fsub 7,7,11
|
||||
|
||||
lfd 8,8*10(5)
|
||||
lfd 9,8*11(5)
|
||||
lfd 10,8*12(5)
|
||||
|
||||
fsub 0,0,1
|
||||
fsub 2,2,3
|
||||
fsub 4,4,5
|
||||
fsub 6,6,7
|
||||
|
||||
stfd 1,8*5(3)
|
||||
stfd 3,8*7(3)
|
||||
stfd 5,8*9(3)
|
||||
stfd 7,8*11(3)
|
||||
|
||||
stfd 0,8*4(3)
|
||||
stfd 2,8*6(3)
|
||||
stfd 4,8*8(3)
|
||||
stfd 6,8*10(3)
|
||||
|
||||
lfd 2,8*12(3)
|
||||
lfd 4,8*13(3)
|
||||
lfd 6,8*14(3)
|
||||
lfd 0,8*15(3)
|
||||
|
||||
fadd 3,2,8
|
||||
fadd 5,4,9
|
||||
fadd 7,6,10
|
||||
|
||||
fsub 3,3,8
|
||||
fsub 5,5,9
|
||||
fsub 7,7,10
|
||||
|
||||
fsub 2,2,3
|
||||
fsub 4,4,5
|
||||
fsub 6,6,7
|
||||
|
||||
stfd 3,8*13(3)
|
||||
stfd 5,8*15(3)
|
||||
stfd 7,8*17(3)
|
||||
|
||||
stfd 2,8*12(3)
|
||||
stfd 4,8*14(3)
|
||||
stfd 6,8*16(3)
|
||||
|
||||
mtfsf 255,0
|
||||
.Lno_key:
|
||||
xor 3,3,3
|
||||
addi 1,1,48
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,4,1,0x80,0,2,0
|
||||
.size poly1305_init_fpu,.-poly1305_init_fpu
|
||||
|
||||
.globl poly1305_blocks_fpu
|
||||
.type poly1305_blocks_fpu,@function
|
||||
.align 4
|
||||
poly1305_blocks_fpu:
|
||||
.localentry poly1305_blocks_fpu,0
|
||||
|
||||
srwi. 5,5,4
|
||||
beq- .Labort
|
||||
|
||||
stdu 1,-240(1)
|
||||
mflr 0
|
||||
stfd 14,96(1)
|
||||
stfd 15,104(1)
|
||||
stfd 16,112(1)
|
||||
stfd 17,120(1)
|
||||
stfd 18,128(1)
|
||||
stfd 19,136(1)
|
||||
stfd 20,144(1)
|
||||
stfd 21,152(1)
|
||||
stfd 22,160(1)
|
||||
stfd 23,168(1)
|
||||
stfd 24,176(1)
|
||||
stfd 25,184(1)
|
||||
stfd 26,192(1)
|
||||
stfd 27,200(1)
|
||||
stfd 28,208(1)
|
||||
stfd 29,216(1)
|
||||
stfd 30,224(1)
|
||||
stfd 31,232(1)
|
||||
std 0,256(1)
|
||||
|
||||
xor 0,0,0
|
||||
li 10,1
|
||||
mtctr 5
|
||||
neg 5,5
|
||||
stw 0,80(1)
|
||||
stw 10,84(1)
|
||||
|
||||
lfd 8,8*18(3)
|
||||
lfd 9,8*19(3)
|
||||
lfd 10,8*20(3)
|
||||
lfd 11,8*21(3)
|
||||
lfd 12,8*22(3)
|
||||
lfd 13,8*23(3)
|
||||
|
||||
lfd 0,8*0(3)
|
||||
lfd 2,8*1(3)
|
||||
lfd 4,8*2(3)
|
||||
lfd 6,8*3(3)
|
||||
|
||||
stfd 8,48(1)
|
||||
oris 10,6,18736
|
||||
stfd 9,56(1)
|
||||
stfd 10,64(1)
|
||||
stw 10,72(1)
|
||||
|
||||
li 11,4
|
||||
li 12,8
|
||||
li 6,12
|
||||
lwbrx 7,0,4
|
||||
lwbrx 8,11,4
|
||||
lwbrx 9,12,4
|
||||
lwbrx 10,6,4
|
||||
addi 4,4,16
|
||||
|
||||
stw 7,52(1)
|
||||
stw 8,60(1)
|
||||
stw 9,68(1)
|
||||
stw 10,76(1)
|
||||
|
||||
mffs 28
|
||||
lfd 29,80(1)
|
||||
lfd 14,8*4(3)
|
||||
lfd 15,8*5(3)
|
||||
lfd 16,8*6(3)
|
||||
lfd 17,8*7(3)
|
||||
lfd 18,8*8(3)
|
||||
lfd 19,8*9(3)
|
||||
lfd 24,8*10(3)
|
||||
lfd 25,8*11(3)
|
||||
lfd 26,8*12(3)
|
||||
lfd 27,8*13(3)
|
||||
lfd 20,8*14(3)
|
||||
lfd 21,8*15(3)
|
||||
lfd 22,8*16(3)
|
||||
lfd 23,8*17(3)
|
||||
|
||||
stfd 28,80(1)
|
||||
mtfsf 255,29
|
||||
|
||||
addic 5,5,1
|
||||
addze 0,0
|
||||
slwi. 0,0,4
|
||||
sub 4,4,0
|
||||
|
||||
lfd 28,48(1)
|
||||
lfd 29,56(1)
|
||||
lfd 30,64(1)
|
||||
lfd 31,72(1)
|
||||
|
||||
fsub 0,0,8
|
||||
lwbrx 7,0,4
|
||||
fsub 2,2,9
|
||||
lwbrx 8,11,4
|
||||
fsub 4,4,10
|
||||
lwbrx 9,12,4
|
||||
fsub 6,6,11
|
||||
lwbrx 10,6,4
|
||||
|
||||
fsub 28,28,8
|
||||
addi 4,4,16
|
||||
fsub 29,29,9
|
||||
fsub 30,30,10
|
||||
fsub 31,31,11
|
||||
|
||||
fadd 28,28,0
|
||||
stw 7,52(1)
|
||||
fadd 29,29,2
|
||||
stw 8,60(1)
|
||||
fadd 30,30,4
|
||||
stw 9,68(1)
|
||||
fadd 31,31,6
|
||||
stw 10,76(1)
|
||||
|
||||
b .Lentry
|
||||
|
||||
.align 4
|
||||
.Loop:
|
||||
fsub 30,30,8
|
||||
addic 5,5,1
|
||||
fsub 31,31,9
|
||||
addze 0,0
|
||||
fsub 26,26,10
|
||||
slwi. 0,0,4
|
||||
fsub 27,27,11
|
||||
sub 4,4,0
|
||||
|
||||
fadd 0,0,30
|
||||
fadd 1,1,31
|
||||
fadd 4,4,26
|
||||
fadd 5,5,27
|
||||
|
||||
|
||||
fadd 26,2,10
|
||||
lwbrx 7,0,4
|
||||
fadd 27,3,10
|
||||
lwbrx 8,11,4
|
||||
fadd 30,6,12
|
||||
lwbrx 9,12,4
|
||||
fadd 31,7,12
|
||||
lwbrx 10,6,4
|
||||
fadd 24,0,9
|
||||
addi 4,4,16
|
||||
fadd 25,1,9
|
||||
fadd 28,4,11
|
||||
fadd 29,5,11
|
||||
|
||||
fsub 26,26,10
|
||||
stw 7,52(1)
|
||||
fsub 27,27,10
|
||||
stw 8,60(1)
|
||||
fsub 30,30,12
|
||||
stw 9,68(1)
|
||||
fsub 31,31,12
|
||||
stw 10,76(1)
|
||||
fsub 24,24,9
|
||||
fsub 25,25,9
|
||||
fsub 28,28,11
|
||||
fsub 29,29,11
|
||||
|
||||
fsub 2,2,26
|
||||
fsub 3,3,27
|
||||
fsub 6,6,30
|
||||
fsub 7,7,31
|
||||
fsub 4,4,28
|
||||
fsub 5,5,29
|
||||
fsub 0,0,24
|
||||
fsub 1,1,25
|
||||
|
||||
fadd 2,2,24
|
||||
fadd 3,3,25
|
||||
fadd 6,6,28
|
||||
fadd 7,7,29
|
||||
fadd 4,4,26
|
||||
fadd 5,5,27
|
||||
fmadd 0,30,13,0
|
||||
fmadd 1,31,13,1
|
||||
|
||||
fadd 29,2,3
|
||||
lfd 26,8*12(3)
|
||||
fadd 31,6,7
|
||||
lfd 27,8*13(3)
|
||||
fadd 30,4,5
|
||||
lfd 24,8*10(3)
|
||||
fadd 28,0,1
|
||||
lfd 25,8*11(3)
|
||||
.Lentry:
|
||||
fmul 0,22,29
|
||||
fmul 1,23,29
|
||||
fmul 4,16,29
|
||||
fmul 5,17,29
|
||||
fmul 2,14,29
|
||||
fmul 3,15,29
|
||||
fmul 6,18,29
|
||||
fmul 7,19,29
|
||||
|
||||
fmadd 0,26,31,0
|
||||
fmadd 1,27,31,1
|
||||
fmadd 4,22,31,4
|
||||
fmadd 5,23,31,5
|
||||
fmadd 2,20,31,2
|
||||
fmadd 3,21,31,3
|
||||
fmadd 6,14,31,6
|
||||
fmadd 7,15,31,7
|
||||
|
||||
fmadd 0,20,30,0
|
||||
fmadd 1,21,30,1
|
||||
fmadd 4,14,30,4
|
||||
fmadd 5,15,30,5
|
||||
fmadd 2,22,30,2
|
||||
fmadd 3,23,30,3
|
||||
fmadd 6,16,30,6
|
||||
fmadd 7,17,30,7
|
||||
|
||||
fmadd 0,14,28,0
|
||||
lfd 30,48(1)
|
||||
fmadd 1,15,28,1
|
||||
lfd 31,56(1)
|
||||
fmadd 4,18,28,4
|
||||
lfd 26,64(1)
|
||||
fmadd 5,19,28,5
|
||||
lfd 27,72(1)
|
||||
fmadd 2,16,28,2
|
||||
fmadd 3,17,28,3
|
||||
fmadd 6,24,28,6
|
||||
fmadd 7,25,28,7
|
||||
|
||||
bdnz .Loop
|
||||
|
||||
|
||||
fadd 24,0,9
|
||||
fadd 25,1,9
|
||||
fadd 28,4,11
|
||||
fadd 29,5,11
|
||||
fadd 26,2,10
|
||||
fadd 27,3,10
|
||||
fadd 30,6,12
|
||||
fadd 31,7,12
|
||||
|
||||
fsub 24,24,9
|
||||
fsub 25,25,9
|
||||
fsub 28,28,11
|
||||
fsub 29,29,11
|
||||
fsub 26,26,10
|
||||
fsub 27,27,10
|
||||
fsub 30,30,12
|
||||
fsub 31,31,12
|
||||
|
||||
fsub 2,2,26
|
||||
fsub 3,3,27
|
||||
fsub 6,6,30
|
||||
fsub 7,7,31
|
||||
fsub 4,4,28
|
||||
fsub 5,5,29
|
||||
fsub 0,0,24
|
||||
fsub 1,1,25
|
||||
|
||||
fadd 2,2,24
|
||||
fadd 3,3,25
|
||||
fadd 6,6,28
|
||||
fadd 7,7,29
|
||||
fadd 4,4,26
|
||||
fadd 5,5,27
|
||||
fmadd 0,30,13,0
|
||||
fmadd 1,31,13,1
|
||||
|
||||
fadd 29,2,3
|
||||
fadd 31,6,7
|
||||
fadd 30,4,5
|
||||
fadd 28,0,1
|
||||
|
||||
lfd 0,80(1)
|
||||
fadd 29,29,9
|
||||
fadd 31,31,11
|
||||
fadd 30,30,10
|
||||
fadd 28,28,8
|
||||
|
||||
stfd 29,8*1(3)
|
||||
stfd 31,8*3(3)
|
||||
stfd 30,8*2(3)
|
||||
stfd 28,8*0(3)
|
||||
|
||||
mtfsf 255,0
|
||||
lfd 14,96(1)
|
||||
lfd 15,104(1)
|
||||
lfd 16,112(1)
|
||||
lfd 17,120(1)
|
||||
lfd 18,128(1)
|
||||
lfd 19,136(1)
|
||||
lfd 20,144(1)
|
||||
lfd 21,152(1)
|
||||
lfd 22,160(1)
|
||||
lfd 23,168(1)
|
||||
lfd 24,176(1)
|
||||
lfd 25,184(1)
|
||||
lfd 26,192(1)
|
||||
lfd 27,200(1)
|
||||
lfd 28,208(1)
|
||||
lfd 29,216(1)
|
||||
lfd 30,224(1)
|
||||
lfd 31,232(1)
|
||||
addi 1,1,240
|
||||
.Labort:
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,4,1,0x80,0,4,0
|
||||
.size poly1305_blocks_fpu,.-poly1305_blocks_fpu
|
||||
.globl poly1305_emit_fpu
|
||||
.type poly1305_emit_fpu,@function
|
||||
.align 4
|
||||
poly1305_emit_fpu:
|
||||
.localentry poly1305_emit_fpu,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)
|
||||
|
||||
lwz 28,0(3)
|
||||
lwz 7,4(3)
|
||||
lwz 29,8(3)
|
||||
lwz 8,12(3)
|
||||
lwz 30,16(3)
|
||||
lwz 9,20(3)
|
||||
lwz 31,24(3)
|
||||
lwz 10,28(3)
|
||||
|
||||
lis 0,0xfff0
|
||||
andc 28,28,0
|
||||
andc 29,29,0
|
||||
andc 30,30,0
|
||||
andc 31,31,0
|
||||
li 0,3
|
||||
|
||||
srwi 6,31,2
|
||||
and 11,31,0
|
||||
andc 31,31,0
|
||||
add 31,31,6
|
||||
add 7,7,31
|
||||
add 8,8,28
|
||||
add 9,9,29
|
||||
add 10,10,30
|
||||
|
||||
srdi 28,7,32
|
||||
add 8,8,28
|
||||
srdi 29,8,32
|
||||
add 9,9,29
|
||||
srdi 30,9,32
|
||||
add 10,10,30
|
||||
srdi 31,10,32
|
||||
add 11,11,31
|
||||
|
||||
insrdi 7,8,32,0
|
||||
insrdi 9,10,32,0
|
||||
|
||||
addic 28,7,5
|
||||
addze 29,9
|
||||
addze 30,11
|
||||
|
||||
srdi 0,30,2
|
||||
neg 0,0
|
||||
sradi 0,0,63
|
||||
ld 30,0(5)
|
||||
ld 31,8(5)
|
||||
|
||||
andc 7,7,0
|
||||
and 28,28,0
|
||||
andc 9,9,0
|
||||
and 29,29,0
|
||||
or 7,7,28
|
||||
or 9,9,29
|
||||
rotldi 30,30,32
|
||||
rotldi 31,31,32
|
||||
addc 7,7,30
|
||||
adde 9,9,31
|
||||
|
||||
srdi 8,7,32
|
||||
srdi 10,9,32
|
||||
li 29,4
|
||||
stwbrx 7,0,4
|
||||
li 30,8
|
||||
stwbrx 8,29,4
|
||||
li 31,12
|
||||
stwbrx 9,30,4
|
||||
stwbrx 10,31,4
|
||||
ld 28,48(1)
|
||||
ld 29,56(1)
|
||||
ld 30,64(1)
|
||||
ld 31,72(1)
|
||||
addi 1,1,80
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,4,1,0x80,4,3,0
|
||||
.size poly1305_emit_fpu,.-poly1305_emit_fpu
|
||||
.align 6
|
||||
.LPICmeup:
|
||||
mflr 0
|
||||
bcl 20,31,$+4
|
||||
mflr 5
|
||||
addi 5,5,56
|
||||
mtlr 0
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.space 28
|
||||
|
||||
.long 0x43300000,0x00000000
|
||||
.long 0x45300000,0x00000000
|
||||
.long 0x47300000,0x00000000
|
||||
.long 0x49300000,0x00000000
|
||||
.long 0x4b500000,0x00000000
|
||||
|
||||
.long 0x37f40000,0x00000000
|
||||
|
||||
.long 0x44300000,0x00000000
|
||||
.long 0x46300000,0x00000000
|
||||
.long 0x48300000,0x00000000
|
||||
.long 0x4a300000,0x00000000
|
||||
.long 0x3e300000,0x00000000
|
||||
.long 0x40300000,0x00000000
|
||||
.long 0x42300000,0x00000000
|
||||
|
||||
.long 0x00000000,0x00000001
|
||||
.byte 80,111,108,121,49,51,48,53,32,102,111,114,32,80,80,67,32,70,80,85,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
|
||||
.align 4
|
1791
sys/crypto/openssl/powerpc64/ppc-mont.S
Normal file
1791
sys/crypto/openssl/powerpc64/ppc-mont.S
Normal file
File diff suppressed because it is too large
Load Diff
1877
sys/crypto/openssl/powerpc64/ppc.S
Normal file
1877
sys/crypto/openssl/powerpc64/ppc.S
Normal file
File diff suppressed because it is too large
Load Diff
388
sys/crypto/openssl/powerpc64/ppccpuid.S
Normal file
388
sys/crypto/openssl/powerpc64/ppccpuid.S
Normal file
@ -0,0 +1,388 @@
|
||||
/* $FreeBSD$ */
|
||||
/* Do not modify. This file is auto-generated from ppccpuid.pl. */
|
||||
.machine "any"
|
||||
.abiversion 2
|
||||
.text
|
||||
|
||||
.globl OPENSSL_fpu_probe
|
||||
.type OPENSSL_fpu_probe,@function
|
||||
.align 4
|
||||
OPENSSL_fpu_probe:
|
||||
.localentry OPENSSL_fpu_probe,0
|
||||
|
||||
fmr 0,0
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.size OPENSSL_fpu_probe,.-OPENSSL_fpu_probe
|
||||
.globl OPENSSL_ppc64_probe
|
||||
.type OPENSSL_ppc64_probe,@function
|
||||
.align 4
|
||||
OPENSSL_ppc64_probe:
|
||||
.localentry OPENSSL_ppc64_probe,0
|
||||
|
||||
fcfid 1,1
|
||||
rldicl 0,0,32,32
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.size OPENSSL_ppc64_probe,.-OPENSSL_ppc64_probe
|
||||
|
||||
.globl OPENSSL_altivec_probe
|
||||
.type OPENSSL_altivec_probe,@function
|
||||
.align 4
|
||||
OPENSSL_altivec_probe:
|
||||
.localentry OPENSSL_altivec_probe,0
|
||||
|
||||
.long 0x10000484
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.size OPENSSL_altivec_probe,.-OPENSSL_altivec_probe
|
||||
|
||||
.globl OPENSSL_crypto207_probe
|
||||
.type OPENSSL_crypto207_probe,@function
|
||||
.align 4
|
||||
OPENSSL_crypto207_probe:
|
||||
.localentry OPENSSL_crypto207_probe,0
|
||||
|
||||
.long 0x7C000E99
|
||||
.long 0x10000508
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.size OPENSSL_crypto207_probe,.-OPENSSL_crypto207_probe
|
||||
|
||||
.globl OPENSSL_madd300_probe
|
||||
.type OPENSSL_madd300_probe,@function
|
||||
.align 4
|
||||
OPENSSL_madd300_probe:
|
||||
.localentry OPENSSL_madd300_probe,0
|
||||
|
||||
xor 0,0,0
|
||||
.long 0x10600033
|
||||
.long 0x10600031
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
|
||||
.globl OPENSSL_wipe_cpu
|
||||
.type OPENSSL_wipe_cpu,@function
|
||||
.align 4
|
||||
OPENSSL_wipe_cpu:
|
||||
.localentry OPENSSL_wipe_cpu,0
|
||||
|
||||
xor 0,0,0
|
||||
fmr 0,31
|
||||
fmr 1,31
|
||||
fmr 2,31
|
||||
mr 3,1
|
||||
fmr 3,31
|
||||
xor 4,4,4
|
||||
fmr 4,31
|
||||
xor 5,5,5
|
||||
fmr 5,31
|
||||
xor 6,6,6
|
||||
fmr 6,31
|
||||
xor 7,7,7
|
||||
fmr 7,31
|
||||
xor 8,8,8
|
||||
fmr 8,31
|
||||
xor 9,9,9
|
||||
fmr 9,31
|
||||
xor 10,10,10
|
||||
fmr 10,31
|
||||
xor 11,11,11
|
||||
fmr 11,31
|
||||
xor 12,12,12
|
||||
fmr 12,31
|
||||
fmr 13,31
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.size OPENSSL_wipe_cpu,.-OPENSSL_wipe_cpu
|
||||
|
||||
.globl OPENSSL_atomic_add
|
||||
.type OPENSSL_atomic_add,@function
|
||||
.align 4
|
||||
OPENSSL_atomic_add:
|
||||
.localentry OPENSSL_atomic_add,0
|
||||
|
||||
.Ladd: lwarx 5,0,3
|
||||
add 0,4,5
|
||||
stwcx. 0,0,3
|
||||
bne- .Ladd
|
||||
extsw 3,0
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,2,0
|
||||
.long 0
|
||||
.size OPENSSL_atomic_add,.-OPENSSL_atomic_add
|
||||
|
||||
.globl OPENSSL_rdtsc_mftb
|
||||
.type OPENSSL_rdtsc_mftb,@function
|
||||
.align 4
|
||||
OPENSSL_rdtsc_mftb:
|
||||
.localentry OPENSSL_rdtsc_mftb,0
|
||||
|
||||
mftb 3
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.size OPENSSL_rdtsc_mftb,.-OPENSSL_rdtsc_mftb
|
||||
|
||||
.globl OPENSSL_rdtsc_mfspr268
|
||||
.type OPENSSL_rdtsc_mfspr268,@function
|
||||
.align 4
|
||||
OPENSSL_rdtsc_mfspr268:
|
||||
.localentry OPENSSL_rdtsc_mfspr268,0
|
||||
|
||||
mfspr 3,268
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.size OPENSSL_rdtsc_mfspr268,.-OPENSSL_rdtsc_mfspr268
|
||||
|
||||
.globl OPENSSL_cleanse
|
||||
.type OPENSSL_cleanse,@function
|
||||
.align 4
|
||||
OPENSSL_cleanse:
|
||||
.localentry OPENSSL_cleanse,0
|
||||
|
||||
cmpldi 4,7
|
||||
li 0,0
|
||||
bge .Lot
|
||||
cmpldi 4,0
|
||||
.long 0x4DC20020
|
||||
.Little: mtctr 4
|
||||
stb 0,0(3)
|
||||
addi 3,3,1
|
||||
bdnz $-8
|
||||
blr
|
||||
.Lot: andi. 5,3,3
|
||||
beq .Laligned
|
||||
stb 0,0(3)
|
||||
subi 4,4,1
|
||||
addi 3,3,1
|
||||
b .Lot
|
||||
.Laligned:
|
||||
srdi 5,4,2
|
||||
mtctr 5
|
||||
stw 0,0(3)
|
||||
addi 3,3,4
|
||||
bdnz $-8
|
||||
andi. 4,4,3
|
||||
bne .Little
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,2,0
|
||||
.long 0
|
||||
.size OPENSSL_cleanse,.-OPENSSL_cleanse
|
||||
|
||||
.globl CRYPTO_memcmp
|
||||
.type CRYPTO_memcmp,@function
|
||||
.align 4
|
||||
CRYPTO_memcmp:
|
||||
.localentry CRYPTO_memcmp,0
|
||||
|
||||
cmpldi 5,0
|
||||
li 0,0
|
||||
beq .Lno_data
|
||||
mtctr 5
|
||||
.Loop_cmp:
|
||||
lbz 6,0(3)
|
||||
addi 3,3,1
|
||||
lbz 7,0(4)
|
||||
addi 4,4,1
|
||||
xor 6,6,7
|
||||
or 0,0,6
|
||||
bdnz .Loop_cmp
|
||||
|
||||
.Lno_data:
|
||||
li 3,0
|
||||
sub 3,3,0
|
||||
extrwi 3,3,1,0
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,3,0
|
||||
.long 0
|
||||
.size CRYPTO_memcmp,.-CRYPTO_memcmp
|
||||
.globl OPENSSL_instrument_bus_mftb
|
||||
.type OPENSSL_instrument_bus_mftb,@function
|
||||
.align 4
|
||||
OPENSSL_instrument_bus_mftb:
|
||||
.localentry OPENSSL_instrument_bus_mftb,0
|
||||
|
||||
mtctr 4
|
||||
|
||||
mftb 7
|
||||
li 8,0
|
||||
|
||||
dcbf 0,3
|
||||
lwarx 6,0,3
|
||||
add 6,6,8
|
||||
stwcx. 6,0,3
|
||||
stwx 6,0,3
|
||||
|
||||
.Loop: mftb 6
|
||||
sub 8,6,7
|
||||
mr 7,6
|
||||
dcbf 0,3
|
||||
lwarx 6,0,3
|
||||
add 6,6,8
|
||||
stwcx. 6,0,3
|
||||
stwx 6,0,3
|
||||
addi 3,3,4
|
||||
bdnz .Loop
|
||||
|
||||
mr 3,4
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,2,0
|
||||
.long 0
|
||||
.size OPENSSL_instrument_bus_mftb,.-OPENSSL_instrument_bus_mftb
|
||||
|
||||
.globl OPENSSL_instrument_bus2_mftb
|
||||
.type OPENSSL_instrument_bus2_mftb,@function
|
||||
.align 4
|
||||
OPENSSL_instrument_bus2_mftb:
|
||||
.localentry OPENSSL_instrument_bus2_mftb,0
|
||||
|
||||
mr 0,4
|
||||
slwi 4,4,2
|
||||
|
||||
mftb 7
|
||||
li 8,0
|
||||
|
||||
dcbf 0,3
|
||||
lwarx 6,0,3
|
||||
add 6,6,8
|
||||
stwcx. 6,0,3
|
||||
stwx 6,0,3
|
||||
|
||||
mftb 6
|
||||
sub 8,6,7
|
||||
mr 7,6
|
||||
mr 9,8
|
||||
.Loop2:
|
||||
dcbf 0,3
|
||||
lwarx 6,0,3
|
||||
add 6,6,8
|
||||
stwcx. 6,0,3
|
||||
stwx 6,0,3
|
||||
|
||||
addic. 5,5,-1
|
||||
beq .Ldone2
|
||||
|
||||
mftb 6
|
||||
sub 8,6,7
|
||||
mr 7,6
|
||||
cmplw 7,8,9
|
||||
mr 9,8
|
||||
|
||||
mfcr 6
|
||||
not 6,6
|
||||
rlwinm 6,6,1,29,29
|
||||
|
||||
sub. 4,4,6
|
||||
add 3,3,6
|
||||
bne .Loop2
|
||||
|
||||
.Ldone2:
|
||||
srwi 4,4,2
|
||||
sub 3,0,4
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,3,0
|
||||
.long 0
|
||||
.size OPENSSL_instrument_bus2_mftb,.-OPENSSL_instrument_bus2_mftb
|
||||
|
||||
.globl OPENSSL_instrument_bus_mfspr268
|
||||
.type OPENSSL_instrument_bus_mfspr268,@function
|
||||
.align 4
|
||||
OPENSSL_instrument_bus_mfspr268:
|
||||
.localentry OPENSSL_instrument_bus_mfspr268,0
|
||||
|
||||
mtctr 4
|
||||
|
||||
mfspr 7,268
|
||||
li 8,0
|
||||
|
||||
dcbf 0,3
|
||||
lwarx 6,0,3
|
||||
add 6,6,8
|
||||
stwcx. 6,0,3
|
||||
stwx 6,0,3
|
||||
|
||||
.Loop3: mfspr 6,268
|
||||
sub 8,6,7
|
||||
mr 7,6
|
||||
dcbf 0,3
|
||||
lwarx 6,0,3
|
||||
add 6,6,8
|
||||
stwcx. 6,0,3
|
||||
stwx 6,0,3
|
||||
addi 3,3,4
|
||||
bdnz .Loop3
|
||||
|
||||
mr 3,4
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,2,0
|
||||
.long 0
|
||||
.size OPENSSL_instrument_bus_mfspr268,.-OPENSSL_instrument_bus_mfspr268
|
||||
|
||||
.globl OPENSSL_instrument_bus2_mfspr268
|
||||
.type OPENSSL_instrument_bus2_mfspr268,@function
|
||||
.align 4
|
||||
OPENSSL_instrument_bus2_mfspr268:
|
||||
.localentry OPENSSL_instrument_bus2_mfspr268,0
|
||||
|
||||
mr 0,4
|
||||
slwi 4,4,2
|
||||
|
||||
mfspr 7,268
|
||||
li 8,0
|
||||
|
||||
dcbf 0,3
|
||||
lwarx 6,0,3
|
||||
add 6,6,8
|
||||
stwcx. 6,0,3
|
||||
stwx 6,0,3
|
||||
|
||||
mfspr 6,268
|
||||
sub 8,6,7
|
||||
mr 7,6
|
||||
mr 9,8
|
||||
.Loop4:
|
||||
dcbf 0,3
|
||||
lwarx 6,0,3
|
||||
add 6,6,8
|
||||
stwcx. 6,0,3
|
||||
stwx 6,0,3
|
||||
|
||||
addic. 5,5,-1
|
||||
beq .Ldone4
|
||||
|
||||
mfspr 6,268
|
||||
sub 8,6,7
|
||||
mr 7,6
|
||||
cmplw 7,8,9
|
||||
mr 9,8
|
||||
|
||||
mfcr 6
|
||||
not 6,6
|
||||
rlwinm 6,6,1,29,29
|
||||
|
||||
sub. 4,4,6
|
||||
add 3,3,6
|
||||
bne .Loop4
|
||||
|
||||
.Ldone4:
|
||||
srwi 4,4,2
|
||||
sub 3,0,4
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,3,0
|
||||
.long 0
|
||||
.size OPENSSL_instrument_bus2_mfspr268,.-OPENSSL_instrument_bus2_mfspr268
|
1122
sys/crypto/openssl/powerpc64/sha1-ppc.S
Normal file
1122
sys/crypto/openssl/powerpc64/sha1-ppc.S
Normal file
File diff suppressed because it is too large
Load Diff
1325
sys/crypto/openssl/powerpc64/sha256-ppc.S
Normal file
1325
sys/crypto/openssl/powerpc64/sha256-ppc.S
Normal file
File diff suppressed because it is too large
Load Diff
739
sys/crypto/openssl/powerpc64/sha256p8-ppc.S
Normal file
739
sys/crypto/openssl/powerpc64/sha256p8-ppc.S
Normal file
@ -0,0 +1,739 @@
|
||||
/* $FreeBSD$ */
|
||||
/* Do not modify. This file is auto-generated from sha512p8-ppc.pl. */
|
||||
.machine "any"
|
||||
.abiversion 2
|
||||
.text
|
||||
|
||||
.globl sha256_block_p8
|
||||
.type sha256_block_p8,@function
|
||||
.align 6
|
||||
sha256_block_p8:
|
||||
.localentry sha256_block_p8,0
|
||||
|
||||
stdu 1,-384(1)
|
||||
mflr 8
|
||||
li 10,207
|
||||
li 11,223
|
||||
stvx 24,10,1
|
||||
addi 10,10,32
|
||||
li 12,-1
|
||||
stvx 25,11,1
|
||||
addi 11,11,32
|
||||
stvx 26,10,1
|
||||
addi 10,10,32
|
||||
stvx 27,11,1
|
||||
addi 11,11,32
|
||||
stvx 28,10,1
|
||||
addi 10,10,32
|
||||
stvx 29,11,1
|
||||
addi 11,11,32
|
||||
stvx 30,10,1
|
||||
stvx 31,11,1
|
||||
li 11,-4096+255
|
||||
stw 12,332(1)
|
||||
li 10,0x10
|
||||
std 26,336(1)
|
||||
li 26,0x20
|
||||
std 27,344(1)
|
||||
li 27,0x30
|
||||
std 28,352(1)
|
||||
li 28,0x40
|
||||
std 29,360(1)
|
||||
li 29,0x50
|
||||
std 30,368(1)
|
||||
li 30,0x60
|
||||
std 31,376(1)
|
||||
li 31,0x70
|
||||
std 8,400(1)
|
||||
or 11,11,11
|
||||
|
||||
bl .LPICmeup
|
||||
addi 11,1,79
|
||||
.long 0x7C001E19
|
||||
.long 0x7C8A1E19
|
||||
vsldoi 1,0,0,4
|
||||
vsldoi 2,0,0,8
|
||||
vsldoi 3,0,0,12
|
||||
vsldoi 5,4,4,4
|
||||
vsldoi 6,4,4,8
|
||||
vsldoi 7,4,4,12
|
||||
li 0,3
|
||||
b .Loop
|
||||
.align 5
|
||||
.Loop:
|
||||
lvx 28,0,6
|
||||
.long 0x7D002699
|
||||
addi 4,4,16
|
||||
mr 7,6
|
||||
stvx 0,0,11
|
||||
stvx 1,10,11
|
||||
stvx 2,26,11
|
||||
stvx 3,27,11
|
||||
stvx 4,28,11
|
||||
stvx 5,29,11
|
||||
stvx 6,30,11
|
||||
stvx 7,31,11
|
||||
vadduwm 7,7,28
|
||||
lvx 28,10,6
|
||||
vadduwm 7,7,8
|
||||
vsel 29,6,5,4
|
||||
vadduwm 6,6,28
|
||||
vadduwm 7,7,29
|
||||
.long 0x13C4FE82
|
||||
vadduwm 7,7,30
|
||||
vxor 29,0,1
|
||||
vsel 29,1,2,29
|
||||
vadduwm 3,3,7
|
||||
.long 0x13C08682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 7,7,30
|
||||
lvx 28,26,7
|
||||
vsldoi 9,8,8,4
|
||||
vadduwm 6,6,9
|
||||
vsel 29,5,4,3
|
||||
vadduwm 5,5,28
|
||||
vadduwm 6,6,29
|
||||
.long 0x13C3FE82
|
||||
vadduwm 6,6,30
|
||||
vxor 29,7,0
|
||||
vsel 29,0,1,29
|
||||
vadduwm 2,2,6
|
||||
.long 0x13C78682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 6,6,30
|
||||
lvx 28,27,7
|
||||
vsldoi 10,9,9,4
|
||||
vadduwm 5,5,10
|
||||
vsel 29,4,3,2
|
||||
vadduwm 4,4,28
|
||||
vadduwm 5,5,29
|
||||
.long 0x13C2FE82
|
||||
vadduwm 5,5,30
|
||||
vxor 29,6,7
|
||||
vsel 29,7,0,29
|
||||
vadduwm 1,1,5
|
||||
.long 0x13C68682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 5,5,30
|
||||
lvx 28,28,7
|
||||
.long 0x7D802699
|
||||
addi 4,4,16
|
||||
vsldoi 11,10,10,4
|
||||
vadduwm 4,4,11
|
||||
vsel 29,3,2,1
|
||||
vadduwm 3,3,28
|
||||
vadduwm 4,4,29
|
||||
.long 0x13C1FE82
|
||||
vadduwm 4,4,30
|
||||
vxor 29,5,6
|
||||
vsel 29,6,7,29
|
||||
vadduwm 0,0,4
|
||||
.long 0x13C58682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 4,4,30
|
||||
lvx 28,29,7
|
||||
vadduwm 3,3,12
|
||||
vsel 29,2,1,0
|
||||
vadduwm 2,2,28
|
||||
vadduwm 3,3,29
|
||||
.long 0x13C0FE82
|
||||
vadduwm 3,3,30
|
||||
vxor 29,4,5
|
||||
vsel 29,5,6,29
|
||||
vadduwm 7,7,3
|
||||
.long 0x13C48682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 3,3,30
|
||||
lvx 28,30,7
|
||||
vsldoi 13,12,12,4
|
||||
vadduwm 2,2,13
|
||||
vsel 29,1,0,7
|
||||
vadduwm 1,1,28
|
||||
vadduwm 2,2,29
|
||||
.long 0x13C7FE82
|
||||
vadduwm 2,2,30
|
||||
vxor 29,3,4
|
||||
vsel 29,4,5,29
|
||||
vadduwm 6,6,2
|
||||
.long 0x13C38682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 2,2,30
|
||||
lvx 28,31,7
|
||||
addi 7,7,0x80
|
||||
vsldoi 14,13,13,4
|
||||
vadduwm 1,1,14
|
||||
vsel 29,0,7,6
|
||||
vadduwm 0,0,28
|
||||
vadduwm 1,1,29
|
||||
.long 0x13C6FE82
|
||||
vadduwm 1,1,30
|
||||
vxor 29,2,3
|
||||
vsel 29,3,4,29
|
||||
vadduwm 5,5,1
|
||||
.long 0x13C28682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 1,1,30
|
||||
lvx 28,0,7
|
||||
.long 0x7E002699
|
||||
addi 4,4,16
|
||||
vsldoi 15,14,14,4
|
||||
vadduwm 0,0,15
|
||||
vsel 29,7,6,5
|
||||
vadduwm 7,7,28
|
||||
vadduwm 0,0,29
|
||||
.long 0x13C5FE82
|
||||
vadduwm 0,0,30
|
||||
vxor 29,1,2
|
||||
vsel 29,2,3,29
|
||||
vadduwm 4,4,0
|
||||
.long 0x13C18682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 0,0,30
|
||||
lvx 28,10,7
|
||||
vadduwm 7,7,16
|
||||
vsel 29,6,5,4
|
||||
vadduwm 6,6,28
|
||||
vadduwm 7,7,29
|
||||
.long 0x13C4FE82
|
||||
vadduwm 7,7,30
|
||||
vxor 29,0,1
|
||||
vsel 29,1,2,29
|
||||
vadduwm 3,3,7
|
||||
.long 0x13C08682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 7,7,30
|
||||
lvx 28,26,7
|
||||
vsldoi 17,16,16,4
|
||||
vadduwm 6,6,17
|
||||
vsel 29,5,4,3
|
||||
vadduwm 5,5,28
|
||||
vadduwm 6,6,29
|
||||
.long 0x13C3FE82
|
||||
vadduwm 6,6,30
|
||||
vxor 29,7,0
|
||||
vsel 29,0,1,29
|
||||
vadduwm 2,2,6
|
||||
.long 0x13C78682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 6,6,30
|
||||
lvx 28,27,7
|
||||
vsldoi 18,17,17,4
|
||||
vadduwm 5,5,18
|
||||
vsel 29,4,3,2
|
||||
vadduwm 4,4,28
|
||||
vadduwm 5,5,29
|
||||
.long 0x13C2FE82
|
||||
vadduwm 5,5,30
|
||||
vxor 29,6,7
|
||||
vsel 29,7,0,29
|
||||
vadduwm 1,1,5
|
||||
.long 0x13C68682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 5,5,30
|
||||
lvx 28,28,7
|
||||
.long 0x7F002699
|
||||
addi 4,4,16
|
||||
vsldoi 19,18,18,4
|
||||
vadduwm 4,4,19
|
||||
vsel 29,3,2,1
|
||||
vadduwm 3,3,28
|
||||
vadduwm 4,4,29
|
||||
.long 0x13C1FE82
|
||||
vadduwm 4,4,30
|
||||
vxor 29,5,6
|
||||
vsel 29,6,7,29
|
||||
vadduwm 0,0,4
|
||||
.long 0x13C58682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 4,4,30
|
||||
lvx 28,29,7
|
||||
vadduwm 3,3,24
|
||||
vsel 29,2,1,0
|
||||
vadduwm 2,2,28
|
||||
vadduwm 3,3,29
|
||||
.long 0x13C0FE82
|
||||
vadduwm 3,3,30
|
||||
vxor 29,4,5
|
||||
vsel 29,5,6,29
|
||||
vadduwm 7,7,3
|
||||
.long 0x13C48682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 3,3,30
|
||||
lvx 28,30,7
|
||||
vsldoi 25,24,24,4
|
||||
vadduwm 2,2,25
|
||||
vsel 29,1,0,7
|
||||
vadduwm 1,1,28
|
||||
vadduwm 2,2,29
|
||||
.long 0x13C7FE82
|
||||
vadduwm 2,2,30
|
||||
vxor 29,3,4
|
||||
vsel 29,4,5,29
|
||||
vadduwm 6,6,2
|
||||
.long 0x13C38682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 2,2,30
|
||||
lvx 28,31,7
|
||||
addi 7,7,0x80
|
||||
vsldoi 26,25,25,4
|
||||
vadduwm 1,1,26
|
||||
vsel 29,0,7,6
|
||||
vadduwm 0,0,28
|
||||
vadduwm 1,1,29
|
||||
.long 0x13C6FE82
|
||||
vadduwm 1,1,30
|
||||
vxor 29,2,3
|
||||
vsel 29,3,4,29
|
||||
vadduwm 5,5,1
|
||||
.long 0x13C28682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 1,1,30
|
||||
lvx 28,0,7
|
||||
vsldoi 27,26,26,4
|
||||
.long 0x13C90682
|
||||
vadduwm 8,8,30
|
||||
.long 0x13DA7E82
|
||||
vadduwm 8,8,30
|
||||
vadduwm 8,8,17
|
||||
vadduwm 0,0,27
|
||||
vsel 29,7,6,5
|
||||
vadduwm 7,7,28
|
||||
vadduwm 0,0,29
|
||||
.long 0x13C5FE82
|
||||
vadduwm 0,0,30
|
||||
vxor 29,1,2
|
||||
vsel 29,2,3,29
|
||||
vadduwm 4,4,0
|
||||
.long 0x13C18682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 0,0,30
|
||||
lvx 28,10,7
|
||||
mtctr 0
|
||||
b .L16_xx
|
||||
.align 5
|
||||
.L16_xx:
|
||||
.long 0x13CA0682
|
||||
vadduwm 9,9,30
|
||||
.long 0x13DB7E82
|
||||
vadduwm 9,9,30
|
||||
vadduwm 9,9,18
|
||||
vadduwm 7,7,8
|
||||
vsel 29,6,5,4
|
||||
vadduwm 6,6,28
|
||||
vadduwm 7,7,29
|
||||
.long 0x13C4FE82
|
||||
vadduwm 7,7,30
|
||||
vxor 29,0,1
|
||||
vsel 29,1,2,29
|
||||
vadduwm 3,3,7
|
||||
.long 0x13C08682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 7,7,30
|
||||
lvx 28,26,7
|
||||
.long 0x13CB0682
|
||||
vadduwm 10,10,30
|
||||
.long 0x13C87E82
|
||||
vadduwm 10,10,30
|
||||
vadduwm 10,10,19
|
||||
vadduwm 6,6,9
|
||||
vsel 29,5,4,3
|
||||
vadduwm 5,5,28
|
||||
vadduwm 6,6,29
|
||||
.long 0x13C3FE82
|
||||
vadduwm 6,6,30
|
||||
vxor 29,7,0
|
||||
vsel 29,0,1,29
|
||||
vadduwm 2,2,6
|
||||
.long 0x13C78682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 6,6,30
|
||||
lvx 28,27,7
|
||||
.long 0x13CC0682
|
||||
vadduwm 11,11,30
|
||||
.long 0x13C97E82
|
||||
vadduwm 11,11,30
|
||||
vadduwm 11,11,24
|
||||
vadduwm 5,5,10
|
||||
vsel 29,4,3,2
|
||||
vadduwm 4,4,28
|
||||
vadduwm 5,5,29
|
||||
.long 0x13C2FE82
|
||||
vadduwm 5,5,30
|
||||
vxor 29,6,7
|
||||
vsel 29,7,0,29
|
||||
vadduwm 1,1,5
|
||||
.long 0x13C68682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 5,5,30
|
||||
lvx 28,28,7
|
||||
.long 0x13CD0682
|
||||
vadduwm 12,12,30
|
||||
.long 0x13CA7E82
|
||||
vadduwm 12,12,30
|
||||
vadduwm 12,12,25
|
||||
vadduwm 4,4,11
|
||||
vsel 29,3,2,1
|
||||
vadduwm 3,3,28
|
||||
vadduwm 4,4,29
|
||||
.long 0x13C1FE82
|
||||
vadduwm 4,4,30
|
||||
vxor 29,5,6
|
||||
vsel 29,6,7,29
|
||||
vadduwm 0,0,4
|
||||
.long 0x13C58682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 4,4,30
|
||||
lvx 28,29,7
|
||||
.long 0x13CE0682
|
||||
vadduwm 13,13,30
|
||||
.long 0x13CB7E82
|
||||
vadduwm 13,13,30
|
||||
vadduwm 13,13,26
|
||||
vadduwm 3,3,12
|
||||
vsel 29,2,1,0
|
||||
vadduwm 2,2,28
|
||||
vadduwm 3,3,29
|
||||
.long 0x13C0FE82
|
||||
vadduwm 3,3,30
|
||||
vxor 29,4,5
|
||||
vsel 29,5,6,29
|
||||
vadduwm 7,7,3
|
||||
.long 0x13C48682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 3,3,30
|
||||
lvx 28,30,7
|
||||
.long 0x13CF0682
|
||||
vadduwm 14,14,30
|
||||
.long 0x13CC7E82
|
||||
vadduwm 14,14,30
|
||||
vadduwm 14,14,27
|
||||
vadduwm 2,2,13
|
||||
vsel 29,1,0,7
|
||||
vadduwm 1,1,28
|
||||
vadduwm 2,2,29
|
||||
.long 0x13C7FE82
|
||||
vadduwm 2,2,30
|
||||
vxor 29,3,4
|
||||
vsel 29,4,5,29
|
||||
vadduwm 6,6,2
|
||||
.long 0x13C38682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 2,2,30
|
||||
lvx 28,31,7
|
||||
addi 7,7,0x80
|
||||
.long 0x13D00682
|
||||
vadduwm 15,15,30
|
||||
.long 0x13CD7E82
|
||||
vadduwm 15,15,30
|
||||
vadduwm 15,15,8
|
||||
vadduwm 1,1,14
|
||||
vsel 29,0,7,6
|
||||
vadduwm 0,0,28
|
||||
vadduwm 1,1,29
|
||||
.long 0x13C6FE82
|
||||
vadduwm 1,1,30
|
||||
vxor 29,2,3
|
||||
vsel 29,3,4,29
|
||||
vadduwm 5,5,1
|
||||
.long 0x13C28682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 1,1,30
|
||||
lvx 28,0,7
|
||||
.long 0x13D10682
|
||||
vadduwm 16,16,30
|
||||
.long 0x13CE7E82
|
||||
vadduwm 16,16,30
|
||||
vadduwm 16,16,9
|
||||
vadduwm 0,0,15
|
||||
vsel 29,7,6,5
|
||||
vadduwm 7,7,28
|
||||
vadduwm 0,0,29
|
||||
.long 0x13C5FE82
|
||||
vadduwm 0,0,30
|
||||
vxor 29,1,2
|
||||
vsel 29,2,3,29
|
||||
vadduwm 4,4,0
|
||||
.long 0x13C18682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 0,0,30
|
||||
lvx 28,10,7
|
||||
.long 0x13D20682
|
||||
vadduwm 17,17,30
|
||||
.long 0x13CF7E82
|
||||
vadduwm 17,17,30
|
||||
vadduwm 17,17,10
|
||||
vadduwm 7,7,16
|
||||
vsel 29,6,5,4
|
||||
vadduwm 6,6,28
|
||||
vadduwm 7,7,29
|
||||
.long 0x13C4FE82
|
||||
vadduwm 7,7,30
|
||||
vxor 29,0,1
|
||||
vsel 29,1,2,29
|
||||
vadduwm 3,3,7
|
||||
.long 0x13C08682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 7,7,30
|
||||
lvx 28,26,7
|
||||
.long 0x13D30682
|
||||
vadduwm 18,18,30
|
||||
.long 0x13D07E82
|
||||
vadduwm 18,18,30
|
||||
vadduwm 18,18,11
|
||||
vadduwm 6,6,17
|
||||
vsel 29,5,4,3
|
||||
vadduwm 5,5,28
|
||||
vadduwm 6,6,29
|
||||
.long 0x13C3FE82
|
||||
vadduwm 6,6,30
|
||||
vxor 29,7,0
|
||||
vsel 29,0,1,29
|
||||
vadduwm 2,2,6
|
||||
.long 0x13C78682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 6,6,30
|
||||
lvx 28,27,7
|
||||
.long 0x13D80682
|
||||
vadduwm 19,19,30
|
||||
.long 0x13D17E82
|
||||
vadduwm 19,19,30
|
||||
vadduwm 19,19,12
|
||||
vadduwm 5,5,18
|
||||
vsel 29,4,3,2
|
||||
vadduwm 4,4,28
|
||||
vadduwm 5,5,29
|
||||
.long 0x13C2FE82
|
||||
vadduwm 5,5,30
|
||||
vxor 29,6,7
|
||||
vsel 29,7,0,29
|
||||
vadduwm 1,1,5
|
||||
.long 0x13C68682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 5,5,30
|
||||
lvx 28,28,7
|
||||
.long 0x13D90682
|
||||
vadduwm 24,24,30
|
||||
.long 0x13D27E82
|
||||
vadduwm 24,24,30
|
||||
vadduwm 24,24,13
|
||||
vadduwm 4,4,19
|
||||
vsel 29,3,2,1
|
||||
vadduwm 3,3,28
|
||||
vadduwm 4,4,29
|
||||
.long 0x13C1FE82
|
||||
vadduwm 4,4,30
|
||||
vxor 29,5,6
|
||||
vsel 29,6,7,29
|
||||
vadduwm 0,0,4
|
||||
.long 0x13C58682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 4,4,30
|
||||
lvx 28,29,7
|
||||
.long 0x13DA0682
|
||||
vadduwm 25,25,30
|
||||
.long 0x13D37E82
|
||||
vadduwm 25,25,30
|
||||
vadduwm 25,25,14
|
||||
vadduwm 3,3,24
|
||||
vsel 29,2,1,0
|
||||
vadduwm 2,2,28
|
||||
vadduwm 3,3,29
|
||||
.long 0x13C0FE82
|
||||
vadduwm 3,3,30
|
||||
vxor 29,4,5
|
||||
vsel 29,5,6,29
|
||||
vadduwm 7,7,3
|
||||
.long 0x13C48682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 3,3,30
|
||||
lvx 28,30,7
|
||||
.long 0x13DB0682
|
||||
vadduwm 26,26,30
|
||||
.long 0x13D87E82
|
||||
vadduwm 26,26,30
|
||||
vadduwm 26,26,15
|
||||
vadduwm 2,2,25
|
||||
vsel 29,1,0,7
|
||||
vadduwm 1,1,28
|
||||
vadduwm 2,2,29
|
||||
.long 0x13C7FE82
|
||||
vadduwm 2,2,30
|
||||
vxor 29,3,4
|
||||
vsel 29,4,5,29
|
||||
vadduwm 6,6,2
|
||||
.long 0x13C38682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 2,2,30
|
||||
lvx 28,31,7
|
||||
addi 7,7,0x80
|
||||
.long 0x13C80682
|
||||
vadduwm 27,27,30
|
||||
.long 0x13D97E82
|
||||
vadduwm 27,27,30
|
||||
vadduwm 27,27,16
|
||||
vadduwm 1,1,26
|
||||
vsel 29,0,7,6
|
||||
vadduwm 0,0,28
|
||||
vadduwm 1,1,29
|
||||
.long 0x13C6FE82
|
||||
vadduwm 1,1,30
|
||||
vxor 29,2,3
|
||||
vsel 29,3,4,29
|
||||
vadduwm 5,5,1
|
||||
.long 0x13C28682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 1,1,30
|
||||
lvx 28,0,7
|
||||
.long 0x13C90682
|
||||
vadduwm 8,8,30
|
||||
.long 0x13DA7E82
|
||||
vadduwm 8,8,30
|
||||
vadduwm 8,8,17
|
||||
vadduwm 0,0,27
|
||||
vsel 29,7,6,5
|
||||
vadduwm 7,7,28
|
||||
vadduwm 0,0,29
|
||||
.long 0x13C5FE82
|
||||
vadduwm 0,0,30
|
||||
vxor 29,1,2
|
||||
vsel 29,2,3,29
|
||||
vadduwm 4,4,0
|
||||
.long 0x13C18682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 0,0,30
|
||||
lvx 28,10,7
|
||||
bdnz .L16_xx
|
||||
|
||||
lvx 10,0,11
|
||||
subic. 5,5,1
|
||||
lvx 11,10,11
|
||||
vadduwm 0,0,10
|
||||
lvx 12,26,11
|
||||
vadduwm 1,1,11
|
||||
lvx 13,27,11
|
||||
vadduwm 2,2,12
|
||||
lvx 14,28,11
|
||||
vadduwm 3,3,13
|
||||
lvx 15,29,11
|
||||
vadduwm 4,4,14
|
||||
lvx 16,30,11
|
||||
vadduwm 5,5,15
|
||||
lvx 17,31,11
|
||||
vadduwm 6,6,16
|
||||
vadduwm 7,7,17
|
||||
bne .Loop
|
||||
lvx 8,26,7
|
||||
vperm 0,0,1,28
|
||||
lvx 9,27,7
|
||||
vperm 4,4,5,28
|
||||
vperm 0,0,2,8
|
||||
vperm 4,4,6,8
|
||||
vperm 0,0,3,9
|
||||
vperm 4,4,7,9
|
||||
.long 0x7C001F19
|
||||
.long 0x7C8A1F19
|
||||
addi 11,1,207
|
||||
mtlr 8
|
||||
or 12,12,12
|
||||
lvx 24,0,11
|
||||
lvx 25,10,11
|
||||
lvx 26,26,11
|
||||
lvx 27,27,11
|
||||
lvx 28,28,11
|
||||
lvx 29,29,11
|
||||
lvx 30,30,11
|
||||
lvx 31,31,11
|
||||
ld 26,336(1)
|
||||
ld 27,344(1)
|
||||
ld 28,352(1)
|
||||
ld 29,360(1)
|
||||
ld 30,368(1)
|
||||
ld 31,376(1)
|
||||
addi 1,1,384
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,4,1,0x80,6,3,0
|
||||
.long 0
|
||||
.size sha256_block_p8,.-sha256_block_p8
|
||||
.align 6
|
||||
.LPICmeup:
|
||||
mflr 0
|
||||
bcl 20,31,$+4
|
||||
mflr 6
|
||||
addi 6,6,56
|
||||
mtlr 0
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.space 28
|
||||
.long 0x428a2f98,0x428a2f98,0x428a2f98,0x428a2f98
|
||||
.long 0x71374491,0x71374491,0x71374491,0x71374491
|
||||
.long 0xb5c0fbcf,0xb5c0fbcf,0xb5c0fbcf,0xb5c0fbcf
|
||||
.long 0xe9b5dba5,0xe9b5dba5,0xe9b5dba5,0xe9b5dba5
|
||||
.long 0x3956c25b,0x3956c25b,0x3956c25b,0x3956c25b
|
||||
.long 0x59f111f1,0x59f111f1,0x59f111f1,0x59f111f1
|
||||
.long 0x923f82a4,0x923f82a4,0x923f82a4,0x923f82a4
|
||||
.long 0xab1c5ed5,0xab1c5ed5,0xab1c5ed5,0xab1c5ed5
|
||||
.long 0xd807aa98,0xd807aa98,0xd807aa98,0xd807aa98
|
||||
.long 0x12835b01,0x12835b01,0x12835b01,0x12835b01
|
||||
.long 0x243185be,0x243185be,0x243185be,0x243185be
|
||||
.long 0x550c7dc3,0x550c7dc3,0x550c7dc3,0x550c7dc3
|
||||
.long 0x72be5d74,0x72be5d74,0x72be5d74,0x72be5d74
|
||||
.long 0x80deb1fe,0x80deb1fe,0x80deb1fe,0x80deb1fe
|
||||
.long 0x9bdc06a7,0x9bdc06a7,0x9bdc06a7,0x9bdc06a7
|
||||
.long 0xc19bf174,0xc19bf174,0xc19bf174,0xc19bf174
|
||||
.long 0xe49b69c1,0xe49b69c1,0xe49b69c1,0xe49b69c1
|
||||
.long 0xefbe4786,0xefbe4786,0xefbe4786,0xefbe4786
|
||||
.long 0x0fc19dc6,0x0fc19dc6,0x0fc19dc6,0x0fc19dc6
|
||||
.long 0x240ca1cc,0x240ca1cc,0x240ca1cc,0x240ca1cc
|
||||
.long 0x2de92c6f,0x2de92c6f,0x2de92c6f,0x2de92c6f
|
||||
.long 0x4a7484aa,0x4a7484aa,0x4a7484aa,0x4a7484aa
|
||||
.long 0x5cb0a9dc,0x5cb0a9dc,0x5cb0a9dc,0x5cb0a9dc
|
||||
.long 0x76f988da,0x76f988da,0x76f988da,0x76f988da
|
||||
.long 0x983e5152,0x983e5152,0x983e5152,0x983e5152
|
||||
.long 0xa831c66d,0xa831c66d,0xa831c66d,0xa831c66d
|
||||
.long 0xb00327c8,0xb00327c8,0xb00327c8,0xb00327c8
|
||||
.long 0xbf597fc7,0xbf597fc7,0xbf597fc7,0xbf597fc7
|
||||
.long 0xc6e00bf3,0xc6e00bf3,0xc6e00bf3,0xc6e00bf3
|
||||
.long 0xd5a79147,0xd5a79147,0xd5a79147,0xd5a79147
|
||||
.long 0x06ca6351,0x06ca6351,0x06ca6351,0x06ca6351
|
||||
.long 0x14292967,0x14292967,0x14292967,0x14292967
|
||||
.long 0x27b70a85,0x27b70a85,0x27b70a85,0x27b70a85
|
||||
.long 0x2e1b2138,0x2e1b2138,0x2e1b2138,0x2e1b2138
|
||||
.long 0x4d2c6dfc,0x4d2c6dfc,0x4d2c6dfc,0x4d2c6dfc
|
||||
.long 0x53380d13,0x53380d13,0x53380d13,0x53380d13
|
||||
.long 0x650a7354,0x650a7354,0x650a7354,0x650a7354
|
||||
.long 0x766a0abb,0x766a0abb,0x766a0abb,0x766a0abb
|
||||
.long 0x81c2c92e,0x81c2c92e,0x81c2c92e,0x81c2c92e
|
||||
.long 0x92722c85,0x92722c85,0x92722c85,0x92722c85
|
||||
.long 0xa2bfe8a1,0xa2bfe8a1,0xa2bfe8a1,0xa2bfe8a1
|
||||
.long 0xa81a664b,0xa81a664b,0xa81a664b,0xa81a664b
|
||||
.long 0xc24b8b70,0xc24b8b70,0xc24b8b70,0xc24b8b70
|
||||
.long 0xc76c51a3,0xc76c51a3,0xc76c51a3,0xc76c51a3
|
||||
.long 0xd192e819,0xd192e819,0xd192e819,0xd192e819
|
||||
.long 0xd6990624,0xd6990624,0xd6990624,0xd6990624
|
||||
.long 0xf40e3585,0xf40e3585,0xf40e3585,0xf40e3585
|
||||
.long 0x106aa070,0x106aa070,0x106aa070,0x106aa070
|
||||
.long 0x19a4c116,0x19a4c116,0x19a4c116,0x19a4c116
|
||||
.long 0x1e376c08,0x1e376c08,0x1e376c08,0x1e376c08
|
||||
.long 0x2748774c,0x2748774c,0x2748774c,0x2748774c
|
||||
.long 0x34b0bcb5,0x34b0bcb5,0x34b0bcb5,0x34b0bcb5
|
||||
.long 0x391c0cb3,0x391c0cb3,0x391c0cb3,0x391c0cb3
|
||||
.long 0x4ed8aa4a,0x4ed8aa4a,0x4ed8aa4a,0x4ed8aa4a
|
||||
.long 0x5b9cca4f,0x5b9cca4f,0x5b9cca4f,0x5b9cca4f
|
||||
.long 0x682e6ff3,0x682e6ff3,0x682e6ff3,0x682e6ff3
|
||||
.long 0x748f82ee,0x748f82ee,0x748f82ee,0x748f82ee
|
||||
.long 0x78a5636f,0x78a5636f,0x78a5636f,0x78a5636f
|
||||
.long 0x84c87814,0x84c87814,0x84c87814,0x84c87814
|
||||
.long 0x8cc70208,0x8cc70208,0x8cc70208,0x8cc70208
|
||||
.long 0x90befffa,0x90befffa,0x90befffa,0x90befffa
|
||||
.long 0xa4506ceb,0xa4506ceb,0xa4506ceb,0xa4506ceb
|
||||
.long 0xbef9a3f7,0xbef9a3f7,0xbef9a3f7,0xbef9a3f7
|
||||
.long 0xc67178f2,0xc67178f2,0xc67178f2,0xc67178f2
|
||||
.long 0,0,0,0
|
||||
.long 0x00010203,0x10111213,0x10111213,0x10111213
|
||||
.long 0x00010203,0x04050607,0x10111213,0x10111213
|
||||
.long 0x00010203,0x04050607,0x08090a0b,0x10111213
|
||||
.byte 83,72,65,50,53,54,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,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
|
||||
.align 2
|
1421
sys/crypto/openssl/powerpc64/sha512-ppc.S
Normal file
1421
sys/crypto/openssl/powerpc64/sha512-ppc.S
Normal file
File diff suppressed because it is too large
Load Diff
837
sys/crypto/openssl/powerpc64/sha512p8-ppc.S
Normal file
837
sys/crypto/openssl/powerpc64/sha512p8-ppc.S
Normal file
@ -0,0 +1,837 @@
|
||||
/* $FreeBSD$ */
|
||||
/* Do not modify. This file is auto-generated from sha512p8-ppc.pl. */
|
||||
.machine "any"
|
||||
.abiversion 2
|
||||
.text
|
||||
|
||||
.globl sha512_block_p8
|
||||
.type sha512_block_p8,@function
|
||||
.align 6
|
||||
sha512_block_p8:
|
||||
.localentry sha512_block_p8,0
|
||||
|
||||
stdu 1,-384(1)
|
||||
mflr 8
|
||||
li 10,207
|
||||
li 11,223
|
||||
stvx 24,10,1
|
||||
addi 10,10,32
|
||||
li 12,-1
|
||||
stvx 25,11,1
|
||||
addi 11,11,32
|
||||
stvx 26,10,1
|
||||
addi 10,10,32
|
||||
stvx 27,11,1
|
||||
addi 11,11,32
|
||||
stvx 28,10,1
|
||||
addi 10,10,32
|
||||
stvx 29,11,1
|
||||
addi 11,11,32
|
||||
stvx 30,10,1
|
||||
stvx 31,11,1
|
||||
li 11,-4096+255
|
||||
stw 12,332(1)
|
||||
li 10,0x10
|
||||
std 26,336(1)
|
||||
li 26,0x20
|
||||
std 27,344(1)
|
||||
li 27,0x30
|
||||
std 28,352(1)
|
||||
li 28,0x40
|
||||
std 29,360(1)
|
||||
li 29,0x50
|
||||
std 30,368(1)
|
||||
li 30,0x60
|
||||
std 31,376(1)
|
||||
li 31,0x70
|
||||
std 8,400(1)
|
||||
or 11,11,11
|
||||
|
||||
bl .LPICmeup
|
||||
addi 11,1,79
|
||||
.long 0x7C001E99
|
||||
.long 0x7C4A1E99
|
||||
.long 0x7C9A1E99
|
||||
vsldoi 1,0,0,8
|
||||
.long 0x7CDB1E99
|
||||
vsldoi 3,2,2,8
|
||||
vsldoi 5,4,4,8
|
||||
vsldoi 7,6,6,8
|
||||
li 0,4
|
||||
b .Loop
|
||||
.align 5
|
||||
.Loop:
|
||||
lvx 28,0,6
|
||||
.long 0x7D002699
|
||||
addi 4,4,16
|
||||
mr 7,6
|
||||
stvx 0,0,11
|
||||
stvx 1,10,11
|
||||
stvx 2,26,11
|
||||
stvx 3,27,11
|
||||
stvx 4,28,11
|
||||
stvx 5,29,11
|
||||
stvx 6,30,11
|
||||
stvx 7,31,11
|
||||
.long 0x10E7E0C0
|
||||
lvx 28,10,6
|
||||
.long 0x10E740C0
|
||||
vsel 29,6,5,4
|
||||
.long 0x10C6E0C0
|
||||
.long 0x10E7E8C0
|
||||
.long 0x13C4FEC2
|
||||
.long 0x10E7F0C0
|
||||
vxor 29,0,1
|
||||
vsel 29,1,2,29
|
||||
.long 0x106338C0
|
||||
.long 0x13C086C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10E7F0C0
|
||||
lvx 28,26,7
|
||||
.long 0x7D402699
|
||||
addi 4,4,16
|
||||
vsldoi 9,8,8,8
|
||||
.long 0x10C648C0
|
||||
vsel 29,5,4,3
|
||||
.long 0x10A5E0C0
|
||||
.long 0x10C6E8C0
|
||||
.long 0x13C3FEC2
|
||||
.long 0x10C6F0C0
|
||||
vxor 29,7,0
|
||||
vsel 29,0,1,29
|
||||
.long 0x104230C0
|
||||
.long 0x13C786C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10C6F0C0
|
||||
lvx 28,27,7
|
||||
.long 0x10A550C0
|
||||
vsel 29,4,3,2
|
||||
.long 0x1084E0C0
|
||||
.long 0x10A5E8C0
|
||||
.long 0x13C2FEC2
|
||||
.long 0x10A5F0C0
|
||||
vxor 29,6,7
|
||||
vsel 29,7,0,29
|
||||
.long 0x102128C0
|
||||
.long 0x13C686C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10A5F0C0
|
||||
lvx 28,28,7
|
||||
.long 0x7D802699
|
||||
addi 4,4,16
|
||||
vsldoi 11,10,10,8
|
||||
.long 0x108458C0
|
||||
vsel 29,3,2,1
|
||||
.long 0x1063E0C0
|
||||
.long 0x1084E8C0
|
||||
.long 0x13C1FEC2
|
||||
.long 0x1084F0C0
|
||||
vxor 29,5,6
|
||||
vsel 29,6,7,29
|
||||
.long 0x100020C0
|
||||
.long 0x13C586C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1084F0C0
|
||||
lvx 28,29,7
|
||||
.long 0x106360C0
|
||||
vsel 29,2,1,0
|
||||
.long 0x1042E0C0
|
||||
.long 0x1063E8C0
|
||||
.long 0x13C0FEC2
|
||||
.long 0x1063F0C0
|
||||
vxor 29,4,5
|
||||
vsel 29,5,6,29
|
||||
.long 0x10E718C0
|
||||
.long 0x13C486C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1063F0C0
|
||||
lvx 28,30,7
|
||||
.long 0x7DC02699
|
||||
addi 4,4,16
|
||||
vsldoi 13,12,12,8
|
||||
.long 0x104268C0
|
||||
vsel 29,1,0,7
|
||||
.long 0x1021E0C0
|
||||
.long 0x1042E8C0
|
||||
.long 0x13C7FEC2
|
||||
.long 0x1042F0C0
|
||||
vxor 29,3,4
|
||||
vsel 29,4,5,29
|
||||
.long 0x10C610C0
|
||||
.long 0x13C386C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1042F0C0
|
||||
lvx 28,31,7
|
||||
addi 7,7,0x80
|
||||
.long 0x102170C0
|
||||
vsel 29,0,7,6
|
||||
.long 0x1000E0C0
|
||||
.long 0x1021E8C0
|
||||
.long 0x13C6FEC2
|
||||
.long 0x1021F0C0
|
||||
vxor 29,2,3
|
||||
vsel 29,3,4,29
|
||||
.long 0x10A508C0
|
||||
.long 0x13C286C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1021F0C0
|
||||
lvx 28,0,7
|
||||
.long 0x7E002699
|
||||
addi 4,4,16
|
||||
vsldoi 15,14,14,8
|
||||
.long 0x100078C0
|
||||
vsel 29,7,6,5
|
||||
.long 0x10E7E0C0
|
||||
.long 0x1000E8C0
|
||||
.long 0x13C5FEC2
|
||||
.long 0x1000F0C0
|
||||
vxor 29,1,2
|
||||
vsel 29,2,3,29
|
||||
.long 0x108400C0
|
||||
.long 0x13C186C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1000F0C0
|
||||
lvx 28,10,7
|
||||
.long 0x10E780C0
|
||||
vsel 29,6,5,4
|
||||
.long 0x10C6E0C0
|
||||
.long 0x10E7E8C0
|
||||
.long 0x13C4FEC2
|
||||
.long 0x10E7F0C0
|
||||
vxor 29,0,1
|
||||
vsel 29,1,2,29
|
||||
.long 0x106338C0
|
||||
.long 0x13C086C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10E7F0C0
|
||||
lvx 28,26,7
|
||||
.long 0x7E402699
|
||||
addi 4,4,16
|
||||
vsldoi 17,16,16,8
|
||||
.long 0x10C688C0
|
||||
vsel 29,5,4,3
|
||||
.long 0x10A5E0C0
|
||||
.long 0x10C6E8C0
|
||||
.long 0x13C3FEC2
|
||||
.long 0x10C6F0C0
|
||||
vxor 29,7,0
|
||||
vsel 29,0,1,29
|
||||
.long 0x104230C0
|
||||
.long 0x13C786C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10C6F0C0
|
||||
lvx 28,27,7
|
||||
.long 0x10A590C0
|
||||
vsel 29,4,3,2
|
||||
.long 0x1084E0C0
|
||||
.long 0x10A5E8C0
|
||||
.long 0x13C2FEC2
|
||||
.long 0x10A5F0C0
|
||||
vxor 29,6,7
|
||||
vsel 29,7,0,29
|
||||
.long 0x102128C0
|
||||
.long 0x13C686C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10A5F0C0
|
||||
lvx 28,28,7
|
||||
.long 0x7F002699
|
||||
addi 4,4,16
|
||||
vsldoi 19,18,18,8
|
||||
.long 0x108498C0
|
||||
vsel 29,3,2,1
|
||||
.long 0x1063E0C0
|
||||
.long 0x1084E8C0
|
||||
.long 0x13C1FEC2
|
||||
.long 0x1084F0C0
|
||||
vxor 29,5,6
|
||||
vsel 29,6,7,29
|
||||
.long 0x100020C0
|
||||
.long 0x13C586C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1084F0C0
|
||||
lvx 28,29,7
|
||||
.long 0x1063C0C0
|
||||
vsel 29,2,1,0
|
||||
.long 0x1042E0C0
|
||||
.long 0x1063E8C0
|
||||
.long 0x13C0FEC2
|
||||
.long 0x1063F0C0
|
||||
vxor 29,4,5
|
||||
vsel 29,5,6,29
|
||||
.long 0x10E718C0
|
||||
.long 0x13C486C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1063F0C0
|
||||
lvx 28,30,7
|
||||
.long 0x7F402699
|
||||
addi 4,4,16
|
||||
vsldoi 25,24,24,8
|
||||
.long 0x1042C8C0
|
||||
vsel 29,1,0,7
|
||||
.long 0x1021E0C0
|
||||
.long 0x1042E8C0
|
||||
.long 0x13C7FEC2
|
||||
.long 0x1042F0C0
|
||||
vxor 29,3,4
|
||||
vsel 29,4,5,29
|
||||
.long 0x10C610C0
|
||||
.long 0x13C386C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1042F0C0
|
||||
lvx 28,31,7
|
||||
addi 7,7,0x80
|
||||
.long 0x1021D0C0
|
||||
vsel 29,0,7,6
|
||||
.long 0x1000E0C0
|
||||
.long 0x1021E8C0
|
||||
.long 0x13C6FEC2
|
||||
.long 0x1021F0C0
|
||||
vxor 29,2,3
|
||||
vsel 29,3,4,29
|
||||
.long 0x10A508C0
|
||||
.long 0x13C286C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1021F0C0
|
||||
lvx 28,0,7
|
||||
vsldoi 27,26,26,8
|
||||
.long 0x13C906C2
|
||||
.long 0x1108F0C0
|
||||
.long 0x13DA7EC2
|
||||
.long 0x1108F0C0
|
||||
.long 0x110888C0
|
||||
.long 0x1000D8C0
|
||||
vsel 29,7,6,5
|
||||
.long 0x10E7E0C0
|
||||
.long 0x1000E8C0
|
||||
.long 0x13C5FEC2
|
||||
.long 0x1000F0C0
|
||||
vxor 29,1,2
|
||||
vsel 29,2,3,29
|
||||
.long 0x108400C0
|
||||
.long 0x13C186C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1000F0C0
|
||||
lvx 28,10,7
|
||||
mtctr 0
|
||||
b .L16_xx
|
||||
.align 5
|
||||
.L16_xx:
|
||||
.long 0x13CA06C2
|
||||
.long 0x1129F0C0
|
||||
.long 0x13DB7EC2
|
||||
.long 0x1129F0C0
|
||||
.long 0x112990C0
|
||||
.long 0x10E740C0
|
||||
vsel 29,6,5,4
|
||||
.long 0x10C6E0C0
|
||||
.long 0x10E7E8C0
|
||||
.long 0x13C4FEC2
|
||||
.long 0x10E7F0C0
|
||||
vxor 29,0,1
|
||||
vsel 29,1,2,29
|
||||
.long 0x106338C0
|
||||
.long 0x13C086C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10E7F0C0
|
||||
lvx 28,26,7
|
||||
.long 0x13CB06C2
|
||||
.long 0x114AF0C0
|
||||
.long 0x13C87EC2
|
||||
.long 0x114AF0C0
|
||||
.long 0x114A98C0
|
||||
.long 0x10C648C0
|
||||
vsel 29,5,4,3
|
||||
.long 0x10A5E0C0
|
||||
.long 0x10C6E8C0
|
||||
.long 0x13C3FEC2
|
||||
.long 0x10C6F0C0
|
||||
vxor 29,7,0
|
||||
vsel 29,0,1,29
|
||||
.long 0x104230C0
|
||||
.long 0x13C786C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10C6F0C0
|
||||
lvx 28,27,7
|
||||
.long 0x13CC06C2
|
||||
.long 0x116BF0C0
|
||||
.long 0x13C97EC2
|
||||
.long 0x116BF0C0
|
||||
.long 0x116BC0C0
|
||||
.long 0x10A550C0
|
||||
vsel 29,4,3,2
|
||||
.long 0x1084E0C0
|
||||
.long 0x10A5E8C0
|
||||
.long 0x13C2FEC2
|
||||
.long 0x10A5F0C0
|
||||
vxor 29,6,7
|
||||
vsel 29,7,0,29
|
||||
.long 0x102128C0
|
||||
.long 0x13C686C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10A5F0C0
|
||||
lvx 28,28,7
|
||||
.long 0x13CD06C2
|
||||
.long 0x118CF0C0
|
||||
.long 0x13CA7EC2
|
||||
.long 0x118CF0C0
|
||||
.long 0x118CC8C0
|
||||
.long 0x108458C0
|
||||
vsel 29,3,2,1
|
||||
.long 0x1063E0C0
|
||||
.long 0x1084E8C0
|
||||
.long 0x13C1FEC2
|
||||
.long 0x1084F0C0
|
||||
vxor 29,5,6
|
||||
vsel 29,6,7,29
|
||||
.long 0x100020C0
|
||||
.long 0x13C586C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1084F0C0
|
||||
lvx 28,29,7
|
||||
.long 0x13CE06C2
|
||||
.long 0x11ADF0C0
|
||||
.long 0x13CB7EC2
|
||||
.long 0x11ADF0C0
|
||||
.long 0x11ADD0C0
|
||||
.long 0x106360C0
|
||||
vsel 29,2,1,0
|
||||
.long 0x1042E0C0
|
||||
.long 0x1063E8C0
|
||||
.long 0x13C0FEC2
|
||||
.long 0x1063F0C0
|
||||
vxor 29,4,5
|
||||
vsel 29,5,6,29
|
||||
.long 0x10E718C0
|
||||
.long 0x13C486C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1063F0C0
|
||||
lvx 28,30,7
|
||||
.long 0x13CF06C2
|
||||
.long 0x11CEF0C0
|
||||
.long 0x13CC7EC2
|
||||
.long 0x11CEF0C0
|
||||
.long 0x11CED8C0
|
||||
.long 0x104268C0
|
||||
vsel 29,1,0,7
|
||||
.long 0x1021E0C0
|
||||
.long 0x1042E8C0
|
||||
.long 0x13C7FEC2
|
||||
.long 0x1042F0C0
|
||||
vxor 29,3,4
|
||||
vsel 29,4,5,29
|
||||
.long 0x10C610C0
|
||||
.long 0x13C386C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1042F0C0
|
||||
lvx 28,31,7
|
||||
addi 7,7,0x80
|
||||
.long 0x13D006C2
|
||||
.long 0x11EFF0C0
|
||||
.long 0x13CD7EC2
|
||||
.long 0x11EFF0C0
|
||||
.long 0x11EF40C0
|
||||
.long 0x102170C0
|
||||
vsel 29,0,7,6
|
||||
.long 0x1000E0C0
|
||||
.long 0x1021E8C0
|
||||
.long 0x13C6FEC2
|
||||
.long 0x1021F0C0
|
||||
vxor 29,2,3
|
||||
vsel 29,3,4,29
|
||||
.long 0x10A508C0
|
||||
.long 0x13C286C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1021F0C0
|
||||
lvx 28,0,7
|
||||
.long 0x13D106C2
|
||||
.long 0x1210F0C0
|
||||
.long 0x13CE7EC2
|
||||
.long 0x1210F0C0
|
||||
.long 0x121048C0
|
||||
.long 0x100078C0
|
||||
vsel 29,7,6,5
|
||||
.long 0x10E7E0C0
|
||||
.long 0x1000E8C0
|
||||
.long 0x13C5FEC2
|
||||
.long 0x1000F0C0
|
||||
vxor 29,1,2
|
||||
vsel 29,2,3,29
|
||||
.long 0x108400C0
|
||||
.long 0x13C186C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1000F0C0
|
||||
lvx 28,10,7
|
||||
.long 0x13D206C2
|
||||
.long 0x1231F0C0
|
||||
.long 0x13CF7EC2
|
||||
.long 0x1231F0C0
|
||||
.long 0x123150C0
|
||||
.long 0x10E780C0
|
||||
vsel 29,6,5,4
|
||||
.long 0x10C6E0C0
|
||||
.long 0x10E7E8C0
|
||||
.long 0x13C4FEC2
|
||||
.long 0x10E7F0C0
|
||||
vxor 29,0,1
|
||||
vsel 29,1,2,29
|
||||
.long 0x106338C0
|
||||
.long 0x13C086C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10E7F0C0
|
||||
lvx 28,26,7
|
||||
.long 0x13D306C2
|
||||
.long 0x1252F0C0
|
||||
.long 0x13D07EC2
|
||||
.long 0x1252F0C0
|
||||
.long 0x125258C0
|
||||
.long 0x10C688C0
|
||||
vsel 29,5,4,3
|
||||
.long 0x10A5E0C0
|
||||
.long 0x10C6E8C0
|
||||
.long 0x13C3FEC2
|
||||
.long 0x10C6F0C0
|
||||
vxor 29,7,0
|
||||
vsel 29,0,1,29
|
||||
.long 0x104230C0
|
||||
.long 0x13C786C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10C6F0C0
|
||||
lvx 28,27,7
|
||||
.long 0x13D806C2
|
||||
.long 0x1273F0C0
|
||||
.long 0x13D17EC2
|
||||
.long 0x1273F0C0
|
||||
.long 0x127360C0
|
||||
.long 0x10A590C0
|
||||
vsel 29,4,3,2
|
||||
.long 0x1084E0C0
|
||||
.long 0x10A5E8C0
|
||||
.long 0x13C2FEC2
|
||||
.long 0x10A5F0C0
|
||||
vxor 29,6,7
|
||||
vsel 29,7,0,29
|
||||
.long 0x102128C0
|
||||
.long 0x13C686C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10A5F0C0
|
||||
lvx 28,28,7
|
||||
.long 0x13D906C2
|
||||
.long 0x1318F0C0
|
||||
.long 0x13D27EC2
|
||||
.long 0x1318F0C0
|
||||
.long 0x131868C0
|
||||
.long 0x108498C0
|
||||
vsel 29,3,2,1
|
||||
.long 0x1063E0C0
|
||||
.long 0x1084E8C0
|
||||
.long 0x13C1FEC2
|
||||
.long 0x1084F0C0
|
||||
vxor 29,5,6
|
||||
vsel 29,6,7,29
|
||||
.long 0x100020C0
|
||||
.long 0x13C586C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1084F0C0
|
||||
lvx 28,29,7
|
||||
.long 0x13DA06C2
|
||||
.long 0x1339F0C0
|
||||
.long 0x13D37EC2
|
||||
.long 0x1339F0C0
|
||||
.long 0x133970C0
|
||||
.long 0x1063C0C0
|
||||
vsel 29,2,1,0
|
||||
.long 0x1042E0C0
|
||||
.long 0x1063E8C0
|
||||
.long 0x13C0FEC2
|
||||
.long 0x1063F0C0
|
||||
vxor 29,4,5
|
||||
vsel 29,5,6,29
|
||||
.long 0x10E718C0
|
||||
.long 0x13C486C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1063F0C0
|
||||
lvx 28,30,7
|
||||
.long 0x13DB06C2
|
||||
.long 0x135AF0C0
|
||||
.long 0x13D87EC2
|
||||
.long 0x135AF0C0
|
||||
.long 0x135A78C0
|
||||
.long 0x1042C8C0
|
||||
vsel 29,1,0,7
|
||||
.long 0x1021E0C0
|
||||
.long 0x1042E8C0
|
||||
.long 0x13C7FEC2
|
||||
.long 0x1042F0C0
|
||||
vxor 29,3,4
|
||||
vsel 29,4,5,29
|
||||
.long 0x10C610C0
|
||||
.long 0x13C386C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1042F0C0
|
||||
lvx 28,31,7
|
||||
addi 7,7,0x80
|
||||
.long 0x13C806C2
|
||||
.long 0x137BF0C0
|
||||
.long 0x13D97EC2
|
||||
.long 0x137BF0C0
|
||||
.long 0x137B80C0
|
||||
.long 0x1021D0C0
|
||||
vsel 29,0,7,6
|
||||
.long 0x1000E0C0
|
||||
.long 0x1021E8C0
|
||||
.long 0x13C6FEC2
|
||||
.long 0x1021F0C0
|
||||
vxor 29,2,3
|
||||
vsel 29,3,4,29
|
||||
.long 0x10A508C0
|
||||
.long 0x13C286C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1021F0C0
|
||||
lvx 28,0,7
|
||||
.long 0x13C906C2
|
||||
.long 0x1108F0C0
|
||||
.long 0x13DA7EC2
|
||||
.long 0x1108F0C0
|
||||
.long 0x110888C0
|
||||
.long 0x1000D8C0
|
||||
vsel 29,7,6,5
|
||||
.long 0x10E7E0C0
|
||||
.long 0x1000E8C0
|
||||
.long 0x13C5FEC2
|
||||
.long 0x1000F0C0
|
||||
vxor 29,1,2
|
||||
vsel 29,2,3,29
|
||||
.long 0x108400C0
|
||||
.long 0x13C186C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1000F0C0
|
||||
lvx 28,10,7
|
||||
bdnz .L16_xx
|
||||
|
||||
lvx 10,0,11
|
||||
subic. 5,5,1
|
||||
lvx 11,10,11
|
||||
.long 0x100050C0
|
||||
lvx 12,26,11
|
||||
.long 0x102158C0
|
||||
lvx 13,27,11
|
||||
.long 0x104260C0
|
||||
lvx 14,28,11
|
||||
.long 0x106368C0
|
||||
lvx 15,29,11
|
||||
.long 0x108470C0
|
||||
lvx 16,30,11
|
||||
.long 0x10A578C0
|
||||
lvx 17,31,11
|
||||
.long 0x10C680C0
|
||||
.long 0x10E788C0
|
||||
bne .Loop
|
||||
vperm 0,0,1,28
|
||||
vperm 2,2,3,28
|
||||
vperm 4,4,5,28
|
||||
vperm 6,6,7,28
|
||||
.long 0x7C001F99
|
||||
.long 0x7C4A1F99
|
||||
.long 0x7C9A1F99
|
||||
.long 0x7CDB1F99
|
||||
addi 11,1,207
|
||||
mtlr 8
|
||||
or 12,12,12
|
||||
lvx 24,0,11
|
||||
lvx 25,10,11
|
||||
lvx 26,26,11
|
||||
lvx 27,27,11
|
||||
lvx 28,28,11
|
||||
lvx 29,29,11
|
||||
lvx 30,30,11
|
||||
lvx 31,31,11
|
||||
ld 26,336(1)
|
||||
ld 27,344(1)
|
||||
ld 28,352(1)
|
||||
ld 29,360(1)
|
||||
ld 30,368(1)
|
||||
ld 31,376(1)
|
||||
addi 1,1,384
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,4,1,0x80,6,3,0
|
||||
.long 0
|
||||
.size sha512_block_p8,.-sha512_block_p8
|
||||
.align 6
|
||||
.LPICmeup:
|
||||
mflr 0
|
||||
bcl 20,31,$+4
|
||||
mflr 6
|
||||
addi 6,6,56
|
||||
mtlr 0
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.space 28
|
||||
.long 0x428a2f98,0xd728ae22
|
||||
.long 0x428a2f98,0xd728ae22
|
||||
.long 0x71374491,0x23ef65cd
|
||||
.long 0x71374491,0x23ef65cd
|
||||
.long 0xb5c0fbcf,0xec4d3b2f
|
||||
.long 0xb5c0fbcf,0xec4d3b2f
|
||||
.long 0xe9b5dba5,0x8189dbbc
|
||||
.long 0xe9b5dba5,0x8189dbbc
|
||||
.long 0x3956c25b,0xf348b538
|
||||
.long 0x3956c25b,0xf348b538
|
||||
.long 0x59f111f1,0xb605d019
|
||||
.long 0x59f111f1,0xb605d019
|
||||
.long 0x923f82a4,0xaf194f9b
|
||||
.long 0x923f82a4,0xaf194f9b
|
||||
.long 0xab1c5ed5,0xda6d8118
|
||||
.long 0xab1c5ed5,0xda6d8118
|
||||
.long 0xd807aa98,0xa3030242
|
||||
.long 0xd807aa98,0xa3030242
|
||||
.long 0x12835b01,0x45706fbe
|
||||
.long 0x12835b01,0x45706fbe
|
||||
.long 0x243185be,0x4ee4b28c
|
||||
.long 0x243185be,0x4ee4b28c
|
||||
.long 0x550c7dc3,0xd5ffb4e2
|
||||
.long 0x550c7dc3,0xd5ffb4e2
|
||||
.long 0x72be5d74,0xf27b896f
|
||||
.long 0x72be5d74,0xf27b896f
|
||||
.long 0x80deb1fe,0x3b1696b1
|
||||
.long 0x80deb1fe,0x3b1696b1
|
||||
.long 0x9bdc06a7,0x25c71235
|
||||
.long 0x9bdc06a7,0x25c71235
|
||||
.long 0xc19bf174,0xcf692694
|
||||
.long 0xc19bf174,0xcf692694
|
||||
.long 0xe49b69c1,0x9ef14ad2
|
||||
.long 0xe49b69c1,0x9ef14ad2
|
||||
.long 0xefbe4786,0x384f25e3
|
||||
.long 0xefbe4786,0x384f25e3
|
||||
.long 0x0fc19dc6,0x8b8cd5b5
|
||||
.long 0x0fc19dc6,0x8b8cd5b5
|
||||
.long 0x240ca1cc,0x77ac9c65
|
||||
.long 0x240ca1cc,0x77ac9c65
|
||||
.long 0x2de92c6f,0x592b0275
|
||||
.long 0x2de92c6f,0x592b0275
|
||||
.long 0x4a7484aa,0x6ea6e483
|
||||
.long 0x4a7484aa,0x6ea6e483
|
||||
.long 0x5cb0a9dc,0xbd41fbd4
|
||||
.long 0x5cb0a9dc,0xbd41fbd4
|
||||
.long 0x76f988da,0x831153b5
|
||||
.long 0x76f988da,0x831153b5
|
||||
.long 0x983e5152,0xee66dfab
|
||||
.long 0x983e5152,0xee66dfab
|
||||
.long 0xa831c66d,0x2db43210
|
||||
.long 0xa831c66d,0x2db43210
|
||||
.long 0xb00327c8,0x98fb213f
|
||||
.long 0xb00327c8,0x98fb213f
|
||||
.long 0xbf597fc7,0xbeef0ee4
|
||||
.long 0xbf597fc7,0xbeef0ee4
|
||||
.long 0xc6e00bf3,0x3da88fc2
|
||||
.long 0xc6e00bf3,0x3da88fc2
|
||||
.long 0xd5a79147,0x930aa725
|
||||
.long 0xd5a79147,0x930aa725
|
||||
.long 0x06ca6351,0xe003826f
|
||||
.long 0x06ca6351,0xe003826f
|
||||
.long 0x14292967,0x0a0e6e70
|
||||
.long 0x14292967,0x0a0e6e70
|
||||
.long 0x27b70a85,0x46d22ffc
|
||||
.long 0x27b70a85,0x46d22ffc
|
||||
.long 0x2e1b2138,0x5c26c926
|
||||
.long 0x2e1b2138,0x5c26c926
|
||||
.long 0x4d2c6dfc,0x5ac42aed
|
||||
.long 0x4d2c6dfc,0x5ac42aed
|
||||
.long 0x53380d13,0x9d95b3df
|
||||
.long 0x53380d13,0x9d95b3df
|
||||
.long 0x650a7354,0x8baf63de
|
||||
.long 0x650a7354,0x8baf63de
|
||||
.long 0x766a0abb,0x3c77b2a8
|
||||
.long 0x766a0abb,0x3c77b2a8
|
||||
.long 0x81c2c92e,0x47edaee6
|
||||
.long 0x81c2c92e,0x47edaee6
|
||||
.long 0x92722c85,0x1482353b
|
||||
.long 0x92722c85,0x1482353b
|
||||
.long 0xa2bfe8a1,0x4cf10364
|
||||
.long 0xa2bfe8a1,0x4cf10364
|
||||
.long 0xa81a664b,0xbc423001
|
||||
.long 0xa81a664b,0xbc423001
|
||||
.long 0xc24b8b70,0xd0f89791
|
||||
.long 0xc24b8b70,0xd0f89791
|
||||
.long 0xc76c51a3,0x0654be30
|
||||
.long 0xc76c51a3,0x0654be30
|
||||
.long 0xd192e819,0xd6ef5218
|
||||
.long 0xd192e819,0xd6ef5218
|
||||
.long 0xd6990624,0x5565a910
|
||||
.long 0xd6990624,0x5565a910
|
||||
.long 0xf40e3585,0x5771202a
|
||||
.long 0xf40e3585,0x5771202a
|
||||
.long 0x106aa070,0x32bbd1b8
|
||||
.long 0x106aa070,0x32bbd1b8
|
||||
.long 0x19a4c116,0xb8d2d0c8
|
||||
.long 0x19a4c116,0xb8d2d0c8
|
||||
.long 0x1e376c08,0x5141ab53
|
||||
.long 0x1e376c08,0x5141ab53
|
||||
.long 0x2748774c,0xdf8eeb99
|
||||
.long 0x2748774c,0xdf8eeb99
|
||||
.long 0x34b0bcb5,0xe19b48a8
|
||||
.long 0x34b0bcb5,0xe19b48a8
|
||||
.long 0x391c0cb3,0xc5c95a63
|
||||
.long 0x391c0cb3,0xc5c95a63
|
||||
.long 0x4ed8aa4a,0xe3418acb
|
||||
.long 0x4ed8aa4a,0xe3418acb
|
||||
.long 0x5b9cca4f,0x7763e373
|
||||
.long 0x5b9cca4f,0x7763e373
|
||||
.long 0x682e6ff3,0xd6b2b8a3
|
||||
.long 0x682e6ff3,0xd6b2b8a3
|
||||
.long 0x748f82ee,0x5defb2fc
|
||||
.long 0x748f82ee,0x5defb2fc
|
||||
.long 0x78a5636f,0x43172f60
|
||||
.long 0x78a5636f,0x43172f60
|
||||
.long 0x84c87814,0xa1f0ab72
|
||||
.long 0x84c87814,0xa1f0ab72
|
||||
.long 0x8cc70208,0x1a6439ec
|
||||
.long 0x8cc70208,0x1a6439ec
|
||||
.long 0x90befffa,0x23631e28
|
||||
.long 0x90befffa,0x23631e28
|
||||
.long 0xa4506ceb,0xde82bde9
|
||||
.long 0xa4506ceb,0xde82bde9
|
||||
.long 0xbef9a3f7,0xb2c67915
|
||||
.long 0xbef9a3f7,0xb2c67915
|
||||
.long 0xc67178f2,0xe372532b
|
||||
.long 0xc67178f2,0xe372532b
|
||||
.long 0xca273ece,0xea26619c
|
||||
.long 0xca273ece,0xea26619c
|
||||
.long 0xd186b8c7,0x21c0c207
|
||||
.long 0xd186b8c7,0x21c0c207
|
||||
.long 0xeada7dd6,0xcde0eb1e
|
||||
.long 0xeada7dd6,0xcde0eb1e
|
||||
.long 0xf57d4f7f,0xee6ed178
|
||||
.long 0xf57d4f7f,0xee6ed178
|
||||
.long 0x06f067aa,0x72176fba
|
||||
.long 0x06f067aa,0x72176fba
|
||||
.long 0x0a637dc5,0xa2c898a6
|
||||
.long 0x0a637dc5,0xa2c898a6
|
||||
.long 0x113f9804,0xbef90dae
|
||||
.long 0x113f9804,0xbef90dae
|
||||
.long 0x1b710b35,0x131c471b
|
||||
.long 0x1b710b35,0x131c471b
|
||||
.long 0x28db77f5,0x23047d84
|
||||
.long 0x28db77f5,0x23047d84
|
||||
.long 0x32caab7b,0x40c72493
|
||||
.long 0x32caab7b,0x40c72493
|
||||
.long 0x3c9ebe0a,0x15c9bebc
|
||||
.long 0x3c9ebe0a,0x15c9bebc
|
||||
.long 0x431d67c4,0x9c100d4c
|
||||
.long 0x431d67c4,0x9c100d4c
|
||||
.long 0x4cc5d4be,0xcb3e42b6
|
||||
.long 0x4cc5d4be,0xcb3e42b6
|
||||
.long 0x597f299c,0xfc657e2a
|
||||
.long 0x597f299c,0xfc657e2a
|
||||
.long 0x5fcb6fab,0x3ad6faec
|
||||
.long 0x5fcb6fab,0x3ad6faec
|
||||
.long 0x6c44198c,0x4a475817
|
||||
.long 0x6c44198c,0x4a475817
|
||||
.long 0,0
|
||||
.long 0,0
|
||||
.long 0x00010203,0x04050607
|
||||
.long 0x10111213,0x14151617
|
||||
.byte 83,72,65,53,49,50,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,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
|
||||
.align 2
|
1480
sys/crypto/openssl/powerpc64/vpaes-ppc.S
Normal file
1480
sys/crypto/openssl/powerpc64/vpaes-ppc.S
Normal file
File diff suppressed because it is too large
Load Diff
350
sys/crypto/openssl/powerpc64/x25519-ppc64.S
Normal file
350
sys/crypto/openssl/powerpc64/x25519-ppc64.S
Normal file
@ -0,0 +1,350 @@
|
||||
/* $FreeBSD$ */
|
||||
/* Do not modify. This file is auto-generated from x25519-ppc64.pl. */
|
||||
.abiversion 2
|
||||
.text
|
||||
|
||||
.globl x25519_fe51_mul
|
||||
.type x25519_fe51_mul,@function
|
||||
.type x25519_fe51_mul,@function
|
||||
.align 5
|
||||
x25519_fe51_mul:
|
||||
.localentry x25519_fe51_mul,0
|
||||
|
||||
stdu 1,-144(1)
|
||||
std 21,56(1)
|
||||
std 22,64(1)
|
||||
std 23,72(1)
|
||||
std 24,80(1)
|
||||
std 25,88(1)
|
||||
std 26,96(1)
|
||||
std 27,104(1)
|
||||
std 28,112(1)
|
||||
std 29,120(1)
|
||||
std 30,128(1)
|
||||
std 31,136(1)
|
||||
|
||||
ld 6,0(5)
|
||||
ld 7,0(4)
|
||||
ld 8,8(4)
|
||||
ld 9,16(4)
|
||||
ld 10,24(4)
|
||||
ld 11,32(4)
|
||||
|
||||
mulld 22,7,6
|
||||
mulhdu 23,7,6
|
||||
|
||||
mulld 24,8,6
|
||||
mulhdu 25,8,6
|
||||
|
||||
mulld 30,11,6
|
||||
mulhdu 31,11,6
|
||||
ld 4,8(5)
|
||||
mulli 11,11,19
|
||||
|
||||
mulld 26,9,6
|
||||
mulhdu 27,9,6
|
||||
|
||||
mulld 28,10,6
|
||||
mulhdu 29,10,6
|
||||
mulld 12,11,4
|
||||
mulhdu 21,11,4
|
||||
addc 22,22,12
|
||||
adde 23,23,21
|
||||
|
||||
mulld 12,7,4
|
||||
mulhdu 21,7,4
|
||||
addc 24,24,12
|
||||
adde 25,25,21
|
||||
|
||||
mulld 12,10,4
|
||||
mulhdu 21,10,4
|
||||
ld 6,16(5)
|
||||
mulli 10,10,19
|
||||
addc 30,30,12
|
||||
adde 31,31,21
|
||||
|
||||
mulld 12,8,4
|
||||
mulhdu 21,8,4
|
||||
addc 26,26,12
|
||||
adde 27,27,21
|
||||
|
||||
mulld 12,9,4
|
||||
mulhdu 21,9,4
|
||||
addc 28,28,12
|
||||
adde 29,29,21
|
||||
mulld 12,10,6
|
||||
mulhdu 21,10,6
|
||||
addc 22,22,12
|
||||
adde 23,23,21
|
||||
|
||||
mulld 12,11,6
|
||||
mulhdu 21,11,6
|
||||
addc 24,24,12
|
||||
adde 25,25,21
|
||||
|
||||
mulld 12,9,6
|
||||
mulhdu 21,9,6
|
||||
ld 4,24(5)
|
||||
mulli 9,9,19
|
||||
addc 30,30,12
|
||||
adde 31,31,21
|
||||
|
||||
mulld 12,7,6
|
||||
mulhdu 21,7,6
|
||||
addc 26,26,12
|
||||
adde 27,27,21
|
||||
|
||||
mulld 12,8,6
|
||||
mulhdu 21,8,6
|
||||
addc 28,28,12
|
||||
adde 29,29,21
|
||||
mulld 12,9,4
|
||||
mulhdu 21,9,4
|
||||
addc 22,22,12
|
||||
adde 23,23,21
|
||||
|
||||
mulld 12,10,4
|
||||
mulhdu 21,10,4
|
||||
addc 24,24,12
|
||||
adde 25,25,21
|
||||
|
||||
mulld 12,8,4
|
||||
mulhdu 21,8,4
|
||||
ld 6,32(5)
|
||||
mulli 8,8,19
|
||||
addc 30,30,12
|
||||
adde 31,31,21
|
||||
|
||||
mulld 12,11,4
|
||||
mulhdu 21,11,4
|
||||
addc 26,26,12
|
||||
adde 27,27,21
|
||||
|
||||
mulld 12,7,4
|
||||
mulhdu 21,7,4
|
||||
addc 28,28,12
|
||||
adde 29,29,21
|
||||
mulld 12,8,6
|
||||
mulhdu 21,8,6
|
||||
addc 22,22,12
|
||||
adde 23,23,21
|
||||
|
||||
mulld 12,9,6
|
||||
mulhdu 21,9,6
|
||||
addc 24,24,12
|
||||
adde 25,25,21
|
||||
|
||||
mulld 12,10,6
|
||||
mulhdu 21,10,6
|
||||
addc 26,26,12
|
||||
adde 27,27,21
|
||||
|
||||
mulld 12,11,6
|
||||
mulhdu 21,11,6
|
||||
addc 28,28,12
|
||||
adde 29,29,21
|
||||
|
||||
mulld 12,7,6
|
||||
mulhdu 21,7,6
|
||||
addc 30,30,12
|
||||
adde 31,31,21
|
||||
|
||||
.Lfe51_reduce:
|
||||
li 0,-1
|
||||
srdi 0,0,13
|
||||
|
||||
srdi 12,26,51
|
||||
and 9,26,0
|
||||
insrdi 12,27,51,0
|
||||
srdi 21,22,51
|
||||
and 7,22,0
|
||||
insrdi 21,23,51,0
|
||||
addc 28,28,12
|
||||
addze 29,29
|
||||
addc 24,24,21
|
||||
addze 25,25
|
||||
|
||||
srdi 12,28,51
|
||||
and 10,28,0
|
||||
insrdi 12,29,51,0
|
||||
srdi 21,24,51
|
||||
and 8,24,0
|
||||
insrdi 21,25,51,0
|
||||
addc 30,30,12
|
||||
addze 31,31
|
||||
add 9,9,21
|
||||
|
||||
srdi 12,30,51
|
||||
and 11,30,0
|
||||
insrdi 12,31,51,0
|
||||
mulli 12,12,19
|
||||
|
||||
add 7,7,12
|
||||
|
||||
srdi 21,9,51
|
||||
and 9,9,0
|
||||
add 10,10,21
|
||||
|
||||
srdi 12,7,51
|
||||
and 7,7,0
|
||||
add 8,8,12
|
||||
|
||||
std 9,16(3)
|
||||
std 10,24(3)
|
||||
std 11,32(3)
|
||||
std 7,0(3)
|
||||
std 8,8(3)
|
||||
|
||||
ld 21,56(1)
|
||||
ld 22,64(1)
|
||||
ld 23,72(1)
|
||||
ld 24,80(1)
|
||||
ld 25,88(1)
|
||||
ld 26,96(1)
|
||||
ld 27,104(1)
|
||||
ld 28,112(1)
|
||||
ld 29,120(1)
|
||||
ld 30,128(1)
|
||||
ld 31,136(1)
|
||||
addi 1,1,144
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,4,0,0x80,11,3,0
|
||||
.long 0
|
||||
.size x25519_fe51_mul,.-x25519_fe51_mul
|
||||
.globl x25519_fe51_sqr
|
||||
.type x25519_fe51_sqr,@function
|
||||
.type x25519_fe51_sqr,@function
|
||||
.align 5
|
||||
x25519_fe51_sqr:
|
||||
.localentry x25519_fe51_sqr,0
|
||||
|
||||
stdu 1,-144(1)
|
||||
std 21,56(1)
|
||||
std 22,64(1)
|
||||
std 23,72(1)
|
||||
std 24,80(1)
|
||||
std 25,88(1)
|
||||
std 26,96(1)
|
||||
std 27,104(1)
|
||||
std 28,112(1)
|
||||
std 29,120(1)
|
||||
std 30,128(1)
|
||||
std 31,136(1)
|
||||
|
||||
ld 7,0(4)
|
||||
ld 8,8(4)
|
||||
ld 9,16(4)
|
||||
ld 10,24(4)
|
||||
ld 11,32(4)
|
||||
|
||||
add 6,7,7
|
||||
mulli 21,11,19
|
||||
|
||||
mulld 22,7,7
|
||||
mulhdu 23,7,7
|
||||
mulld 24,8,6
|
||||
mulhdu 25,8,6
|
||||
mulld 26,9,6
|
||||
mulhdu 27,9,6
|
||||
mulld 28,10,6
|
||||
mulhdu 29,10,6
|
||||
mulld 30,11,6
|
||||
mulhdu 31,11,6
|
||||
add 6,8,8
|
||||
mulld 12,11,21
|
||||
mulhdu 11,11,21
|
||||
addc 28,28,12
|
||||
adde 29,29,11
|
||||
|
||||
mulli 5,10,19
|
||||
|
||||
mulld 12,8,8
|
||||
mulhdu 11,8,8
|
||||
addc 26,26,12
|
||||
adde 27,27,11
|
||||
mulld 12,9,6
|
||||
mulhdu 11,9,6
|
||||
addc 28,28,12
|
||||
adde 29,29,11
|
||||
mulld 12,10,6
|
||||
mulhdu 11,10,6
|
||||
addc 30,30,12
|
||||
adde 31,31,11
|
||||
mulld 12,21,6
|
||||
mulhdu 11,21,6
|
||||
add 6,10,10
|
||||
addc 22,22,12
|
||||
adde 23,23,11
|
||||
mulld 12,10,5
|
||||
mulhdu 10,10,5
|
||||
addc 24,24,12
|
||||
adde 25,25,10
|
||||
mulld 12,6,21
|
||||
mulhdu 10,6,21
|
||||
add 6,9,9
|
||||
addc 26,26,12
|
||||
adde 27,27,10
|
||||
|
||||
mulld 12,9,9
|
||||
mulhdu 10,9,9
|
||||
addc 30,30,12
|
||||
adde 31,31,10
|
||||
mulld 12,5,6
|
||||
mulhdu 10,5,6
|
||||
addc 22,22,12
|
||||
adde 23,23,10
|
||||
mulld 12,21,6
|
||||
mulhdu 10,21,6
|
||||
addc 24,24,12
|
||||
adde 25,25,10
|
||||
|
||||
b .Lfe51_reduce
|
||||
.long 0
|
||||
.byte 0,12,4,0,0x80,11,2,0
|
||||
.long 0
|
||||
.size x25519_fe51_sqr,.-x25519_fe51_sqr
|
||||
.globl x25519_fe51_mul121666
|
||||
.type x25519_fe51_mul121666,@function
|
||||
.type x25519_fe51_mul121666,@function
|
||||
.align 5
|
||||
x25519_fe51_mul121666:
|
||||
.localentry x25519_fe51_mul121666,0
|
||||
|
||||
stdu 1,-144(1)
|
||||
std 21,56(1)
|
||||
std 22,64(1)
|
||||
std 23,72(1)
|
||||
std 24,80(1)
|
||||
std 25,88(1)
|
||||
std 26,96(1)
|
||||
std 27,104(1)
|
||||
std 28,112(1)
|
||||
std 29,120(1)
|
||||
std 30,128(1)
|
||||
std 31,136(1)
|
||||
|
||||
lis 6,1
|
||||
ori 6,6,56130
|
||||
ld 7,0(4)
|
||||
ld 8,8(4)
|
||||
ld 9,16(4)
|
||||
ld 10,24(4)
|
||||
ld 11,32(4)
|
||||
|
||||
mulld 22,7,6
|
||||
mulhdu 23,7,6
|
||||
mulld 24,8,6
|
||||
mulhdu 25,8,6
|
||||
mulld 26,9,6
|
||||
mulhdu 27,9,6
|
||||
mulld 28,10,6
|
||||
mulhdu 29,10,6
|
||||
mulld 30,11,6
|
||||
mulhdu 31,11,6
|
||||
|
||||
b .Lfe51_reduce
|
||||
.long 0
|
||||
.byte 0,12,4,0,0x80,11,2,0
|
||||
.long 0
|
||||
.size x25519_fe51_mul121666,.-x25519_fe51_mul121666
|
1582
sys/crypto/openssl/powerpc64le/aes-ppc.S
Normal file
1582
sys/crypto/openssl/powerpc64le/aes-ppc.S
Normal file
File diff suppressed because it is too large
Load Diff
3660
sys/crypto/openssl/powerpc64le/aesp8-ppc.S
Normal file
3660
sys/crypto/openssl/powerpc64le/aesp8-ppc.S
Normal file
File diff suppressed because it is too large
Load Diff
1372
sys/crypto/openssl/powerpc64le/chacha-ppc.S
Normal file
1372
sys/crypto/openssl/powerpc64le/chacha-ppc.S
Normal file
File diff suppressed because it is too large
Load Diff
4855
sys/crypto/openssl/powerpc64le/ecp_nistz256-ppc64.S
Normal file
4855
sys/crypto/openssl/powerpc64le/ecp_nistz256-ppc64.S
Normal file
File diff suppressed because it is too large
Load Diff
577
sys/crypto/openssl/powerpc64le/ghashp8-ppc.S
Normal file
577
sys/crypto/openssl/powerpc64le/ghashp8-ppc.S
Normal file
@ -0,0 +1,577 @@
|
||||
/* $FreeBSD$ */
|
||||
/* Do not modify. This file is auto-generated from ghashp8-ppc.pl. */
|
||||
.machine "any"
|
||||
|
||||
.abiversion 2
|
||||
.text
|
||||
|
||||
.globl gcm_init_p8
|
||||
.type gcm_init_p8,@function
|
||||
.align 5
|
||||
gcm_init_p8:
|
||||
.localentry gcm_init_p8,0
|
||||
|
||||
li 0,-4096
|
||||
li 8,0x10
|
||||
li 12,-1
|
||||
li 9,0x20
|
||||
or 0,0,0
|
||||
li 10,0x30
|
||||
.long 0x7D202699
|
||||
|
||||
vspltisb 8,-16
|
||||
vspltisb 5,1
|
||||
vaddubm 8,8,8
|
||||
vxor 4,4,4
|
||||
vor 8,8,5
|
||||
vsldoi 8,8,4,15
|
||||
vsldoi 6,4,5,1
|
||||
vaddubm 8,8,8
|
||||
vspltisb 7,7
|
||||
vor 8,8,6
|
||||
vspltb 6,9,0
|
||||
vsl 9,9,5
|
||||
vsrab 6,6,7
|
||||
vand 6,6,8
|
||||
vxor 3,9,6
|
||||
|
||||
vsldoi 9,3,3,8
|
||||
vsldoi 8,4,8,8
|
||||
vsldoi 11,4,9,8
|
||||
vsldoi 10,9,4,8
|
||||
|
||||
.long 0x7D001F99
|
||||
.long 0x7D681F99
|
||||
li 8,0x40
|
||||
.long 0x7D291F99
|
||||
li 9,0x50
|
||||
.long 0x7D4A1F99
|
||||
li 10,0x60
|
||||
|
||||
.long 0x10035CC8
|
||||
.long 0x10234CC8
|
||||
.long 0x104354C8
|
||||
|
||||
.long 0x10E044C8
|
||||
|
||||
vsldoi 5,1,4,8
|
||||
vsldoi 6,4,1,8
|
||||
vxor 0,0,5
|
||||
vxor 2,2,6
|
||||
|
||||
vsldoi 0,0,0,8
|
||||
vxor 0,0,7
|
||||
|
||||
vsldoi 6,0,0,8
|
||||
.long 0x100044C8
|
||||
vxor 6,6,2
|
||||
vxor 16,0,6
|
||||
|
||||
vsldoi 17,16,16,8
|
||||
vsldoi 19,4,17,8
|
||||
vsldoi 18,17,4,8
|
||||
|
||||
.long 0x7E681F99
|
||||
li 8,0x70
|
||||
.long 0x7E291F99
|
||||
li 9,0x80
|
||||
.long 0x7E4A1F99
|
||||
li 10,0x90
|
||||
.long 0x10039CC8
|
||||
.long 0x11B09CC8
|
||||
.long 0x10238CC8
|
||||
.long 0x11D08CC8
|
||||
.long 0x104394C8
|
||||
.long 0x11F094C8
|
||||
|
||||
.long 0x10E044C8
|
||||
.long 0x114D44C8
|
||||
|
||||
vsldoi 5,1,4,8
|
||||
vsldoi 6,4,1,8
|
||||
vsldoi 11,14,4,8
|
||||
vsldoi 9,4,14,8
|
||||
vxor 0,0,5
|
||||
vxor 2,2,6
|
||||
vxor 13,13,11
|
||||
vxor 15,15,9
|
||||
|
||||
vsldoi 0,0,0,8
|
||||
vsldoi 13,13,13,8
|
||||
vxor 0,0,7
|
||||
vxor 13,13,10
|
||||
|
||||
vsldoi 6,0,0,8
|
||||
vsldoi 9,13,13,8
|
||||
.long 0x100044C8
|
||||
.long 0x11AD44C8
|
||||
vxor 6,6,2
|
||||
vxor 9,9,15
|
||||
vxor 0,0,6
|
||||
vxor 13,13,9
|
||||
|
||||
vsldoi 9,0,0,8
|
||||
vsldoi 17,13,13,8
|
||||
vsldoi 11,4,9,8
|
||||
vsldoi 10,9,4,8
|
||||
vsldoi 19,4,17,8
|
||||
vsldoi 18,17,4,8
|
||||
|
||||
.long 0x7D681F99
|
||||
li 8,0xa0
|
||||
.long 0x7D291F99
|
||||
li 9,0xb0
|
||||
.long 0x7D4A1F99
|
||||
li 10,0xc0
|
||||
.long 0x7E681F99
|
||||
.long 0x7E291F99
|
||||
.long 0x7E4A1F99
|
||||
|
||||
or 12,12,12
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,2,0
|
||||
.long 0
|
||||
.size gcm_init_p8,.-gcm_init_p8
|
||||
.globl gcm_gmult_p8
|
||||
.type gcm_gmult_p8,@function
|
||||
.align 5
|
||||
gcm_gmult_p8:
|
||||
.localentry gcm_gmult_p8,0
|
||||
|
||||
lis 0,0xfff8
|
||||
li 8,0x10
|
||||
li 12,-1
|
||||
li 9,0x20
|
||||
or 0,0,0
|
||||
li 10,0x30
|
||||
.long 0x7C601E99
|
||||
|
||||
.long 0x7D682699
|
||||
lvsl 12,0,0
|
||||
.long 0x7D292699
|
||||
vspltisb 5,0x07
|
||||
.long 0x7D4A2699
|
||||
vxor 12,12,5
|
||||
.long 0x7D002699
|
||||
vperm 3,3,3,12
|
||||
vxor 4,4,4
|
||||
|
||||
.long 0x10035CC8
|
||||
.long 0x10234CC8
|
||||
.long 0x104354C8
|
||||
|
||||
.long 0x10E044C8
|
||||
|
||||
vsldoi 5,1,4,8
|
||||
vsldoi 6,4,1,8
|
||||
vxor 0,0,5
|
||||
vxor 2,2,6
|
||||
|
||||
vsldoi 0,0,0,8
|
||||
vxor 0,0,7
|
||||
|
||||
vsldoi 6,0,0,8
|
||||
.long 0x100044C8
|
||||
vxor 6,6,2
|
||||
vxor 0,0,6
|
||||
|
||||
vperm 0,0,0,12
|
||||
.long 0x7C001F99
|
||||
|
||||
or 12,12,12
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,2,0
|
||||
.long 0
|
||||
.size gcm_gmult_p8,.-gcm_gmult_p8
|
||||
|
||||
.globl gcm_ghash_p8
|
||||
.type gcm_ghash_p8,@function
|
||||
.align 5
|
||||
gcm_ghash_p8:
|
||||
.localentry gcm_ghash_p8,0
|
||||
|
||||
li 0,-4096
|
||||
li 8,0x10
|
||||
li 12,-1
|
||||
li 9,0x20
|
||||
or 0,0,0
|
||||
li 10,0x30
|
||||
.long 0x7C001E99
|
||||
|
||||
.long 0x7D682699
|
||||
li 8,0x40
|
||||
lvsl 12,0,0
|
||||
.long 0x7D292699
|
||||
li 9,0x50
|
||||
vspltisb 5,0x07
|
||||
.long 0x7D4A2699
|
||||
li 10,0x60
|
||||
vxor 12,12,5
|
||||
.long 0x7D002699
|
||||
vperm 0,0,0,12
|
||||
vxor 4,4,4
|
||||
|
||||
cmpldi 6,64
|
||||
bge .Lgcm_ghash_p8_4x
|
||||
|
||||
.long 0x7C602E99
|
||||
addi 5,5,16
|
||||
subic. 6,6,16
|
||||
vperm 3,3,3,12
|
||||
vxor 3,3,0
|
||||
beq .Lshort
|
||||
|
||||
.long 0x7E682699
|
||||
li 8,16
|
||||
.long 0x7E292699
|
||||
add 9,5,6
|
||||
.long 0x7E4A2699
|
||||
|
||||
|
||||
.align 5
|
||||
.Loop_2x:
|
||||
.long 0x7E002E99
|
||||
vperm 16,16,16,12
|
||||
|
||||
subic 6,6,32
|
||||
.long 0x10039CC8
|
||||
.long 0x11B05CC8
|
||||
subfe 0,0,0
|
||||
.long 0x10238CC8
|
||||
.long 0x11D04CC8
|
||||
and 0,0,6
|
||||
.long 0x104394C8
|
||||
.long 0x11F054C8
|
||||
add 5,5,0
|
||||
|
||||
vxor 0,0,13
|
||||
vxor 1,1,14
|
||||
|
||||
.long 0x10E044C8
|
||||
|
||||
vsldoi 5,1,4,8
|
||||
vsldoi 6,4,1,8
|
||||
vxor 2,2,15
|
||||
vxor 0,0,5
|
||||
vxor 2,2,6
|
||||
|
||||
vsldoi 0,0,0,8
|
||||
vxor 0,0,7
|
||||
.long 0x7C682E99
|
||||
addi 5,5,32
|
||||
|
||||
vsldoi 6,0,0,8
|
||||
.long 0x100044C8
|
||||
vperm 3,3,3,12
|
||||
vxor 6,6,2
|
||||
vxor 3,3,6
|
||||
vxor 3,3,0
|
||||
cmpld 9,5
|
||||
bgt .Loop_2x
|
||||
|
||||
cmplwi 6,0
|
||||
bne .Leven
|
||||
|
||||
.Lshort:
|
||||
.long 0x10035CC8
|
||||
.long 0x10234CC8
|
||||
.long 0x104354C8
|
||||
|
||||
.long 0x10E044C8
|
||||
|
||||
vsldoi 5,1,4,8
|
||||
vsldoi 6,4,1,8
|
||||
vxor 0,0,5
|
||||
vxor 2,2,6
|
||||
|
||||
vsldoi 0,0,0,8
|
||||
vxor 0,0,7
|
||||
|
||||
vsldoi 6,0,0,8
|
||||
.long 0x100044C8
|
||||
vxor 6,6,2
|
||||
|
||||
.Leven:
|
||||
vxor 0,0,6
|
||||
vperm 0,0,0,12
|
||||
.long 0x7C001F99
|
||||
|
||||
or 12,12,12
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,4,0
|
||||
.long 0
|
||||
.align 5
|
||||
.gcm_ghash_p8_4x:
|
||||
.Lgcm_ghash_p8_4x:
|
||||
stdu 1,-256(1)
|
||||
li 10,63
|
||||
li 11,79
|
||||
stvx 20,10,1
|
||||
addi 10,10,32
|
||||
stvx 21,11,1
|
||||
addi 11,11,32
|
||||
stvx 22,10,1
|
||||
addi 10,10,32
|
||||
stvx 23,11,1
|
||||
addi 11,11,32
|
||||
stvx 24,10,1
|
||||
addi 10,10,32
|
||||
stvx 25,11,1
|
||||
addi 11,11,32
|
||||
stvx 26,10,1
|
||||
addi 10,10,32
|
||||
stvx 27,11,1
|
||||
addi 11,11,32
|
||||
stvx 28,10,1
|
||||
addi 10,10,32
|
||||
stvx 29,11,1
|
||||
addi 11,11,32
|
||||
stvx 30,10,1
|
||||
li 10,0x60
|
||||
stvx 31,11,1
|
||||
li 0,-1
|
||||
stw 12,252(1)
|
||||
or 0,0,0
|
||||
|
||||
lvsl 5,0,8
|
||||
|
||||
li 8,0x70
|
||||
.long 0x7E292699
|
||||
li 9,0x80
|
||||
vspltisb 6,8
|
||||
|
||||
li 10,0x90
|
||||
.long 0x7EE82699
|
||||
li 8,0xa0
|
||||
.long 0x7F092699
|
||||
li 9,0xb0
|
||||
.long 0x7F2A2699
|
||||
li 10,0xc0
|
||||
.long 0x7FA82699
|
||||
li 8,0x10
|
||||
.long 0x7FC92699
|
||||
li 9,0x20
|
||||
.long 0x7FEA2699
|
||||
li 10,0x30
|
||||
|
||||
vsldoi 7,4,6,8
|
||||
vaddubm 18,5,7
|
||||
vaddubm 19,6,18
|
||||
|
||||
srdi 6,6,4
|
||||
|
||||
.long 0x7C602E99
|
||||
.long 0x7E082E99
|
||||
subic. 6,6,8
|
||||
.long 0x7EC92E99
|
||||
.long 0x7F8A2E99
|
||||
addi 5,5,0x40
|
||||
vperm 3,3,3,12
|
||||
vperm 16,16,16,12
|
||||
vperm 22,22,22,12
|
||||
vperm 28,28,28,12
|
||||
|
||||
vxor 2,3,0
|
||||
|
||||
.long 0x11B0BCC8
|
||||
.long 0x11D0C4C8
|
||||
.long 0x11F0CCC8
|
||||
|
||||
vperm 11,17,9,18
|
||||
vperm 5,22,28,19
|
||||
vperm 10,17,9,19
|
||||
vperm 6,22,28,18
|
||||
.long 0x12B68CC8
|
||||
.long 0x12855CC8
|
||||
.long 0x137C4CC8
|
||||
.long 0x134654C8
|
||||
|
||||
vxor 21,21,14
|
||||
vxor 20,20,13
|
||||
vxor 27,27,21
|
||||
vxor 26,26,15
|
||||
|
||||
blt .Ltail_4x
|
||||
|
||||
.Loop_4x:
|
||||
.long 0x7C602E99
|
||||
.long 0x7E082E99
|
||||
subic. 6,6,4
|
||||
.long 0x7EC92E99
|
||||
.long 0x7F8A2E99
|
||||
addi 5,5,0x40
|
||||
vperm 16,16,16,12
|
||||
vperm 22,22,22,12
|
||||
vperm 28,28,28,12
|
||||
vperm 3,3,3,12
|
||||
|
||||
.long 0x1002ECC8
|
||||
.long 0x1022F4C8
|
||||
.long 0x1042FCC8
|
||||
.long 0x11B0BCC8
|
||||
.long 0x11D0C4C8
|
||||
.long 0x11F0CCC8
|
||||
|
||||
vxor 0,0,20
|
||||
vxor 1,1,27
|
||||
vxor 2,2,26
|
||||
vperm 5,22,28,19
|
||||
vperm 6,22,28,18
|
||||
|
||||
.long 0x10E044C8
|
||||
.long 0x12855CC8
|
||||
.long 0x134654C8
|
||||
|
||||
vsldoi 5,1,4,8
|
||||
vsldoi 6,4,1,8
|
||||
vxor 0,0,5
|
||||
vxor 2,2,6
|
||||
|
||||
vsldoi 0,0,0,8
|
||||
vxor 0,0,7
|
||||
|
||||
vsldoi 6,0,0,8
|
||||
.long 0x12B68CC8
|
||||
.long 0x137C4CC8
|
||||
.long 0x100044C8
|
||||
|
||||
vxor 20,20,13
|
||||
vxor 26,26,15
|
||||
vxor 2,2,3
|
||||
vxor 21,21,14
|
||||
vxor 2,2,6
|
||||
vxor 27,27,21
|
||||
vxor 2,2,0
|
||||
bge .Loop_4x
|
||||
|
||||
.Ltail_4x:
|
||||
.long 0x1002ECC8
|
||||
.long 0x1022F4C8
|
||||
.long 0x1042FCC8
|
||||
|
||||
vxor 0,0,20
|
||||
vxor 1,1,27
|
||||
|
||||
.long 0x10E044C8
|
||||
|
||||
vsldoi 5,1,4,8
|
||||
vsldoi 6,4,1,8
|
||||
vxor 2,2,26
|
||||
vxor 0,0,5
|
||||
vxor 2,2,6
|
||||
|
||||
vsldoi 0,0,0,8
|
||||
vxor 0,0,7
|
||||
|
||||
vsldoi 6,0,0,8
|
||||
.long 0x100044C8
|
||||
vxor 6,6,2
|
||||
vxor 0,0,6
|
||||
|
||||
addic. 6,6,4
|
||||
beq .Ldone_4x
|
||||
|
||||
.long 0x7C602E99
|
||||
cmpldi 6,2
|
||||
li 6,-4
|
||||
blt .Lone
|
||||
.long 0x7E082E99
|
||||
beq .Ltwo
|
||||
|
||||
.Lthree:
|
||||
.long 0x7EC92E99
|
||||
vperm 3,3,3,12
|
||||
vperm 16,16,16,12
|
||||
vperm 22,22,22,12
|
||||
|
||||
vxor 2,3,0
|
||||
vor 29,23,23
|
||||
vor 30,24,24
|
||||
vor 31,25,25
|
||||
|
||||
vperm 5,16,22,19
|
||||
vperm 6,16,22,18
|
||||
.long 0x12B08CC8
|
||||
.long 0x13764CC8
|
||||
.long 0x12855CC8
|
||||
.long 0x134654C8
|
||||
|
||||
vxor 27,27,21
|
||||
b .Ltail_4x
|
||||
|
||||
.align 4
|
||||
.Ltwo:
|
||||
vperm 3,3,3,12
|
||||
vperm 16,16,16,12
|
||||
|
||||
vxor 2,3,0
|
||||
vperm 5,4,16,19
|
||||
vperm 6,4,16,18
|
||||
|
||||
vsldoi 29,4,17,8
|
||||
vor 30,17,17
|
||||
vsldoi 31,17,4,8
|
||||
|
||||
.long 0x12855CC8
|
||||
.long 0x13704CC8
|
||||
.long 0x134654C8
|
||||
|
||||
b .Ltail_4x
|
||||
|
||||
.align 4
|
||||
.Lone:
|
||||
vperm 3,3,3,12
|
||||
|
||||
vsldoi 29,4,9,8
|
||||
vor 30,9,9
|
||||
vsldoi 31,9,4,8
|
||||
|
||||
vxor 2,3,0
|
||||
vxor 20,20,20
|
||||
vxor 27,27,27
|
||||
vxor 26,26,26
|
||||
|
||||
b .Ltail_4x
|
||||
|
||||
.Ldone_4x:
|
||||
vperm 0,0,0,12
|
||||
.long 0x7C001F99
|
||||
|
||||
li 10,63
|
||||
li 11,79
|
||||
or 12,12,12
|
||||
lvx 20,10,1
|
||||
addi 10,10,32
|
||||
lvx 21,11,1
|
||||
addi 11,11,32
|
||||
lvx 22,10,1
|
||||
addi 10,10,32
|
||||
lvx 23,11,1
|
||||
addi 11,11,32
|
||||
lvx 24,10,1
|
||||
addi 10,10,32
|
||||
lvx 25,11,1
|
||||
addi 11,11,32
|
||||
lvx 26,10,1
|
||||
addi 10,10,32
|
||||
lvx 27,11,1
|
||||
addi 11,11,32
|
||||
lvx 28,10,1
|
||||
addi 10,10,32
|
||||
lvx 29,11,1
|
||||
addi 11,11,32
|
||||
lvx 30,10,1
|
||||
lvx 31,11,1
|
||||
addi 1,1,256
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x04,0,0x80,0,4,0
|
||||
.long 0
|
||||
.size gcm_ghash_p8,.-gcm_ghash_p8
|
||||
|
||||
.byte 71,72,65,83,72,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,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
|
||||
.align 2
|
671
sys/crypto/openssl/powerpc64le/keccak1600-ppc64.S
Normal file
671
sys/crypto/openssl/powerpc64le/keccak1600-ppc64.S
Normal file
@ -0,0 +1,671 @@
|
||||
/* $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 0x00000001,0x00000000
|
||||
.long 0x00008082,0x00000000
|
||||
.long 0x0000808a,0x80000000
|
||||
.long 0x80008000,0x80000000
|
||||
.long 0x0000808b,0x00000000
|
||||
.long 0x80000001,0x00000000
|
||||
.long 0x80008081,0x80000000
|
||||
.long 0x00008009,0x80000000
|
||||
.long 0x0000008a,0x00000000
|
||||
.long 0x00000088,0x00000000
|
||||
.long 0x80008009,0x00000000
|
||||
.long 0x8000000a,0x00000000
|
||||
.long 0x8000808b,0x00000000
|
||||
.long 0x0000008b,0x80000000
|
||||
.long 0x00008089,0x80000000
|
||||
.long 0x00008003,0x80000000
|
||||
.long 0x00008002,0x80000000
|
||||
.long 0x00000080,0x80000000
|
||||
.long 0x0000800a,0x00000000
|
||||
.long 0x8000000a,0x80000000
|
||||
.long 0x80008081,0x80000000
|
||||
.long 0x00008080,0x80000000
|
||||
.long 0x80000001,0x00000000
|
||||
.long 0x80008008,0x80000000
|
||||
.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
|
163
sys/crypto/openssl/powerpc64le/poly1305-ppc.S
Normal file
163
sys/crypto/openssl/powerpc64le/poly1305-ppc.S
Normal file
@ -0,0 +1,163 @@
|
||||
/* $FreeBSD$ */
|
||||
/* Do not modify. This file is auto-generated from poly1305-ppc.pl. */
|
||||
.machine "any"
|
||||
.abiversion 2
|
||||
.text
|
||||
.globl poly1305_init_int
|
||||
.type poly1305_init_int,@function
|
||||
.align 4
|
||||
poly1305_init_int:
|
||||
.localentry poly1305_init_int,0
|
||||
|
||||
xor 0,0,0
|
||||
std 0,0(3)
|
||||
std 0,8(3)
|
||||
std 0,16(3)
|
||||
|
||||
cmpld 4,0
|
||||
beq- .Lno_key
|
||||
ld 10,0(4)
|
||||
ld 11,8(4)
|
||||
lis 8,0xfff
|
||||
ori 8,8,0xfffc
|
||||
insrdi 8,8,32,0
|
||||
ori 7,8,3
|
||||
|
||||
and 10,10,7
|
||||
and 11,11,8
|
||||
|
||||
std 10,32(3)
|
||||
std 11,40(3)
|
||||
|
||||
.Lno_key:
|
||||
xor 3,3,3
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,2,0
|
||||
.size poly1305_init_int,.-poly1305_init_int
|
||||
|
||||
.globl poly1305_blocks
|
||||
.type poly1305_blocks,@function
|
||||
.align 4
|
||||
poly1305_blocks:
|
||||
.localentry poly1305_blocks,0
|
||||
|
||||
srdi. 5,5,4
|
||||
beq- .Labort
|
||||
|
||||
stdu 1,-192(1)
|
||||
mflr 0
|
||||
std 27,152(1)
|
||||
std 28,160(1)
|
||||
std 29,168(1)
|
||||
std 30,176(1)
|
||||
std 31,184(1)
|
||||
std 0,208(1)
|
||||
|
||||
ld 27,32(3)
|
||||
ld 28,40(3)
|
||||
|
||||
ld 7,0(3)
|
||||
ld 8,8(3)
|
||||
ld 9,16(3)
|
||||
|
||||
srdi 29,28,2
|
||||
mtctr 5
|
||||
add 29,29,28
|
||||
li 0,3
|
||||
b .Loop
|
||||
|
||||
.align 4
|
||||
.Loop:
|
||||
ld 30,0(4)
|
||||
ld 31,8(4)
|
||||
addi 4,4,16
|
||||
|
||||
addc 7,7,30
|
||||
adde 8,8,31
|
||||
|
||||
mulld 10,7,27
|
||||
mulhdu 11,7,27
|
||||
adde 9,9,6
|
||||
|
||||
mulld 30,8,29
|
||||
mulhdu 31,8,29
|
||||
addc 10,10,30
|
||||
adde 11,11,31
|
||||
|
||||
mulld 30,7,28
|
||||
mulhdu 12,7,28
|
||||
addc 11,11,30
|
||||
addze 12,12
|
||||
|
||||
mulld 30,8,27
|
||||
mulhdu 31,8,27
|
||||
addc 11,11,30
|
||||
adde 12,12,31
|
||||
|
||||
mulld 30,9,29
|
||||
mulld 31,9,27
|
||||
addc 11,11,30
|
||||
adde 12,12,31
|
||||
|
||||
andc 30,12,0
|
||||
and 9,12,0
|
||||
srdi 31,30,2
|
||||
add 30,30,31
|
||||
addc 7,10,30
|
||||
addze 8,11
|
||||
addze 9,9
|
||||
|
||||
bdnz .Loop
|
||||
|
||||
std 7,0(3)
|
||||
std 8,8(3)
|
||||
std 9,16(3)
|
||||
|
||||
ld 27,152(1)
|
||||
ld 28,160(1)
|
||||
ld 29,168(1)
|
||||
ld 30,176(1)
|
||||
ld 31,184(1)
|
||||
addi 1,1,192
|
||||
.Labort:
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,4,1,0x80,5,4,0
|
||||
.size poly1305_blocks,.-poly1305_blocks
|
||||
|
||||
.globl poly1305_emit
|
||||
.type poly1305_emit,@function
|
||||
.align 4
|
||||
poly1305_emit:
|
||||
.localentry poly1305_emit,0
|
||||
|
||||
ld 7,0(3)
|
||||
ld 8,8(3)
|
||||
ld 9,16(3)
|
||||
ld 6,0(5)
|
||||
ld 5,8(5)
|
||||
|
||||
addic 10,7,5
|
||||
addze 11,8
|
||||
addze 12,9
|
||||
|
||||
srdi 0,12,2
|
||||
neg 0,0
|
||||
|
||||
andc 7,7,0
|
||||
and 10,10,0
|
||||
andc 8,8,0
|
||||
and 11,11,0
|
||||
or 7,7,10
|
||||
or 8,8,11
|
||||
addc 7,7,6
|
||||
adde 8,8,5
|
||||
std 7,0(4)
|
||||
std 8,8(4)
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,3,0
|
||||
.size poly1305_emit,.-poly1305_emit
|
||||
.byte 80,111,108,121,49,51,48,53,32,102,111,114,32,80,80,67,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
|
592
sys/crypto/openssl/powerpc64le/poly1305-ppcfp.S
Normal file
592
sys/crypto/openssl/powerpc64le/poly1305-ppcfp.S
Normal file
@ -0,0 +1,592 @@
|
||||
/* $FreeBSD$ */
|
||||
/* Do not modify. This file is auto-generated from poly1305-ppcfp.pl. */
|
||||
.machine "any"
|
||||
.abiversion 2
|
||||
.text
|
||||
|
||||
.globl poly1305_init_fpu
|
||||
.type poly1305_init_fpu,@function
|
||||
.align 6
|
||||
poly1305_init_fpu:
|
||||
.localentry poly1305_init_fpu,0
|
||||
|
||||
stdu 1,-48(1)
|
||||
mflr 6
|
||||
std 6,64(1)
|
||||
|
||||
bl .LPICmeup
|
||||
|
||||
xor 0,0,0
|
||||
mtlr 6
|
||||
|
||||
lfd 8,8*0(5)
|
||||
lfd 9,8*1(5)
|
||||
lfd 10,8*2(5)
|
||||
lfd 11,8*3(5)
|
||||
lfd 12,8*4(5)
|
||||
lfd 13,8*5(5)
|
||||
|
||||
stfd 8,8*0(3)
|
||||
stfd 9,8*1(3)
|
||||
stfd 10,8*2(3)
|
||||
stfd 11,8*3(3)
|
||||
|
||||
cmpld 4,0
|
||||
beq- .Lno_key
|
||||
|
||||
lfd 6,8*13(5)
|
||||
mffs 7
|
||||
|
||||
stfd 8,8*4(3)
|
||||
stfd 9,8*5(3)
|
||||
stfd 10,8*6(3)
|
||||
stfd 11,8*7(3)
|
||||
|
||||
li 8,4
|
||||
li 9,8
|
||||
li 10,12
|
||||
lwzx 7,0,4
|
||||
lwzx 8,8,4
|
||||
lwzx 9,9,4
|
||||
lwzx 10,10,4
|
||||
|
||||
lis 11,0xf000
|
||||
ori 12,11,3
|
||||
andc 7,7,11
|
||||
andc 8,8,12
|
||||
andc 9,9,12
|
||||
andc 10,10,12
|
||||
|
||||
stw 7,32(3)
|
||||
stw 8,40(3)
|
||||
stw 9,48(3)
|
||||
stw 10,56(3)
|
||||
|
||||
mtfsf 255,6
|
||||
stfd 8,8*18(3)
|
||||
stfd 9,8*19(3)
|
||||
stfd 10,8*20(3)
|
||||
stfd 11,8*21(3)
|
||||
stfd 12,8*22(3)
|
||||
stfd 13,8*23(3)
|
||||
|
||||
lfd 0,8*4(3)
|
||||
lfd 2,8*5(3)
|
||||
lfd 4,8*6(3)
|
||||
lfd 6,8*7(3)
|
||||
|
||||
fsub 0,0,8
|
||||
fsub 2,2,9
|
||||
fsub 4,4,10
|
||||
fsub 6,6,11
|
||||
|
||||
lfd 8,8*6(5)
|
||||
lfd 9,8*7(5)
|
||||
lfd 10,8*8(5)
|
||||
lfd 11,8*9(5)
|
||||
|
||||
fmul 3,2,13
|
||||
fmul 5,4,13
|
||||
stfd 7,8*15(3)
|
||||
fmul 7,6,13
|
||||
|
||||
fadd 1,0,8
|
||||
stfd 3,8*12(3)
|
||||
fadd 3,2,9
|
||||
stfd 5,8*13(3)
|
||||
fadd 5,4,10
|
||||
stfd 7,8*14(3)
|
||||
fadd 7,6,11
|
||||
|
||||
fsub 1,1,8
|
||||
fsub 3,3,9
|
||||
fsub 5,5,10
|
||||
fsub 7,7,11
|
||||
|
||||
lfd 8,8*10(5)
|
||||
lfd 9,8*11(5)
|
||||
lfd 10,8*12(5)
|
||||
|
||||
fsub 0,0,1
|
||||
fsub 2,2,3
|
||||
fsub 4,4,5
|
||||
fsub 6,6,7
|
||||
|
||||
stfd 1,8*5(3)
|
||||
stfd 3,8*7(3)
|
||||
stfd 5,8*9(3)
|
||||
stfd 7,8*11(3)
|
||||
|
||||
stfd 0,8*4(3)
|
||||
stfd 2,8*6(3)
|
||||
stfd 4,8*8(3)
|
||||
stfd 6,8*10(3)
|
||||
|
||||
lfd 2,8*12(3)
|
||||
lfd 4,8*13(3)
|
||||
lfd 6,8*14(3)
|
||||
lfd 0,8*15(3)
|
||||
|
||||
fadd 3,2,8
|
||||
fadd 5,4,9
|
||||
fadd 7,6,10
|
||||
|
||||
fsub 3,3,8
|
||||
fsub 5,5,9
|
||||
fsub 7,7,10
|
||||
|
||||
fsub 2,2,3
|
||||
fsub 4,4,5
|
||||
fsub 6,6,7
|
||||
|
||||
stfd 3,8*13(3)
|
||||
stfd 5,8*15(3)
|
||||
stfd 7,8*17(3)
|
||||
|
||||
stfd 2,8*12(3)
|
||||
stfd 4,8*14(3)
|
||||
stfd 6,8*16(3)
|
||||
|
||||
mtfsf 255,0
|
||||
.Lno_key:
|
||||
xor 3,3,3
|
||||
addi 1,1,48
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,4,1,0x80,0,2,0
|
||||
.size poly1305_init_fpu,.-poly1305_init_fpu
|
||||
|
||||
.globl poly1305_blocks_fpu
|
||||
.type poly1305_blocks_fpu,@function
|
||||
.align 4
|
||||
poly1305_blocks_fpu:
|
||||
.localentry poly1305_blocks_fpu,0
|
||||
|
||||
srwi. 5,5,4
|
||||
beq- .Labort
|
||||
|
||||
stdu 1,-240(1)
|
||||
mflr 0
|
||||
stfd 14,96(1)
|
||||
stfd 15,104(1)
|
||||
stfd 16,112(1)
|
||||
stfd 17,120(1)
|
||||
stfd 18,128(1)
|
||||
stfd 19,136(1)
|
||||
stfd 20,144(1)
|
||||
stfd 21,152(1)
|
||||
stfd 22,160(1)
|
||||
stfd 23,168(1)
|
||||
stfd 24,176(1)
|
||||
stfd 25,184(1)
|
||||
stfd 26,192(1)
|
||||
stfd 27,200(1)
|
||||
stfd 28,208(1)
|
||||
stfd 29,216(1)
|
||||
stfd 30,224(1)
|
||||
stfd 31,232(1)
|
||||
std 0,256(1)
|
||||
|
||||
xor 0,0,0
|
||||
li 10,1
|
||||
mtctr 5
|
||||
neg 5,5
|
||||
stw 0,84(1)
|
||||
stw 10,80(1)
|
||||
|
||||
lfd 8,8*18(3)
|
||||
lfd 9,8*19(3)
|
||||
lfd 10,8*20(3)
|
||||
lfd 11,8*21(3)
|
||||
lfd 12,8*22(3)
|
||||
lfd 13,8*23(3)
|
||||
|
||||
lfd 0,8*0(3)
|
||||
lfd 2,8*1(3)
|
||||
lfd 4,8*2(3)
|
||||
lfd 6,8*3(3)
|
||||
|
||||
stfd 8,48(1)
|
||||
oris 10,6,18736
|
||||
stfd 9,56(1)
|
||||
stfd 10,64(1)
|
||||
stw 10,76(1)
|
||||
|
||||
li 11,4
|
||||
li 12,8
|
||||
li 6,12
|
||||
lwzx 7,0,4
|
||||
lwzx 8,11,4
|
||||
lwzx 9,12,4
|
||||
lwzx 10,6,4
|
||||
addi 4,4,16
|
||||
|
||||
stw 7,48(1)
|
||||
stw 8,56(1)
|
||||
stw 9,64(1)
|
||||
stw 10,72(1)
|
||||
|
||||
mffs 28
|
||||
lfd 29,80(1)
|
||||
lfd 14,8*4(3)
|
||||
lfd 15,8*5(3)
|
||||
lfd 16,8*6(3)
|
||||
lfd 17,8*7(3)
|
||||
lfd 18,8*8(3)
|
||||
lfd 19,8*9(3)
|
||||
lfd 24,8*10(3)
|
||||
lfd 25,8*11(3)
|
||||
lfd 26,8*12(3)
|
||||
lfd 27,8*13(3)
|
||||
lfd 20,8*14(3)
|
||||
lfd 21,8*15(3)
|
||||
lfd 22,8*16(3)
|
||||
lfd 23,8*17(3)
|
||||
|
||||
stfd 28,80(1)
|
||||
mtfsf 255,29
|
||||
|
||||
addic 5,5,1
|
||||
addze 0,0
|
||||
slwi. 0,0,4
|
||||
sub 4,4,0
|
||||
|
||||
lfd 28,48(1)
|
||||
lfd 29,56(1)
|
||||
lfd 30,64(1)
|
||||
lfd 31,72(1)
|
||||
|
||||
fsub 0,0,8
|
||||
lwzx 7,0,4
|
||||
fsub 2,2,9
|
||||
lwzx 8,11,4
|
||||
fsub 4,4,10
|
||||
lwzx 9,12,4
|
||||
fsub 6,6,11
|
||||
lwzx 10,6,4
|
||||
|
||||
fsub 28,28,8
|
||||
addi 4,4,16
|
||||
fsub 29,29,9
|
||||
fsub 30,30,10
|
||||
fsub 31,31,11
|
||||
|
||||
fadd 28,28,0
|
||||
stw 7,48(1)
|
||||
fadd 29,29,2
|
||||
stw 8,56(1)
|
||||
fadd 30,30,4
|
||||
stw 9,64(1)
|
||||
fadd 31,31,6
|
||||
stw 10,72(1)
|
||||
|
||||
b .Lentry
|
||||
|
||||
.align 4
|
||||
.Loop:
|
||||
fsub 30,30,8
|
||||
addic 5,5,1
|
||||
fsub 31,31,9
|
||||
addze 0,0
|
||||
fsub 26,26,10
|
||||
slwi. 0,0,4
|
||||
fsub 27,27,11
|
||||
sub 4,4,0
|
||||
|
||||
fadd 0,0,30
|
||||
fadd 1,1,31
|
||||
fadd 4,4,26
|
||||
fadd 5,5,27
|
||||
|
||||
|
||||
fadd 26,2,10
|
||||
lwzx 7,0,4
|
||||
fadd 27,3,10
|
||||
lwzx 8,11,4
|
||||
fadd 30,6,12
|
||||
lwzx 9,12,4
|
||||
fadd 31,7,12
|
||||
lwzx 10,6,4
|
||||
fadd 24,0,9
|
||||
addi 4,4,16
|
||||
fadd 25,1,9
|
||||
fadd 28,4,11
|
||||
fadd 29,5,11
|
||||
|
||||
fsub 26,26,10
|
||||
stw 7,48(1)
|
||||
fsub 27,27,10
|
||||
stw 8,56(1)
|
||||
fsub 30,30,12
|
||||
stw 9,64(1)
|
||||
fsub 31,31,12
|
||||
stw 10,72(1)
|
||||
fsub 24,24,9
|
||||
fsub 25,25,9
|
||||
fsub 28,28,11
|
||||
fsub 29,29,11
|
||||
|
||||
fsub 2,2,26
|
||||
fsub 3,3,27
|
||||
fsub 6,6,30
|
||||
fsub 7,7,31
|
||||
fsub 4,4,28
|
||||
fsub 5,5,29
|
||||
fsub 0,0,24
|
||||
fsub 1,1,25
|
||||
|
||||
fadd 2,2,24
|
||||
fadd 3,3,25
|
||||
fadd 6,6,28
|
||||
fadd 7,7,29
|
||||
fadd 4,4,26
|
||||
fadd 5,5,27
|
||||
fmadd 0,30,13,0
|
||||
fmadd 1,31,13,1
|
||||
|
||||
fadd 29,2,3
|
||||
lfd 26,8*12(3)
|
||||
fadd 31,6,7
|
||||
lfd 27,8*13(3)
|
||||
fadd 30,4,5
|
||||
lfd 24,8*10(3)
|
||||
fadd 28,0,1
|
||||
lfd 25,8*11(3)
|
||||
.Lentry:
|
||||
fmul 0,22,29
|
||||
fmul 1,23,29
|
||||
fmul 4,16,29
|
||||
fmul 5,17,29
|
||||
fmul 2,14,29
|
||||
fmul 3,15,29
|
||||
fmul 6,18,29
|
||||
fmul 7,19,29
|
||||
|
||||
fmadd 0,26,31,0
|
||||
fmadd 1,27,31,1
|
||||
fmadd 4,22,31,4
|
||||
fmadd 5,23,31,5
|
||||
fmadd 2,20,31,2
|
||||
fmadd 3,21,31,3
|
||||
fmadd 6,14,31,6
|
||||
fmadd 7,15,31,7
|
||||
|
||||
fmadd 0,20,30,0
|
||||
fmadd 1,21,30,1
|
||||
fmadd 4,14,30,4
|
||||
fmadd 5,15,30,5
|
||||
fmadd 2,22,30,2
|
||||
fmadd 3,23,30,3
|
||||
fmadd 6,16,30,6
|
||||
fmadd 7,17,30,7
|
||||
|
||||
fmadd 0,14,28,0
|
||||
lfd 30,48(1)
|
||||
fmadd 1,15,28,1
|
||||
lfd 31,56(1)
|
||||
fmadd 4,18,28,4
|
||||
lfd 26,64(1)
|
||||
fmadd 5,19,28,5
|
||||
lfd 27,72(1)
|
||||
fmadd 2,16,28,2
|
||||
fmadd 3,17,28,3
|
||||
fmadd 6,24,28,6
|
||||
fmadd 7,25,28,7
|
||||
|
||||
bdnz .Loop
|
||||
|
||||
|
||||
fadd 24,0,9
|
||||
fadd 25,1,9
|
||||
fadd 28,4,11
|
||||
fadd 29,5,11
|
||||
fadd 26,2,10
|
||||
fadd 27,3,10
|
||||
fadd 30,6,12
|
||||
fadd 31,7,12
|
||||
|
||||
fsub 24,24,9
|
||||
fsub 25,25,9
|
||||
fsub 28,28,11
|
||||
fsub 29,29,11
|
||||
fsub 26,26,10
|
||||
fsub 27,27,10
|
||||
fsub 30,30,12
|
||||
fsub 31,31,12
|
||||
|
||||
fsub 2,2,26
|
||||
fsub 3,3,27
|
||||
fsub 6,6,30
|
||||
fsub 7,7,31
|
||||
fsub 4,4,28
|
||||
fsub 5,5,29
|
||||
fsub 0,0,24
|
||||
fsub 1,1,25
|
||||
|
||||
fadd 2,2,24
|
||||
fadd 3,3,25
|
||||
fadd 6,6,28
|
||||
fadd 7,7,29
|
||||
fadd 4,4,26
|
||||
fadd 5,5,27
|
||||
fmadd 0,30,13,0
|
||||
fmadd 1,31,13,1
|
||||
|
||||
fadd 29,2,3
|
||||
fadd 31,6,7
|
||||
fadd 30,4,5
|
||||
fadd 28,0,1
|
||||
|
||||
lfd 0,80(1)
|
||||
fadd 29,29,9
|
||||
fadd 31,31,11
|
||||
fadd 30,30,10
|
||||
fadd 28,28,8
|
||||
|
||||
stfd 29,8*1(3)
|
||||
stfd 31,8*3(3)
|
||||
stfd 30,8*2(3)
|
||||
stfd 28,8*0(3)
|
||||
|
||||
mtfsf 255,0
|
||||
lfd 14,96(1)
|
||||
lfd 15,104(1)
|
||||
lfd 16,112(1)
|
||||
lfd 17,120(1)
|
||||
lfd 18,128(1)
|
||||
lfd 19,136(1)
|
||||
lfd 20,144(1)
|
||||
lfd 21,152(1)
|
||||
lfd 22,160(1)
|
||||
lfd 23,168(1)
|
||||
lfd 24,176(1)
|
||||
lfd 25,184(1)
|
||||
lfd 26,192(1)
|
||||
lfd 27,200(1)
|
||||
lfd 28,208(1)
|
||||
lfd 29,216(1)
|
||||
lfd 30,224(1)
|
||||
lfd 31,232(1)
|
||||
addi 1,1,240
|
||||
.Labort:
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,4,1,0x80,0,4,0
|
||||
.size poly1305_blocks_fpu,.-poly1305_blocks_fpu
|
||||
.globl poly1305_emit_fpu
|
||||
.type poly1305_emit_fpu,@function
|
||||
.align 4
|
||||
poly1305_emit_fpu:
|
||||
.localentry poly1305_emit_fpu,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)
|
||||
|
||||
lwz 28,4(3)
|
||||
lwz 7,0(3)
|
||||
lwz 29,12(3)
|
||||
lwz 8,8(3)
|
||||
lwz 30,20(3)
|
||||
lwz 9,16(3)
|
||||
lwz 31,28(3)
|
||||
lwz 10,24(3)
|
||||
|
||||
lis 0,0xfff0
|
||||
andc 28,28,0
|
||||
andc 29,29,0
|
||||
andc 30,30,0
|
||||
andc 31,31,0
|
||||
li 0,3
|
||||
|
||||
srwi 6,31,2
|
||||
and 11,31,0
|
||||
andc 31,31,0
|
||||
add 31,31,6
|
||||
add 7,7,31
|
||||
add 8,8,28
|
||||
add 9,9,29
|
||||
add 10,10,30
|
||||
|
||||
srdi 28,7,32
|
||||
add 8,8,28
|
||||
srdi 29,8,32
|
||||
add 9,9,29
|
||||
srdi 30,9,32
|
||||
add 10,10,30
|
||||
srdi 31,10,32
|
||||
add 11,11,31
|
||||
|
||||
insrdi 7,8,32,0
|
||||
insrdi 9,10,32,0
|
||||
|
||||
addic 28,7,5
|
||||
addze 29,9
|
||||
addze 30,11
|
||||
|
||||
srdi 0,30,2
|
||||
neg 0,0
|
||||
sradi 0,0,63
|
||||
ld 30,0(5)
|
||||
ld 31,8(5)
|
||||
|
||||
andc 7,7,0
|
||||
and 28,28,0
|
||||
andc 9,9,0
|
||||
and 29,29,0
|
||||
or 7,7,28
|
||||
or 9,9,29
|
||||
addc 7,7,30
|
||||
adde 9,9,31
|
||||
|
||||
srdi 8,7,32
|
||||
srdi 10,9,32
|
||||
stw 7,0(4)
|
||||
stw 8,4(4)
|
||||
stw 9,8(4)
|
||||
stw 10,12(4)
|
||||
ld 28,48(1)
|
||||
ld 29,56(1)
|
||||
ld 30,64(1)
|
||||
ld 31,72(1)
|
||||
addi 1,1,80
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,4,1,0x80,4,3,0
|
||||
.size poly1305_emit_fpu,.-poly1305_emit_fpu
|
||||
.align 6
|
||||
.LPICmeup:
|
||||
mflr 0
|
||||
bcl 20,31,$+4
|
||||
mflr 5
|
||||
addi 5,5,56
|
||||
mtlr 0
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.space 28
|
||||
|
||||
.long 0x00000000,0x43300000
|
||||
.long 0x00000000,0x45300000
|
||||
.long 0x00000000,0x47300000
|
||||
.long 0x00000000,0x49300000
|
||||
.long 0x00000000,0x4b500000
|
||||
|
||||
.long 0x00000000,0x37f40000
|
||||
|
||||
.long 0x00000000,0x44300000
|
||||
.long 0x00000000,0x46300000
|
||||
.long 0x00000000,0x48300000
|
||||
.long 0x00000000,0x4a300000
|
||||
.long 0x00000000,0x3e300000
|
||||
.long 0x00000000,0x40300000
|
||||
.long 0x00000000,0x42300000
|
||||
|
||||
.long 0x00000001,0x00000000
|
||||
.byte 80,111,108,121,49,51,48,53,32,102,111,114,32,80,80,67,32,70,80,85,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
|
||||
.align 4
|
1791
sys/crypto/openssl/powerpc64le/ppc-mont.S
Normal file
1791
sys/crypto/openssl/powerpc64le/ppc-mont.S
Normal file
File diff suppressed because it is too large
Load Diff
1877
sys/crypto/openssl/powerpc64le/ppc.S
Normal file
1877
sys/crypto/openssl/powerpc64le/ppc.S
Normal file
File diff suppressed because it is too large
Load Diff
388
sys/crypto/openssl/powerpc64le/ppccpuid.S
Normal file
388
sys/crypto/openssl/powerpc64le/ppccpuid.S
Normal file
@ -0,0 +1,388 @@
|
||||
/* $FreeBSD$ */
|
||||
/* Do not modify. This file is auto-generated from ppccpuid.pl. */
|
||||
.machine "any"
|
||||
.abiversion 2
|
||||
.text
|
||||
|
||||
.globl OPENSSL_fpu_probe
|
||||
.type OPENSSL_fpu_probe,@function
|
||||
.align 4
|
||||
OPENSSL_fpu_probe:
|
||||
.localentry OPENSSL_fpu_probe,0
|
||||
|
||||
fmr 0,0
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.size OPENSSL_fpu_probe,.-OPENSSL_fpu_probe
|
||||
.globl OPENSSL_ppc64_probe
|
||||
.type OPENSSL_ppc64_probe,@function
|
||||
.align 4
|
||||
OPENSSL_ppc64_probe:
|
||||
.localentry OPENSSL_ppc64_probe,0
|
||||
|
||||
fcfid 1,1
|
||||
rldicl 0,0,32,32
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.size OPENSSL_ppc64_probe,.-OPENSSL_ppc64_probe
|
||||
|
||||
.globl OPENSSL_altivec_probe
|
||||
.type OPENSSL_altivec_probe,@function
|
||||
.align 4
|
||||
OPENSSL_altivec_probe:
|
||||
.localentry OPENSSL_altivec_probe,0
|
||||
|
||||
.long 0x10000484
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.size OPENSSL_altivec_probe,.-OPENSSL_altivec_probe
|
||||
|
||||
.globl OPENSSL_crypto207_probe
|
||||
.type OPENSSL_crypto207_probe,@function
|
||||
.align 4
|
||||
OPENSSL_crypto207_probe:
|
||||
.localentry OPENSSL_crypto207_probe,0
|
||||
|
||||
.long 0x7C000E99
|
||||
.long 0x10000508
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.size OPENSSL_crypto207_probe,.-OPENSSL_crypto207_probe
|
||||
|
||||
.globl OPENSSL_madd300_probe
|
||||
.type OPENSSL_madd300_probe,@function
|
||||
.align 4
|
||||
OPENSSL_madd300_probe:
|
||||
.localentry OPENSSL_madd300_probe,0
|
||||
|
||||
xor 0,0,0
|
||||
.long 0x10600033
|
||||
.long 0x10600031
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
|
||||
.globl OPENSSL_wipe_cpu
|
||||
.type OPENSSL_wipe_cpu,@function
|
||||
.align 4
|
||||
OPENSSL_wipe_cpu:
|
||||
.localentry OPENSSL_wipe_cpu,0
|
||||
|
||||
xor 0,0,0
|
||||
fmr 0,31
|
||||
fmr 1,31
|
||||
fmr 2,31
|
||||
mr 3,1
|
||||
fmr 3,31
|
||||
xor 4,4,4
|
||||
fmr 4,31
|
||||
xor 5,5,5
|
||||
fmr 5,31
|
||||
xor 6,6,6
|
||||
fmr 6,31
|
||||
xor 7,7,7
|
||||
fmr 7,31
|
||||
xor 8,8,8
|
||||
fmr 8,31
|
||||
xor 9,9,9
|
||||
fmr 9,31
|
||||
xor 10,10,10
|
||||
fmr 10,31
|
||||
xor 11,11,11
|
||||
fmr 11,31
|
||||
xor 12,12,12
|
||||
fmr 12,31
|
||||
fmr 13,31
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.size OPENSSL_wipe_cpu,.-OPENSSL_wipe_cpu
|
||||
|
||||
.globl OPENSSL_atomic_add
|
||||
.type OPENSSL_atomic_add,@function
|
||||
.align 4
|
||||
OPENSSL_atomic_add:
|
||||
.localentry OPENSSL_atomic_add,0
|
||||
|
||||
.Ladd: lwarx 5,0,3
|
||||
add 0,4,5
|
||||
stwcx. 0,0,3
|
||||
bne- .Ladd
|
||||
extsw 3,0
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,2,0
|
||||
.long 0
|
||||
.size OPENSSL_atomic_add,.-OPENSSL_atomic_add
|
||||
|
||||
.globl OPENSSL_rdtsc_mftb
|
||||
.type OPENSSL_rdtsc_mftb,@function
|
||||
.align 4
|
||||
OPENSSL_rdtsc_mftb:
|
||||
.localentry OPENSSL_rdtsc_mftb,0
|
||||
|
||||
mftb 3
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.size OPENSSL_rdtsc_mftb,.-OPENSSL_rdtsc_mftb
|
||||
|
||||
.globl OPENSSL_rdtsc_mfspr268
|
||||
.type OPENSSL_rdtsc_mfspr268,@function
|
||||
.align 4
|
||||
OPENSSL_rdtsc_mfspr268:
|
||||
.localentry OPENSSL_rdtsc_mfspr268,0
|
||||
|
||||
mfspr 3,268
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.size OPENSSL_rdtsc_mfspr268,.-OPENSSL_rdtsc_mfspr268
|
||||
|
||||
.globl OPENSSL_cleanse
|
||||
.type OPENSSL_cleanse,@function
|
||||
.align 4
|
||||
OPENSSL_cleanse:
|
||||
.localentry OPENSSL_cleanse,0
|
||||
|
||||
cmpldi 4,7
|
||||
li 0,0
|
||||
bge .Lot
|
||||
cmpldi 4,0
|
||||
.long 0x4DC20020
|
||||
.Little: mtctr 4
|
||||
stb 0,0(3)
|
||||
addi 3,3,1
|
||||
bdnz $-8
|
||||
blr
|
||||
.Lot: andi. 5,3,3
|
||||
beq .Laligned
|
||||
stb 0,0(3)
|
||||
subi 4,4,1
|
||||
addi 3,3,1
|
||||
b .Lot
|
||||
.Laligned:
|
||||
srdi 5,4,2
|
||||
mtctr 5
|
||||
stw 0,0(3)
|
||||
addi 3,3,4
|
||||
bdnz $-8
|
||||
andi. 4,4,3
|
||||
bne .Little
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,2,0
|
||||
.long 0
|
||||
.size OPENSSL_cleanse,.-OPENSSL_cleanse
|
||||
|
||||
.globl CRYPTO_memcmp
|
||||
.type CRYPTO_memcmp,@function
|
||||
.align 4
|
||||
CRYPTO_memcmp:
|
||||
.localentry CRYPTO_memcmp,0
|
||||
|
||||
cmpldi 5,0
|
||||
li 0,0
|
||||
beq .Lno_data
|
||||
mtctr 5
|
||||
.Loop_cmp:
|
||||
lbz 6,0(3)
|
||||
addi 3,3,1
|
||||
lbz 7,0(4)
|
||||
addi 4,4,1
|
||||
xor 6,6,7
|
||||
or 0,0,6
|
||||
bdnz .Loop_cmp
|
||||
|
||||
.Lno_data:
|
||||
li 3,0
|
||||
sub 3,3,0
|
||||
extrwi 3,3,1,0
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,3,0
|
||||
.long 0
|
||||
.size CRYPTO_memcmp,.-CRYPTO_memcmp
|
||||
.globl OPENSSL_instrument_bus_mftb
|
||||
.type OPENSSL_instrument_bus_mftb,@function
|
||||
.align 4
|
||||
OPENSSL_instrument_bus_mftb:
|
||||
.localentry OPENSSL_instrument_bus_mftb,0
|
||||
|
||||
mtctr 4
|
||||
|
||||
mftb 7
|
||||
li 8,0
|
||||
|
||||
dcbf 0,3
|
||||
lwarx 6,0,3
|
||||
add 6,6,8
|
||||
stwcx. 6,0,3
|
||||
stwx 6,0,3
|
||||
|
||||
.Loop: mftb 6
|
||||
sub 8,6,7
|
||||
mr 7,6
|
||||
dcbf 0,3
|
||||
lwarx 6,0,3
|
||||
add 6,6,8
|
||||
stwcx. 6,0,3
|
||||
stwx 6,0,3
|
||||
addi 3,3,4
|
||||
bdnz .Loop
|
||||
|
||||
mr 3,4
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,2,0
|
||||
.long 0
|
||||
.size OPENSSL_instrument_bus_mftb,.-OPENSSL_instrument_bus_mftb
|
||||
|
||||
.globl OPENSSL_instrument_bus2_mftb
|
||||
.type OPENSSL_instrument_bus2_mftb,@function
|
||||
.align 4
|
||||
OPENSSL_instrument_bus2_mftb:
|
||||
.localentry OPENSSL_instrument_bus2_mftb,0
|
||||
|
||||
mr 0,4
|
||||
slwi 4,4,2
|
||||
|
||||
mftb 7
|
||||
li 8,0
|
||||
|
||||
dcbf 0,3
|
||||
lwarx 6,0,3
|
||||
add 6,6,8
|
||||
stwcx. 6,0,3
|
||||
stwx 6,0,3
|
||||
|
||||
mftb 6
|
||||
sub 8,6,7
|
||||
mr 7,6
|
||||
mr 9,8
|
||||
.Loop2:
|
||||
dcbf 0,3
|
||||
lwarx 6,0,3
|
||||
add 6,6,8
|
||||
stwcx. 6,0,3
|
||||
stwx 6,0,3
|
||||
|
||||
addic. 5,5,-1
|
||||
beq .Ldone2
|
||||
|
||||
mftb 6
|
||||
sub 8,6,7
|
||||
mr 7,6
|
||||
cmplw 7,8,9
|
||||
mr 9,8
|
||||
|
||||
mfcr 6
|
||||
not 6,6
|
||||
rlwinm 6,6,1,29,29
|
||||
|
||||
sub. 4,4,6
|
||||
add 3,3,6
|
||||
bne .Loop2
|
||||
|
||||
.Ldone2:
|
||||
srwi 4,4,2
|
||||
sub 3,0,4
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,3,0
|
||||
.long 0
|
||||
.size OPENSSL_instrument_bus2_mftb,.-OPENSSL_instrument_bus2_mftb
|
||||
|
||||
.globl OPENSSL_instrument_bus_mfspr268
|
||||
.type OPENSSL_instrument_bus_mfspr268,@function
|
||||
.align 4
|
||||
OPENSSL_instrument_bus_mfspr268:
|
||||
.localentry OPENSSL_instrument_bus_mfspr268,0
|
||||
|
||||
mtctr 4
|
||||
|
||||
mfspr 7,268
|
||||
li 8,0
|
||||
|
||||
dcbf 0,3
|
||||
lwarx 6,0,3
|
||||
add 6,6,8
|
||||
stwcx. 6,0,3
|
||||
stwx 6,0,3
|
||||
|
||||
.Loop3: mfspr 6,268
|
||||
sub 8,6,7
|
||||
mr 7,6
|
||||
dcbf 0,3
|
||||
lwarx 6,0,3
|
||||
add 6,6,8
|
||||
stwcx. 6,0,3
|
||||
stwx 6,0,3
|
||||
addi 3,3,4
|
||||
bdnz .Loop3
|
||||
|
||||
mr 3,4
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,2,0
|
||||
.long 0
|
||||
.size OPENSSL_instrument_bus_mfspr268,.-OPENSSL_instrument_bus_mfspr268
|
||||
|
||||
.globl OPENSSL_instrument_bus2_mfspr268
|
||||
.type OPENSSL_instrument_bus2_mfspr268,@function
|
||||
.align 4
|
||||
OPENSSL_instrument_bus2_mfspr268:
|
||||
.localentry OPENSSL_instrument_bus2_mfspr268,0
|
||||
|
||||
mr 0,4
|
||||
slwi 4,4,2
|
||||
|
||||
mfspr 7,268
|
||||
li 8,0
|
||||
|
||||
dcbf 0,3
|
||||
lwarx 6,0,3
|
||||
add 6,6,8
|
||||
stwcx. 6,0,3
|
||||
stwx 6,0,3
|
||||
|
||||
mfspr 6,268
|
||||
sub 8,6,7
|
||||
mr 7,6
|
||||
mr 9,8
|
||||
.Loop4:
|
||||
dcbf 0,3
|
||||
lwarx 6,0,3
|
||||
add 6,6,8
|
||||
stwcx. 6,0,3
|
||||
stwx 6,0,3
|
||||
|
||||
addic. 5,5,-1
|
||||
beq .Ldone4
|
||||
|
||||
mfspr 6,268
|
||||
sub 8,6,7
|
||||
mr 7,6
|
||||
cmplw 7,8,9
|
||||
mr 9,8
|
||||
|
||||
mfcr 6
|
||||
not 6,6
|
||||
rlwinm 6,6,1,29,29
|
||||
|
||||
sub. 4,4,6
|
||||
add 3,3,6
|
||||
bne .Loop4
|
||||
|
||||
.Ldone4:
|
||||
srwi 4,4,2
|
||||
sub 3,0,4
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,3,0
|
||||
.long 0
|
||||
.size OPENSSL_instrument_bus2_mfspr268,.-OPENSSL_instrument_bus2_mfspr268
|
1170
sys/crypto/openssl/powerpc64le/sha1-ppc.S
Normal file
1170
sys/crypto/openssl/powerpc64le/sha1-ppc.S
Normal file
File diff suppressed because it is too large
Load Diff
1373
sys/crypto/openssl/powerpc64le/sha256-ppc.S
Normal file
1373
sys/crypto/openssl/powerpc64le/sha256-ppc.S
Normal file
File diff suppressed because it is too large
Load Diff
747
sys/crypto/openssl/powerpc64le/sha256p8-ppc.S
Normal file
747
sys/crypto/openssl/powerpc64le/sha256p8-ppc.S
Normal file
@ -0,0 +1,747 @@
|
||||
/* $FreeBSD$ */
|
||||
/* Do not modify. This file is auto-generated from sha512p8-ppc.pl. */
|
||||
.machine "any"
|
||||
.abiversion 2
|
||||
.text
|
||||
|
||||
.globl sha256_block_p8
|
||||
.type sha256_block_p8,@function
|
||||
.align 6
|
||||
sha256_block_p8:
|
||||
.localentry sha256_block_p8,0
|
||||
|
||||
stdu 1,-384(1)
|
||||
mflr 8
|
||||
li 10,207
|
||||
li 11,223
|
||||
stvx 24,10,1
|
||||
addi 10,10,32
|
||||
li 12,-1
|
||||
stvx 25,11,1
|
||||
addi 11,11,32
|
||||
stvx 26,10,1
|
||||
addi 10,10,32
|
||||
stvx 27,11,1
|
||||
addi 11,11,32
|
||||
stvx 28,10,1
|
||||
addi 10,10,32
|
||||
stvx 29,11,1
|
||||
addi 11,11,32
|
||||
stvx 30,10,1
|
||||
stvx 31,11,1
|
||||
li 11,-4096+255
|
||||
stw 12,332(1)
|
||||
li 10,0x10
|
||||
std 26,336(1)
|
||||
li 26,0x20
|
||||
std 27,344(1)
|
||||
li 27,0x30
|
||||
std 28,352(1)
|
||||
li 28,0x40
|
||||
std 29,360(1)
|
||||
li 29,0x50
|
||||
std 30,368(1)
|
||||
li 30,0x60
|
||||
std 31,376(1)
|
||||
li 31,0x70
|
||||
std 8,400(1)
|
||||
or 11,11,11
|
||||
|
||||
bl .LPICmeup
|
||||
addi 11,1,79
|
||||
li 7,8
|
||||
lvsl 31,0,7
|
||||
vspltisb 28,0x0f
|
||||
vxor 31,31,28
|
||||
.long 0x7C001E19
|
||||
.long 0x7C8A1E19
|
||||
vsldoi 1,0,0,4
|
||||
vsldoi 2,0,0,8
|
||||
vsldoi 3,0,0,12
|
||||
vsldoi 5,4,4,4
|
||||
vsldoi 6,4,4,8
|
||||
vsldoi 7,4,4,12
|
||||
li 0,3
|
||||
b .Loop
|
||||
.align 5
|
||||
.Loop:
|
||||
lvx 28,0,6
|
||||
.long 0x7D002699
|
||||
addi 4,4,16
|
||||
mr 7,6
|
||||
stvx 0,0,11
|
||||
stvx 1,10,11
|
||||
stvx 2,26,11
|
||||
stvx 3,27,11
|
||||
stvx 4,28,11
|
||||
stvx 5,29,11
|
||||
stvx 6,30,11
|
||||
stvx 7,31,11
|
||||
vadduwm 7,7,28
|
||||
lvx 28,10,6
|
||||
vperm 8,8,8,31
|
||||
vadduwm 7,7,8
|
||||
vsel 29,6,5,4
|
||||
vadduwm 6,6,28
|
||||
vadduwm 7,7,29
|
||||
.long 0x13C4FE82
|
||||
vadduwm 7,7,30
|
||||
vxor 29,0,1
|
||||
vsel 29,1,2,29
|
||||
vadduwm 3,3,7
|
||||
.long 0x13C08682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 7,7,30
|
||||
lvx 28,26,7
|
||||
vsldoi 9,8,8,4
|
||||
vadduwm 6,6,9
|
||||
vsel 29,5,4,3
|
||||
vadduwm 5,5,28
|
||||
vadduwm 6,6,29
|
||||
.long 0x13C3FE82
|
||||
vadduwm 6,6,30
|
||||
vxor 29,7,0
|
||||
vsel 29,0,1,29
|
||||
vadduwm 2,2,6
|
||||
.long 0x13C78682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 6,6,30
|
||||
lvx 28,27,7
|
||||
vsldoi 10,9,9,4
|
||||
vadduwm 5,5,10
|
||||
vsel 29,4,3,2
|
||||
vadduwm 4,4,28
|
||||
vadduwm 5,5,29
|
||||
.long 0x13C2FE82
|
||||
vadduwm 5,5,30
|
||||
vxor 29,6,7
|
||||
vsel 29,7,0,29
|
||||
vadduwm 1,1,5
|
||||
.long 0x13C68682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 5,5,30
|
||||
lvx 28,28,7
|
||||
.long 0x7D802699
|
||||
addi 4,4,16
|
||||
vsldoi 11,10,10,4
|
||||
vadduwm 4,4,11
|
||||
vsel 29,3,2,1
|
||||
vadduwm 3,3,28
|
||||
vadduwm 4,4,29
|
||||
.long 0x13C1FE82
|
||||
vadduwm 4,4,30
|
||||
vxor 29,5,6
|
||||
vsel 29,6,7,29
|
||||
vadduwm 0,0,4
|
||||
.long 0x13C58682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 4,4,30
|
||||
lvx 28,29,7
|
||||
vperm 12,12,12,31
|
||||
vadduwm 3,3,12
|
||||
vsel 29,2,1,0
|
||||
vadduwm 2,2,28
|
||||
vadduwm 3,3,29
|
||||
.long 0x13C0FE82
|
||||
vadduwm 3,3,30
|
||||
vxor 29,4,5
|
||||
vsel 29,5,6,29
|
||||
vadduwm 7,7,3
|
||||
.long 0x13C48682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 3,3,30
|
||||
lvx 28,30,7
|
||||
vsldoi 13,12,12,4
|
||||
vadduwm 2,2,13
|
||||
vsel 29,1,0,7
|
||||
vadduwm 1,1,28
|
||||
vadduwm 2,2,29
|
||||
.long 0x13C7FE82
|
||||
vadduwm 2,2,30
|
||||
vxor 29,3,4
|
||||
vsel 29,4,5,29
|
||||
vadduwm 6,6,2
|
||||
.long 0x13C38682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 2,2,30
|
||||
lvx 28,31,7
|
||||
addi 7,7,0x80
|
||||
vsldoi 14,13,13,4
|
||||
vadduwm 1,1,14
|
||||
vsel 29,0,7,6
|
||||
vadduwm 0,0,28
|
||||
vadduwm 1,1,29
|
||||
.long 0x13C6FE82
|
||||
vadduwm 1,1,30
|
||||
vxor 29,2,3
|
||||
vsel 29,3,4,29
|
||||
vadduwm 5,5,1
|
||||
.long 0x13C28682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 1,1,30
|
||||
lvx 28,0,7
|
||||
.long 0x7E002699
|
||||
addi 4,4,16
|
||||
vsldoi 15,14,14,4
|
||||
vadduwm 0,0,15
|
||||
vsel 29,7,6,5
|
||||
vadduwm 7,7,28
|
||||
vadduwm 0,0,29
|
||||
.long 0x13C5FE82
|
||||
vadduwm 0,0,30
|
||||
vxor 29,1,2
|
||||
vsel 29,2,3,29
|
||||
vadduwm 4,4,0
|
||||
.long 0x13C18682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 0,0,30
|
||||
lvx 28,10,7
|
||||
vperm 16,16,16,31
|
||||
vadduwm 7,7,16
|
||||
vsel 29,6,5,4
|
||||
vadduwm 6,6,28
|
||||
vadduwm 7,7,29
|
||||
.long 0x13C4FE82
|
||||
vadduwm 7,7,30
|
||||
vxor 29,0,1
|
||||
vsel 29,1,2,29
|
||||
vadduwm 3,3,7
|
||||
.long 0x13C08682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 7,7,30
|
||||
lvx 28,26,7
|
||||
vsldoi 17,16,16,4
|
||||
vadduwm 6,6,17
|
||||
vsel 29,5,4,3
|
||||
vadduwm 5,5,28
|
||||
vadduwm 6,6,29
|
||||
.long 0x13C3FE82
|
||||
vadduwm 6,6,30
|
||||
vxor 29,7,0
|
||||
vsel 29,0,1,29
|
||||
vadduwm 2,2,6
|
||||
.long 0x13C78682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 6,6,30
|
||||
lvx 28,27,7
|
||||
vsldoi 18,17,17,4
|
||||
vadduwm 5,5,18
|
||||
vsel 29,4,3,2
|
||||
vadduwm 4,4,28
|
||||
vadduwm 5,5,29
|
||||
.long 0x13C2FE82
|
||||
vadduwm 5,5,30
|
||||
vxor 29,6,7
|
||||
vsel 29,7,0,29
|
||||
vadduwm 1,1,5
|
||||
.long 0x13C68682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 5,5,30
|
||||
lvx 28,28,7
|
||||
.long 0x7F002699
|
||||
addi 4,4,16
|
||||
vsldoi 19,18,18,4
|
||||
vadduwm 4,4,19
|
||||
vsel 29,3,2,1
|
||||
vadduwm 3,3,28
|
||||
vadduwm 4,4,29
|
||||
.long 0x13C1FE82
|
||||
vadduwm 4,4,30
|
||||
vxor 29,5,6
|
||||
vsel 29,6,7,29
|
||||
vadduwm 0,0,4
|
||||
.long 0x13C58682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 4,4,30
|
||||
lvx 28,29,7
|
||||
vperm 24,24,24,31
|
||||
vadduwm 3,3,24
|
||||
vsel 29,2,1,0
|
||||
vadduwm 2,2,28
|
||||
vadduwm 3,3,29
|
||||
.long 0x13C0FE82
|
||||
vadduwm 3,3,30
|
||||
vxor 29,4,5
|
||||
vsel 29,5,6,29
|
||||
vadduwm 7,7,3
|
||||
.long 0x13C48682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 3,3,30
|
||||
lvx 28,30,7
|
||||
vsldoi 25,24,24,4
|
||||
vadduwm 2,2,25
|
||||
vsel 29,1,0,7
|
||||
vadduwm 1,1,28
|
||||
vadduwm 2,2,29
|
||||
.long 0x13C7FE82
|
||||
vadduwm 2,2,30
|
||||
vxor 29,3,4
|
||||
vsel 29,4,5,29
|
||||
vadduwm 6,6,2
|
||||
.long 0x13C38682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 2,2,30
|
||||
lvx 28,31,7
|
||||
addi 7,7,0x80
|
||||
vsldoi 26,25,25,4
|
||||
vadduwm 1,1,26
|
||||
vsel 29,0,7,6
|
||||
vadduwm 0,0,28
|
||||
vadduwm 1,1,29
|
||||
.long 0x13C6FE82
|
||||
vadduwm 1,1,30
|
||||
vxor 29,2,3
|
||||
vsel 29,3,4,29
|
||||
vadduwm 5,5,1
|
||||
.long 0x13C28682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 1,1,30
|
||||
lvx 28,0,7
|
||||
vsldoi 27,26,26,4
|
||||
.long 0x13C90682
|
||||
vadduwm 8,8,30
|
||||
.long 0x13DA7E82
|
||||
vadduwm 8,8,30
|
||||
vadduwm 8,8,17
|
||||
vadduwm 0,0,27
|
||||
vsel 29,7,6,5
|
||||
vadduwm 7,7,28
|
||||
vadduwm 0,0,29
|
||||
.long 0x13C5FE82
|
||||
vadduwm 0,0,30
|
||||
vxor 29,1,2
|
||||
vsel 29,2,3,29
|
||||
vadduwm 4,4,0
|
||||
.long 0x13C18682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 0,0,30
|
||||
lvx 28,10,7
|
||||
mtctr 0
|
||||
b .L16_xx
|
||||
.align 5
|
||||
.L16_xx:
|
||||
.long 0x13CA0682
|
||||
vadduwm 9,9,30
|
||||
.long 0x13DB7E82
|
||||
vadduwm 9,9,30
|
||||
vadduwm 9,9,18
|
||||
vadduwm 7,7,8
|
||||
vsel 29,6,5,4
|
||||
vadduwm 6,6,28
|
||||
vadduwm 7,7,29
|
||||
.long 0x13C4FE82
|
||||
vadduwm 7,7,30
|
||||
vxor 29,0,1
|
||||
vsel 29,1,2,29
|
||||
vadduwm 3,3,7
|
||||
.long 0x13C08682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 7,7,30
|
||||
lvx 28,26,7
|
||||
.long 0x13CB0682
|
||||
vadduwm 10,10,30
|
||||
.long 0x13C87E82
|
||||
vadduwm 10,10,30
|
||||
vadduwm 10,10,19
|
||||
vadduwm 6,6,9
|
||||
vsel 29,5,4,3
|
||||
vadduwm 5,5,28
|
||||
vadduwm 6,6,29
|
||||
.long 0x13C3FE82
|
||||
vadduwm 6,6,30
|
||||
vxor 29,7,0
|
||||
vsel 29,0,1,29
|
||||
vadduwm 2,2,6
|
||||
.long 0x13C78682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 6,6,30
|
||||
lvx 28,27,7
|
||||
.long 0x13CC0682
|
||||
vadduwm 11,11,30
|
||||
.long 0x13C97E82
|
||||
vadduwm 11,11,30
|
||||
vadduwm 11,11,24
|
||||
vadduwm 5,5,10
|
||||
vsel 29,4,3,2
|
||||
vadduwm 4,4,28
|
||||
vadduwm 5,5,29
|
||||
.long 0x13C2FE82
|
||||
vadduwm 5,5,30
|
||||
vxor 29,6,7
|
||||
vsel 29,7,0,29
|
||||
vadduwm 1,1,5
|
||||
.long 0x13C68682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 5,5,30
|
||||
lvx 28,28,7
|
||||
.long 0x13CD0682
|
||||
vadduwm 12,12,30
|
||||
.long 0x13CA7E82
|
||||
vadduwm 12,12,30
|
||||
vadduwm 12,12,25
|
||||
vadduwm 4,4,11
|
||||
vsel 29,3,2,1
|
||||
vadduwm 3,3,28
|
||||
vadduwm 4,4,29
|
||||
.long 0x13C1FE82
|
||||
vadduwm 4,4,30
|
||||
vxor 29,5,6
|
||||
vsel 29,6,7,29
|
||||
vadduwm 0,0,4
|
||||
.long 0x13C58682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 4,4,30
|
||||
lvx 28,29,7
|
||||
.long 0x13CE0682
|
||||
vadduwm 13,13,30
|
||||
.long 0x13CB7E82
|
||||
vadduwm 13,13,30
|
||||
vadduwm 13,13,26
|
||||
vadduwm 3,3,12
|
||||
vsel 29,2,1,0
|
||||
vadduwm 2,2,28
|
||||
vadduwm 3,3,29
|
||||
.long 0x13C0FE82
|
||||
vadduwm 3,3,30
|
||||
vxor 29,4,5
|
||||
vsel 29,5,6,29
|
||||
vadduwm 7,7,3
|
||||
.long 0x13C48682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 3,3,30
|
||||
lvx 28,30,7
|
||||
.long 0x13CF0682
|
||||
vadduwm 14,14,30
|
||||
.long 0x13CC7E82
|
||||
vadduwm 14,14,30
|
||||
vadduwm 14,14,27
|
||||
vadduwm 2,2,13
|
||||
vsel 29,1,0,7
|
||||
vadduwm 1,1,28
|
||||
vadduwm 2,2,29
|
||||
.long 0x13C7FE82
|
||||
vadduwm 2,2,30
|
||||
vxor 29,3,4
|
||||
vsel 29,4,5,29
|
||||
vadduwm 6,6,2
|
||||
.long 0x13C38682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 2,2,30
|
||||
lvx 28,31,7
|
||||
addi 7,7,0x80
|
||||
.long 0x13D00682
|
||||
vadduwm 15,15,30
|
||||
.long 0x13CD7E82
|
||||
vadduwm 15,15,30
|
||||
vadduwm 15,15,8
|
||||
vadduwm 1,1,14
|
||||
vsel 29,0,7,6
|
||||
vadduwm 0,0,28
|
||||
vadduwm 1,1,29
|
||||
.long 0x13C6FE82
|
||||
vadduwm 1,1,30
|
||||
vxor 29,2,3
|
||||
vsel 29,3,4,29
|
||||
vadduwm 5,5,1
|
||||
.long 0x13C28682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 1,1,30
|
||||
lvx 28,0,7
|
||||
.long 0x13D10682
|
||||
vadduwm 16,16,30
|
||||
.long 0x13CE7E82
|
||||
vadduwm 16,16,30
|
||||
vadduwm 16,16,9
|
||||
vadduwm 0,0,15
|
||||
vsel 29,7,6,5
|
||||
vadduwm 7,7,28
|
||||
vadduwm 0,0,29
|
||||
.long 0x13C5FE82
|
||||
vadduwm 0,0,30
|
||||
vxor 29,1,2
|
||||
vsel 29,2,3,29
|
||||
vadduwm 4,4,0
|
||||
.long 0x13C18682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 0,0,30
|
||||
lvx 28,10,7
|
||||
.long 0x13D20682
|
||||
vadduwm 17,17,30
|
||||
.long 0x13CF7E82
|
||||
vadduwm 17,17,30
|
||||
vadduwm 17,17,10
|
||||
vadduwm 7,7,16
|
||||
vsel 29,6,5,4
|
||||
vadduwm 6,6,28
|
||||
vadduwm 7,7,29
|
||||
.long 0x13C4FE82
|
||||
vadduwm 7,7,30
|
||||
vxor 29,0,1
|
||||
vsel 29,1,2,29
|
||||
vadduwm 3,3,7
|
||||
.long 0x13C08682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 7,7,30
|
||||
lvx 28,26,7
|
||||
.long 0x13D30682
|
||||
vadduwm 18,18,30
|
||||
.long 0x13D07E82
|
||||
vadduwm 18,18,30
|
||||
vadduwm 18,18,11
|
||||
vadduwm 6,6,17
|
||||
vsel 29,5,4,3
|
||||
vadduwm 5,5,28
|
||||
vadduwm 6,6,29
|
||||
.long 0x13C3FE82
|
||||
vadduwm 6,6,30
|
||||
vxor 29,7,0
|
||||
vsel 29,0,1,29
|
||||
vadduwm 2,2,6
|
||||
.long 0x13C78682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 6,6,30
|
||||
lvx 28,27,7
|
||||
.long 0x13D80682
|
||||
vadduwm 19,19,30
|
||||
.long 0x13D17E82
|
||||
vadduwm 19,19,30
|
||||
vadduwm 19,19,12
|
||||
vadduwm 5,5,18
|
||||
vsel 29,4,3,2
|
||||
vadduwm 4,4,28
|
||||
vadduwm 5,5,29
|
||||
.long 0x13C2FE82
|
||||
vadduwm 5,5,30
|
||||
vxor 29,6,7
|
||||
vsel 29,7,0,29
|
||||
vadduwm 1,1,5
|
||||
.long 0x13C68682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 5,5,30
|
||||
lvx 28,28,7
|
||||
.long 0x13D90682
|
||||
vadduwm 24,24,30
|
||||
.long 0x13D27E82
|
||||
vadduwm 24,24,30
|
||||
vadduwm 24,24,13
|
||||
vadduwm 4,4,19
|
||||
vsel 29,3,2,1
|
||||
vadduwm 3,3,28
|
||||
vadduwm 4,4,29
|
||||
.long 0x13C1FE82
|
||||
vadduwm 4,4,30
|
||||
vxor 29,5,6
|
||||
vsel 29,6,7,29
|
||||
vadduwm 0,0,4
|
||||
.long 0x13C58682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 4,4,30
|
||||
lvx 28,29,7
|
||||
.long 0x13DA0682
|
||||
vadduwm 25,25,30
|
||||
.long 0x13D37E82
|
||||
vadduwm 25,25,30
|
||||
vadduwm 25,25,14
|
||||
vadduwm 3,3,24
|
||||
vsel 29,2,1,0
|
||||
vadduwm 2,2,28
|
||||
vadduwm 3,3,29
|
||||
.long 0x13C0FE82
|
||||
vadduwm 3,3,30
|
||||
vxor 29,4,5
|
||||
vsel 29,5,6,29
|
||||
vadduwm 7,7,3
|
||||
.long 0x13C48682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 3,3,30
|
||||
lvx 28,30,7
|
||||
.long 0x13DB0682
|
||||
vadduwm 26,26,30
|
||||
.long 0x13D87E82
|
||||
vadduwm 26,26,30
|
||||
vadduwm 26,26,15
|
||||
vadduwm 2,2,25
|
||||
vsel 29,1,0,7
|
||||
vadduwm 1,1,28
|
||||
vadduwm 2,2,29
|
||||
.long 0x13C7FE82
|
||||
vadduwm 2,2,30
|
||||
vxor 29,3,4
|
||||
vsel 29,4,5,29
|
||||
vadduwm 6,6,2
|
||||
.long 0x13C38682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 2,2,30
|
||||
lvx 28,31,7
|
||||
addi 7,7,0x80
|
||||
.long 0x13C80682
|
||||
vadduwm 27,27,30
|
||||
.long 0x13D97E82
|
||||
vadduwm 27,27,30
|
||||
vadduwm 27,27,16
|
||||
vadduwm 1,1,26
|
||||
vsel 29,0,7,6
|
||||
vadduwm 0,0,28
|
||||
vadduwm 1,1,29
|
||||
.long 0x13C6FE82
|
||||
vadduwm 1,1,30
|
||||
vxor 29,2,3
|
||||
vsel 29,3,4,29
|
||||
vadduwm 5,5,1
|
||||
.long 0x13C28682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 1,1,30
|
||||
lvx 28,0,7
|
||||
.long 0x13C90682
|
||||
vadduwm 8,8,30
|
||||
.long 0x13DA7E82
|
||||
vadduwm 8,8,30
|
||||
vadduwm 8,8,17
|
||||
vadduwm 0,0,27
|
||||
vsel 29,7,6,5
|
||||
vadduwm 7,7,28
|
||||
vadduwm 0,0,29
|
||||
.long 0x13C5FE82
|
||||
vadduwm 0,0,30
|
||||
vxor 29,1,2
|
||||
vsel 29,2,3,29
|
||||
vadduwm 4,4,0
|
||||
.long 0x13C18682
|
||||
vadduwm 30,30,29
|
||||
vadduwm 0,0,30
|
||||
lvx 28,10,7
|
||||
bdnz .L16_xx
|
||||
|
||||
lvx 10,0,11
|
||||
subic. 5,5,1
|
||||
lvx 11,10,11
|
||||
vadduwm 0,0,10
|
||||
lvx 12,26,11
|
||||
vadduwm 1,1,11
|
||||
lvx 13,27,11
|
||||
vadduwm 2,2,12
|
||||
lvx 14,28,11
|
||||
vadduwm 3,3,13
|
||||
lvx 15,29,11
|
||||
vadduwm 4,4,14
|
||||
lvx 16,30,11
|
||||
vadduwm 5,5,15
|
||||
lvx 17,31,11
|
||||
vadduwm 6,6,16
|
||||
vadduwm 7,7,17
|
||||
bne .Loop
|
||||
lvx 8,26,7
|
||||
vperm 0,0,1,28
|
||||
lvx 9,27,7
|
||||
vperm 4,4,5,28
|
||||
vperm 0,0,2,8
|
||||
vperm 4,4,6,8
|
||||
vperm 0,0,3,9
|
||||
vperm 4,4,7,9
|
||||
.long 0x7C001F19
|
||||
.long 0x7C8A1F19
|
||||
addi 11,1,207
|
||||
mtlr 8
|
||||
or 12,12,12
|
||||
lvx 24,0,11
|
||||
lvx 25,10,11
|
||||
lvx 26,26,11
|
||||
lvx 27,27,11
|
||||
lvx 28,28,11
|
||||
lvx 29,29,11
|
||||
lvx 30,30,11
|
||||
lvx 31,31,11
|
||||
ld 26,336(1)
|
||||
ld 27,344(1)
|
||||
ld 28,352(1)
|
||||
ld 29,360(1)
|
||||
ld 30,368(1)
|
||||
ld 31,376(1)
|
||||
addi 1,1,384
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,4,1,0x80,6,3,0
|
||||
.long 0
|
||||
.size sha256_block_p8,.-sha256_block_p8
|
||||
.align 6
|
||||
.LPICmeup:
|
||||
mflr 0
|
||||
bcl 20,31,$+4
|
||||
mflr 6
|
||||
addi 6,6,56
|
||||
mtlr 0
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.space 28
|
||||
.long 0x428a2f98,0x428a2f98,0x428a2f98,0x428a2f98
|
||||
.long 0x71374491,0x71374491,0x71374491,0x71374491
|
||||
.long 0xb5c0fbcf,0xb5c0fbcf,0xb5c0fbcf,0xb5c0fbcf
|
||||
.long 0xe9b5dba5,0xe9b5dba5,0xe9b5dba5,0xe9b5dba5
|
||||
.long 0x3956c25b,0x3956c25b,0x3956c25b,0x3956c25b
|
||||
.long 0x59f111f1,0x59f111f1,0x59f111f1,0x59f111f1
|
||||
.long 0x923f82a4,0x923f82a4,0x923f82a4,0x923f82a4
|
||||
.long 0xab1c5ed5,0xab1c5ed5,0xab1c5ed5,0xab1c5ed5
|
||||
.long 0xd807aa98,0xd807aa98,0xd807aa98,0xd807aa98
|
||||
.long 0x12835b01,0x12835b01,0x12835b01,0x12835b01
|
||||
.long 0x243185be,0x243185be,0x243185be,0x243185be
|
||||
.long 0x550c7dc3,0x550c7dc3,0x550c7dc3,0x550c7dc3
|
||||
.long 0x72be5d74,0x72be5d74,0x72be5d74,0x72be5d74
|
||||
.long 0x80deb1fe,0x80deb1fe,0x80deb1fe,0x80deb1fe
|
||||
.long 0x9bdc06a7,0x9bdc06a7,0x9bdc06a7,0x9bdc06a7
|
||||
.long 0xc19bf174,0xc19bf174,0xc19bf174,0xc19bf174
|
||||
.long 0xe49b69c1,0xe49b69c1,0xe49b69c1,0xe49b69c1
|
||||
.long 0xefbe4786,0xefbe4786,0xefbe4786,0xefbe4786
|
||||
.long 0x0fc19dc6,0x0fc19dc6,0x0fc19dc6,0x0fc19dc6
|
||||
.long 0x240ca1cc,0x240ca1cc,0x240ca1cc,0x240ca1cc
|
||||
.long 0x2de92c6f,0x2de92c6f,0x2de92c6f,0x2de92c6f
|
||||
.long 0x4a7484aa,0x4a7484aa,0x4a7484aa,0x4a7484aa
|
||||
.long 0x5cb0a9dc,0x5cb0a9dc,0x5cb0a9dc,0x5cb0a9dc
|
||||
.long 0x76f988da,0x76f988da,0x76f988da,0x76f988da
|
||||
.long 0x983e5152,0x983e5152,0x983e5152,0x983e5152
|
||||
.long 0xa831c66d,0xa831c66d,0xa831c66d,0xa831c66d
|
||||
.long 0xb00327c8,0xb00327c8,0xb00327c8,0xb00327c8
|
||||
.long 0xbf597fc7,0xbf597fc7,0xbf597fc7,0xbf597fc7
|
||||
.long 0xc6e00bf3,0xc6e00bf3,0xc6e00bf3,0xc6e00bf3
|
||||
.long 0xd5a79147,0xd5a79147,0xd5a79147,0xd5a79147
|
||||
.long 0x06ca6351,0x06ca6351,0x06ca6351,0x06ca6351
|
||||
.long 0x14292967,0x14292967,0x14292967,0x14292967
|
||||
.long 0x27b70a85,0x27b70a85,0x27b70a85,0x27b70a85
|
||||
.long 0x2e1b2138,0x2e1b2138,0x2e1b2138,0x2e1b2138
|
||||
.long 0x4d2c6dfc,0x4d2c6dfc,0x4d2c6dfc,0x4d2c6dfc
|
||||
.long 0x53380d13,0x53380d13,0x53380d13,0x53380d13
|
||||
.long 0x650a7354,0x650a7354,0x650a7354,0x650a7354
|
||||
.long 0x766a0abb,0x766a0abb,0x766a0abb,0x766a0abb
|
||||
.long 0x81c2c92e,0x81c2c92e,0x81c2c92e,0x81c2c92e
|
||||
.long 0x92722c85,0x92722c85,0x92722c85,0x92722c85
|
||||
.long 0xa2bfe8a1,0xa2bfe8a1,0xa2bfe8a1,0xa2bfe8a1
|
||||
.long 0xa81a664b,0xa81a664b,0xa81a664b,0xa81a664b
|
||||
.long 0xc24b8b70,0xc24b8b70,0xc24b8b70,0xc24b8b70
|
||||
.long 0xc76c51a3,0xc76c51a3,0xc76c51a3,0xc76c51a3
|
||||
.long 0xd192e819,0xd192e819,0xd192e819,0xd192e819
|
||||
.long 0xd6990624,0xd6990624,0xd6990624,0xd6990624
|
||||
.long 0xf40e3585,0xf40e3585,0xf40e3585,0xf40e3585
|
||||
.long 0x106aa070,0x106aa070,0x106aa070,0x106aa070
|
||||
.long 0x19a4c116,0x19a4c116,0x19a4c116,0x19a4c116
|
||||
.long 0x1e376c08,0x1e376c08,0x1e376c08,0x1e376c08
|
||||
.long 0x2748774c,0x2748774c,0x2748774c,0x2748774c
|
||||
.long 0x34b0bcb5,0x34b0bcb5,0x34b0bcb5,0x34b0bcb5
|
||||
.long 0x391c0cb3,0x391c0cb3,0x391c0cb3,0x391c0cb3
|
||||
.long 0x4ed8aa4a,0x4ed8aa4a,0x4ed8aa4a,0x4ed8aa4a
|
||||
.long 0x5b9cca4f,0x5b9cca4f,0x5b9cca4f,0x5b9cca4f
|
||||
.long 0x682e6ff3,0x682e6ff3,0x682e6ff3,0x682e6ff3
|
||||
.long 0x748f82ee,0x748f82ee,0x748f82ee,0x748f82ee
|
||||
.long 0x78a5636f,0x78a5636f,0x78a5636f,0x78a5636f
|
||||
.long 0x84c87814,0x84c87814,0x84c87814,0x84c87814
|
||||
.long 0x8cc70208,0x8cc70208,0x8cc70208,0x8cc70208
|
||||
.long 0x90befffa,0x90befffa,0x90befffa,0x90befffa
|
||||
.long 0xa4506ceb,0xa4506ceb,0xa4506ceb,0xa4506ceb
|
||||
.long 0xbef9a3f7,0xbef9a3f7,0xbef9a3f7,0xbef9a3f7
|
||||
.long 0xc67178f2,0xc67178f2,0xc67178f2,0xc67178f2
|
||||
.long 0,0,0,0
|
||||
.long 0x10111213,0x10111213,0x10111213,0x00010203
|
||||
.long 0x10111213,0x10111213,0x04050607,0x00010203
|
||||
.long 0x10111213,0x08090a0b,0x04050607,0x00010203
|
||||
.byte 83,72,65,50,53,54,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,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
|
||||
.align 2
|
1517
sys/crypto/openssl/powerpc64le/sha512-ppc.S
Normal file
1517
sys/crypto/openssl/powerpc64le/sha512-ppc.S
Normal file
File diff suppressed because it is too large
Load Diff
849
sys/crypto/openssl/powerpc64le/sha512p8-ppc.S
Normal file
849
sys/crypto/openssl/powerpc64le/sha512p8-ppc.S
Normal file
@ -0,0 +1,849 @@
|
||||
/* $FreeBSD$ */
|
||||
/* Do not modify. This file is auto-generated from sha512p8-ppc.pl. */
|
||||
.machine "any"
|
||||
.abiversion 2
|
||||
.text
|
||||
|
||||
.globl sha512_block_p8
|
||||
.type sha512_block_p8,@function
|
||||
.align 6
|
||||
sha512_block_p8:
|
||||
.localentry sha512_block_p8,0
|
||||
|
||||
stdu 1,-384(1)
|
||||
mflr 8
|
||||
li 10,207
|
||||
li 11,223
|
||||
stvx 24,10,1
|
||||
addi 10,10,32
|
||||
li 12,-1
|
||||
stvx 25,11,1
|
||||
addi 11,11,32
|
||||
stvx 26,10,1
|
||||
addi 10,10,32
|
||||
stvx 27,11,1
|
||||
addi 11,11,32
|
||||
stvx 28,10,1
|
||||
addi 10,10,32
|
||||
stvx 29,11,1
|
||||
addi 11,11,32
|
||||
stvx 30,10,1
|
||||
stvx 31,11,1
|
||||
li 11,-4096+255
|
||||
stw 12,332(1)
|
||||
li 10,0x10
|
||||
std 26,336(1)
|
||||
li 26,0x20
|
||||
std 27,344(1)
|
||||
li 27,0x30
|
||||
std 28,352(1)
|
||||
li 28,0x40
|
||||
std 29,360(1)
|
||||
li 29,0x50
|
||||
std 30,368(1)
|
||||
li 30,0x60
|
||||
std 31,376(1)
|
||||
li 31,0x70
|
||||
std 8,400(1)
|
||||
or 11,11,11
|
||||
|
||||
bl .LPICmeup
|
||||
addi 11,1,79
|
||||
li 7,8
|
||||
lvsl 31,0,7
|
||||
vspltisb 28,0x0f
|
||||
vxor 31,31,28
|
||||
.long 0x7C001E99
|
||||
.long 0x7C4A1E99
|
||||
.long 0x7C9A1E99
|
||||
vsldoi 1,0,0,8
|
||||
.long 0x7CDB1E99
|
||||
vsldoi 3,2,2,8
|
||||
vsldoi 5,4,4,8
|
||||
vsldoi 7,6,6,8
|
||||
li 0,4
|
||||
b .Loop
|
||||
.align 5
|
||||
.Loop:
|
||||
lvx 28,0,6
|
||||
.long 0x7D002699
|
||||
addi 4,4,16
|
||||
mr 7,6
|
||||
stvx 0,0,11
|
||||
stvx 1,10,11
|
||||
stvx 2,26,11
|
||||
stvx 3,27,11
|
||||
stvx 4,28,11
|
||||
stvx 5,29,11
|
||||
stvx 6,30,11
|
||||
stvx 7,31,11
|
||||
.long 0x10E7E0C0
|
||||
lvx 28,10,6
|
||||
vperm 8,8,8,31
|
||||
.long 0x10E740C0
|
||||
vsel 29,6,5,4
|
||||
.long 0x10C6E0C0
|
||||
.long 0x10E7E8C0
|
||||
.long 0x13C4FEC2
|
||||
.long 0x10E7F0C0
|
||||
vxor 29,0,1
|
||||
vsel 29,1,2,29
|
||||
.long 0x106338C0
|
||||
.long 0x13C086C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10E7F0C0
|
||||
lvx 28,26,7
|
||||
.long 0x7D402699
|
||||
addi 4,4,16
|
||||
vsldoi 9,8,8,8
|
||||
.long 0x10C648C0
|
||||
vsel 29,5,4,3
|
||||
.long 0x10A5E0C0
|
||||
.long 0x10C6E8C0
|
||||
.long 0x13C3FEC2
|
||||
.long 0x10C6F0C0
|
||||
vxor 29,7,0
|
||||
vsel 29,0,1,29
|
||||
.long 0x104230C0
|
||||
.long 0x13C786C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10C6F0C0
|
||||
lvx 28,27,7
|
||||
vperm 10,10,10,31
|
||||
.long 0x10A550C0
|
||||
vsel 29,4,3,2
|
||||
.long 0x1084E0C0
|
||||
.long 0x10A5E8C0
|
||||
.long 0x13C2FEC2
|
||||
.long 0x10A5F0C0
|
||||
vxor 29,6,7
|
||||
vsel 29,7,0,29
|
||||
.long 0x102128C0
|
||||
.long 0x13C686C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10A5F0C0
|
||||
lvx 28,28,7
|
||||
.long 0x7D802699
|
||||
addi 4,4,16
|
||||
vsldoi 11,10,10,8
|
||||
.long 0x108458C0
|
||||
vsel 29,3,2,1
|
||||
.long 0x1063E0C0
|
||||
.long 0x1084E8C0
|
||||
.long 0x13C1FEC2
|
||||
.long 0x1084F0C0
|
||||
vxor 29,5,6
|
||||
vsel 29,6,7,29
|
||||
.long 0x100020C0
|
||||
.long 0x13C586C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1084F0C0
|
||||
lvx 28,29,7
|
||||
vperm 12,12,12,31
|
||||
.long 0x106360C0
|
||||
vsel 29,2,1,0
|
||||
.long 0x1042E0C0
|
||||
.long 0x1063E8C0
|
||||
.long 0x13C0FEC2
|
||||
.long 0x1063F0C0
|
||||
vxor 29,4,5
|
||||
vsel 29,5,6,29
|
||||
.long 0x10E718C0
|
||||
.long 0x13C486C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1063F0C0
|
||||
lvx 28,30,7
|
||||
.long 0x7DC02699
|
||||
addi 4,4,16
|
||||
vsldoi 13,12,12,8
|
||||
.long 0x104268C0
|
||||
vsel 29,1,0,7
|
||||
.long 0x1021E0C0
|
||||
.long 0x1042E8C0
|
||||
.long 0x13C7FEC2
|
||||
.long 0x1042F0C0
|
||||
vxor 29,3,4
|
||||
vsel 29,4,5,29
|
||||
.long 0x10C610C0
|
||||
.long 0x13C386C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1042F0C0
|
||||
lvx 28,31,7
|
||||
addi 7,7,0x80
|
||||
vperm 14,14,14,31
|
||||
.long 0x102170C0
|
||||
vsel 29,0,7,6
|
||||
.long 0x1000E0C0
|
||||
.long 0x1021E8C0
|
||||
.long 0x13C6FEC2
|
||||
.long 0x1021F0C0
|
||||
vxor 29,2,3
|
||||
vsel 29,3,4,29
|
||||
.long 0x10A508C0
|
||||
.long 0x13C286C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1021F0C0
|
||||
lvx 28,0,7
|
||||
.long 0x7E002699
|
||||
addi 4,4,16
|
||||
vsldoi 15,14,14,8
|
||||
.long 0x100078C0
|
||||
vsel 29,7,6,5
|
||||
.long 0x10E7E0C0
|
||||
.long 0x1000E8C0
|
||||
.long 0x13C5FEC2
|
||||
.long 0x1000F0C0
|
||||
vxor 29,1,2
|
||||
vsel 29,2,3,29
|
||||
.long 0x108400C0
|
||||
.long 0x13C186C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1000F0C0
|
||||
lvx 28,10,7
|
||||
vperm 16,16,16,31
|
||||
.long 0x10E780C0
|
||||
vsel 29,6,5,4
|
||||
.long 0x10C6E0C0
|
||||
.long 0x10E7E8C0
|
||||
.long 0x13C4FEC2
|
||||
.long 0x10E7F0C0
|
||||
vxor 29,0,1
|
||||
vsel 29,1,2,29
|
||||
.long 0x106338C0
|
||||
.long 0x13C086C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10E7F0C0
|
||||
lvx 28,26,7
|
||||
.long 0x7E402699
|
||||
addi 4,4,16
|
||||
vsldoi 17,16,16,8
|
||||
.long 0x10C688C0
|
||||
vsel 29,5,4,3
|
||||
.long 0x10A5E0C0
|
||||
.long 0x10C6E8C0
|
||||
.long 0x13C3FEC2
|
||||
.long 0x10C6F0C0
|
||||
vxor 29,7,0
|
||||
vsel 29,0,1,29
|
||||
.long 0x104230C0
|
||||
.long 0x13C786C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10C6F0C0
|
||||
lvx 28,27,7
|
||||
vperm 18,18,18,31
|
||||
.long 0x10A590C0
|
||||
vsel 29,4,3,2
|
||||
.long 0x1084E0C0
|
||||
.long 0x10A5E8C0
|
||||
.long 0x13C2FEC2
|
||||
.long 0x10A5F0C0
|
||||
vxor 29,6,7
|
||||
vsel 29,7,0,29
|
||||
.long 0x102128C0
|
||||
.long 0x13C686C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10A5F0C0
|
||||
lvx 28,28,7
|
||||
.long 0x7F002699
|
||||
addi 4,4,16
|
||||
vsldoi 19,18,18,8
|
||||
.long 0x108498C0
|
||||
vsel 29,3,2,1
|
||||
.long 0x1063E0C0
|
||||
.long 0x1084E8C0
|
||||
.long 0x13C1FEC2
|
||||
.long 0x1084F0C0
|
||||
vxor 29,5,6
|
||||
vsel 29,6,7,29
|
||||
.long 0x100020C0
|
||||
.long 0x13C586C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1084F0C0
|
||||
lvx 28,29,7
|
||||
vperm 24,24,24,31
|
||||
.long 0x1063C0C0
|
||||
vsel 29,2,1,0
|
||||
.long 0x1042E0C0
|
||||
.long 0x1063E8C0
|
||||
.long 0x13C0FEC2
|
||||
.long 0x1063F0C0
|
||||
vxor 29,4,5
|
||||
vsel 29,5,6,29
|
||||
.long 0x10E718C0
|
||||
.long 0x13C486C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1063F0C0
|
||||
lvx 28,30,7
|
||||
.long 0x7F402699
|
||||
addi 4,4,16
|
||||
vsldoi 25,24,24,8
|
||||
.long 0x1042C8C0
|
||||
vsel 29,1,0,7
|
||||
.long 0x1021E0C0
|
||||
.long 0x1042E8C0
|
||||
.long 0x13C7FEC2
|
||||
.long 0x1042F0C0
|
||||
vxor 29,3,4
|
||||
vsel 29,4,5,29
|
||||
.long 0x10C610C0
|
||||
.long 0x13C386C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1042F0C0
|
||||
lvx 28,31,7
|
||||
addi 7,7,0x80
|
||||
vperm 26,26,26,31
|
||||
.long 0x1021D0C0
|
||||
vsel 29,0,7,6
|
||||
.long 0x1000E0C0
|
||||
.long 0x1021E8C0
|
||||
.long 0x13C6FEC2
|
||||
.long 0x1021F0C0
|
||||
vxor 29,2,3
|
||||
vsel 29,3,4,29
|
||||
.long 0x10A508C0
|
||||
.long 0x13C286C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1021F0C0
|
||||
lvx 28,0,7
|
||||
vsldoi 27,26,26,8
|
||||
.long 0x13C906C2
|
||||
.long 0x1108F0C0
|
||||
.long 0x13DA7EC2
|
||||
.long 0x1108F0C0
|
||||
.long 0x110888C0
|
||||
.long 0x1000D8C0
|
||||
vsel 29,7,6,5
|
||||
.long 0x10E7E0C0
|
||||
.long 0x1000E8C0
|
||||
.long 0x13C5FEC2
|
||||
.long 0x1000F0C0
|
||||
vxor 29,1,2
|
||||
vsel 29,2,3,29
|
||||
.long 0x108400C0
|
||||
.long 0x13C186C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1000F0C0
|
||||
lvx 28,10,7
|
||||
mtctr 0
|
||||
b .L16_xx
|
||||
.align 5
|
||||
.L16_xx:
|
||||
.long 0x13CA06C2
|
||||
.long 0x1129F0C0
|
||||
.long 0x13DB7EC2
|
||||
.long 0x1129F0C0
|
||||
.long 0x112990C0
|
||||
.long 0x10E740C0
|
||||
vsel 29,6,5,4
|
||||
.long 0x10C6E0C0
|
||||
.long 0x10E7E8C0
|
||||
.long 0x13C4FEC2
|
||||
.long 0x10E7F0C0
|
||||
vxor 29,0,1
|
||||
vsel 29,1,2,29
|
||||
.long 0x106338C0
|
||||
.long 0x13C086C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10E7F0C0
|
||||
lvx 28,26,7
|
||||
.long 0x13CB06C2
|
||||
.long 0x114AF0C0
|
||||
.long 0x13C87EC2
|
||||
.long 0x114AF0C0
|
||||
.long 0x114A98C0
|
||||
.long 0x10C648C0
|
||||
vsel 29,5,4,3
|
||||
.long 0x10A5E0C0
|
||||
.long 0x10C6E8C0
|
||||
.long 0x13C3FEC2
|
||||
.long 0x10C6F0C0
|
||||
vxor 29,7,0
|
||||
vsel 29,0,1,29
|
||||
.long 0x104230C0
|
||||
.long 0x13C786C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10C6F0C0
|
||||
lvx 28,27,7
|
||||
.long 0x13CC06C2
|
||||
.long 0x116BF0C0
|
||||
.long 0x13C97EC2
|
||||
.long 0x116BF0C0
|
||||
.long 0x116BC0C0
|
||||
.long 0x10A550C0
|
||||
vsel 29,4,3,2
|
||||
.long 0x1084E0C0
|
||||
.long 0x10A5E8C0
|
||||
.long 0x13C2FEC2
|
||||
.long 0x10A5F0C0
|
||||
vxor 29,6,7
|
||||
vsel 29,7,0,29
|
||||
.long 0x102128C0
|
||||
.long 0x13C686C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10A5F0C0
|
||||
lvx 28,28,7
|
||||
.long 0x13CD06C2
|
||||
.long 0x118CF0C0
|
||||
.long 0x13CA7EC2
|
||||
.long 0x118CF0C0
|
||||
.long 0x118CC8C0
|
||||
.long 0x108458C0
|
||||
vsel 29,3,2,1
|
||||
.long 0x1063E0C0
|
||||
.long 0x1084E8C0
|
||||
.long 0x13C1FEC2
|
||||
.long 0x1084F0C0
|
||||
vxor 29,5,6
|
||||
vsel 29,6,7,29
|
||||
.long 0x100020C0
|
||||
.long 0x13C586C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1084F0C0
|
||||
lvx 28,29,7
|
||||
.long 0x13CE06C2
|
||||
.long 0x11ADF0C0
|
||||
.long 0x13CB7EC2
|
||||
.long 0x11ADF0C0
|
||||
.long 0x11ADD0C0
|
||||
.long 0x106360C0
|
||||
vsel 29,2,1,0
|
||||
.long 0x1042E0C0
|
||||
.long 0x1063E8C0
|
||||
.long 0x13C0FEC2
|
||||
.long 0x1063F0C0
|
||||
vxor 29,4,5
|
||||
vsel 29,5,6,29
|
||||
.long 0x10E718C0
|
||||
.long 0x13C486C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1063F0C0
|
||||
lvx 28,30,7
|
||||
.long 0x13CF06C2
|
||||
.long 0x11CEF0C0
|
||||
.long 0x13CC7EC2
|
||||
.long 0x11CEF0C0
|
||||
.long 0x11CED8C0
|
||||
.long 0x104268C0
|
||||
vsel 29,1,0,7
|
||||
.long 0x1021E0C0
|
||||
.long 0x1042E8C0
|
||||
.long 0x13C7FEC2
|
||||
.long 0x1042F0C0
|
||||
vxor 29,3,4
|
||||
vsel 29,4,5,29
|
||||
.long 0x10C610C0
|
||||
.long 0x13C386C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1042F0C0
|
||||
lvx 28,31,7
|
||||
addi 7,7,0x80
|
||||
.long 0x13D006C2
|
||||
.long 0x11EFF0C0
|
||||
.long 0x13CD7EC2
|
||||
.long 0x11EFF0C0
|
||||
.long 0x11EF40C0
|
||||
.long 0x102170C0
|
||||
vsel 29,0,7,6
|
||||
.long 0x1000E0C0
|
||||
.long 0x1021E8C0
|
||||
.long 0x13C6FEC2
|
||||
.long 0x1021F0C0
|
||||
vxor 29,2,3
|
||||
vsel 29,3,4,29
|
||||
.long 0x10A508C0
|
||||
.long 0x13C286C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1021F0C0
|
||||
lvx 28,0,7
|
||||
.long 0x13D106C2
|
||||
.long 0x1210F0C0
|
||||
.long 0x13CE7EC2
|
||||
.long 0x1210F0C0
|
||||
.long 0x121048C0
|
||||
.long 0x100078C0
|
||||
vsel 29,7,6,5
|
||||
.long 0x10E7E0C0
|
||||
.long 0x1000E8C0
|
||||
.long 0x13C5FEC2
|
||||
.long 0x1000F0C0
|
||||
vxor 29,1,2
|
||||
vsel 29,2,3,29
|
||||
.long 0x108400C0
|
||||
.long 0x13C186C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1000F0C0
|
||||
lvx 28,10,7
|
||||
.long 0x13D206C2
|
||||
.long 0x1231F0C0
|
||||
.long 0x13CF7EC2
|
||||
.long 0x1231F0C0
|
||||
.long 0x123150C0
|
||||
.long 0x10E780C0
|
||||
vsel 29,6,5,4
|
||||
.long 0x10C6E0C0
|
||||
.long 0x10E7E8C0
|
||||
.long 0x13C4FEC2
|
||||
.long 0x10E7F0C0
|
||||
vxor 29,0,1
|
||||
vsel 29,1,2,29
|
||||
.long 0x106338C0
|
||||
.long 0x13C086C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10E7F0C0
|
||||
lvx 28,26,7
|
||||
.long 0x13D306C2
|
||||
.long 0x1252F0C0
|
||||
.long 0x13D07EC2
|
||||
.long 0x1252F0C0
|
||||
.long 0x125258C0
|
||||
.long 0x10C688C0
|
||||
vsel 29,5,4,3
|
||||
.long 0x10A5E0C0
|
||||
.long 0x10C6E8C0
|
||||
.long 0x13C3FEC2
|
||||
.long 0x10C6F0C0
|
||||
vxor 29,7,0
|
||||
vsel 29,0,1,29
|
||||
.long 0x104230C0
|
||||
.long 0x13C786C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10C6F0C0
|
||||
lvx 28,27,7
|
||||
.long 0x13D806C2
|
||||
.long 0x1273F0C0
|
||||
.long 0x13D17EC2
|
||||
.long 0x1273F0C0
|
||||
.long 0x127360C0
|
||||
.long 0x10A590C0
|
||||
vsel 29,4,3,2
|
||||
.long 0x1084E0C0
|
||||
.long 0x10A5E8C0
|
||||
.long 0x13C2FEC2
|
||||
.long 0x10A5F0C0
|
||||
vxor 29,6,7
|
||||
vsel 29,7,0,29
|
||||
.long 0x102128C0
|
||||
.long 0x13C686C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x10A5F0C0
|
||||
lvx 28,28,7
|
||||
.long 0x13D906C2
|
||||
.long 0x1318F0C0
|
||||
.long 0x13D27EC2
|
||||
.long 0x1318F0C0
|
||||
.long 0x131868C0
|
||||
.long 0x108498C0
|
||||
vsel 29,3,2,1
|
||||
.long 0x1063E0C0
|
||||
.long 0x1084E8C0
|
||||
.long 0x13C1FEC2
|
||||
.long 0x1084F0C0
|
||||
vxor 29,5,6
|
||||
vsel 29,6,7,29
|
||||
.long 0x100020C0
|
||||
.long 0x13C586C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1084F0C0
|
||||
lvx 28,29,7
|
||||
.long 0x13DA06C2
|
||||
.long 0x1339F0C0
|
||||
.long 0x13D37EC2
|
||||
.long 0x1339F0C0
|
||||
.long 0x133970C0
|
||||
.long 0x1063C0C0
|
||||
vsel 29,2,1,0
|
||||
.long 0x1042E0C0
|
||||
.long 0x1063E8C0
|
||||
.long 0x13C0FEC2
|
||||
.long 0x1063F0C0
|
||||
vxor 29,4,5
|
||||
vsel 29,5,6,29
|
||||
.long 0x10E718C0
|
||||
.long 0x13C486C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1063F0C0
|
||||
lvx 28,30,7
|
||||
.long 0x13DB06C2
|
||||
.long 0x135AF0C0
|
||||
.long 0x13D87EC2
|
||||
.long 0x135AF0C0
|
||||
.long 0x135A78C0
|
||||
.long 0x1042C8C0
|
||||
vsel 29,1,0,7
|
||||
.long 0x1021E0C0
|
||||
.long 0x1042E8C0
|
||||
.long 0x13C7FEC2
|
||||
.long 0x1042F0C0
|
||||
vxor 29,3,4
|
||||
vsel 29,4,5,29
|
||||
.long 0x10C610C0
|
||||
.long 0x13C386C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1042F0C0
|
||||
lvx 28,31,7
|
||||
addi 7,7,0x80
|
||||
.long 0x13C806C2
|
||||
.long 0x137BF0C0
|
||||
.long 0x13D97EC2
|
||||
.long 0x137BF0C0
|
||||
.long 0x137B80C0
|
||||
.long 0x1021D0C0
|
||||
vsel 29,0,7,6
|
||||
.long 0x1000E0C0
|
||||
.long 0x1021E8C0
|
||||
.long 0x13C6FEC2
|
||||
.long 0x1021F0C0
|
||||
vxor 29,2,3
|
||||
vsel 29,3,4,29
|
||||
.long 0x10A508C0
|
||||
.long 0x13C286C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1021F0C0
|
||||
lvx 28,0,7
|
||||
.long 0x13C906C2
|
||||
.long 0x1108F0C0
|
||||
.long 0x13DA7EC2
|
||||
.long 0x1108F0C0
|
||||
.long 0x110888C0
|
||||
.long 0x1000D8C0
|
||||
vsel 29,7,6,5
|
||||
.long 0x10E7E0C0
|
||||
.long 0x1000E8C0
|
||||
.long 0x13C5FEC2
|
||||
.long 0x1000F0C0
|
||||
vxor 29,1,2
|
||||
vsel 29,2,3,29
|
||||
.long 0x108400C0
|
||||
.long 0x13C186C2
|
||||
.long 0x13DEE8C0
|
||||
.long 0x1000F0C0
|
||||
lvx 28,10,7
|
||||
bdnz .L16_xx
|
||||
|
||||
lvx 10,0,11
|
||||
subic. 5,5,1
|
||||
lvx 11,10,11
|
||||
.long 0x100050C0
|
||||
lvx 12,26,11
|
||||
.long 0x102158C0
|
||||
lvx 13,27,11
|
||||
.long 0x104260C0
|
||||
lvx 14,28,11
|
||||
.long 0x106368C0
|
||||
lvx 15,29,11
|
||||
.long 0x108470C0
|
||||
lvx 16,30,11
|
||||
.long 0x10A578C0
|
||||
lvx 17,31,11
|
||||
.long 0x10C680C0
|
||||
.long 0x10E788C0
|
||||
bne .Loop
|
||||
vperm 0,0,1,28
|
||||
vperm 2,2,3,28
|
||||
vperm 4,4,5,28
|
||||
vperm 6,6,7,28
|
||||
.long 0x7C001F99
|
||||
.long 0x7C4A1F99
|
||||
.long 0x7C9A1F99
|
||||
.long 0x7CDB1F99
|
||||
addi 11,1,207
|
||||
mtlr 8
|
||||
or 12,12,12
|
||||
lvx 24,0,11
|
||||
lvx 25,10,11
|
||||
lvx 26,26,11
|
||||
lvx 27,27,11
|
||||
lvx 28,28,11
|
||||
lvx 29,29,11
|
||||
lvx 30,30,11
|
||||
lvx 31,31,11
|
||||
ld 26,336(1)
|
||||
ld 27,344(1)
|
||||
ld 28,352(1)
|
||||
ld 29,360(1)
|
||||
ld 30,368(1)
|
||||
ld 31,376(1)
|
||||
addi 1,1,384
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,4,1,0x80,6,3,0
|
||||
.long 0
|
||||
.size sha512_block_p8,.-sha512_block_p8
|
||||
.align 6
|
||||
.LPICmeup:
|
||||
mflr 0
|
||||
bcl 20,31,$+4
|
||||
mflr 6
|
||||
addi 6,6,56
|
||||
mtlr 0
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.space 28
|
||||
.long 0xd728ae22,0x428a2f98
|
||||
.long 0xd728ae22,0x428a2f98
|
||||
.long 0x23ef65cd,0x71374491
|
||||
.long 0x23ef65cd,0x71374491
|
||||
.long 0xec4d3b2f,0xb5c0fbcf
|
||||
.long 0xec4d3b2f,0xb5c0fbcf
|
||||
.long 0x8189dbbc,0xe9b5dba5
|
||||
.long 0x8189dbbc,0xe9b5dba5
|
||||
.long 0xf348b538,0x3956c25b
|
||||
.long 0xf348b538,0x3956c25b
|
||||
.long 0xb605d019,0x59f111f1
|
||||
.long 0xb605d019,0x59f111f1
|
||||
.long 0xaf194f9b,0x923f82a4
|
||||
.long 0xaf194f9b,0x923f82a4
|
||||
.long 0xda6d8118,0xab1c5ed5
|
||||
.long 0xda6d8118,0xab1c5ed5
|
||||
.long 0xa3030242,0xd807aa98
|
||||
.long 0xa3030242,0xd807aa98
|
||||
.long 0x45706fbe,0x12835b01
|
||||
.long 0x45706fbe,0x12835b01
|
||||
.long 0x4ee4b28c,0x243185be
|
||||
.long 0x4ee4b28c,0x243185be
|
||||
.long 0xd5ffb4e2,0x550c7dc3
|
||||
.long 0xd5ffb4e2,0x550c7dc3
|
||||
.long 0xf27b896f,0x72be5d74
|
||||
.long 0xf27b896f,0x72be5d74
|
||||
.long 0x3b1696b1,0x80deb1fe
|
||||
.long 0x3b1696b1,0x80deb1fe
|
||||
.long 0x25c71235,0x9bdc06a7
|
||||
.long 0x25c71235,0x9bdc06a7
|
||||
.long 0xcf692694,0xc19bf174
|
||||
.long 0xcf692694,0xc19bf174
|
||||
.long 0x9ef14ad2,0xe49b69c1
|
||||
.long 0x9ef14ad2,0xe49b69c1
|
||||
.long 0x384f25e3,0xefbe4786
|
||||
.long 0x384f25e3,0xefbe4786
|
||||
.long 0x8b8cd5b5,0x0fc19dc6
|
||||
.long 0x8b8cd5b5,0x0fc19dc6
|
||||
.long 0x77ac9c65,0x240ca1cc
|
||||
.long 0x77ac9c65,0x240ca1cc
|
||||
.long 0x592b0275,0x2de92c6f
|
||||
.long 0x592b0275,0x2de92c6f
|
||||
.long 0x6ea6e483,0x4a7484aa
|
||||
.long 0x6ea6e483,0x4a7484aa
|
||||
.long 0xbd41fbd4,0x5cb0a9dc
|
||||
.long 0xbd41fbd4,0x5cb0a9dc
|
||||
.long 0x831153b5,0x76f988da
|
||||
.long 0x831153b5,0x76f988da
|
||||
.long 0xee66dfab,0x983e5152
|
||||
.long 0xee66dfab,0x983e5152
|
||||
.long 0x2db43210,0xa831c66d
|
||||
.long 0x2db43210,0xa831c66d
|
||||
.long 0x98fb213f,0xb00327c8
|
||||
.long 0x98fb213f,0xb00327c8
|
||||
.long 0xbeef0ee4,0xbf597fc7
|
||||
.long 0xbeef0ee4,0xbf597fc7
|
||||
.long 0x3da88fc2,0xc6e00bf3
|
||||
.long 0x3da88fc2,0xc6e00bf3
|
||||
.long 0x930aa725,0xd5a79147
|
||||
.long 0x930aa725,0xd5a79147
|
||||
.long 0xe003826f,0x06ca6351
|
||||
.long 0xe003826f,0x06ca6351
|
||||
.long 0x0a0e6e70,0x14292967
|
||||
.long 0x0a0e6e70,0x14292967
|
||||
.long 0x46d22ffc,0x27b70a85
|
||||
.long 0x46d22ffc,0x27b70a85
|
||||
.long 0x5c26c926,0x2e1b2138
|
||||
.long 0x5c26c926,0x2e1b2138
|
||||
.long 0x5ac42aed,0x4d2c6dfc
|
||||
.long 0x5ac42aed,0x4d2c6dfc
|
||||
.long 0x9d95b3df,0x53380d13
|
||||
.long 0x9d95b3df,0x53380d13
|
||||
.long 0x8baf63de,0x650a7354
|
||||
.long 0x8baf63de,0x650a7354
|
||||
.long 0x3c77b2a8,0x766a0abb
|
||||
.long 0x3c77b2a8,0x766a0abb
|
||||
.long 0x47edaee6,0x81c2c92e
|
||||
.long 0x47edaee6,0x81c2c92e
|
||||
.long 0x1482353b,0x92722c85
|
||||
.long 0x1482353b,0x92722c85
|
||||
.long 0x4cf10364,0xa2bfe8a1
|
||||
.long 0x4cf10364,0xa2bfe8a1
|
||||
.long 0xbc423001,0xa81a664b
|
||||
.long 0xbc423001,0xa81a664b
|
||||
.long 0xd0f89791,0xc24b8b70
|
||||
.long 0xd0f89791,0xc24b8b70
|
||||
.long 0x0654be30,0xc76c51a3
|
||||
.long 0x0654be30,0xc76c51a3
|
||||
.long 0xd6ef5218,0xd192e819
|
||||
.long 0xd6ef5218,0xd192e819
|
||||
.long 0x5565a910,0xd6990624
|
||||
.long 0x5565a910,0xd6990624
|
||||
.long 0x5771202a,0xf40e3585
|
||||
.long 0x5771202a,0xf40e3585
|
||||
.long 0x32bbd1b8,0x106aa070
|
||||
.long 0x32bbd1b8,0x106aa070
|
||||
.long 0xb8d2d0c8,0x19a4c116
|
||||
.long 0xb8d2d0c8,0x19a4c116
|
||||
.long 0x5141ab53,0x1e376c08
|
||||
.long 0x5141ab53,0x1e376c08
|
||||
.long 0xdf8eeb99,0x2748774c
|
||||
.long 0xdf8eeb99,0x2748774c
|
||||
.long 0xe19b48a8,0x34b0bcb5
|
||||
.long 0xe19b48a8,0x34b0bcb5
|
||||
.long 0xc5c95a63,0x391c0cb3
|
||||
.long 0xc5c95a63,0x391c0cb3
|
||||
.long 0xe3418acb,0x4ed8aa4a
|
||||
.long 0xe3418acb,0x4ed8aa4a
|
||||
.long 0x7763e373,0x5b9cca4f
|
||||
.long 0x7763e373,0x5b9cca4f
|
||||
.long 0xd6b2b8a3,0x682e6ff3
|
||||
.long 0xd6b2b8a3,0x682e6ff3
|
||||
.long 0x5defb2fc,0x748f82ee
|
||||
.long 0x5defb2fc,0x748f82ee
|
||||
.long 0x43172f60,0x78a5636f
|
||||
.long 0x43172f60,0x78a5636f
|
||||
.long 0xa1f0ab72,0x84c87814
|
||||
.long 0xa1f0ab72,0x84c87814
|
||||
.long 0x1a6439ec,0x8cc70208
|
||||
.long 0x1a6439ec,0x8cc70208
|
||||
.long 0x23631e28,0x90befffa
|
||||
.long 0x23631e28,0x90befffa
|
||||
.long 0xde82bde9,0xa4506ceb
|
||||
.long 0xde82bde9,0xa4506ceb
|
||||
.long 0xb2c67915,0xbef9a3f7
|
||||
.long 0xb2c67915,0xbef9a3f7
|
||||
.long 0xe372532b,0xc67178f2
|
||||
.long 0xe372532b,0xc67178f2
|
||||
.long 0xea26619c,0xca273ece
|
||||
.long 0xea26619c,0xca273ece
|
||||
.long 0x21c0c207,0xd186b8c7
|
||||
.long 0x21c0c207,0xd186b8c7
|
||||
.long 0xcde0eb1e,0xeada7dd6
|
||||
.long 0xcde0eb1e,0xeada7dd6
|
||||
.long 0xee6ed178,0xf57d4f7f
|
||||
.long 0xee6ed178,0xf57d4f7f
|
||||
.long 0x72176fba,0x06f067aa
|
||||
.long 0x72176fba,0x06f067aa
|
||||
.long 0xa2c898a6,0x0a637dc5
|
||||
.long 0xa2c898a6,0x0a637dc5
|
||||
.long 0xbef90dae,0x113f9804
|
||||
.long 0xbef90dae,0x113f9804
|
||||
.long 0x131c471b,0x1b710b35
|
||||
.long 0x131c471b,0x1b710b35
|
||||
.long 0x23047d84,0x28db77f5
|
||||
.long 0x23047d84,0x28db77f5
|
||||
.long 0x40c72493,0x32caab7b
|
||||
.long 0x40c72493,0x32caab7b
|
||||
.long 0x15c9bebc,0x3c9ebe0a
|
||||
.long 0x15c9bebc,0x3c9ebe0a
|
||||
.long 0x9c100d4c,0x431d67c4
|
||||
.long 0x9c100d4c,0x431d67c4
|
||||
.long 0xcb3e42b6,0x4cc5d4be
|
||||
.long 0xcb3e42b6,0x4cc5d4be
|
||||
.long 0xfc657e2a,0x597f299c
|
||||
.long 0xfc657e2a,0x597f299c
|
||||
.long 0x3ad6faec,0x5fcb6fab
|
||||
.long 0x3ad6faec,0x5fcb6fab
|
||||
.long 0x4a475817,0x6c44198c
|
||||
.long 0x4a475817,0x6c44198c
|
||||
.long 0,0
|
||||
.long 0,0
|
||||
.long 0x14151617,0x10111213
|
||||
.long 0x04050607,0x00010203
|
||||
.byte 83,72,65,53,49,50,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,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
|
||||
.align 2
|
1480
sys/crypto/openssl/powerpc64le/vpaes-ppc.S
Normal file
1480
sys/crypto/openssl/powerpc64le/vpaes-ppc.S
Normal file
File diff suppressed because it is too large
Load Diff
350
sys/crypto/openssl/powerpc64le/x25519-ppc64.S
Normal file
350
sys/crypto/openssl/powerpc64le/x25519-ppc64.S
Normal file
@ -0,0 +1,350 @@
|
||||
/* $FreeBSD$ */
|
||||
/* Do not modify. This file is auto-generated from x25519-ppc64.pl. */
|
||||
.abiversion 2
|
||||
.text
|
||||
|
||||
.globl x25519_fe51_mul
|
||||
.type x25519_fe51_mul,@function
|
||||
.type x25519_fe51_mul,@function
|
||||
.align 5
|
||||
x25519_fe51_mul:
|
||||
.localentry x25519_fe51_mul,0
|
||||
|
||||
stdu 1,-144(1)
|
||||
std 21,56(1)
|
||||
std 22,64(1)
|
||||
std 23,72(1)
|
||||
std 24,80(1)
|
||||
std 25,88(1)
|
||||
std 26,96(1)
|
||||
std 27,104(1)
|
||||
std 28,112(1)
|
||||
std 29,120(1)
|
||||
std 30,128(1)
|
||||
std 31,136(1)
|
||||
|
||||
ld 6,0(5)
|
||||
ld 7,0(4)
|
||||
ld 8,8(4)
|
||||
ld 9,16(4)
|
||||
ld 10,24(4)
|
||||
ld 11,32(4)
|
||||
|
||||
mulld 22,7,6
|
||||
mulhdu 23,7,6
|
||||
|
||||
mulld 24,8,6
|
||||
mulhdu 25,8,6
|
||||
|
||||
mulld 30,11,6
|
||||
mulhdu 31,11,6
|
||||
ld 4,8(5)
|
||||
mulli 11,11,19
|
||||
|
||||
mulld 26,9,6
|
||||
mulhdu 27,9,6
|
||||
|
||||
mulld 28,10,6
|
||||
mulhdu 29,10,6
|
||||
mulld 12,11,4
|
||||
mulhdu 21,11,4
|
||||
addc 22,22,12
|
||||
adde 23,23,21
|
||||
|
||||
mulld 12,7,4
|
||||
mulhdu 21,7,4
|
||||
addc 24,24,12
|
||||
adde 25,25,21
|
||||
|
||||
mulld 12,10,4
|
||||
mulhdu 21,10,4
|
||||
ld 6,16(5)
|
||||
mulli 10,10,19
|
||||
addc 30,30,12
|
||||
adde 31,31,21
|
||||
|
||||
mulld 12,8,4
|
||||
mulhdu 21,8,4
|
||||
addc 26,26,12
|
||||
adde 27,27,21
|
||||
|
||||
mulld 12,9,4
|
||||
mulhdu 21,9,4
|
||||
addc 28,28,12
|
||||
adde 29,29,21
|
||||
mulld 12,10,6
|
||||
mulhdu 21,10,6
|
||||
addc 22,22,12
|
||||
adde 23,23,21
|
||||
|
||||
mulld 12,11,6
|
||||
mulhdu 21,11,6
|
||||
addc 24,24,12
|
||||
adde 25,25,21
|
||||
|
||||
mulld 12,9,6
|
||||
mulhdu 21,9,6
|
||||
ld 4,24(5)
|
||||
mulli 9,9,19
|
||||
addc 30,30,12
|
||||
adde 31,31,21
|
||||
|
||||
mulld 12,7,6
|
||||
mulhdu 21,7,6
|
||||
addc 26,26,12
|
||||
adde 27,27,21
|
||||
|
||||
mulld 12,8,6
|
||||
mulhdu 21,8,6
|
||||
addc 28,28,12
|
||||
adde 29,29,21
|
||||
mulld 12,9,4
|
||||
mulhdu 21,9,4
|
||||
addc 22,22,12
|
||||
adde 23,23,21
|
||||
|
||||
mulld 12,10,4
|
||||
mulhdu 21,10,4
|
||||
addc 24,24,12
|
||||
adde 25,25,21
|
||||
|
||||
mulld 12,8,4
|
||||
mulhdu 21,8,4
|
||||
ld 6,32(5)
|
||||
mulli 8,8,19
|
||||
addc 30,30,12
|
||||
adde 31,31,21
|
||||
|
||||
mulld 12,11,4
|
||||
mulhdu 21,11,4
|
||||
addc 26,26,12
|
||||
adde 27,27,21
|
||||
|
||||
mulld 12,7,4
|
||||
mulhdu 21,7,4
|
||||
addc 28,28,12
|
||||
adde 29,29,21
|
||||
mulld 12,8,6
|
||||
mulhdu 21,8,6
|
||||
addc 22,22,12
|
||||
adde 23,23,21
|
||||
|
||||
mulld 12,9,6
|
||||
mulhdu 21,9,6
|
||||
addc 24,24,12
|
||||
adde 25,25,21
|
||||
|
||||
mulld 12,10,6
|
||||
mulhdu 21,10,6
|
||||
addc 26,26,12
|
||||
adde 27,27,21
|
||||
|
||||
mulld 12,11,6
|
||||
mulhdu 21,11,6
|
||||
addc 28,28,12
|
||||
adde 29,29,21
|
||||
|
||||
mulld 12,7,6
|
||||
mulhdu 21,7,6
|
||||
addc 30,30,12
|
||||
adde 31,31,21
|
||||
|
||||
.Lfe51_reduce:
|
||||
li 0,-1
|
||||
srdi 0,0,13
|
||||
|
||||
srdi 12,26,51
|
||||
and 9,26,0
|
||||
insrdi 12,27,51,0
|
||||
srdi 21,22,51
|
||||
and 7,22,0
|
||||
insrdi 21,23,51,0
|
||||
addc 28,28,12
|
||||
addze 29,29
|
||||
addc 24,24,21
|
||||
addze 25,25
|
||||
|
||||
srdi 12,28,51
|
||||
and 10,28,0
|
||||
insrdi 12,29,51,0
|
||||
srdi 21,24,51
|
||||
and 8,24,0
|
||||
insrdi 21,25,51,0
|
||||
addc 30,30,12
|
||||
addze 31,31
|
||||
add 9,9,21
|
||||
|
||||
srdi 12,30,51
|
||||
and 11,30,0
|
||||
insrdi 12,31,51,0
|
||||
mulli 12,12,19
|
||||
|
||||
add 7,7,12
|
||||
|
||||
srdi 21,9,51
|
||||
and 9,9,0
|
||||
add 10,10,21
|
||||
|
||||
srdi 12,7,51
|
||||
and 7,7,0
|
||||
add 8,8,12
|
||||
|
||||
std 9,16(3)
|
||||
std 10,24(3)
|
||||
std 11,32(3)
|
||||
std 7,0(3)
|
||||
std 8,8(3)
|
||||
|
||||
ld 21,56(1)
|
||||
ld 22,64(1)
|
||||
ld 23,72(1)
|
||||
ld 24,80(1)
|
||||
ld 25,88(1)
|
||||
ld 26,96(1)
|
||||
ld 27,104(1)
|
||||
ld 28,112(1)
|
||||
ld 29,120(1)
|
||||
ld 30,128(1)
|
||||
ld 31,136(1)
|
||||
addi 1,1,144
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,4,0,0x80,11,3,0
|
||||
.long 0
|
||||
.size x25519_fe51_mul,.-x25519_fe51_mul
|
||||
.globl x25519_fe51_sqr
|
||||
.type x25519_fe51_sqr,@function
|
||||
.type x25519_fe51_sqr,@function
|
||||
.align 5
|
||||
x25519_fe51_sqr:
|
||||
.localentry x25519_fe51_sqr,0
|
||||
|
||||
stdu 1,-144(1)
|
||||
std 21,56(1)
|
||||
std 22,64(1)
|
||||
std 23,72(1)
|
||||
std 24,80(1)
|
||||
std 25,88(1)
|
||||
std 26,96(1)
|
||||
std 27,104(1)
|
||||
std 28,112(1)
|
||||
std 29,120(1)
|
||||
std 30,128(1)
|
||||
std 31,136(1)
|
||||
|
||||
ld 7,0(4)
|
||||
ld 8,8(4)
|
||||
ld 9,16(4)
|
||||
ld 10,24(4)
|
||||
ld 11,32(4)
|
||||
|
||||
add 6,7,7
|
||||
mulli 21,11,19
|
||||
|
||||
mulld 22,7,7
|
||||
mulhdu 23,7,7
|
||||
mulld 24,8,6
|
||||
mulhdu 25,8,6
|
||||
mulld 26,9,6
|
||||
mulhdu 27,9,6
|
||||
mulld 28,10,6
|
||||
mulhdu 29,10,6
|
||||
mulld 30,11,6
|
||||
mulhdu 31,11,6
|
||||
add 6,8,8
|
||||
mulld 12,11,21
|
||||
mulhdu 11,11,21
|
||||
addc 28,28,12
|
||||
adde 29,29,11
|
||||
|
||||
mulli 5,10,19
|
||||
|
||||
mulld 12,8,8
|
||||
mulhdu 11,8,8
|
||||
addc 26,26,12
|
||||
adde 27,27,11
|
||||
mulld 12,9,6
|
||||
mulhdu 11,9,6
|
||||
addc 28,28,12
|
||||
adde 29,29,11
|
||||
mulld 12,10,6
|
||||
mulhdu 11,10,6
|
||||
addc 30,30,12
|
||||
adde 31,31,11
|
||||
mulld 12,21,6
|
||||
mulhdu 11,21,6
|
||||
add 6,10,10
|
||||
addc 22,22,12
|
||||
adde 23,23,11
|
||||
mulld 12,10,5
|
||||
mulhdu 10,10,5
|
||||
addc 24,24,12
|
||||
adde 25,25,10
|
||||
mulld 12,6,21
|
||||
mulhdu 10,6,21
|
||||
add 6,9,9
|
||||
addc 26,26,12
|
||||
adde 27,27,10
|
||||
|
||||
mulld 12,9,9
|
||||
mulhdu 10,9,9
|
||||
addc 30,30,12
|
||||
adde 31,31,10
|
||||
mulld 12,5,6
|
||||
mulhdu 10,5,6
|
||||
addc 22,22,12
|
||||
adde 23,23,10
|
||||
mulld 12,21,6
|
||||
mulhdu 10,21,6
|
||||
addc 24,24,12
|
||||
adde 25,25,10
|
||||
|
||||
b .Lfe51_reduce
|
||||
.long 0
|
||||
.byte 0,12,4,0,0x80,11,2,0
|
||||
.long 0
|
||||
.size x25519_fe51_sqr,.-x25519_fe51_sqr
|
||||
.globl x25519_fe51_mul121666
|
||||
.type x25519_fe51_mul121666,@function
|
||||
.type x25519_fe51_mul121666,@function
|
||||
.align 5
|
||||
x25519_fe51_mul121666:
|
||||
.localentry x25519_fe51_mul121666,0
|
||||
|
||||
stdu 1,-144(1)
|
||||
std 21,56(1)
|
||||
std 22,64(1)
|
||||
std 23,72(1)
|
||||
std 24,80(1)
|
||||
std 25,88(1)
|
||||
std 26,96(1)
|
||||
std 27,104(1)
|
||||
std 28,112(1)
|
||||
std 29,120(1)
|
||||
std 30,128(1)
|
||||
std 31,136(1)
|
||||
|
||||
lis 6,1
|
||||
ori 6,6,56130
|
||||
ld 7,0(4)
|
||||
ld 8,8(4)
|
||||
ld 9,16(4)
|
||||
ld 10,24(4)
|
||||
ld 11,32(4)
|
||||
|
||||
mulld 22,7,6
|
||||
mulhdu 23,7,6
|
||||
mulld 24,8,6
|
||||
mulhdu 25,8,6
|
||||
mulld 26,9,6
|
||||
mulhdu 27,9,6
|
||||
mulld 28,10,6
|
||||
mulhdu 29,10,6
|
||||
mulld 30,11,6
|
||||
mulhdu 31,11,6
|
||||
|
||||
b .Lfe51_reduce
|
||||
.long 0
|
||||
.byte 0,12,4,0,0x80,11,2,0
|
||||
.long 0
|
||||
.size x25519_fe51_mul121666,.-x25519_fe51_mul121666
|
Loading…
Reference in New Issue
Block a user