Regen assembly files for i386.
This commit is contained in:
parent
acd3ae1266
commit
d0f1d030b3
@ -59,6 +59,9 @@ sha256-armv8.S: sha512-armv8.pl
|
|||||||
${LCRYPTO_SRC}/crypto/whrlpool/asm \
|
${LCRYPTO_SRC}/crypto/whrlpool/asm \
|
||||||
${LCRYPTO_SRC}/engines/asm
|
${LCRYPTO_SRC}/engines/asm
|
||||||
|
|
||||||
|
# cpuid
|
||||||
|
SRCS+= x86_64cpuid.pl
|
||||||
|
|
||||||
# aes
|
# aes
|
||||||
SRCS= aes-x86_64.pl aesni-mb-x86_64.pl aesni-sha1-x86_64.pl \
|
SRCS= aes-x86_64.pl aesni-mb-x86_64.pl aesni-sha1-x86_64.pl \
|
||||||
aesni-sha256-x86_64.pl aesni-x86_64.pl bsaes-x86_64.pl \
|
aesni-sha256-x86_64.pl aesni-x86_64.pl bsaes-x86_64.pl \
|
||||||
@ -77,9 +80,6 @@ SRCS+= chacha-x86_64.pl
|
|||||||
# ec
|
# ec
|
||||||
SRCS+= ecp_nistz256-x86_64.pl x25519-x86_64.pl
|
SRCS+= ecp_nistz256-x86_64.pl x25519-x86_64.pl
|
||||||
|
|
||||||
# engines
|
|
||||||
SRCS+= e_padlock-x86_64.pl
|
|
||||||
|
|
||||||
# md5
|
# md5
|
||||||
SRCS+= md5-x86_64.pl
|
SRCS+= md5-x86_64.pl
|
||||||
|
|
||||||
@ -99,8 +99,8 @@ SRCS+= keccak1600-x86_64.pl sha1-mb-x86_64.pl sha1-x86_64.pl \
|
|||||||
# whrlpool
|
# whrlpool
|
||||||
SRCS+= wp-x86_64.pl
|
SRCS+= wp-x86_64.pl
|
||||||
|
|
||||||
# cpuid
|
# engines
|
||||||
SRCS+= x86_64cpuid.pl
|
SRCS+= e_padlock-x86_64.pl
|
||||||
|
|
||||||
SHA_ASM= sha256-x86_64 sha512-x86_64
|
SHA_ASM= sha256-x86_64 sha512-x86_64
|
||||||
SHA_SRC= sha512-x86_64.pl
|
SHA_SRC= sha512-x86_64.pl
|
||||||
@ -175,22 +175,30 @@ aes-armv4.S: aes-armv4.pl
|
|||||||
${LCRYPTO_SRC}/crypto/bf/asm \
|
${LCRYPTO_SRC}/crypto/bf/asm \
|
||||||
${LCRYPTO_SRC}/crypto/bn/asm \
|
${LCRYPTO_SRC}/crypto/bn/asm \
|
||||||
${LCRYPTO_SRC}/crypto/camellia/asm \
|
${LCRYPTO_SRC}/crypto/camellia/asm \
|
||||||
|
${LCRYPTO_SRC}/crypto/cast/asm \
|
||||||
|
${LCRYPTO_SRC}/crypto/chacha/asm \
|
||||||
${LCRYPTO_SRC}/crypto/des/asm \
|
${LCRYPTO_SRC}/crypto/des/asm \
|
||||||
|
${LCRYPTO_SRC}/crypto/ec/asm \
|
||||||
${LCRYPTO_SRC}/crypto/md5/asm \
|
${LCRYPTO_SRC}/crypto/md5/asm \
|
||||||
${LCRYPTO_SRC}/crypto/modes/asm \
|
${LCRYPTO_SRC}/crypto/modes/asm \
|
||||||
|
${LCRYPTO_SRC}/crypto/poly1305/asm \
|
||||||
${LCRYPTO_SRC}/crypto/rc4/asm \
|
${LCRYPTO_SRC}/crypto/rc4/asm \
|
||||||
${LCRYPTO_SRC}/crypto/rc5/asm \
|
${LCRYPTO_SRC}/crypto/rc5/asm \
|
||||||
${LCRYPTO_SRC}/crypto/ripemd/asm \
|
${LCRYPTO_SRC}/crypto/ripemd/asm \
|
||||||
${LCRYPTO_SRC}/crypto/sha/asm \
|
${LCRYPTO_SRC}/crypto/sha/asm \
|
||||||
${LCRYPTO_SRC}/crypto/whrlpool/asm
|
${LCRYPTO_SRC}/crypto/whrlpool/asm \
|
||||||
|
${LCRYPTO_SRC}/engines/asm
|
||||||
|
|
||||||
PERLPATH= -I${LCRYPTO_SRC}/crypto/des/asm -I${LCRYPTO_SRC}/crypto/perlasm
|
#PERLPATH= -I${LCRYPTO_SRC}/crypto/des/asm -I${LCRYPTO_SRC}/crypto/perlasm
|
||||||
|
|
||||||
|
# cpuid
|
||||||
|
SRCS= x86cpuid.pl
|
||||||
|
|
||||||
# aes
|
# aes
|
||||||
SRCS= aes-586.pl aesni-x86.pl vpaes-x86.pl
|
SRCS+= aes-586.pl aesni-x86.pl vpaes-x86.pl
|
||||||
|
|
||||||
# blowfish
|
# blowfish
|
||||||
SRCS+= bf-586.pl bf-686.pl
|
SRCS+= bf-586.pl
|
||||||
|
|
||||||
# bn
|
# bn
|
||||||
SRCS+= bn-586.pl co-586.pl x86-gf2m.pl x86-mont.pl
|
SRCS+= bn-586.pl co-586.pl x86-gf2m.pl x86-mont.pl
|
||||||
@ -198,15 +206,27 @@ SRCS+= bn-586.pl co-586.pl x86-gf2m.pl x86-mont.pl
|
|||||||
# camellia
|
# camellia
|
||||||
SRCS+= cmll-x86.pl
|
SRCS+= cmll-x86.pl
|
||||||
|
|
||||||
|
# cast
|
||||||
|
SRCS+= cast-586.pl
|
||||||
|
|
||||||
|
# chacha
|
||||||
|
SRCS+= chacha-x86.pl
|
||||||
|
|
||||||
# des
|
# des
|
||||||
SRCS+= crypt586.pl des-586.pl
|
SRCS+= crypt586.pl des-586.pl
|
||||||
|
|
||||||
|
# ec
|
||||||
|
SRCS+= ecp_nistz256-x86.pl
|
||||||
|
|
||||||
# md5
|
# md5
|
||||||
SRCS+= md5-586.pl
|
SRCS+= md5-586.pl
|
||||||
|
|
||||||
# modes
|
# modes
|
||||||
SRCS+= ghash-x86.pl
|
SRCS+= ghash-x86.pl
|
||||||
|
|
||||||
|
# poly1305
|
||||||
|
SRCS+= poly1305-x86.pl
|
||||||
|
|
||||||
# rc4
|
# rc4
|
||||||
SRCS+= rc4-586.pl
|
SRCS+= rc4-586.pl
|
||||||
|
|
||||||
@ -222,25 +242,26 @@ SRCS+= sha1-586.pl sha256-586.pl sha512-586.pl
|
|||||||
# whrlpool
|
# whrlpool
|
||||||
SRCS+= wp-mmx.pl
|
SRCS+= wp-mmx.pl
|
||||||
|
|
||||||
# cpuid
|
# engines
|
||||||
SRCS+= x86cpuid.pl
|
SRCS+= e_padlock-x86.pl
|
||||||
|
|
||||||
ASM= ${SRCS:R:S/$/.S/}
|
ASM= ${SRCS:R:S/$/.S/}
|
||||||
|
|
||||||
all: ${ASM}
|
all: ${ASM}
|
||||||
|
|
||||||
CLEANFILES= ${ASM}
|
CLEANFILES= ${ASM} ${SRCS:R:S/$/.s/}
|
||||||
.SUFFIXES: .pl
|
.SUFFIXES: .pl
|
||||||
|
|
||||||
.pl.S:
|
.pl.S:
|
||||||
( echo '/* $$'FreeBSD'$$ */' ;\
|
( echo '/* $$'FreeBSD'$$ */' ;\
|
||||||
echo '/* Do not modify. This file is auto-generated from ${.IMPSRC:T}. */' ;\
|
echo '/* Do not modify. This file is auto-generated from ${.IMPSRC:T}. */' ;\
|
||||||
echo '#ifdef PIC' ;\
|
echo '#ifdef PIC' ;\
|
||||||
env CC=cc perl ${PERLPATH} ${.IMPSRC} elf ${CFLAGS} -fpic -DPIC ;\
|
env CC=cc perl ${PERLPATH} ${.IMPSRC} elf ${CFLAGS} -fpic -DPIC ${.IMPSRC:R:S/$/.s/} ;\
|
||||||
|
cat ${.IMPSRC:R:S/$/.s/} ;\
|
||||||
echo '#else' ;\
|
echo '#else' ;\
|
||||||
env CC=cc perl ${PERLPATH} ${.IMPSRC} elf ${CFLAGS} ;\
|
env CC=cc perl ${PERLPATH} ${.IMPSRC} elf ${CFLAGS} ${.IMPSRC:R:S/$/.s/} ;\
|
||||||
echo '#endif') |\
|
cat ${.IMPSRC:R:S/$/.s/} ;\
|
||||||
sed -E 's|(\.file[[:blank:]]+)".*"|\1"${.TARGET}"|' > ${.TARGET}
|
echo '#endif' ) > ${.TARGET}
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
.include <bsd.prog.mk>
|
.include <bsd.prog.mk>
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
/* $FreeBSD$ */
|
/* $FreeBSD$ */
|
||||||
/* Do not modify. This file is auto-generated from aes-586.pl. */
|
/* Do not modify. This file is auto-generated from aes-586.pl. */
|
||||||
#ifdef PIC
|
#ifdef PIC
|
||||||
.file "aes-586.S"
|
|
||||||
.text
|
.text
|
||||||
.type _x86_AES_encrypt_compact,@function
|
.type _x86_AES_encrypt_compact,@function
|
||||||
.align 16
|
.align 16
|
||||||
@ -2999,19 +2998,19 @@ _x86_AES_set_encrypt_key:
|
|||||||
popl %ebp
|
popl %ebp
|
||||||
ret
|
ret
|
||||||
.size _x86_AES_set_encrypt_key,.-_x86_AES_set_encrypt_key
|
.size _x86_AES_set_encrypt_key,.-_x86_AES_set_encrypt_key
|
||||||
.globl private_AES_set_encrypt_key
|
.globl AES_set_encrypt_key
|
||||||
.type private_AES_set_encrypt_key,@function
|
.type AES_set_encrypt_key,@function
|
||||||
.align 16
|
.align 16
|
||||||
private_AES_set_encrypt_key:
|
AES_set_encrypt_key:
|
||||||
.L_private_AES_set_encrypt_key_begin:
|
.L_AES_set_encrypt_key_begin:
|
||||||
call _x86_AES_set_encrypt_key
|
call _x86_AES_set_encrypt_key
|
||||||
ret
|
ret
|
||||||
.size private_AES_set_encrypt_key,.-.L_private_AES_set_encrypt_key_begin
|
.size AES_set_encrypt_key,.-.L_AES_set_encrypt_key_begin
|
||||||
.globl private_AES_set_decrypt_key
|
.globl AES_set_decrypt_key
|
||||||
.type private_AES_set_decrypt_key,@function
|
.type AES_set_decrypt_key,@function
|
||||||
.align 16
|
.align 16
|
||||||
private_AES_set_decrypt_key:
|
AES_set_decrypt_key:
|
||||||
.L_private_AES_set_decrypt_key_begin:
|
.L_AES_set_decrypt_key_begin:
|
||||||
call _x86_AES_set_encrypt_key
|
call _x86_AES_set_encrypt_key
|
||||||
cmpl $0,%eax
|
cmpl $0,%eax
|
||||||
je .L054proceed
|
je .L054proceed
|
||||||
@ -3240,13 +3239,12 @@ private_AES_set_decrypt_key:
|
|||||||
popl %ebx
|
popl %ebx
|
||||||
popl %ebp
|
popl %ebp
|
||||||
ret
|
ret
|
||||||
.size private_AES_set_decrypt_key,.-.L_private_AES_set_decrypt_key_begin
|
.size AES_set_decrypt_key,.-.L_AES_set_decrypt_key_begin
|
||||||
.byte 65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,89
|
.byte 65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,89
|
||||||
.byte 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114
|
.byte 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114
|
||||||
.byte 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
|
.byte 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
|
||||||
.comm OPENSSL_ia32cap_P,16,4
|
.comm OPENSSL_ia32cap_P,16,4
|
||||||
#else
|
#else
|
||||||
.file "aes-586.S"
|
|
||||||
.text
|
.text
|
||||||
.type _x86_AES_encrypt_compact,@function
|
.type _x86_AES_encrypt_compact,@function
|
||||||
.align 16
|
.align 16
|
||||||
@ -6244,19 +6242,19 @@ _x86_AES_set_encrypt_key:
|
|||||||
popl %ebp
|
popl %ebp
|
||||||
ret
|
ret
|
||||||
.size _x86_AES_set_encrypt_key,.-_x86_AES_set_encrypt_key
|
.size _x86_AES_set_encrypt_key,.-_x86_AES_set_encrypt_key
|
||||||
.globl private_AES_set_encrypt_key
|
.globl AES_set_encrypt_key
|
||||||
.type private_AES_set_encrypt_key,@function
|
.type AES_set_encrypt_key,@function
|
||||||
.align 16
|
.align 16
|
||||||
private_AES_set_encrypt_key:
|
AES_set_encrypt_key:
|
||||||
.L_private_AES_set_encrypt_key_begin:
|
.L_AES_set_encrypt_key_begin:
|
||||||
call _x86_AES_set_encrypt_key
|
call _x86_AES_set_encrypt_key
|
||||||
ret
|
ret
|
||||||
.size private_AES_set_encrypt_key,.-.L_private_AES_set_encrypt_key_begin
|
.size AES_set_encrypt_key,.-.L_AES_set_encrypt_key_begin
|
||||||
.globl private_AES_set_decrypt_key
|
.globl AES_set_decrypt_key
|
||||||
.type private_AES_set_decrypt_key,@function
|
.type AES_set_decrypt_key,@function
|
||||||
.align 16
|
.align 16
|
||||||
private_AES_set_decrypt_key:
|
AES_set_decrypt_key:
|
||||||
.L_private_AES_set_decrypt_key_begin:
|
.L_AES_set_decrypt_key_begin:
|
||||||
call _x86_AES_set_encrypt_key
|
call _x86_AES_set_encrypt_key
|
||||||
cmpl $0,%eax
|
cmpl $0,%eax
|
||||||
je .L054proceed
|
je .L054proceed
|
||||||
@ -6485,7 +6483,7 @@ private_AES_set_decrypt_key:
|
|||||||
popl %ebx
|
popl %ebx
|
||||||
popl %ebp
|
popl %ebp
|
||||||
ret
|
ret
|
||||||
.size private_AES_set_decrypt_key,.-.L_private_AES_set_decrypt_key_begin
|
.size AES_set_decrypt_key,.-.L_AES_set_decrypt_key_begin
|
||||||
.byte 65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,89
|
.byte 65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,89
|
||||||
.byte 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114
|
.byte 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114
|
||||||
.byte 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
|
.byte 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,6 @@
|
|||||||
/* $FreeBSD$ */
|
/* $FreeBSD$ */
|
||||||
/* Do not modify. This file is auto-generated from bf-586.pl. */
|
/* Do not modify. This file is auto-generated from bf-586.pl. */
|
||||||
#ifdef PIC
|
#ifdef PIC
|
||||||
.file "bf-586.S"
|
|
||||||
.text
|
.text
|
||||||
.globl BF_encrypt
|
.globl BF_encrypt
|
||||||
.type BF_encrypt,@function
|
.type BF_encrypt,@function
|
||||||
@ -898,7 +897,6 @@ BF_cbc_encrypt:
|
|||||||
.align 64
|
.align 64
|
||||||
.size BF_cbc_encrypt,.-.L_BF_cbc_encrypt_begin
|
.size BF_cbc_encrypt,.-.L_BF_cbc_encrypt_begin
|
||||||
#else
|
#else
|
||||||
.file "bf-586.S"
|
|
||||||
.text
|
.text
|
||||||
.globl BF_encrypt
|
.globl BF_encrypt
|
||||||
.type BF_encrypt,@function
|
.type BF_encrypt,@function
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
1869
secure/lib/libcrypto/i386/cast-586.S
Normal file
1869
secure/lib/libcrypto/i386/cast-586.S
Normal file
File diff suppressed because it is too large
Load Diff
741
secure/lib/libcrypto/i386/chacha-x86.S
Normal file
741
secure/lib/libcrypto/i386/chacha-x86.S
Normal file
@ -0,0 +1,741 @@
|
|||||||
|
/* $FreeBSD$ */
|
||||||
|
/* Do not modify. This file is auto-generated from chacha-x86.pl. */
|
||||||
|
#ifdef PIC
|
||||||
|
.text
|
||||||
|
.globl ChaCha20_ctr32
|
||||||
|
.type ChaCha20_ctr32,@function
|
||||||
|
.align 16
|
||||||
|
ChaCha20_ctr32:
|
||||||
|
.L_ChaCha20_ctr32_begin:
|
||||||
|
pushl %ebp
|
||||||
|
pushl %ebx
|
||||||
|
pushl %esi
|
||||||
|
pushl %edi
|
||||||
|
xorl %eax,%eax
|
||||||
|
cmpl 28(%esp),%eax
|
||||||
|
je .L000no_data
|
||||||
|
movl 32(%esp),%esi
|
||||||
|
movl 36(%esp),%edi
|
||||||
|
subl $132,%esp
|
||||||
|
movl (%esi),%eax
|
||||||
|
movl 4(%esi),%ebx
|
||||||
|
movl 8(%esi),%ecx
|
||||||
|
movl 12(%esi),%edx
|
||||||
|
movl %eax,80(%esp)
|
||||||
|
movl %ebx,84(%esp)
|
||||||
|
movl %ecx,88(%esp)
|
||||||
|
movl %edx,92(%esp)
|
||||||
|
movl 16(%esi),%eax
|
||||||
|
movl 20(%esi),%ebx
|
||||||
|
movl 24(%esi),%ecx
|
||||||
|
movl 28(%esi),%edx
|
||||||
|
movl %eax,96(%esp)
|
||||||
|
movl %ebx,100(%esp)
|
||||||
|
movl %ecx,104(%esp)
|
||||||
|
movl %edx,108(%esp)
|
||||||
|
movl (%edi),%eax
|
||||||
|
movl 4(%edi),%ebx
|
||||||
|
movl 8(%edi),%ecx
|
||||||
|
movl 12(%edi),%edx
|
||||||
|
subl $1,%eax
|
||||||
|
movl %eax,112(%esp)
|
||||||
|
movl %ebx,116(%esp)
|
||||||
|
movl %ecx,120(%esp)
|
||||||
|
movl %edx,124(%esp)
|
||||||
|
jmp .L001entry
|
||||||
|
.align 16
|
||||||
|
.L002outer_loop:
|
||||||
|
movl %ebx,156(%esp)
|
||||||
|
movl %eax,152(%esp)
|
||||||
|
movl %ecx,160(%esp)
|
||||||
|
.L001entry:
|
||||||
|
movl $1634760805,%eax
|
||||||
|
movl $857760878,4(%esp)
|
||||||
|
movl $2036477234,8(%esp)
|
||||||
|
movl $1797285236,12(%esp)
|
||||||
|
movl 84(%esp),%ebx
|
||||||
|
movl 88(%esp),%ebp
|
||||||
|
movl 104(%esp),%ecx
|
||||||
|
movl 108(%esp),%esi
|
||||||
|
movl 116(%esp),%edx
|
||||||
|
movl 120(%esp),%edi
|
||||||
|
movl %ebx,20(%esp)
|
||||||
|
movl %ebp,24(%esp)
|
||||||
|
movl %ecx,40(%esp)
|
||||||
|
movl %esi,44(%esp)
|
||||||
|
movl %edx,52(%esp)
|
||||||
|
movl %edi,56(%esp)
|
||||||
|
movl 92(%esp),%ebx
|
||||||
|
movl 124(%esp),%edi
|
||||||
|
movl 112(%esp),%edx
|
||||||
|
movl 80(%esp),%ebp
|
||||||
|
movl 96(%esp),%ecx
|
||||||
|
movl 100(%esp),%esi
|
||||||
|
addl $1,%edx
|
||||||
|
movl %ebx,28(%esp)
|
||||||
|
movl %edi,60(%esp)
|
||||||
|
movl %edx,112(%esp)
|
||||||
|
movl $10,%ebx
|
||||||
|
jmp .L003loop
|
||||||
|
.align 16
|
||||||
|
.L003loop:
|
||||||
|
addl %ebp,%eax
|
||||||
|
movl %ebx,128(%esp)
|
||||||
|
movl %ebp,%ebx
|
||||||
|
xorl %eax,%edx
|
||||||
|
roll $16,%edx
|
||||||
|
addl %edx,%ecx
|
||||||
|
xorl %ecx,%ebx
|
||||||
|
movl 52(%esp),%edi
|
||||||
|
roll $12,%ebx
|
||||||
|
movl 20(%esp),%ebp
|
||||||
|
addl %ebx,%eax
|
||||||
|
xorl %eax,%edx
|
||||||
|
movl %eax,(%esp)
|
||||||
|
roll $8,%edx
|
||||||
|
movl 4(%esp),%eax
|
||||||
|
addl %edx,%ecx
|
||||||
|
movl %edx,48(%esp)
|
||||||
|
xorl %ecx,%ebx
|
||||||
|
addl %ebp,%eax
|
||||||
|
roll $7,%ebx
|
||||||
|
xorl %eax,%edi
|
||||||
|
movl %ecx,32(%esp)
|
||||||
|
roll $16,%edi
|
||||||
|
movl %ebx,16(%esp)
|
||||||
|
addl %edi,%esi
|
||||||
|
movl 40(%esp),%ecx
|
||||||
|
xorl %esi,%ebp
|
||||||
|
movl 56(%esp),%edx
|
||||||
|
roll $12,%ebp
|
||||||
|
movl 24(%esp),%ebx
|
||||||
|
addl %ebp,%eax
|
||||||
|
xorl %eax,%edi
|
||||||
|
movl %eax,4(%esp)
|
||||||
|
roll $8,%edi
|
||||||
|
movl 8(%esp),%eax
|
||||||
|
addl %edi,%esi
|
||||||
|
movl %edi,52(%esp)
|
||||||
|
xorl %esi,%ebp
|
||||||
|
addl %ebx,%eax
|
||||||
|
roll $7,%ebp
|
||||||
|
xorl %eax,%edx
|
||||||
|
movl %esi,36(%esp)
|
||||||
|
roll $16,%edx
|
||||||
|
movl %ebp,20(%esp)
|
||||||
|
addl %edx,%ecx
|
||||||
|
movl 44(%esp),%esi
|
||||||
|
xorl %ecx,%ebx
|
||||||
|
movl 60(%esp),%edi
|
||||||
|
roll $12,%ebx
|
||||||
|
movl 28(%esp),%ebp
|
||||||
|
addl %ebx,%eax
|
||||||
|
xorl %eax,%edx
|
||||||
|
movl %eax,8(%esp)
|
||||||
|
roll $8,%edx
|
||||||
|
movl 12(%esp),%eax
|
||||||
|
addl %edx,%ecx
|
||||||
|
movl %edx,56(%esp)
|
||||||
|
xorl %ecx,%ebx
|
||||||
|
addl %ebp,%eax
|
||||||
|
roll $7,%ebx
|
||||||
|
xorl %eax,%edi
|
||||||
|
roll $16,%edi
|
||||||
|
movl %ebx,24(%esp)
|
||||||
|
addl %edi,%esi
|
||||||
|
xorl %esi,%ebp
|
||||||
|
roll $12,%ebp
|
||||||
|
movl 20(%esp),%ebx
|
||||||
|
addl %ebp,%eax
|
||||||
|
xorl %eax,%edi
|
||||||
|
movl %eax,12(%esp)
|
||||||
|
roll $8,%edi
|
||||||
|
movl (%esp),%eax
|
||||||
|
addl %edi,%esi
|
||||||
|
movl %edi,%edx
|
||||||
|
xorl %esi,%ebp
|
||||||
|
addl %ebx,%eax
|
||||||
|
roll $7,%ebp
|
||||||
|
xorl %eax,%edx
|
||||||
|
roll $16,%edx
|
||||||
|
movl %ebp,28(%esp)
|
||||||
|
addl %edx,%ecx
|
||||||
|
xorl %ecx,%ebx
|
||||||
|
movl 48(%esp),%edi
|
||||||
|
roll $12,%ebx
|
||||||
|
movl 24(%esp),%ebp
|
||||||
|
addl %ebx,%eax
|
||||||
|
xorl %eax,%edx
|
||||||
|
movl %eax,(%esp)
|
||||||
|
roll $8,%edx
|
||||||
|
movl 4(%esp),%eax
|
||||||
|
addl %edx,%ecx
|
||||||
|
movl %edx,60(%esp)
|
||||||
|
xorl %ecx,%ebx
|
||||||
|
addl %ebp,%eax
|
||||||
|
roll $7,%ebx
|
||||||
|
xorl %eax,%edi
|
||||||
|
movl %ecx,40(%esp)
|
||||||
|
roll $16,%edi
|
||||||
|
movl %ebx,20(%esp)
|
||||||
|
addl %edi,%esi
|
||||||
|
movl 32(%esp),%ecx
|
||||||
|
xorl %esi,%ebp
|
||||||
|
movl 52(%esp),%edx
|
||||||
|
roll $12,%ebp
|
||||||
|
movl 28(%esp),%ebx
|
||||||
|
addl %ebp,%eax
|
||||||
|
xorl %eax,%edi
|
||||||
|
movl %eax,4(%esp)
|
||||||
|
roll $8,%edi
|
||||||
|
movl 8(%esp),%eax
|
||||||
|
addl %edi,%esi
|
||||||
|
movl %edi,48(%esp)
|
||||||
|
xorl %esi,%ebp
|
||||||
|
addl %ebx,%eax
|
||||||
|
roll $7,%ebp
|
||||||
|
xorl %eax,%edx
|
||||||
|
movl %esi,44(%esp)
|
||||||
|
roll $16,%edx
|
||||||
|
movl %ebp,24(%esp)
|
||||||
|
addl %edx,%ecx
|
||||||
|
movl 36(%esp),%esi
|
||||||
|
xorl %ecx,%ebx
|
||||||
|
movl 56(%esp),%edi
|
||||||
|
roll $12,%ebx
|
||||||
|
movl 16(%esp),%ebp
|
||||||
|
addl %ebx,%eax
|
||||||
|
xorl %eax,%edx
|
||||||
|
movl %eax,8(%esp)
|
||||||
|
roll $8,%edx
|
||||||
|
movl 12(%esp),%eax
|
||||||
|
addl %edx,%ecx
|
||||||
|
movl %edx,52(%esp)
|
||||||
|
xorl %ecx,%ebx
|
||||||
|
addl %ebp,%eax
|
||||||
|
roll $7,%ebx
|
||||||
|
xorl %eax,%edi
|
||||||
|
roll $16,%edi
|
||||||
|
movl %ebx,28(%esp)
|
||||||
|
addl %edi,%esi
|
||||||
|
xorl %esi,%ebp
|
||||||
|
movl 48(%esp),%edx
|
||||||
|
roll $12,%ebp
|
||||||
|
movl 128(%esp),%ebx
|
||||||
|
addl %ebp,%eax
|
||||||
|
xorl %eax,%edi
|
||||||
|
movl %eax,12(%esp)
|
||||||
|
roll $8,%edi
|
||||||
|
movl (%esp),%eax
|
||||||
|
addl %edi,%esi
|
||||||
|
movl %edi,56(%esp)
|
||||||
|
xorl %esi,%ebp
|
||||||
|
roll $7,%ebp
|
||||||
|
decl %ebx
|
||||||
|
jnz .L003loop
|
||||||
|
movl 160(%esp),%ebx
|
||||||
|
addl $1634760805,%eax
|
||||||
|
addl 80(%esp),%ebp
|
||||||
|
addl 96(%esp),%ecx
|
||||||
|
addl 100(%esp),%esi
|
||||||
|
cmpl $64,%ebx
|
||||||
|
jb .L004tail
|
||||||
|
movl 156(%esp),%ebx
|
||||||
|
addl 112(%esp),%edx
|
||||||
|
addl 120(%esp),%edi
|
||||||
|
xorl (%ebx),%eax
|
||||||
|
xorl 16(%ebx),%ebp
|
||||||
|
movl %eax,(%esp)
|
||||||
|
movl 152(%esp),%eax
|
||||||
|
xorl 32(%ebx),%ecx
|
||||||
|
xorl 36(%ebx),%esi
|
||||||
|
xorl 48(%ebx),%edx
|
||||||
|
xorl 56(%ebx),%edi
|
||||||
|
movl %ebp,16(%eax)
|
||||||
|
movl %ecx,32(%eax)
|
||||||
|
movl %esi,36(%eax)
|
||||||
|
movl %edx,48(%eax)
|
||||||
|
movl %edi,56(%eax)
|
||||||
|
movl 4(%esp),%ebp
|
||||||
|
movl 8(%esp),%ecx
|
||||||
|
movl 12(%esp),%esi
|
||||||
|
movl 20(%esp),%edx
|
||||||
|
movl 24(%esp),%edi
|
||||||
|
addl $857760878,%ebp
|
||||||
|
addl $2036477234,%ecx
|
||||||
|
addl $1797285236,%esi
|
||||||
|
addl 84(%esp),%edx
|
||||||
|
addl 88(%esp),%edi
|
||||||
|
xorl 4(%ebx),%ebp
|
||||||
|
xorl 8(%ebx),%ecx
|
||||||
|
xorl 12(%ebx),%esi
|
||||||
|
xorl 20(%ebx),%edx
|
||||||
|
xorl 24(%ebx),%edi
|
||||||
|
movl %ebp,4(%eax)
|
||||||
|
movl %ecx,8(%eax)
|
||||||
|
movl %esi,12(%eax)
|
||||||
|
movl %edx,20(%eax)
|
||||||
|
movl %edi,24(%eax)
|
||||||
|
movl 28(%esp),%ebp
|
||||||
|
movl 40(%esp),%ecx
|
||||||
|
movl 44(%esp),%esi
|
||||||
|
movl 52(%esp),%edx
|
||||||
|
movl 60(%esp),%edi
|
||||||
|
addl 92(%esp),%ebp
|
||||||
|
addl 104(%esp),%ecx
|
||||||
|
addl 108(%esp),%esi
|
||||||
|
addl 116(%esp),%edx
|
||||||
|
addl 124(%esp),%edi
|
||||||
|
xorl 28(%ebx),%ebp
|
||||||
|
xorl 40(%ebx),%ecx
|
||||||
|
xorl 44(%ebx),%esi
|
||||||
|
xorl 52(%ebx),%edx
|
||||||
|
xorl 60(%ebx),%edi
|
||||||
|
leal 64(%ebx),%ebx
|
||||||
|
movl %ebp,28(%eax)
|
||||||
|
movl (%esp),%ebp
|
||||||
|
movl %ecx,40(%eax)
|
||||||
|
movl 160(%esp),%ecx
|
||||||
|
movl %esi,44(%eax)
|
||||||
|
movl %edx,52(%eax)
|
||||||
|
movl %edi,60(%eax)
|
||||||
|
movl %ebp,(%eax)
|
||||||
|
leal 64(%eax),%eax
|
||||||
|
subl $64,%ecx
|
||||||
|
jnz .L002outer_loop
|
||||||
|
jmp .L005done
|
||||||
|
.L004tail:
|
||||||
|
addl 112(%esp),%edx
|
||||||
|
addl 120(%esp),%edi
|
||||||
|
movl %eax,(%esp)
|
||||||
|
movl %ebp,16(%esp)
|
||||||
|
movl %ecx,32(%esp)
|
||||||
|
movl %esi,36(%esp)
|
||||||
|
movl %edx,48(%esp)
|
||||||
|
movl %edi,56(%esp)
|
||||||
|
movl 4(%esp),%ebp
|
||||||
|
movl 8(%esp),%ecx
|
||||||
|
movl 12(%esp),%esi
|
||||||
|
movl 20(%esp),%edx
|
||||||
|
movl 24(%esp),%edi
|
||||||
|
addl $857760878,%ebp
|
||||||
|
addl $2036477234,%ecx
|
||||||
|
addl $1797285236,%esi
|
||||||
|
addl 84(%esp),%edx
|
||||||
|
addl 88(%esp),%edi
|
||||||
|
movl %ebp,4(%esp)
|
||||||
|
movl %ecx,8(%esp)
|
||||||
|
movl %esi,12(%esp)
|
||||||
|
movl %edx,20(%esp)
|
||||||
|
movl %edi,24(%esp)
|
||||||
|
movl 28(%esp),%ebp
|
||||||
|
movl 40(%esp),%ecx
|
||||||
|
movl 44(%esp),%esi
|
||||||
|
movl 52(%esp),%edx
|
||||||
|
movl 60(%esp),%edi
|
||||||
|
addl 92(%esp),%ebp
|
||||||
|
addl 104(%esp),%ecx
|
||||||
|
addl 108(%esp),%esi
|
||||||
|
addl 116(%esp),%edx
|
||||||
|
addl 124(%esp),%edi
|
||||||
|
movl %ebp,28(%esp)
|
||||||
|
movl 156(%esp),%ebp
|
||||||
|
movl %ecx,40(%esp)
|
||||||
|
movl 152(%esp),%ecx
|
||||||
|
movl %esi,44(%esp)
|
||||||
|
xorl %esi,%esi
|
||||||
|
movl %edx,52(%esp)
|
||||||
|
movl %edi,60(%esp)
|
||||||
|
xorl %eax,%eax
|
||||||
|
xorl %edx,%edx
|
||||||
|
.L006tail_loop:
|
||||||
|
movb (%esi,%ebp,1),%al
|
||||||
|
movb (%esp,%esi,1),%dl
|
||||||
|
leal 1(%esi),%esi
|
||||||
|
xorb %dl,%al
|
||||||
|
movb %al,-1(%ecx,%esi,1)
|
||||||
|
decl %ebx
|
||||||
|
jnz .L006tail_loop
|
||||||
|
.L005done:
|
||||||
|
addl $132,%esp
|
||||||
|
.L000no_data:
|
||||||
|
popl %edi
|
||||||
|
popl %esi
|
||||||
|
popl %ebx
|
||||||
|
popl %ebp
|
||||||
|
ret
|
||||||
|
.size ChaCha20_ctr32,.-.L_ChaCha20_ctr32_begin
|
||||||
|
.byte 67,104,97,67,104,97,50,48,32,102,111,114,32,120,56,54
|
||||||
|
.byte 44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32
|
||||||
|
.byte 60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111
|
||||||
|
.byte 114,103,62,0
|
||||||
|
#else
|
||||||
|
.text
|
||||||
|
.globl ChaCha20_ctr32
|
||||||
|
.type ChaCha20_ctr32,@function
|
||||||
|
.align 16
|
||||||
|
ChaCha20_ctr32:
|
||||||
|
.L_ChaCha20_ctr32_begin:
|
||||||
|
pushl %ebp
|
||||||
|
pushl %ebx
|
||||||
|
pushl %esi
|
||||||
|
pushl %edi
|
||||||
|
xorl %eax,%eax
|
||||||
|
cmpl 28(%esp),%eax
|
||||||
|
je .L000no_data
|
||||||
|
movl 32(%esp),%esi
|
||||||
|
movl 36(%esp),%edi
|
||||||
|
subl $132,%esp
|
||||||
|
movl (%esi),%eax
|
||||||
|
movl 4(%esi),%ebx
|
||||||
|
movl 8(%esi),%ecx
|
||||||
|
movl 12(%esi),%edx
|
||||||
|
movl %eax,80(%esp)
|
||||||
|
movl %ebx,84(%esp)
|
||||||
|
movl %ecx,88(%esp)
|
||||||
|
movl %edx,92(%esp)
|
||||||
|
movl 16(%esi),%eax
|
||||||
|
movl 20(%esi),%ebx
|
||||||
|
movl 24(%esi),%ecx
|
||||||
|
movl 28(%esi),%edx
|
||||||
|
movl %eax,96(%esp)
|
||||||
|
movl %ebx,100(%esp)
|
||||||
|
movl %ecx,104(%esp)
|
||||||
|
movl %edx,108(%esp)
|
||||||
|
movl (%edi),%eax
|
||||||
|
movl 4(%edi),%ebx
|
||||||
|
movl 8(%edi),%ecx
|
||||||
|
movl 12(%edi),%edx
|
||||||
|
subl $1,%eax
|
||||||
|
movl %eax,112(%esp)
|
||||||
|
movl %ebx,116(%esp)
|
||||||
|
movl %ecx,120(%esp)
|
||||||
|
movl %edx,124(%esp)
|
||||||
|
jmp .L001entry
|
||||||
|
.align 16
|
||||||
|
.L002outer_loop:
|
||||||
|
movl %ebx,156(%esp)
|
||||||
|
movl %eax,152(%esp)
|
||||||
|
movl %ecx,160(%esp)
|
||||||
|
.L001entry:
|
||||||
|
movl $1634760805,%eax
|
||||||
|
movl $857760878,4(%esp)
|
||||||
|
movl $2036477234,8(%esp)
|
||||||
|
movl $1797285236,12(%esp)
|
||||||
|
movl 84(%esp),%ebx
|
||||||
|
movl 88(%esp),%ebp
|
||||||
|
movl 104(%esp),%ecx
|
||||||
|
movl 108(%esp),%esi
|
||||||
|
movl 116(%esp),%edx
|
||||||
|
movl 120(%esp),%edi
|
||||||
|
movl %ebx,20(%esp)
|
||||||
|
movl %ebp,24(%esp)
|
||||||
|
movl %ecx,40(%esp)
|
||||||
|
movl %esi,44(%esp)
|
||||||
|
movl %edx,52(%esp)
|
||||||
|
movl %edi,56(%esp)
|
||||||
|
movl 92(%esp),%ebx
|
||||||
|
movl 124(%esp),%edi
|
||||||
|
movl 112(%esp),%edx
|
||||||
|
movl 80(%esp),%ebp
|
||||||
|
movl 96(%esp),%ecx
|
||||||
|
movl 100(%esp),%esi
|
||||||
|
addl $1,%edx
|
||||||
|
movl %ebx,28(%esp)
|
||||||
|
movl %edi,60(%esp)
|
||||||
|
movl %edx,112(%esp)
|
||||||
|
movl $10,%ebx
|
||||||
|
jmp .L003loop
|
||||||
|
.align 16
|
||||||
|
.L003loop:
|
||||||
|
addl %ebp,%eax
|
||||||
|
movl %ebx,128(%esp)
|
||||||
|
movl %ebp,%ebx
|
||||||
|
xorl %eax,%edx
|
||||||
|
roll $16,%edx
|
||||||
|
addl %edx,%ecx
|
||||||
|
xorl %ecx,%ebx
|
||||||
|
movl 52(%esp),%edi
|
||||||
|
roll $12,%ebx
|
||||||
|
movl 20(%esp),%ebp
|
||||||
|
addl %ebx,%eax
|
||||||
|
xorl %eax,%edx
|
||||||
|
movl %eax,(%esp)
|
||||||
|
roll $8,%edx
|
||||||
|
movl 4(%esp),%eax
|
||||||
|
addl %edx,%ecx
|
||||||
|
movl %edx,48(%esp)
|
||||||
|
xorl %ecx,%ebx
|
||||||
|
addl %ebp,%eax
|
||||||
|
roll $7,%ebx
|
||||||
|
xorl %eax,%edi
|
||||||
|
movl %ecx,32(%esp)
|
||||||
|
roll $16,%edi
|
||||||
|
movl %ebx,16(%esp)
|
||||||
|
addl %edi,%esi
|
||||||
|
movl 40(%esp),%ecx
|
||||||
|
xorl %esi,%ebp
|
||||||
|
movl 56(%esp),%edx
|
||||||
|
roll $12,%ebp
|
||||||
|
movl 24(%esp),%ebx
|
||||||
|
addl %ebp,%eax
|
||||||
|
xorl %eax,%edi
|
||||||
|
movl %eax,4(%esp)
|
||||||
|
roll $8,%edi
|
||||||
|
movl 8(%esp),%eax
|
||||||
|
addl %edi,%esi
|
||||||
|
movl %edi,52(%esp)
|
||||||
|
xorl %esi,%ebp
|
||||||
|
addl %ebx,%eax
|
||||||
|
roll $7,%ebp
|
||||||
|
xorl %eax,%edx
|
||||||
|
movl %esi,36(%esp)
|
||||||
|
roll $16,%edx
|
||||||
|
movl %ebp,20(%esp)
|
||||||
|
addl %edx,%ecx
|
||||||
|
movl 44(%esp),%esi
|
||||||
|
xorl %ecx,%ebx
|
||||||
|
movl 60(%esp),%edi
|
||||||
|
roll $12,%ebx
|
||||||
|
movl 28(%esp),%ebp
|
||||||
|
addl %ebx,%eax
|
||||||
|
xorl %eax,%edx
|
||||||
|
movl %eax,8(%esp)
|
||||||
|
roll $8,%edx
|
||||||
|
movl 12(%esp),%eax
|
||||||
|
addl %edx,%ecx
|
||||||
|
movl %edx,56(%esp)
|
||||||
|
xorl %ecx,%ebx
|
||||||
|
addl %ebp,%eax
|
||||||
|
roll $7,%ebx
|
||||||
|
xorl %eax,%edi
|
||||||
|
roll $16,%edi
|
||||||
|
movl %ebx,24(%esp)
|
||||||
|
addl %edi,%esi
|
||||||
|
xorl %esi,%ebp
|
||||||
|
roll $12,%ebp
|
||||||
|
movl 20(%esp),%ebx
|
||||||
|
addl %ebp,%eax
|
||||||
|
xorl %eax,%edi
|
||||||
|
movl %eax,12(%esp)
|
||||||
|
roll $8,%edi
|
||||||
|
movl (%esp),%eax
|
||||||
|
addl %edi,%esi
|
||||||
|
movl %edi,%edx
|
||||||
|
xorl %esi,%ebp
|
||||||
|
addl %ebx,%eax
|
||||||
|
roll $7,%ebp
|
||||||
|
xorl %eax,%edx
|
||||||
|
roll $16,%edx
|
||||||
|
movl %ebp,28(%esp)
|
||||||
|
addl %edx,%ecx
|
||||||
|
xorl %ecx,%ebx
|
||||||
|
movl 48(%esp),%edi
|
||||||
|
roll $12,%ebx
|
||||||
|
movl 24(%esp),%ebp
|
||||||
|
addl %ebx,%eax
|
||||||
|
xorl %eax,%edx
|
||||||
|
movl %eax,(%esp)
|
||||||
|
roll $8,%edx
|
||||||
|
movl 4(%esp),%eax
|
||||||
|
addl %edx,%ecx
|
||||||
|
movl %edx,60(%esp)
|
||||||
|
xorl %ecx,%ebx
|
||||||
|
addl %ebp,%eax
|
||||||
|
roll $7,%ebx
|
||||||
|
xorl %eax,%edi
|
||||||
|
movl %ecx,40(%esp)
|
||||||
|
roll $16,%edi
|
||||||
|
movl %ebx,20(%esp)
|
||||||
|
addl %edi,%esi
|
||||||
|
movl 32(%esp),%ecx
|
||||||
|
xorl %esi,%ebp
|
||||||
|
movl 52(%esp),%edx
|
||||||
|
roll $12,%ebp
|
||||||
|
movl 28(%esp),%ebx
|
||||||
|
addl %ebp,%eax
|
||||||
|
xorl %eax,%edi
|
||||||
|
movl %eax,4(%esp)
|
||||||
|
roll $8,%edi
|
||||||
|
movl 8(%esp),%eax
|
||||||
|
addl %edi,%esi
|
||||||
|
movl %edi,48(%esp)
|
||||||
|
xorl %esi,%ebp
|
||||||
|
addl %ebx,%eax
|
||||||
|
roll $7,%ebp
|
||||||
|
xorl %eax,%edx
|
||||||
|
movl %esi,44(%esp)
|
||||||
|
roll $16,%edx
|
||||||
|
movl %ebp,24(%esp)
|
||||||
|
addl %edx,%ecx
|
||||||
|
movl 36(%esp),%esi
|
||||||
|
xorl %ecx,%ebx
|
||||||
|
movl 56(%esp),%edi
|
||||||
|
roll $12,%ebx
|
||||||
|
movl 16(%esp),%ebp
|
||||||
|
addl %ebx,%eax
|
||||||
|
xorl %eax,%edx
|
||||||
|
movl %eax,8(%esp)
|
||||||
|
roll $8,%edx
|
||||||
|
movl 12(%esp),%eax
|
||||||
|
addl %edx,%ecx
|
||||||
|
movl %edx,52(%esp)
|
||||||
|
xorl %ecx,%ebx
|
||||||
|
addl %ebp,%eax
|
||||||
|
roll $7,%ebx
|
||||||
|
xorl %eax,%edi
|
||||||
|
roll $16,%edi
|
||||||
|
movl %ebx,28(%esp)
|
||||||
|
addl %edi,%esi
|
||||||
|
xorl %esi,%ebp
|
||||||
|
movl 48(%esp),%edx
|
||||||
|
roll $12,%ebp
|
||||||
|
movl 128(%esp),%ebx
|
||||||
|
addl %ebp,%eax
|
||||||
|
xorl %eax,%edi
|
||||||
|
movl %eax,12(%esp)
|
||||||
|
roll $8,%edi
|
||||||
|
movl (%esp),%eax
|
||||||
|
addl %edi,%esi
|
||||||
|
movl %edi,56(%esp)
|
||||||
|
xorl %esi,%ebp
|
||||||
|
roll $7,%ebp
|
||||||
|
decl %ebx
|
||||||
|
jnz .L003loop
|
||||||
|
movl 160(%esp),%ebx
|
||||||
|
addl $1634760805,%eax
|
||||||
|
addl 80(%esp),%ebp
|
||||||
|
addl 96(%esp),%ecx
|
||||||
|
addl 100(%esp),%esi
|
||||||
|
cmpl $64,%ebx
|
||||||
|
jb .L004tail
|
||||||
|
movl 156(%esp),%ebx
|
||||||
|
addl 112(%esp),%edx
|
||||||
|
addl 120(%esp),%edi
|
||||||
|
xorl (%ebx),%eax
|
||||||
|
xorl 16(%ebx),%ebp
|
||||||
|
movl %eax,(%esp)
|
||||||
|
movl 152(%esp),%eax
|
||||||
|
xorl 32(%ebx),%ecx
|
||||||
|
xorl 36(%ebx),%esi
|
||||||
|
xorl 48(%ebx),%edx
|
||||||
|
xorl 56(%ebx),%edi
|
||||||
|
movl %ebp,16(%eax)
|
||||||
|
movl %ecx,32(%eax)
|
||||||
|
movl %esi,36(%eax)
|
||||||
|
movl %edx,48(%eax)
|
||||||
|
movl %edi,56(%eax)
|
||||||
|
movl 4(%esp),%ebp
|
||||||
|
movl 8(%esp),%ecx
|
||||||
|
movl 12(%esp),%esi
|
||||||
|
movl 20(%esp),%edx
|
||||||
|
movl 24(%esp),%edi
|
||||||
|
addl $857760878,%ebp
|
||||||
|
addl $2036477234,%ecx
|
||||||
|
addl $1797285236,%esi
|
||||||
|
addl 84(%esp),%edx
|
||||||
|
addl 88(%esp),%edi
|
||||||
|
xorl 4(%ebx),%ebp
|
||||||
|
xorl 8(%ebx),%ecx
|
||||||
|
xorl 12(%ebx),%esi
|
||||||
|
xorl 20(%ebx),%edx
|
||||||
|
xorl 24(%ebx),%edi
|
||||||
|
movl %ebp,4(%eax)
|
||||||
|
movl %ecx,8(%eax)
|
||||||
|
movl %esi,12(%eax)
|
||||||
|
movl %edx,20(%eax)
|
||||||
|
movl %edi,24(%eax)
|
||||||
|
movl 28(%esp),%ebp
|
||||||
|
movl 40(%esp),%ecx
|
||||||
|
movl 44(%esp),%esi
|
||||||
|
movl 52(%esp),%edx
|
||||||
|
movl 60(%esp),%edi
|
||||||
|
addl 92(%esp),%ebp
|
||||||
|
addl 104(%esp),%ecx
|
||||||
|
addl 108(%esp),%esi
|
||||||
|
addl 116(%esp),%edx
|
||||||
|
addl 124(%esp),%edi
|
||||||
|
xorl 28(%ebx),%ebp
|
||||||
|
xorl 40(%ebx),%ecx
|
||||||
|
xorl 44(%ebx),%esi
|
||||||
|
xorl 52(%ebx),%edx
|
||||||
|
xorl 60(%ebx),%edi
|
||||||
|
leal 64(%ebx),%ebx
|
||||||
|
movl %ebp,28(%eax)
|
||||||
|
movl (%esp),%ebp
|
||||||
|
movl %ecx,40(%eax)
|
||||||
|
movl 160(%esp),%ecx
|
||||||
|
movl %esi,44(%eax)
|
||||||
|
movl %edx,52(%eax)
|
||||||
|
movl %edi,60(%eax)
|
||||||
|
movl %ebp,(%eax)
|
||||||
|
leal 64(%eax),%eax
|
||||||
|
subl $64,%ecx
|
||||||
|
jnz .L002outer_loop
|
||||||
|
jmp .L005done
|
||||||
|
.L004tail:
|
||||||
|
addl 112(%esp),%edx
|
||||||
|
addl 120(%esp),%edi
|
||||||
|
movl %eax,(%esp)
|
||||||
|
movl %ebp,16(%esp)
|
||||||
|
movl %ecx,32(%esp)
|
||||||
|
movl %esi,36(%esp)
|
||||||
|
movl %edx,48(%esp)
|
||||||
|
movl %edi,56(%esp)
|
||||||
|
movl 4(%esp),%ebp
|
||||||
|
movl 8(%esp),%ecx
|
||||||
|
movl 12(%esp),%esi
|
||||||
|
movl 20(%esp),%edx
|
||||||
|
movl 24(%esp),%edi
|
||||||
|
addl $857760878,%ebp
|
||||||
|
addl $2036477234,%ecx
|
||||||
|
addl $1797285236,%esi
|
||||||
|
addl 84(%esp),%edx
|
||||||
|
addl 88(%esp),%edi
|
||||||
|
movl %ebp,4(%esp)
|
||||||
|
movl %ecx,8(%esp)
|
||||||
|
movl %esi,12(%esp)
|
||||||
|
movl %edx,20(%esp)
|
||||||
|
movl %edi,24(%esp)
|
||||||
|
movl 28(%esp),%ebp
|
||||||
|
movl 40(%esp),%ecx
|
||||||
|
movl 44(%esp),%esi
|
||||||
|
movl 52(%esp),%edx
|
||||||
|
movl 60(%esp),%edi
|
||||||
|
addl 92(%esp),%ebp
|
||||||
|
addl 104(%esp),%ecx
|
||||||
|
addl 108(%esp),%esi
|
||||||
|
addl 116(%esp),%edx
|
||||||
|
addl 124(%esp),%edi
|
||||||
|
movl %ebp,28(%esp)
|
||||||
|
movl 156(%esp),%ebp
|
||||||
|
movl %ecx,40(%esp)
|
||||||
|
movl 152(%esp),%ecx
|
||||||
|
movl %esi,44(%esp)
|
||||||
|
xorl %esi,%esi
|
||||||
|
movl %edx,52(%esp)
|
||||||
|
movl %edi,60(%esp)
|
||||||
|
xorl %eax,%eax
|
||||||
|
xorl %edx,%edx
|
||||||
|
.L006tail_loop:
|
||||||
|
movb (%esi,%ebp,1),%al
|
||||||
|
movb (%esp,%esi,1),%dl
|
||||||
|
leal 1(%esi),%esi
|
||||||
|
xorb %dl,%al
|
||||||
|
movb %al,-1(%ecx,%esi,1)
|
||||||
|
decl %ebx
|
||||||
|
jnz .L006tail_loop
|
||||||
|
.L005done:
|
||||||
|
addl $132,%esp
|
||||||
|
.L000no_data:
|
||||||
|
popl %edi
|
||||||
|
popl %esi
|
||||||
|
popl %ebx
|
||||||
|
popl %ebp
|
||||||
|
ret
|
||||||
|
.size ChaCha20_ctr32,.-.L_ChaCha20_ctr32_begin
|
||||||
|
.byte 67,104,97,67,104,97,50,48,32,102,111,114,32,120,56,54
|
||||||
|
.byte 44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32
|
||||||
|
.byte 60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111
|
||||||
|
.byte 114,103,62,0
|
||||||
|
#endif
|
@ -1,7 +1,6 @@
|
|||||||
/* $FreeBSD$ */
|
/* $FreeBSD$ */
|
||||||
/* Do not modify. This file is auto-generated from cmll-x86.pl. */
|
/* Do not modify. This file is auto-generated from cmll-x86.pl. */
|
||||||
#ifdef PIC
|
#ifdef PIC
|
||||||
.file "cmll-x86.S"
|
|
||||||
.text
|
.text
|
||||||
.globl Camellia_EncryptBlock_Rounds
|
.globl Camellia_EncryptBlock_Rounds
|
||||||
.type Camellia_EncryptBlock_Rounds,@function
|
.type Camellia_EncryptBlock_Rounds,@function
|
||||||
@ -1540,11 +1539,11 @@ Camellia_Ekeygen:
|
|||||||
popl %ebp
|
popl %ebp
|
||||||
ret
|
ret
|
||||||
.size Camellia_Ekeygen,.-.L_Camellia_Ekeygen_begin
|
.size Camellia_Ekeygen,.-.L_Camellia_Ekeygen_begin
|
||||||
.globl private_Camellia_set_key
|
.globl Camellia_set_key
|
||||||
.type private_Camellia_set_key,@function
|
.type Camellia_set_key,@function
|
||||||
.align 16
|
.align 16
|
||||||
private_Camellia_set_key:
|
Camellia_set_key:
|
||||||
.L_private_Camellia_set_key_begin:
|
.L_Camellia_set_key_begin:
|
||||||
pushl %ebx
|
pushl %ebx
|
||||||
movl 8(%esp),%ecx
|
movl 8(%esp),%ecx
|
||||||
movl 12(%esp),%ebx
|
movl 12(%esp),%ebx
|
||||||
@ -1574,7 +1573,7 @@ private_Camellia_set_key:
|
|||||||
.L014done:
|
.L014done:
|
||||||
popl %ebx
|
popl %ebx
|
||||||
ret
|
ret
|
||||||
.size private_Camellia_set_key,.-.L_private_Camellia_set_key_begin
|
.size Camellia_set_key,.-.L_Camellia_set_key_begin
|
||||||
.align 64
|
.align 64
|
||||||
.LCamellia_SIGMA:
|
.LCamellia_SIGMA:
|
||||||
.long 2694735487,1003262091,3061508184,1286239154,3337565999,3914302142,1426019237,4057165596,283453434,3731369245,2958461122,3018244605,0,0,0,0
|
.long 2694735487,1003262091,3061508184,1286239154,3337565999,3914302142,1426019237,4057165596,283453434,3731369245,2958461122,3018244605,0,0,0,0
|
||||||
@ -2377,7 +2376,6 @@ Camellia_cbc_encrypt:
|
|||||||
.byte 32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115
|
.byte 32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115
|
||||||
.byte 115,108,46,111,114,103,62,0
|
.byte 115,108,46,111,114,103,62,0
|
||||||
#else
|
#else
|
||||||
.file "cmll-x86.S"
|
|
||||||
.text
|
.text
|
||||||
.globl Camellia_EncryptBlock_Rounds
|
.globl Camellia_EncryptBlock_Rounds
|
||||||
.type Camellia_EncryptBlock_Rounds,@function
|
.type Camellia_EncryptBlock_Rounds,@function
|
||||||
@ -3916,11 +3914,11 @@ Camellia_Ekeygen:
|
|||||||
popl %ebp
|
popl %ebp
|
||||||
ret
|
ret
|
||||||
.size Camellia_Ekeygen,.-.L_Camellia_Ekeygen_begin
|
.size Camellia_Ekeygen,.-.L_Camellia_Ekeygen_begin
|
||||||
.globl private_Camellia_set_key
|
.globl Camellia_set_key
|
||||||
.type private_Camellia_set_key,@function
|
.type Camellia_set_key,@function
|
||||||
.align 16
|
.align 16
|
||||||
private_Camellia_set_key:
|
Camellia_set_key:
|
||||||
.L_private_Camellia_set_key_begin:
|
.L_Camellia_set_key_begin:
|
||||||
pushl %ebx
|
pushl %ebx
|
||||||
movl 8(%esp),%ecx
|
movl 8(%esp),%ecx
|
||||||
movl 12(%esp),%ebx
|
movl 12(%esp),%ebx
|
||||||
@ -3950,7 +3948,7 @@ private_Camellia_set_key:
|
|||||||
.L014done:
|
.L014done:
|
||||||
popl %ebx
|
popl %ebx
|
||||||
ret
|
ret
|
||||||
.size private_Camellia_set_key,.-.L_private_Camellia_set_key_begin
|
.size Camellia_set_key,.-.L_Camellia_set_key_begin
|
||||||
.align 64
|
.align 64
|
||||||
.LCamellia_SIGMA:
|
.LCamellia_SIGMA:
|
||||||
.long 2694735487,1003262091,3061508184,1286239154,3337565999,3914302142,1426019237,4057165596,283453434,3731369245,2958461122,3018244605,0,0,0,0
|
.long 2694735487,1003262091,3061508184,1286239154,3337565999,3914302142,1426019237,4057165596,283453434,3731369245,2958461122,3018244605,0,0,0,0
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
/* $FreeBSD$ */
|
/* $FreeBSD$ */
|
||||||
/* Do not modify. This file is auto-generated from co-586.pl. */
|
/* Do not modify. This file is auto-generated from co-586.pl. */
|
||||||
#ifdef PIC
|
#ifdef PIC
|
||||||
.file "co-586.S"
|
|
||||||
.text
|
.text
|
||||||
.globl bn_mul_comba8
|
.globl bn_mul_comba8
|
||||||
.type bn_mul_comba8,@function
|
.type bn_mul_comba8,@function
|
||||||
@ -1256,7 +1255,6 @@ bn_sqr_comba4:
|
|||||||
ret
|
ret
|
||||||
.size bn_sqr_comba4,.-.L_bn_sqr_comba4_begin
|
.size bn_sqr_comba4,.-.L_bn_sqr_comba4_begin
|
||||||
#else
|
#else
|
||||||
.file "co-586.S"
|
|
||||||
.text
|
.text
|
||||||
.globl bn_mul_comba8
|
.globl bn_mul_comba8
|
||||||
.type bn_mul_comba8,@function
|
.type bn_mul_comba8,@function
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
/* $FreeBSD$ */
|
/* $FreeBSD$ */
|
||||||
/* Do not modify. This file is auto-generated from crypt586.pl. */
|
/* Do not modify. This file is auto-generated from crypt586.pl. */
|
||||||
#ifdef PIC
|
#ifdef PIC
|
||||||
.file "crypt586.S"
|
|
||||||
.text
|
.text
|
||||||
.globl fcrypt_body
|
.globl fcrypt_body
|
||||||
.type fcrypt_body,@function
|
.type fcrypt_body,@function
|
||||||
@ -881,7 +880,6 @@ fcrypt_body:
|
|||||||
ret
|
ret
|
||||||
.size fcrypt_body,.-.L_fcrypt_body_begin
|
.size fcrypt_body,.-.L_fcrypt_body_begin
|
||||||
#else
|
#else
|
||||||
.file "crypt586.S"
|
|
||||||
.text
|
.text
|
||||||
.globl fcrypt_body
|
.globl fcrypt_body
|
||||||
.type fcrypt_body,@function
|
.type fcrypt_body,@function
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
/* $FreeBSD$ */
|
/* $FreeBSD$ */
|
||||||
/* Do not modify. This file is auto-generated from des-586.pl. */
|
/* Do not modify. This file is auto-generated from des-586.pl. */
|
||||||
#ifdef PIC
|
#ifdef PIC
|
||||||
.file "des-586.S"
|
|
||||||
.text
|
.text
|
||||||
.globl DES_SPtrans
|
.globl DES_SPtrans
|
||||||
.type _x86_DES_encrypt,@function
|
.type _x86_DES_encrypt,@function
|
||||||
@ -1840,7 +1839,6 @@ DES_SPtrans:
|
|||||||
.long 128,545390592,8519808,0
|
.long 128,545390592,8519808,0
|
||||||
.long 536870912,545259648,131072,8519808
|
.long 536870912,545259648,131072,8519808
|
||||||
#else
|
#else
|
||||||
.file "des-586.S"
|
|
||||||
.text
|
.text
|
||||||
.globl DES_SPtrans
|
.globl DES_SPtrans
|
||||||
.type _x86_DES_encrypt,@function
|
.type _x86_DES_encrypt,@function
|
||||||
|
2083
secure/lib/libcrypto/i386/e_padlock-x86.S
Normal file
2083
secure/lib/libcrypto/i386/e_padlock-x86.S
Normal file
File diff suppressed because it is too large
Load Diff
9771
secure/lib/libcrypto/i386/ecp_nistz256-x86.S
Normal file
9771
secure/lib/libcrypto/i386/ecp_nistz256-x86.S
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
557
secure/lib/libcrypto/i386/poly1305-x86.S
Normal file
557
secure/lib/libcrypto/i386/poly1305-x86.S
Normal file
@ -0,0 +1,557 @@
|
|||||||
|
/* $FreeBSD$ */
|
||||||
|
/* Do not modify. This file is auto-generated from poly1305-x86.pl. */
|
||||||
|
#ifdef PIC
|
||||||
|
.text
|
||||||
|
.align 64
|
||||||
|
.globl poly1305_init
|
||||||
|
.type poly1305_init,@function
|
||||||
|
.align 16
|
||||||
|
poly1305_init:
|
||||||
|
.L_poly1305_init_begin:
|
||||||
|
pushl %ebp
|
||||||
|
pushl %ebx
|
||||||
|
pushl %esi
|
||||||
|
pushl %edi
|
||||||
|
movl 20(%esp),%edi
|
||||||
|
movl 24(%esp),%esi
|
||||||
|
movl 28(%esp),%ebp
|
||||||
|
xorl %eax,%eax
|
||||||
|
movl %eax,(%edi)
|
||||||
|
movl %eax,4(%edi)
|
||||||
|
movl %eax,8(%edi)
|
||||||
|
movl %eax,12(%edi)
|
||||||
|
movl %eax,16(%edi)
|
||||||
|
movl %eax,20(%edi)
|
||||||
|
cmpl $0,%esi
|
||||||
|
je .L000nokey
|
||||||
|
movl (%esi),%eax
|
||||||
|
movl 4(%esi),%ebx
|
||||||
|
movl 8(%esi),%ecx
|
||||||
|
movl 12(%esi),%edx
|
||||||
|
andl $268435455,%eax
|
||||||
|
andl $268435452,%ebx
|
||||||
|
andl $268435452,%ecx
|
||||||
|
andl $268435452,%edx
|
||||||
|
movl %eax,24(%edi)
|
||||||
|
movl %ebx,28(%edi)
|
||||||
|
movl %ecx,32(%edi)
|
||||||
|
movl %edx,36(%edi)
|
||||||
|
movl $0,%eax
|
||||||
|
.L000nokey:
|
||||||
|
popl %edi
|
||||||
|
popl %esi
|
||||||
|
popl %ebx
|
||||||
|
popl %ebp
|
||||||
|
ret
|
||||||
|
.size poly1305_init,.-.L_poly1305_init_begin
|
||||||
|
.globl poly1305_blocks
|
||||||
|
.type poly1305_blocks,@function
|
||||||
|
.align 16
|
||||||
|
poly1305_blocks:
|
||||||
|
.L_poly1305_blocks_begin:
|
||||||
|
pushl %ebp
|
||||||
|
pushl %ebx
|
||||||
|
pushl %esi
|
||||||
|
pushl %edi
|
||||||
|
movl 20(%esp),%edi
|
||||||
|
movl 24(%esp),%esi
|
||||||
|
movl 28(%esp),%ecx
|
||||||
|
.L001enter_blocks:
|
||||||
|
andl $-15,%ecx
|
||||||
|
jz .L002nodata
|
||||||
|
subl $64,%esp
|
||||||
|
movl 24(%edi),%eax
|
||||||
|
movl 28(%edi),%ebx
|
||||||
|
leal (%esi,%ecx,1),%ebp
|
||||||
|
movl 32(%edi),%ecx
|
||||||
|
movl 36(%edi),%edx
|
||||||
|
movl %ebp,92(%esp)
|
||||||
|
movl %esi,%ebp
|
||||||
|
movl %eax,36(%esp)
|
||||||
|
movl %ebx,%eax
|
||||||
|
shrl $2,%eax
|
||||||
|
movl %ebx,40(%esp)
|
||||||
|
addl %ebx,%eax
|
||||||
|
movl %ecx,%ebx
|
||||||
|
shrl $2,%ebx
|
||||||
|
movl %ecx,44(%esp)
|
||||||
|
addl %ecx,%ebx
|
||||||
|
movl %edx,%ecx
|
||||||
|
shrl $2,%ecx
|
||||||
|
movl %edx,48(%esp)
|
||||||
|
addl %edx,%ecx
|
||||||
|
movl %eax,52(%esp)
|
||||||
|
movl %ebx,56(%esp)
|
||||||
|
movl %ecx,60(%esp)
|
||||||
|
movl (%edi),%eax
|
||||||
|
movl 4(%edi),%ebx
|
||||||
|
movl 8(%edi),%ecx
|
||||||
|
movl 12(%edi),%esi
|
||||||
|
movl 16(%edi),%edi
|
||||||
|
jmp .L003loop
|
||||||
|
.align 32
|
||||||
|
.L003loop:
|
||||||
|
addl (%ebp),%eax
|
||||||
|
adcl 4(%ebp),%ebx
|
||||||
|
adcl 8(%ebp),%ecx
|
||||||
|
adcl 12(%ebp),%esi
|
||||||
|
leal 16(%ebp),%ebp
|
||||||
|
adcl 96(%esp),%edi
|
||||||
|
movl %eax,(%esp)
|
||||||
|
movl %esi,12(%esp)
|
||||||
|
mull 36(%esp)
|
||||||
|
movl %edi,16(%esp)
|
||||||
|
movl %eax,%edi
|
||||||
|
movl %ebx,%eax
|
||||||
|
movl %edx,%esi
|
||||||
|
mull 60(%esp)
|
||||||
|
addl %eax,%edi
|
||||||
|
movl %ecx,%eax
|
||||||
|
adcl %edx,%esi
|
||||||
|
mull 56(%esp)
|
||||||
|
addl %eax,%edi
|
||||||
|
movl 12(%esp),%eax
|
||||||
|
adcl %edx,%esi
|
||||||
|
mull 52(%esp)
|
||||||
|
addl %eax,%edi
|
||||||
|
movl (%esp),%eax
|
||||||
|
adcl %edx,%esi
|
||||||
|
mull 40(%esp)
|
||||||
|
movl %edi,20(%esp)
|
||||||
|
xorl %edi,%edi
|
||||||
|
addl %eax,%esi
|
||||||
|
movl %ebx,%eax
|
||||||
|
adcl %edx,%edi
|
||||||
|
mull 36(%esp)
|
||||||
|
addl %eax,%esi
|
||||||
|
movl %ecx,%eax
|
||||||
|
adcl %edx,%edi
|
||||||
|
mull 60(%esp)
|
||||||
|
addl %eax,%esi
|
||||||
|
movl 12(%esp),%eax
|
||||||
|
adcl %edx,%edi
|
||||||
|
mull 56(%esp)
|
||||||
|
addl %eax,%esi
|
||||||
|
movl 16(%esp),%eax
|
||||||
|
adcl %edx,%edi
|
||||||
|
imull 52(%esp),%eax
|
||||||
|
addl %eax,%esi
|
||||||
|
movl (%esp),%eax
|
||||||
|
adcl $0,%edi
|
||||||
|
mull 44(%esp)
|
||||||
|
movl %esi,24(%esp)
|
||||||
|
xorl %esi,%esi
|
||||||
|
addl %eax,%edi
|
||||||
|
movl %ebx,%eax
|
||||||
|
adcl %edx,%esi
|
||||||
|
mull 40(%esp)
|
||||||
|
addl %eax,%edi
|
||||||
|
movl %ecx,%eax
|
||||||
|
adcl %edx,%esi
|
||||||
|
mull 36(%esp)
|
||||||
|
addl %eax,%edi
|
||||||
|
movl 12(%esp),%eax
|
||||||
|
adcl %edx,%esi
|
||||||
|
mull 60(%esp)
|
||||||
|
addl %eax,%edi
|
||||||
|
movl 16(%esp),%eax
|
||||||
|
adcl %edx,%esi
|
||||||
|
imull 56(%esp),%eax
|
||||||
|
addl %eax,%edi
|
||||||
|
movl (%esp),%eax
|
||||||
|
adcl $0,%esi
|
||||||
|
mull 48(%esp)
|
||||||
|
movl %edi,28(%esp)
|
||||||
|
xorl %edi,%edi
|
||||||
|
addl %eax,%esi
|
||||||
|
movl %ebx,%eax
|
||||||
|
adcl %edx,%edi
|
||||||
|
mull 44(%esp)
|
||||||
|
addl %eax,%esi
|
||||||
|
movl %ecx,%eax
|
||||||
|
adcl %edx,%edi
|
||||||
|
mull 40(%esp)
|
||||||
|
addl %eax,%esi
|
||||||
|
movl 12(%esp),%eax
|
||||||
|
adcl %edx,%edi
|
||||||
|
mull 36(%esp)
|
||||||
|
addl %eax,%esi
|
||||||
|
movl 16(%esp),%ecx
|
||||||
|
adcl %edx,%edi
|
||||||
|
movl %ecx,%edx
|
||||||
|
imull 60(%esp),%ecx
|
||||||
|
addl %ecx,%esi
|
||||||
|
movl 20(%esp),%eax
|
||||||
|
adcl $0,%edi
|
||||||
|
imull 36(%esp),%edx
|
||||||
|
addl %edi,%edx
|
||||||
|
movl 24(%esp),%ebx
|
||||||
|
movl 28(%esp),%ecx
|
||||||
|
movl %edx,%edi
|
||||||
|
shrl $2,%edx
|
||||||
|
andl $3,%edi
|
||||||
|
leal (%edx,%edx,4),%edx
|
||||||
|
addl %edx,%eax
|
||||||
|
adcl $0,%ebx
|
||||||
|
adcl $0,%ecx
|
||||||
|
adcl $0,%esi
|
||||||
|
adcl $0,%edi
|
||||||
|
cmpl 92(%esp),%ebp
|
||||||
|
jne .L003loop
|
||||||
|
movl 84(%esp),%edx
|
||||||
|
addl $64,%esp
|
||||||
|
movl %eax,(%edx)
|
||||||
|
movl %ebx,4(%edx)
|
||||||
|
movl %ecx,8(%edx)
|
||||||
|
movl %esi,12(%edx)
|
||||||
|
movl %edi,16(%edx)
|
||||||
|
.L002nodata:
|
||||||
|
popl %edi
|
||||||
|
popl %esi
|
||||||
|
popl %ebx
|
||||||
|
popl %ebp
|
||||||
|
ret
|
||||||
|
.size poly1305_blocks,.-.L_poly1305_blocks_begin
|
||||||
|
.globl poly1305_emit
|
||||||
|
.type poly1305_emit,@function
|
||||||
|
.align 16
|
||||||
|
poly1305_emit:
|
||||||
|
.L_poly1305_emit_begin:
|
||||||
|
pushl %ebp
|
||||||
|
pushl %ebx
|
||||||
|
pushl %esi
|
||||||
|
pushl %edi
|
||||||
|
movl 20(%esp),%ebp
|
||||||
|
.L004enter_emit:
|
||||||
|
movl 24(%esp),%edi
|
||||||
|
movl (%ebp),%eax
|
||||||
|
movl 4(%ebp),%ebx
|
||||||
|
movl 8(%ebp),%ecx
|
||||||
|
movl 12(%ebp),%edx
|
||||||
|
movl 16(%ebp),%esi
|
||||||
|
addl $5,%eax
|
||||||
|
adcl $0,%ebx
|
||||||
|
adcl $0,%ecx
|
||||||
|
adcl $0,%edx
|
||||||
|
adcl $0,%esi
|
||||||
|
shrl $2,%esi
|
||||||
|
negl %esi
|
||||||
|
andl %esi,%eax
|
||||||
|
andl %esi,%ebx
|
||||||
|
andl %esi,%ecx
|
||||||
|
andl %esi,%edx
|
||||||
|
movl %eax,(%edi)
|
||||||
|
movl %ebx,4(%edi)
|
||||||
|
movl %ecx,8(%edi)
|
||||||
|
movl %edx,12(%edi)
|
||||||
|
notl %esi
|
||||||
|
movl (%ebp),%eax
|
||||||
|
movl 4(%ebp),%ebx
|
||||||
|
movl 8(%ebp),%ecx
|
||||||
|
movl 12(%ebp),%edx
|
||||||
|
movl 28(%esp),%ebp
|
||||||
|
andl %esi,%eax
|
||||||
|
andl %esi,%ebx
|
||||||
|
andl %esi,%ecx
|
||||||
|
andl %esi,%edx
|
||||||
|
orl (%edi),%eax
|
||||||
|
orl 4(%edi),%ebx
|
||||||
|
orl 8(%edi),%ecx
|
||||||
|
orl 12(%edi),%edx
|
||||||
|
addl (%ebp),%eax
|
||||||
|
adcl 4(%ebp),%ebx
|
||||||
|
adcl 8(%ebp),%ecx
|
||||||
|
adcl 12(%ebp),%edx
|
||||||
|
movl %eax,(%edi)
|
||||||
|
movl %ebx,4(%edi)
|
||||||
|
movl %ecx,8(%edi)
|
||||||
|
movl %edx,12(%edi)
|
||||||
|
popl %edi
|
||||||
|
popl %esi
|
||||||
|
popl %ebx
|
||||||
|
popl %ebp
|
||||||
|
ret
|
||||||
|
.size poly1305_emit,.-.L_poly1305_emit_begin
|
||||||
|
.byte 80,111,108,121,49,51,48,53,32,102,111,114,32,120,56,54
|
||||||
|
.byte 44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32
|
||||||
|
.byte 60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111
|
||||||
|
.byte 114,103,62,0
|
||||||
|
.align 4
|
||||||
|
#else
|
||||||
|
.text
|
||||||
|
.align 64
|
||||||
|
.globl poly1305_init
|
||||||
|
.type poly1305_init,@function
|
||||||
|
.align 16
|
||||||
|
poly1305_init:
|
||||||
|
.L_poly1305_init_begin:
|
||||||
|
pushl %ebp
|
||||||
|
pushl %ebx
|
||||||
|
pushl %esi
|
||||||
|
pushl %edi
|
||||||
|
movl 20(%esp),%edi
|
||||||
|
movl 24(%esp),%esi
|
||||||
|
movl 28(%esp),%ebp
|
||||||
|
xorl %eax,%eax
|
||||||
|
movl %eax,(%edi)
|
||||||
|
movl %eax,4(%edi)
|
||||||
|
movl %eax,8(%edi)
|
||||||
|
movl %eax,12(%edi)
|
||||||
|
movl %eax,16(%edi)
|
||||||
|
movl %eax,20(%edi)
|
||||||
|
cmpl $0,%esi
|
||||||
|
je .L000nokey
|
||||||
|
movl (%esi),%eax
|
||||||
|
movl 4(%esi),%ebx
|
||||||
|
movl 8(%esi),%ecx
|
||||||
|
movl 12(%esi),%edx
|
||||||
|
andl $268435455,%eax
|
||||||
|
andl $268435452,%ebx
|
||||||
|
andl $268435452,%ecx
|
||||||
|
andl $268435452,%edx
|
||||||
|
movl %eax,24(%edi)
|
||||||
|
movl %ebx,28(%edi)
|
||||||
|
movl %ecx,32(%edi)
|
||||||
|
movl %edx,36(%edi)
|
||||||
|
movl $0,%eax
|
||||||
|
.L000nokey:
|
||||||
|
popl %edi
|
||||||
|
popl %esi
|
||||||
|
popl %ebx
|
||||||
|
popl %ebp
|
||||||
|
ret
|
||||||
|
.size poly1305_init,.-.L_poly1305_init_begin
|
||||||
|
.globl poly1305_blocks
|
||||||
|
.type poly1305_blocks,@function
|
||||||
|
.align 16
|
||||||
|
poly1305_blocks:
|
||||||
|
.L_poly1305_blocks_begin:
|
||||||
|
pushl %ebp
|
||||||
|
pushl %ebx
|
||||||
|
pushl %esi
|
||||||
|
pushl %edi
|
||||||
|
movl 20(%esp),%edi
|
||||||
|
movl 24(%esp),%esi
|
||||||
|
movl 28(%esp),%ecx
|
||||||
|
.L001enter_blocks:
|
||||||
|
andl $-15,%ecx
|
||||||
|
jz .L002nodata
|
||||||
|
subl $64,%esp
|
||||||
|
movl 24(%edi),%eax
|
||||||
|
movl 28(%edi),%ebx
|
||||||
|
leal (%esi,%ecx,1),%ebp
|
||||||
|
movl 32(%edi),%ecx
|
||||||
|
movl 36(%edi),%edx
|
||||||
|
movl %ebp,92(%esp)
|
||||||
|
movl %esi,%ebp
|
||||||
|
movl %eax,36(%esp)
|
||||||
|
movl %ebx,%eax
|
||||||
|
shrl $2,%eax
|
||||||
|
movl %ebx,40(%esp)
|
||||||
|
addl %ebx,%eax
|
||||||
|
movl %ecx,%ebx
|
||||||
|
shrl $2,%ebx
|
||||||
|
movl %ecx,44(%esp)
|
||||||
|
addl %ecx,%ebx
|
||||||
|
movl %edx,%ecx
|
||||||
|
shrl $2,%ecx
|
||||||
|
movl %edx,48(%esp)
|
||||||
|
addl %edx,%ecx
|
||||||
|
movl %eax,52(%esp)
|
||||||
|
movl %ebx,56(%esp)
|
||||||
|
movl %ecx,60(%esp)
|
||||||
|
movl (%edi),%eax
|
||||||
|
movl 4(%edi),%ebx
|
||||||
|
movl 8(%edi),%ecx
|
||||||
|
movl 12(%edi),%esi
|
||||||
|
movl 16(%edi),%edi
|
||||||
|
jmp .L003loop
|
||||||
|
.align 32
|
||||||
|
.L003loop:
|
||||||
|
addl (%ebp),%eax
|
||||||
|
adcl 4(%ebp),%ebx
|
||||||
|
adcl 8(%ebp),%ecx
|
||||||
|
adcl 12(%ebp),%esi
|
||||||
|
leal 16(%ebp),%ebp
|
||||||
|
adcl 96(%esp),%edi
|
||||||
|
movl %eax,(%esp)
|
||||||
|
movl %esi,12(%esp)
|
||||||
|
mull 36(%esp)
|
||||||
|
movl %edi,16(%esp)
|
||||||
|
movl %eax,%edi
|
||||||
|
movl %ebx,%eax
|
||||||
|
movl %edx,%esi
|
||||||
|
mull 60(%esp)
|
||||||
|
addl %eax,%edi
|
||||||
|
movl %ecx,%eax
|
||||||
|
adcl %edx,%esi
|
||||||
|
mull 56(%esp)
|
||||||
|
addl %eax,%edi
|
||||||
|
movl 12(%esp),%eax
|
||||||
|
adcl %edx,%esi
|
||||||
|
mull 52(%esp)
|
||||||
|
addl %eax,%edi
|
||||||
|
movl (%esp),%eax
|
||||||
|
adcl %edx,%esi
|
||||||
|
mull 40(%esp)
|
||||||
|
movl %edi,20(%esp)
|
||||||
|
xorl %edi,%edi
|
||||||
|
addl %eax,%esi
|
||||||
|
movl %ebx,%eax
|
||||||
|
adcl %edx,%edi
|
||||||
|
mull 36(%esp)
|
||||||
|
addl %eax,%esi
|
||||||
|
movl %ecx,%eax
|
||||||
|
adcl %edx,%edi
|
||||||
|
mull 60(%esp)
|
||||||
|
addl %eax,%esi
|
||||||
|
movl 12(%esp),%eax
|
||||||
|
adcl %edx,%edi
|
||||||
|
mull 56(%esp)
|
||||||
|
addl %eax,%esi
|
||||||
|
movl 16(%esp),%eax
|
||||||
|
adcl %edx,%edi
|
||||||
|
imull 52(%esp),%eax
|
||||||
|
addl %eax,%esi
|
||||||
|
movl (%esp),%eax
|
||||||
|
adcl $0,%edi
|
||||||
|
mull 44(%esp)
|
||||||
|
movl %esi,24(%esp)
|
||||||
|
xorl %esi,%esi
|
||||||
|
addl %eax,%edi
|
||||||
|
movl %ebx,%eax
|
||||||
|
adcl %edx,%esi
|
||||||
|
mull 40(%esp)
|
||||||
|
addl %eax,%edi
|
||||||
|
movl %ecx,%eax
|
||||||
|
adcl %edx,%esi
|
||||||
|
mull 36(%esp)
|
||||||
|
addl %eax,%edi
|
||||||
|
movl 12(%esp),%eax
|
||||||
|
adcl %edx,%esi
|
||||||
|
mull 60(%esp)
|
||||||
|
addl %eax,%edi
|
||||||
|
movl 16(%esp),%eax
|
||||||
|
adcl %edx,%esi
|
||||||
|
imull 56(%esp),%eax
|
||||||
|
addl %eax,%edi
|
||||||
|
movl (%esp),%eax
|
||||||
|
adcl $0,%esi
|
||||||
|
mull 48(%esp)
|
||||||
|
movl %edi,28(%esp)
|
||||||
|
xorl %edi,%edi
|
||||||
|
addl %eax,%esi
|
||||||
|
movl %ebx,%eax
|
||||||
|
adcl %edx,%edi
|
||||||
|
mull 44(%esp)
|
||||||
|
addl %eax,%esi
|
||||||
|
movl %ecx,%eax
|
||||||
|
adcl %edx,%edi
|
||||||
|
mull 40(%esp)
|
||||||
|
addl %eax,%esi
|
||||||
|
movl 12(%esp),%eax
|
||||||
|
adcl %edx,%edi
|
||||||
|
mull 36(%esp)
|
||||||
|
addl %eax,%esi
|
||||||
|
movl 16(%esp),%ecx
|
||||||
|
adcl %edx,%edi
|
||||||
|
movl %ecx,%edx
|
||||||
|
imull 60(%esp),%ecx
|
||||||
|
addl %ecx,%esi
|
||||||
|
movl 20(%esp),%eax
|
||||||
|
adcl $0,%edi
|
||||||
|
imull 36(%esp),%edx
|
||||||
|
addl %edi,%edx
|
||||||
|
movl 24(%esp),%ebx
|
||||||
|
movl 28(%esp),%ecx
|
||||||
|
movl %edx,%edi
|
||||||
|
shrl $2,%edx
|
||||||
|
andl $3,%edi
|
||||||
|
leal (%edx,%edx,4),%edx
|
||||||
|
addl %edx,%eax
|
||||||
|
adcl $0,%ebx
|
||||||
|
adcl $0,%ecx
|
||||||
|
adcl $0,%esi
|
||||||
|
adcl $0,%edi
|
||||||
|
cmpl 92(%esp),%ebp
|
||||||
|
jne .L003loop
|
||||||
|
movl 84(%esp),%edx
|
||||||
|
addl $64,%esp
|
||||||
|
movl %eax,(%edx)
|
||||||
|
movl %ebx,4(%edx)
|
||||||
|
movl %ecx,8(%edx)
|
||||||
|
movl %esi,12(%edx)
|
||||||
|
movl %edi,16(%edx)
|
||||||
|
.L002nodata:
|
||||||
|
popl %edi
|
||||||
|
popl %esi
|
||||||
|
popl %ebx
|
||||||
|
popl %ebp
|
||||||
|
ret
|
||||||
|
.size poly1305_blocks,.-.L_poly1305_blocks_begin
|
||||||
|
.globl poly1305_emit
|
||||||
|
.type poly1305_emit,@function
|
||||||
|
.align 16
|
||||||
|
poly1305_emit:
|
||||||
|
.L_poly1305_emit_begin:
|
||||||
|
pushl %ebp
|
||||||
|
pushl %ebx
|
||||||
|
pushl %esi
|
||||||
|
pushl %edi
|
||||||
|
movl 20(%esp),%ebp
|
||||||
|
.L004enter_emit:
|
||||||
|
movl 24(%esp),%edi
|
||||||
|
movl (%ebp),%eax
|
||||||
|
movl 4(%ebp),%ebx
|
||||||
|
movl 8(%ebp),%ecx
|
||||||
|
movl 12(%ebp),%edx
|
||||||
|
movl 16(%ebp),%esi
|
||||||
|
addl $5,%eax
|
||||||
|
adcl $0,%ebx
|
||||||
|
adcl $0,%ecx
|
||||||
|
adcl $0,%edx
|
||||||
|
adcl $0,%esi
|
||||||
|
shrl $2,%esi
|
||||||
|
negl %esi
|
||||||
|
andl %esi,%eax
|
||||||
|
andl %esi,%ebx
|
||||||
|
andl %esi,%ecx
|
||||||
|
andl %esi,%edx
|
||||||
|
movl %eax,(%edi)
|
||||||
|
movl %ebx,4(%edi)
|
||||||
|
movl %ecx,8(%edi)
|
||||||
|
movl %edx,12(%edi)
|
||||||
|
notl %esi
|
||||||
|
movl (%ebp),%eax
|
||||||
|
movl 4(%ebp),%ebx
|
||||||
|
movl 8(%ebp),%ecx
|
||||||
|
movl 12(%ebp),%edx
|
||||||
|
movl 28(%esp),%ebp
|
||||||
|
andl %esi,%eax
|
||||||
|
andl %esi,%ebx
|
||||||
|
andl %esi,%ecx
|
||||||
|
andl %esi,%edx
|
||||||
|
orl (%edi),%eax
|
||||||
|
orl 4(%edi),%ebx
|
||||||
|
orl 8(%edi),%ecx
|
||||||
|
orl 12(%edi),%edx
|
||||||
|
addl (%ebp),%eax
|
||||||
|
adcl 4(%ebp),%ebx
|
||||||
|
adcl 8(%ebp),%ecx
|
||||||
|
adcl 12(%ebp),%edx
|
||||||
|
movl %eax,(%edi)
|
||||||
|
movl %ebx,4(%edi)
|
||||||
|
movl %ecx,8(%edi)
|
||||||
|
movl %edx,12(%edi)
|
||||||
|
popl %edi
|
||||||
|
popl %esi
|
||||||
|
popl %ebx
|
||||||
|
popl %ebp
|
||||||
|
ret
|
||||||
|
.size poly1305_emit,.-.L_poly1305_emit_begin
|
||||||
|
.byte 80,111,108,121,49,51,48,53,32,102,111,114,32,120,56,54
|
||||||
|
.byte 44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32
|
||||||
|
.byte 60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111
|
||||||
|
.byte 114,103,62,0
|
||||||
|
.align 4
|
||||||
|
#endif
|
@ -1,7 +1,6 @@
|
|||||||
/* $FreeBSD$ */
|
/* $FreeBSD$ */
|
||||||
/* Do not modify. This file is auto-generated from rc4-586.pl. */
|
/* Do not modify. This file is auto-generated from rc4-586.pl. */
|
||||||
#ifdef PIC
|
#ifdef PIC
|
||||||
.file "rc4-586.S"
|
|
||||||
.text
|
.text
|
||||||
.globl RC4
|
.globl RC4
|
||||||
.type RC4,@function
|
.type RC4,@function
|
||||||
@ -269,11 +268,11 @@ RC4:
|
|||||||
popl %ebp
|
popl %ebp
|
||||||
ret
|
ret
|
||||||
.size RC4,.-.L_RC4_begin
|
.size RC4,.-.L_RC4_begin
|
||||||
.globl private_RC4_set_key
|
.globl RC4_set_key
|
||||||
.type private_RC4_set_key,@function
|
.type RC4_set_key,@function
|
||||||
.align 16
|
.align 16
|
||||||
private_RC4_set_key:
|
RC4_set_key:
|
||||||
.L_private_RC4_set_key_begin:
|
.L_RC4_set_key_begin:
|
||||||
pushl %ebp
|
pushl %ebp
|
||||||
pushl %ebx
|
pushl %ebx
|
||||||
pushl %esi
|
pushl %esi
|
||||||
@ -346,7 +345,7 @@ private_RC4_set_key:
|
|||||||
popl %ebx
|
popl %ebx
|
||||||
popl %ebp
|
popl %ebp
|
||||||
ret
|
ret
|
||||||
.size private_RC4_set_key,.-.L_private_RC4_set_key_begin
|
.size RC4_set_key,.-.L_RC4_set_key_begin
|
||||||
.globl RC4_options
|
.globl RC4_options
|
||||||
.type RC4_options,@function
|
.type RC4_options,@function
|
||||||
.align 16
|
.align 16
|
||||||
@ -383,7 +382,6 @@ RC4_options:
|
|||||||
.size RC4_options,.-.L_RC4_options_begin
|
.size RC4_options,.-.L_RC4_options_begin
|
||||||
.comm OPENSSL_ia32cap_P,16,4
|
.comm OPENSSL_ia32cap_P,16,4
|
||||||
#else
|
#else
|
||||||
.file "rc4-586.S"
|
|
||||||
.text
|
.text
|
||||||
.globl RC4
|
.globl RC4
|
||||||
.type RC4,@function
|
.type RC4,@function
|
||||||
@ -648,11 +646,11 @@ RC4:
|
|||||||
popl %ebp
|
popl %ebp
|
||||||
ret
|
ret
|
||||||
.size RC4,.-.L_RC4_begin
|
.size RC4,.-.L_RC4_begin
|
||||||
.globl private_RC4_set_key
|
.globl RC4_set_key
|
||||||
.type private_RC4_set_key,@function
|
.type RC4_set_key,@function
|
||||||
.align 16
|
.align 16
|
||||||
private_RC4_set_key:
|
RC4_set_key:
|
||||||
.L_private_RC4_set_key_begin:
|
.L_RC4_set_key_begin:
|
||||||
pushl %ebp
|
pushl %ebp
|
||||||
pushl %ebx
|
pushl %ebx
|
||||||
pushl %esi
|
pushl %esi
|
||||||
@ -722,7 +720,7 @@ private_RC4_set_key:
|
|||||||
popl %ebx
|
popl %ebx
|
||||||
popl %ebp
|
popl %ebp
|
||||||
ret
|
ret
|
||||||
.size private_RC4_set_key,.-.L_private_RC4_set_key_begin
|
.size RC4_set_key,.-.L_RC4_set_key_begin
|
||||||
.globl RC4_options
|
.globl RC4_options
|
||||||
.type RC4_options,@function
|
.type RC4_options,@function
|
||||||
.align 16
|
.align 16
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
/* $FreeBSD$ */
|
/* $FreeBSD$ */
|
||||||
/* Do not modify. This file is auto-generated from rc5-586.pl. */
|
/* Do not modify. This file is auto-generated from rc5-586.pl. */
|
||||||
#ifdef PIC
|
#ifdef PIC
|
||||||
.file "rc5-586.S"
|
|
||||||
.text
|
.text
|
||||||
.globl RC5_32_encrypt
|
.globl RC5_32_encrypt
|
||||||
.type RC5_32_encrypt,@function
|
.type RC5_32_encrypt,@function
|
||||||
@ -566,7 +565,6 @@ RC5_32_cbc_encrypt:
|
|||||||
.align 64
|
.align 64
|
||||||
.size RC5_32_cbc_encrypt,.-.L_RC5_32_cbc_encrypt_begin
|
.size RC5_32_cbc_encrypt,.-.L_RC5_32_cbc_encrypt_begin
|
||||||
#else
|
#else
|
||||||
.file "rc5-586.S"
|
|
||||||
.text
|
.text
|
||||||
.globl RC5_32_encrypt
|
.globl RC5_32_encrypt
|
||||||
.type RC5_32_encrypt,@function
|
.type RC5_32_encrypt,@function
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
/* $FreeBSD$ */
|
/* $FreeBSD$ */
|
||||||
/* Do not modify. This file is auto-generated from rmd-586.pl. */
|
/* Do not modify. This file is auto-generated from rmd-586.pl. */
|
||||||
#ifdef PIC
|
#ifdef PIC
|
||||||
.file "rmd-586.S"
|
|
||||||
.text
|
.text
|
||||||
.globl ripemd160_block_asm_data_order
|
.globl ripemd160_block_asm_data_order
|
||||||
.type ripemd160_block_asm_data_order,@function
|
.type ripemd160_block_asm_data_order,@function
|
||||||
@ -1967,7 +1966,6 @@ ripemd160_block_asm_data_order:
|
|||||||
ret
|
ret
|
||||||
.size ripemd160_block_asm_data_order,.-.L_ripemd160_block_asm_data_order_begin
|
.size ripemd160_block_asm_data_order,.-.L_ripemd160_block_asm_data_order_begin
|
||||||
#else
|
#else
|
||||||
.file "rmd-586.S"
|
|
||||||
.text
|
.text
|
||||||
.globl ripemd160_block_asm_data_order
|
.globl ripemd160_block_asm_data_order
|
||||||
.type ripemd160_block_asm_data_order,@function
|
.type ripemd160_block_asm_data_order,@function
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,6 @@
|
|||||||
/* $FreeBSD$ */
|
/* $FreeBSD$ */
|
||||||
/* Do not modify. This file is auto-generated from vpaes-x86.pl. */
|
/* Do not modify. This file is auto-generated from vpaes-x86.pl. */
|
||||||
#ifdef PIC
|
#ifdef PIC
|
||||||
.file "vpaes-x86.S"
|
|
||||||
.text
|
.text
|
||||||
.align 64
|
.align 64
|
||||||
.L_vpaes_consts:
|
.L_vpaes_consts:
|
||||||
@ -663,7 +662,6 @@ vpaes_cbc_encrypt:
|
|||||||
ret
|
ret
|
||||||
.size vpaes_cbc_encrypt,.-.L_vpaes_cbc_encrypt_begin
|
.size vpaes_cbc_encrypt,.-.L_vpaes_cbc_encrypt_begin
|
||||||
#else
|
#else
|
||||||
.file "vpaes-x86.S"
|
|
||||||
.text
|
.text
|
||||||
.align 64
|
.align 64
|
||||||
.L_vpaes_consts:
|
.L_vpaes_consts:
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
/* $FreeBSD$ */
|
/* $FreeBSD$ */
|
||||||
/* Do not modify. This file is auto-generated from wp-mmx.pl. */
|
/* Do not modify. This file is auto-generated from wp-mmx.pl. */
|
||||||
#ifdef PIC
|
#ifdef PIC
|
||||||
.file "wp-mmx.S"
|
|
||||||
.text
|
.text
|
||||||
.globl whirlpool_block_mmx
|
.globl whirlpool_block_mmx
|
||||||
.type whirlpool_block_mmx,@function
|
.type whirlpool_block_mmx,@function
|
||||||
@ -1109,7 +1108,6 @@ whirlpool_block_mmx:
|
|||||||
.byte 202,45,191,7,173,90,131,51
|
.byte 202,45,191,7,173,90,131,51
|
||||||
.size whirlpool_block_mmx,.-.L_whirlpool_block_mmx_begin
|
.size whirlpool_block_mmx,.-.L_whirlpool_block_mmx_begin
|
||||||
#else
|
#else
|
||||||
.file "wp-mmx.S"
|
|
||||||
.text
|
.text
|
||||||
.globl whirlpool_block_mmx
|
.globl whirlpool_block_mmx
|
||||||
.type whirlpool_block_mmx,@function
|
.type whirlpool_block_mmx,@function
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
/* $FreeBSD$ */
|
/* $FreeBSD$ */
|
||||||
/* Do not modify. This file is auto-generated from x86-gf2m.pl. */
|
/* Do not modify. This file is auto-generated from x86-gf2m.pl. */
|
||||||
#ifdef PIC
|
#ifdef PIC
|
||||||
.file "x86-gf2m.S"
|
|
||||||
.text
|
.text
|
||||||
.type _mul_1x1_mmx,@function
|
.type _mul_1x1_mmx,@function
|
||||||
.align 16
|
.align 16
|
||||||
@ -251,18 +250,6 @@ bn_GF2m_mul_2x2:
|
|||||||
movl 4(%edx),%edx
|
movl 4(%edx),%edx
|
||||||
testl $8388608,%eax
|
testl $8388608,%eax
|
||||||
jz .L001ialu
|
jz .L001ialu
|
||||||
testl $16777216,%eax
|
|
||||||
jz .L002mmx
|
|
||||||
testl $2,%edx
|
|
||||||
jz .L002mmx
|
|
||||||
movups 8(%esp),%xmm0
|
|
||||||
shufps $177,%xmm0,%xmm0
|
|
||||||
.byte 102,15,58,68,192,1
|
|
||||||
movl 4(%esp),%eax
|
|
||||||
movups %xmm0,(%eax)
|
|
||||||
ret
|
|
||||||
.align 16
|
|
||||||
.L002mmx:
|
|
||||||
pushl %ebp
|
pushl %ebp
|
||||||
pushl %ebx
|
pushl %ebx
|
||||||
pushl %esi
|
pushl %esi
|
||||||
@ -348,7 +335,6 @@ bn_GF2m_mul_2x2:
|
|||||||
.byte 62,0
|
.byte 62,0
|
||||||
.comm OPENSSL_ia32cap_P,16,4
|
.comm OPENSSL_ia32cap_P,16,4
|
||||||
#else
|
#else
|
||||||
.file "x86-gf2m.S"
|
|
||||||
.text
|
.text
|
||||||
.type _mul_1x1_mmx,@function
|
.type _mul_1x1_mmx,@function
|
||||||
.align 16
|
.align 16
|
||||||
@ -595,18 +581,6 @@ bn_GF2m_mul_2x2:
|
|||||||
movl 4(%edx),%edx
|
movl 4(%edx),%edx
|
||||||
testl $8388608,%eax
|
testl $8388608,%eax
|
||||||
jz .L000ialu
|
jz .L000ialu
|
||||||
testl $16777216,%eax
|
|
||||||
jz .L001mmx
|
|
||||||
testl $2,%edx
|
|
||||||
jz .L001mmx
|
|
||||||
movups 8(%esp),%xmm0
|
|
||||||
shufps $177,%xmm0,%xmm0
|
|
||||||
.byte 102,15,58,68,192,1
|
|
||||||
movl 4(%esp),%eax
|
|
||||||
movups %xmm0,(%eax)
|
|
||||||
ret
|
|
||||||
.align 16
|
|
||||||
.L001mmx:
|
|
||||||
pushl %ebp
|
pushl %ebp
|
||||||
pushl %ebx
|
pushl %ebx
|
||||||
pushl %esi
|
pushl %esi
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,6 @@
|
|||||||
/* $FreeBSD$ */
|
/* $FreeBSD$ */
|
||||||
/* Do not modify. This file is auto-generated from x86cpuid.pl. */
|
/* Do not modify. This file is auto-generated from x86cpuid.pl. */
|
||||||
#ifdef PIC
|
#ifdef PIC
|
||||||
.file "x86cpuid.S"
|
|
||||||
.text
|
.text
|
||||||
.globl OPENSSL_ia32_cpuid
|
.globl OPENSSL_ia32_cpuid
|
||||||
.type OPENSSL_ia32_cpuid,@function
|
.type OPENSSL_ia32_cpuid,@function
|
||||||
@ -237,18 +236,6 @@ OPENSSL_wipe_cpu:
|
|||||||
movl (%ecx),%ecx
|
movl (%ecx),%ecx
|
||||||
btl $1,(%ecx)
|
btl $1,(%ecx)
|
||||||
jnc .L016no_x87
|
jnc .L016no_x87
|
||||||
andl $83886080,%ecx
|
|
||||||
cmpl $83886080,%ecx
|
|
||||||
jne .L017no_sse2
|
|
||||||
pxor %xmm0,%xmm0
|
|
||||||
pxor %xmm1,%xmm1
|
|
||||||
pxor %xmm2,%xmm2
|
|
||||||
pxor %xmm3,%xmm3
|
|
||||||
pxor %xmm4,%xmm4
|
|
||||||
pxor %xmm5,%xmm5
|
|
||||||
pxor %xmm6,%xmm6
|
|
||||||
pxor %xmm7,%xmm7
|
|
||||||
.L017no_sse2:
|
|
||||||
.long 4007259865,4007259865,4007259865,4007259865,2430851995
|
.long 4007259865,4007259865,4007259865,4007259865,2430851995
|
||||||
.L016no_x87:
|
.L016no_x87:
|
||||||
leal 4(%esp),%eax
|
leal 4(%esp),%eax
|
||||||
@ -264,42 +251,15 @@ OPENSSL_atomic_add:
|
|||||||
pushl %ebx
|
pushl %ebx
|
||||||
nop
|
nop
|
||||||
movl (%edx),%eax
|
movl (%edx),%eax
|
||||||
.L018spin:
|
.L017spin:
|
||||||
leal (%eax,%ecx,1),%ebx
|
leal (%eax,%ecx,1),%ebx
|
||||||
nop
|
nop
|
||||||
.long 447811568
|
.long 447811568
|
||||||
jne .L018spin
|
jne .L017spin
|
||||||
movl %ebx,%eax
|
movl %ebx,%eax
|
||||||
popl %ebx
|
popl %ebx
|
||||||
ret
|
ret
|
||||||
.size OPENSSL_atomic_add,.-.L_OPENSSL_atomic_add_begin
|
.size OPENSSL_atomic_add,.-.L_OPENSSL_atomic_add_begin
|
||||||
.globl OPENSSL_indirect_call
|
|
||||||
.type OPENSSL_indirect_call,@function
|
|
||||||
.align 16
|
|
||||||
OPENSSL_indirect_call:
|
|
||||||
.L_OPENSSL_indirect_call_begin:
|
|
||||||
pushl %ebp
|
|
||||||
movl %esp,%ebp
|
|
||||||
subl $28,%esp
|
|
||||||
movl 12(%ebp),%ecx
|
|
||||||
movl %ecx,(%esp)
|
|
||||||
movl 16(%ebp),%edx
|
|
||||||
movl %edx,4(%esp)
|
|
||||||
movl 20(%ebp),%eax
|
|
||||||
movl %eax,8(%esp)
|
|
||||||
movl 24(%ebp),%eax
|
|
||||||
movl %eax,12(%esp)
|
|
||||||
movl 28(%ebp),%eax
|
|
||||||
movl %eax,16(%esp)
|
|
||||||
movl 32(%ebp),%eax
|
|
||||||
movl %eax,20(%esp)
|
|
||||||
movl 36(%ebp),%eax
|
|
||||||
movl %eax,24(%esp)
|
|
||||||
call *8(%ebp)
|
|
||||||
movl %ebp,%esp
|
|
||||||
popl %ebp
|
|
||||||
ret
|
|
||||||
.size OPENSSL_indirect_call,.-.L_OPENSSL_indirect_call_begin
|
|
||||||
.globl OPENSSL_cleanse
|
.globl OPENSSL_cleanse
|
||||||
.type OPENSSL_cleanse,@function
|
.type OPENSSL_cleanse,@function
|
||||||
.align 16
|
.align 16
|
||||||
@ -309,71 +269,187 @@ OPENSSL_cleanse:
|
|||||||
movl 8(%esp),%ecx
|
movl 8(%esp),%ecx
|
||||||
xorl %eax,%eax
|
xorl %eax,%eax
|
||||||
cmpl $7,%ecx
|
cmpl $7,%ecx
|
||||||
jae .L019lot
|
jae .L018lot
|
||||||
cmpl $0,%ecx
|
cmpl $0,%ecx
|
||||||
je .L020ret
|
je .L019ret
|
||||||
.L021little:
|
.L020little:
|
||||||
movb %al,(%edx)
|
movb %al,(%edx)
|
||||||
subl $1,%ecx
|
subl $1,%ecx
|
||||||
leal 1(%edx),%edx
|
leal 1(%edx),%edx
|
||||||
jnz .L021little
|
jnz .L020little
|
||||||
.L020ret:
|
.L019ret:
|
||||||
ret
|
ret
|
||||||
.align 16
|
.align 16
|
||||||
.L019lot:
|
.L018lot:
|
||||||
testl $3,%edx
|
testl $3,%edx
|
||||||
jz .L022aligned
|
jz .L021aligned
|
||||||
movb %al,(%edx)
|
movb %al,(%edx)
|
||||||
leal -1(%ecx),%ecx
|
leal -1(%ecx),%ecx
|
||||||
leal 1(%edx),%edx
|
leal 1(%edx),%edx
|
||||||
jmp .L019lot
|
jmp .L018lot
|
||||||
.L022aligned:
|
.L021aligned:
|
||||||
movl %eax,(%edx)
|
movl %eax,(%edx)
|
||||||
leal -4(%ecx),%ecx
|
leal -4(%ecx),%ecx
|
||||||
testl $-4,%ecx
|
testl $-4,%ecx
|
||||||
leal 4(%edx),%edx
|
leal 4(%edx),%edx
|
||||||
jnz .L022aligned
|
jnz .L021aligned
|
||||||
cmpl $0,%ecx
|
cmpl $0,%ecx
|
||||||
jne .L021little
|
jne .L020little
|
||||||
ret
|
ret
|
||||||
.size OPENSSL_cleanse,.-.L_OPENSSL_cleanse_begin
|
.size OPENSSL_cleanse,.-.L_OPENSSL_cleanse_begin
|
||||||
.globl OPENSSL_ia32_rdrand
|
.globl CRYPTO_memcmp
|
||||||
.type OPENSSL_ia32_rdrand,@function
|
.type CRYPTO_memcmp,@function
|
||||||
.align 16
|
.align 16
|
||||||
OPENSSL_ia32_rdrand:
|
CRYPTO_memcmp:
|
||||||
.L_OPENSSL_ia32_rdrand_begin:
|
.L_CRYPTO_memcmp_begin:
|
||||||
movl $8,%ecx
|
pushl %esi
|
||||||
|
pushl %edi
|
||||||
|
movl 12(%esp),%esi
|
||||||
|
movl 16(%esp),%edi
|
||||||
|
movl 20(%esp),%ecx
|
||||||
|
xorl %eax,%eax
|
||||||
|
xorl %edx,%edx
|
||||||
|
cmpl $0,%ecx
|
||||||
|
je .L022no_data
|
||||||
.L023loop:
|
.L023loop:
|
||||||
.byte 15,199,240
|
movb (%esi),%dl
|
||||||
jc .L024break
|
leal 1(%esi),%esi
|
||||||
loop .L023loop
|
xorb (%edi),%dl
|
||||||
.L024break:
|
leal 1(%edi),%edi
|
||||||
cmpl $0,%eax
|
orb %dl,%al
|
||||||
cmovel %ecx,%eax
|
decl %ecx
|
||||||
|
jnz .L023loop
|
||||||
|
negl %eax
|
||||||
|
shrl $31,%eax
|
||||||
|
.L022no_data:
|
||||||
|
popl %edi
|
||||||
|
popl %esi
|
||||||
ret
|
ret
|
||||||
.size OPENSSL_ia32_rdrand,.-.L_OPENSSL_ia32_rdrand_begin
|
.size CRYPTO_memcmp,.-.L_CRYPTO_memcmp_begin
|
||||||
.globl OPENSSL_ia32_rdseed
|
.globl OPENSSL_instrument_bus
|
||||||
.type OPENSSL_ia32_rdseed,@function
|
.type OPENSSL_instrument_bus,@function
|
||||||
.align 16
|
.align 16
|
||||||
OPENSSL_ia32_rdseed:
|
OPENSSL_instrument_bus:
|
||||||
.L_OPENSSL_ia32_rdseed_begin:
|
.L_OPENSSL_instrument_bus_begin:
|
||||||
|
pushl %ebp
|
||||||
|
pushl %ebx
|
||||||
|
pushl %esi
|
||||||
|
pushl %edi
|
||||||
|
movl $0,%eax
|
||||||
|
popl %edi
|
||||||
|
popl %esi
|
||||||
|
popl %ebx
|
||||||
|
popl %ebp
|
||||||
|
ret
|
||||||
|
.size OPENSSL_instrument_bus,.-.L_OPENSSL_instrument_bus_begin
|
||||||
|
.globl OPENSSL_instrument_bus2
|
||||||
|
.type OPENSSL_instrument_bus2,@function
|
||||||
|
.align 16
|
||||||
|
OPENSSL_instrument_bus2:
|
||||||
|
.L_OPENSSL_instrument_bus2_begin:
|
||||||
|
pushl %ebp
|
||||||
|
pushl %ebx
|
||||||
|
pushl %esi
|
||||||
|
pushl %edi
|
||||||
|
movl $0,%eax
|
||||||
|
popl %edi
|
||||||
|
popl %esi
|
||||||
|
popl %ebx
|
||||||
|
popl %ebp
|
||||||
|
ret
|
||||||
|
.size OPENSSL_instrument_bus2,.-.L_OPENSSL_instrument_bus2_begin
|
||||||
|
.globl OPENSSL_ia32_rdrand_bytes
|
||||||
|
.type OPENSSL_ia32_rdrand_bytes,@function
|
||||||
|
.align 16
|
||||||
|
OPENSSL_ia32_rdrand_bytes:
|
||||||
|
.L_OPENSSL_ia32_rdrand_bytes_begin:
|
||||||
|
pushl %edi
|
||||||
|
pushl %ebx
|
||||||
|
xorl %eax,%eax
|
||||||
|
movl 12(%esp),%edi
|
||||||
|
movl 16(%esp),%ebx
|
||||||
|
cmpl $0,%ebx
|
||||||
|
je .L024done
|
||||||
movl $8,%ecx
|
movl $8,%ecx
|
||||||
.L025loop:
|
.L025loop:
|
||||||
.byte 15,199,248
|
.byte 15,199,242
|
||||||
jc .L026break
|
jc .L026break
|
||||||
loop .L025loop
|
loop .L025loop
|
||||||
|
jmp .L024done
|
||||||
|
.align 16
|
||||||
.L026break:
|
.L026break:
|
||||||
cmpl $0,%eax
|
cmpl $4,%ebx
|
||||||
cmovel %ecx,%eax
|
jb .L027tail
|
||||||
|
movl %edx,(%edi)
|
||||||
|
leal 4(%edi),%edi
|
||||||
|
addl $4,%eax
|
||||||
|
subl $4,%ebx
|
||||||
|
jz .L024done
|
||||||
|
movl $8,%ecx
|
||||||
|
jmp .L025loop
|
||||||
|
.align 16
|
||||||
|
.L027tail:
|
||||||
|
movb %dl,(%edi)
|
||||||
|
leal 1(%edi),%edi
|
||||||
|
incl %eax
|
||||||
|
shrl $8,%edx
|
||||||
|
decl %ebx
|
||||||
|
jnz .L027tail
|
||||||
|
.L024done:
|
||||||
|
xorl %edx,%edx
|
||||||
|
popl %ebx
|
||||||
|
popl %edi
|
||||||
ret
|
ret
|
||||||
.size OPENSSL_ia32_rdseed,.-.L_OPENSSL_ia32_rdseed_begin
|
.size OPENSSL_ia32_rdrand_bytes,.-.L_OPENSSL_ia32_rdrand_bytes_begin
|
||||||
|
.globl OPENSSL_ia32_rdseed_bytes
|
||||||
|
.type OPENSSL_ia32_rdseed_bytes,@function
|
||||||
|
.align 16
|
||||||
|
OPENSSL_ia32_rdseed_bytes:
|
||||||
|
.L_OPENSSL_ia32_rdseed_bytes_begin:
|
||||||
|
pushl %edi
|
||||||
|
pushl %ebx
|
||||||
|
xorl %eax,%eax
|
||||||
|
movl 12(%esp),%edi
|
||||||
|
movl 16(%esp),%ebx
|
||||||
|
cmpl $0,%ebx
|
||||||
|
je .L028done
|
||||||
|
movl $8,%ecx
|
||||||
|
.L029loop:
|
||||||
|
.byte 15,199,250
|
||||||
|
jc .L030break
|
||||||
|
loop .L029loop
|
||||||
|
jmp .L028done
|
||||||
|
.align 16
|
||||||
|
.L030break:
|
||||||
|
cmpl $4,%ebx
|
||||||
|
jb .L031tail
|
||||||
|
movl %edx,(%edi)
|
||||||
|
leal 4(%edi),%edi
|
||||||
|
addl $4,%eax
|
||||||
|
subl $4,%ebx
|
||||||
|
jz .L028done
|
||||||
|
movl $8,%ecx
|
||||||
|
jmp .L029loop
|
||||||
|
.align 16
|
||||||
|
.L031tail:
|
||||||
|
movb %dl,(%edi)
|
||||||
|
leal 1(%edi),%edi
|
||||||
|
incl %eax
|
||||||
|
shrl $8,%edx
|
||||||
|
decl %ebx
|
||||||
|
jnz .L031tail
|
||||||
|
.L028done:
|
||||||
|
xorl %edx,%edx
|
||||||
|
popl %ebx
|
||||||
|
popl %edi
|
||||||
|
ret
|
||||||
|
.size OPENSSL_ia32_rdseed_bytes,.-.L_OPENSSL_ia32_rdseed_bytes_begin
|
||||||
.hidden OPENSSL_cpuid_setup
|
.hidden OPENSSL_cpuid_setup
|
||||||
.hidden OPENSSL_ia32cap_P
|
.hidden OPENSSL_ia32cap_P
|
||||||
.comm OPENSSL_ia32cap_P,16,4
|
.comm OPENSSL_ia32cap_P,16,4
|
||||||
.section .init
|
.section .init
|
||||||
call OPENSSL_cpuid_setup
|
call OPENSSL_cpuid_setup
|
||||||
#else
|
#else
|
||||||
.file "x86cpuid.S"
|
|
||||||
.text
|
.text
|
||||||
.globl OPENSSL_ia32_cpuid
|
.globl OPENSSL_ia32_cpuid
|
||||||
.type OPENSSL_ia32_cpuid,@function
|
.type OPENSSL_ia32_cpuid,@function
|
||||||
@ -600,18 +676,6 @@ OPENSSL_wipe_cpu:
|
|||||||
movl (%ecx),%ecx
|
movl (%ecx),%ecx
|
||||||
btl $1,(%ecx)
|
btl $1,(%ecx)
|
||||||
jnc .L013no_x87
|
jnc .L013no_x87
|
||||||
andl $83886080,%ecx
|
|
||||||
cmpl $83886080,%ecx
|
|
||||||
jne .L014no_sse2
|
|
||||||
pxor %xmm0,%xmm0
|
|
||||||
pxor %xmm1,%xmm1
|
|
||||||
pxor %xmm2,%xmm2
|
|
||||||
pxor %xmm3,%xmm3
|
|
||||||
pxor %xmm4,%xmm4
|
|
||||||
pxor %xmm5,%xmm5
|
|
||||||
pxor %xmm6,%xmm6
|
|
||||||
pxor %xmm7,%xmm7
|
|
||||||
.L014no_sse2:
|
|
||||||
.long 4007259865,4007259865,4007259865,4007259865,2430851995
|
.long 4007259865,4007259865,4007259865,4007259865,2430851995
|
||||||
.L013no_x87:
|
.L013no_x87:
|
||||||
leal 4(%esp),%eax
|
leal 4(%esp),%eax
|
||||||
@ -627,42 +691,15 @@ OPENSSL_atomic_add:
|
|||||||
pushl %ebx
|
pushl %ebx
|
||||||
nop
|
nop
|
||||||
movl (%edx),%eax
|
movl (%edx),%eax
|
||||||
.L015spin:
|
.L014spin:
|
||||||
leal (%eax,%ecx,1),%ebx
|
leal (%eax,%ecx,1),%ebx
|
||||||
nop
|
nop
|
||||||
.long 447811568
|
.long 447811568
|
||||||
jne .L015spin
|
jne .L014spin
|
||||||
movl %ebx,%eax
|
movl %ebx,%eax
|
||||||
popl %ebx
|
popl %ebx
|
||||||
ret
|
ret
|
||||||
.size OPENSSL_atomic_add,.-.L_OPENSSL_atomic_add_begin
|
.size OPENSSL_atomic_add,.-.L_OPENSSL_atomic_add_begin
|
||||||
.globl OPENSSL_indirect_call
|
|
||||||
.type OPENSSL_indirect_call,@function
|
|
||||||
.align 16
|
|
||||||
OPENSSL_indirect_call:
|
|
||||||
.L_OPENSSL_indirect_call_begin:
|
|
||||||
pushl %ebp
|
|
||||||
movl %esp,%ebp
|
|
||||||
subl $28,%esp
|
|
||||||
movl 12(%ebp),%ecx
|
|
||||||
movl %ecx,(%esp)
|
|
||||||
movl 16(%ebp),%edx
|
|
||||||
movl %edx,4(%esp)
|
|
||||||
movl 20(%ebp),%eax
|
|
||||||
movl %eax,8(%esp)
|
|
||||||
movl 24(%ebp),%eax
|
|
||||||
movl %eax,12(%esp)
|
|
||||||
movl 28(%ebp),%eax
|
|
||||||
movl %eax,16(%esp)
|
|
||||||
movl 32(%ebp),%eax
|
|
||||||
movl %eax,20(%esp)
|
|
||||||
movl 36(%ebp),%eax
|
|
||||||
movl %eax,24(%esp)
|
|
||||||
call *8(%ebp)
|
|
||||||
movl %ebp,%esp
|
|
||||||
popl %ebp
|
|
||||||
ret
|
|
||||||
.size OPENSSL_indirect_call,.-.L_OPENSSL_indirect_call_begin
|
|
||||||
.globl OPENSSL_cleanse
|
.globl OPENSSL_cleanse
|
||||||
.type OPENSSL_cleanse,@function
|
.type OPENSSL_cleanse,@function
|
||||||
.align 16
|
.align 16
|
||||||
@ -672,64 +709,181 @@ OPENSSL_cleanse:
|
|||||||
movl 8(%esp),%ecx
|
movl 8(%esp),%ecx
|
||||||
xorl %eax,%eax
|
xorl %eax,%eax
|
||||||
cmpl $7,%ecx
|
cmpl $7,%ecx
|
||||||
jae .L016lot
|
jae .L015lot
|
||||||
cmpl $0,%ecx
|
cmpl $0,%ecx
|
||||||
je .L017ret
|
je .L016ret
|
||||||
.L018little:
|
.L017little:
|
||||||
movb %al,(%edx)
|
movb %al,(%edx)
|
||||||
subl $1,%ecx
|
subl $1,%ecx
|
||||||
leal 1(%edx),%edx
|
leal 1(%edx),%edx
|
||||||
jnz .L018little
|
jnz .L017little
|
||||||
.L017ret:
|
.L016ret:
|
||||||
ret
|
ret
|
||||||
.align 16
|
.align 16
|
||||||
.L016lot:
|
.L015lot:
|
||||||
testl $3,%edx
|
testl $3,%edx
|
||||||
jz .L019aligned
|
jz .L018aligned
|
||||||
movb %al,(%edx)
|
movb %al,(%edx)
|
||||||
leal -1(%ecx),%ecx
|
leal -1(%ecx),%ecx
|
||||||
leal 1(%edx),%edx
|
leal 1(%edx),%edx
|
||||||
jmp .L016lot
|
jmp .L015lot
|
||||||
.L019aligned:
|
.L018aligned:
|
||||||
movl %eax,(%edx)
|
movl %eax,(%edx)
|
||||||
leal -4(%ecx),%ecx
|
leal -4(%ecx),%ecx
|
||||||
testl $-4,%ecx
|
testl $-4,%ecx
|
||||||
leal 4(%edx),%edx
|
leal 4(%edx),%edx
|
||||||
jnz .L019aligned
|
jnz .L018aligned
|
||||||
cmpl $0,%ecx
|
cmpl $0,%ecx
|
||||||
jne .L018little
|
jne .L017little
|
||||||
ret
|
ret
|
||||||
.size OPENSSL_cleanse,.-.L_OPENSSL_cleanse_begin
|
.size OPENSSL_cleanse,.-.L_OPENSSL_cleanse_begin
|
||||||
.globl OPENSSL_ia32_rdrand
|
.globl CRYPTO_memcmp
|
||||||
.type OPENSSL_ia32_rdrand,@function
|
.type CRYPTO_memcmp,@function
|
||||||
.align 16
|
.align 16
|
||||||
OPENSSL_ia32_rdrand:
|
CRYPTO_memcmp:
|
||||||
.L_OPENSSL_ia32_rdrand_begin:
|
.L_CRYPTO_memcmp_begin:
|
||||||
movl $8,%ecx
|
pushl %esi
|
||||||
|
pushl %edi
|
||||||
|
movl 12(%esp),%esi
|
||||||
|
movl 16(%esp),%edi
|
||||||
|
movl 20(%esp),%ecx
|
||||||
|
xorl %eax,%eax
|
||||||
|
xorl %edx,%edx
|
||||||
|
cmpl $0,%ecx
|
||||||
|
je .L019no_data
|
||||||
.L020loop:
|
.L020loop:
|
||||||
.byte 15,199,240
|
movb (%esi),%dl
|
||||||
jc .L021break
|
leal 1(%esi),%esi
|
||||||
loop .L020loop
|
xorb (%edi),%dl
|
||||||
.L021break:
|
leal 1(%edi),%edi
|
||||||
cmpl $0,%eax
|
orb %dl,%al
|
||||||
cmovel %ecx,%eax
|
decl %ecx
|
||||||
|
jnz .L020loop
|
||||||
|
negl %eax
|
||||||
|
shrl $31,%eax
|
||||||
|
.L019no_data:
|
||||||
|
popl %edi
|
||||||
|
popl %esi
|
||||||
ret
|
ret
|
||||||
.size OPENSSL_ia32_rdrand,.-.L_OPENSSL_ia32_rdrand_begin
|
.size CRYPTO_memcmp,.-.L_CRYPTO_memcmp_begin
|
||||||
.globl OPENSSL_ia32_rdseed
|
.globl OPENSSL_instrument_bus
|
||||||
.type OPENSSL_ia32_rdseed,@function
|
.type OPENSSL_instrument_bus,@function
|
||||||
.align 16
|
.align 16
|
||||||
OPENSSL_ia32_rdseed:
|
OPENSSL_instrument_bus:
|
||||||
.L_OPENSSL_ia32_rdseed_begin:
|
.L_OPENSSL_instrument_bus_begin:
|
||||||
|
pushl %ebp
|
||||||
|
pushl %ebx
|
||||||
|
pushl %esi
|
||||||
|
pushl %edi
|
||||||
|
movl $0,%eax
|
||||||
|
popl %edi
|
||||||
|
popl %esi
|
||||||
|
popl %ebx
|
||||||
|
popl %ebp
|
||||||
|
ret
|
||||||
|
.size OPENSSL_instrument_bus,.-.L_OPENSSL_instrument_bus_begin
|
||||||
|
.globl OPENSSL_instrument_bus2
|
||||||
|
.type OPENSSL_instrument_bus2,@function
|
||||||
|
.align 16
|
||||||
|
OPENSSL_instrument_bus2:
|
||||||
|
.L_OPENSSL_instrument_bus2_begin:
|
||||||
|
pushl %ebp
|
||||||
|
pushl %ebx
|
||||||
|
pushl %esi
|
||||||
|
pushl %edi
|
||||||
|
movl $0,%eax
|
||||||
|
popl %edi
|
||||||
|
popl %esi
|
||||||
|
popl %ebx
|
||||||
|
popl %ebp
|
||||||
|
ret
|
||||||
|
.size OPENSSL_instrument_bus2,.-.L_OPENSSL_instrument_bus2_begin
|
||||||
|
.globl OPENSSL_ia32_rdrand_bytes
|
||||||
|
.type OPENSSL_ia32_rdrand_bytes,@function
|
||||||
|
.align 16
|
||||||
|
OPENSSL_ia32_rdrand_bytes:
|
||||||
|
.L_OPENSSL_ia32_rdrand_bytes_begin:
|
||||||
|
pushl %edi
|
||||||
|
pushl %ebx
|
||||||
|
xorl %eax,%eax
|
||||||
|
movl 12(%esp),%edi
|
||||||
|
movl 16(%esp),%ebx
|
||||||
|
cmpl $0,%ebx
|
||||||
|
je .L021done
|
||||||
movl $8,%ecx
|
movl $8,%ecx
|
||||||
.L022loop:
|
.L022loop:
|
||||||
.byte 15,199,248
|
.byte 15,199,242
|
||||||
jc .L023break
|
jc .L023break
|
||||||
loop .L022loop
|
loop .L022loop
|
||||||
|
jmp .L021done
|
||||||
|
.align 16
|
||||||
.L023break:
|
.L023break:
|
||||||
cmpl $0,%eax
|
cmpl $4,%ebx
|
||||||
cmovel %ecx,%eax
|
jb .L024tail
|
||||||
|
movl %edx,(%edi)
|
||||||
|
leal 4(%edi),%edi
|
||||||
|
addl $4,%eax
|
||||||
|
subl $4,%ebx
|
||||||
|
jz .L021done
|
||||||
|
movl $8,%ecx
|
||||||
|
jmp .L022loop
|
||||||
|
.align 16
|
||||||
|
.L024tail:
|
||||||
|
movb %dl,(%edi)
|
||||||
|
leal 1(%edi),%edi
|
||||||
|
incl %eax
|
||||||
|
shrl $8,%edx
|
||||||
|
decl %ebx
|
||||||
|
jnz .L024tail
|
||||||
|
.L021done:
|
||||||
|
xorl %edx,%edx
|
||||||
|
popl %ebx
|
||||||
|
popl %edi
|
||||||
ret
|
ret
|
||||||
.size OPENSSL_ia32_rdseed,.-.L_OPENSSL_ia32_rdseed_begin
|
.size OPENSSL_ia32_rdrand_bytes,.-.L_OPENSSL_ia32_rdrand_bytes_begin
|
||||||
|
.globl OPENSSL_ia32_rdseed_bytes
|
||||||
|
.type OPENSSL_ia32_rdseed_bytes,@function
|
||||||
|
.align 16
|
||||||
|
OPENSSL_ia32_rdseed_bytes:
|
||||||
|
.L_OPENSSL_ia32_rdseed_bytes_begin:
|
||||||
|
pushl %edi
|
||||||
|
pushl %ebx
|
||||||
|
xorl %eax,%eax
|
||||||
|
movl 12(%esp),%edi
|
||||||
|
movl 16(%esp),%ebx
|
||||||
|
cmpl $0,%ebx
|
||||||
|
je .L025done
|
||||||
|
movl $8,%ecx
|
||||||
|
.L026loop:
|
||||||
|
.byte 15,199,250
|
||||||
|
jc .L027break
|
||||||
|
loop .L026loop
|
||||||
|
jmp .L025done
|
||||||
|
.align 16
|
||||||
|
.L027break:
|
||||||
|
cmpl $4,%ebx
|
||||||
|
jb .L028tail
|
||||||
|
movl %edx,(%edi)
|
||||||
|
leal 4(%edi),%edi
|
||||||
|
addl $4,%eax
|
||||||
|
subl $4,%ebx
|
||||||
|
jz .L025done
|
||||||
|
movl $8,%ecx
|
||||||
|
jmp .L026loop
|
||||||
|
.align 16
|
||||||
|
.L028tail:
|
||||||
|
movb %dl,(%edi)
|
||||||
|
leal 1(%edi),%edi
|
||||||
|
incl %eax
|
||||||
|
shrl $8,%edx
|
||||||
|
decl %ebx
|
||||||
|
jnz .L028tail
|
||||||
|
.L025done:
|
||||||
|
xorl %edx,%edx
|
||||||
|
popl %ebx
|
||||||
|
popl %edi
|
||||||
|
ret
|
||||||
|
.size OPENSSL_ia32_rdseed_bytes,.-.L_OPENSSL_ia32_rdseed_bytes_begin
|
||||||
.hidden OPENSSL_cpuid_setup
|
.hidden OPENSSL_cpuid_setup
|
||||||
.hidden OPENSSL_ia32cap_P
|
.hidden OPENSSL_ia32cap_P
|
||||||
.comm OPENSSL_ia32cap_P,16,4
|
.comm OPENSSL_ia32cap_P,16,4
|
||||||
|
Loading…
Reference in New Issue
Block a user