Index: projects/openssl-1.0.2/secure/lib/libcrypto/i386/aesni-x86.s =================================================================== --- projects/openssl-1.0.2/secure/lib/libcrypto/i386/aesni-x86.s (revision 290075) +++ projects/openssl-1.0.2/secure/lib/libcrypto/i386/aesni-x86.s (revision 290076) @@ -1,2449 +1,2449 @@ # $FreeBSD$ -.file "/root/secure/lib/libcrypto/../../../crypto/openssl/crypto/aes/asm/aesni-x86.s" +.file "aesni-x86.s" .text .globl aesni_encrypt .type aesni_encrypt,@function .align 16 aesni_encrypt: .L_aesni_encrypt_begin: movl 4(%esp),%eax movl 12(%esp),%edx movups (%eax),%xmm2 movl 240(%edx),%ecx movl 8(%esp),%eax movups (%edx),%xmm0 movups 16(%edx),%xmm1 leal 32(%edx),%edx xorps %xmm0,%xmm2 .L000enc1_loop_1: .byte 102,15,56,220,209 decl %ecx movups (%edx),%xmm1 leal 16(%edx),%edx jnz .L000enc1_loop_1 .byte 102,15,56,221,209 pxor %xmm0,%xmm0 pxor %xmm1,%xmm1 movups %xmm2,(%eax) pxor %xmm2,%xmm2 ret .size aesni_encrypt,.-.L_aesni_encrypt_begin .globl aesni_decrypt .type aesni_decrypt,@function .align 16 aesni_decrypt: .L_aesni_decrypt_begin: movl 4(%esp),%eax movl 12(%esp),%edx movups (%eax),%xmm2 movl 240(%edx),%ecx movl 8(%esp),%eax movups (%edx),%xmm0 movups 16(%edx),%xmm1 leal 32(%edx),%edx xorps %xmm0,%xmm2 .L001dec1_loop_2: .byte 102,15,56,222,209 decl %ecx movups (%edx),%xmm1 leal 16(%edx),%edx jnz .L001dec1_loop_2 .byte 102,15,56,223,209 pxor %xmm0,%xmm0 pxor %xmm1,%xmm1 movups %xmm2,(%eax) pxor %xmm2,%xmm2 ret .size aesni_decrypt,.-.L_aesni_decrypt_begin .type _aesni_encrypt2,@function .align 16 _aesni_encrypt2: movups (%edx),%xmm0 shll $4,%ecx movups 16(%edx),%xmm1 xorps %xmm0,%xmm2 pxor %xmm0,%xmm3 movups 32(%edx),%xmm0 leal 32(%edx,%ecx,1),%edx negl %ecx addl $16,%ecx .L002enc2_loop: .byte 102,15,56,220,209 .byte 102,15,56,220,217 movups (%edx,%ecx,1),%xmm1 addl $32,%ecx .byte 102,15,56,220,208 .byte 102,15,56,220,216 movups -16(%edx,%ecx,1),%xmm0 jnz .L002enc2_loop .byte 102,15,56,220,209 .byte 102,15,56,220,217 .byte 102,15,56,221,208 .byte 102,15,56,221,216 ret .size _aesni_encrypt2,.-_aesni_encrypt2 .type _aesni_decrypt2,@function .align 16 _aesni_decrypt2: movups (%edx),%xmm0 shll $4,%ecx movups 16(%edx),%xmm1 xorps %xmm0,%xmm2 pxor %xmm0,%xmm3 movups 32(%edx),%xmm0 leal 32(%edx,%ecx,1),%edx negl %ecx addl $16,%ecx .L003dec2_loop: .byte 102,15,56,222,209 .byte 102,15,56,222,217 movups (%edx,%ecx,1),%xmm1 addl $32,%ecx .byte 102,15,56,222,208 .byte 102,15,56,222,216 movups -16(%edx,%ecx,1),%xmm0 jnz .L003dec2_loop .byte 102,15,56,222,209 .byte 102,15,56,222,217 .byte 102,15,56,223,208 .byte 102,15,56,223,216 ret .size _aesni_decrypt2,.-_aesni_decrypt2 .type _aesni_encrypt3,@function .align 16 _aesni_encrypt3: movups (%edx),%xmm0 shll $4,%ecx movups 16(%edx),%xmm1 xorps %xmm0,%xmm2 pxor %xmm0,%xmm3 pxor %xmm0,%xmm4 movups 32(%edx),%xmm0 leal 32(%edx,%ecx,1),%edx negl %ecx addl $16,%ecx .L004enc3_loop: .byte 102,15,56,220,209 .byte 102,15,56,220,217 .byte 102,15,56,220,225 movups (%edx,%ecx,1),%xmm1 addl $32,%ecx .byte 102,15,56,220,208 .byte 102,15,56,220,216 .byte 102,15,56,220,224 movups -16(%edx,%ecx,1),%xmm0 jnz .L004enc3_loop .byte 102,15,56,220,209 .byte 102,15,56,220,217 .byte 102,15,56,220,225 .byte 102,15,56,221,208 .byte 102,15,56,221,216 .byte 102,15,56,221,224 ret .size _aesni_encrypt3,.-_aesni_encrypt3 .type _aesni_decrypt3,@function .align 16 _aesni_decrypt3: movups (%edx),%xmm0 shll $4,%ecx movups 16(%edx),%xmm1 xorps %xmm0,%xmm2 pxor %xmm0,%xmm3 pxor %xmm0,%xmm4 movups 32(%edx),%xmm0 leal 32(%edx,%ecx,1),%edx negl %ecx addl $16,%ecx .L005dec3_loop: .byte 102,15,56,222,209 .byte 102,15,56,222,217 .byte 102,15,56,222,225 movups (%edx,%ecx,1),%xmm1 addl $32,%ecx .byte 102,15,56,222,208 .byte 102,15,56,222,216 .byte 102,15,56,222,224 movups -16(%edx,%ecx,1),%xmm0 jnz .L005dec3_loop .byte 102,15,56,222,209 .byte 102,15,56,222,217 .byte 102,15,56,222,225 .byte 102,15,56,223,208 .byte 102,15,56,223,216 .byte 102,15,56,223,224 ret .size _aesni_decrypt3,.-_aesni_decrypt3 .type _aesni_encrypt4,@function .align 16 _aesni_encrypt4: movups (%edx),%xmm0 movups 16(%edx),%xmm1 shll $4,%ecx xorps %xmm0,%xmm2 pxor %xmm0,%xmm3 pxor %xmm0,%xmm4 pxor %xmm0,%xmm5 movups 32(%edx),%xmm0 leal 32(%edx,%ecx,1),%edx negl %ecx .byte 15,31,64,0 addl $16,%ecx .L006enc4_loop: .byte 102,15,56,220,209 .byte 102,15,56,220,217 .byte 102,15,56,220,225 .byte 102,15,56,220,233 movups (%edx,%ecx,1),%xmm1 addl $32,%ecx .byte 102,15,56,220,208 .byte 102,15,56,220,216 .byte 102,15,56,220,224 .byte 102,15,56,220,232 movups -16(%edx,%ecx,1),%xmm0 jnz .L006enc4_loop .byte 102,15,56,220,209 .byte 102,15,56,220,217 .byte 102,15,56,220,225 .byte 102,15,56,220,233 .byte 102,15,56,221,208 .byte 102,15,56,221,216 .byte 102,15,56,221,224 .byte 102,15,56,221,232 ret .size _aesni_encrypt4,.-_aesni_encrypt4 .type _aesni_decrypt4,@function .align 16 _aesni_decrypt4: movups (%edx),%xmm0 movups 16(%edx),%xmm1 shll $4,%ecx xorps %xmm0,%xmm2 pxor %xmm0,%xmm3 pxor %xmm0,%xmm4 pxor %xmm0,%xmm5 movups 32(%edx),%xmm0 leal 32(%edx,%ecx,1),%edx negl %ecx .byte 15,31,64,0 addl $16,%ecx .L007dec4_loop: .byte 102,15,56,222,209 .byte 102,15,56,222,217 .byte 102,15,56,222,225 .byte 102,15,56,222,233 movups (%edx,%ecx,1),%xmm1 addl $32,%ecx .byte 102,15,56,222,208 .byte 102,15,56,222,216 .byte 102,15,56,222,224 .byte 102,15,56,222,232 movups -16(%edx,%ecx,1),%xmm0 jnz .L007dec4_loop .byte 102,15,56,222,209 .byte 102,15,56,222,217 .byte 102,15,56,222,225 .byte 102,15,56,222,233 .byte 102,15,56,223,208 .byte 102,15,56,223,216 .byte 102,15,56,223,224 .byte 102,15,56,223,232 ret .size _aesni_decrypt4,.-_aesni_decrypt4 .type _aesni_encrypt6,@function .align 16 _aesni_encrypt6: movups (%edx),%xmm0 shll $4,%ecx movups 16(%edx),%xmm1 xorps %xmm0,%xmm2 pxor %xmm0,%xmm3 pxor %xmm0,%xmm4 .byte 102,15,56,220,209 pxor %xmm0,%xmm5 pxor %xmm0,%xmm6 .byte 102,15,56,220,217 leal 32(%edx,%ecx,1),%edx negl %ecx .byte 102,15,56,220,225 pxor %xmm0,%xmm7 movups (%edx,%ecx,1),%xmm0 addl $16,%ecx jmp .L008_aesni_encrypt6_inner .align 16 .L009enc6_loop: .byte 102,15,56,220,209 .byte 102,15,56,220,217 .byte 102,15,56,220,225 .L008_aesni_encrypt6_inner: .byte 102,15,56,220,233 .byte 102,15,56,220,241 .byte 102,15,56,220,249 .L_aesni_encrypt6_enter: movups (%edx,%ecx,1),%xmm1 addl $32,%ecx .byte 102,15,56,220,208 .byte 102,15,56,220,216 .byte 102,15,56,220,224 .byte 102,15,56,220,232 .byte 102,15,56,220,240 .byte 102,15,56,220,248 movups -16(%edx,%ecx,1),%xmm0 jnz .L009enc6_loop .byte 102,15,56,220,209 .byte 102,15,56,220,217 .byte 102,15,56,220,225 .byte 102,15,56,220,233 .byte 102,15,56,220,241 .byte 102,15,56,220,249 .byte 102,15,56,221,208 .byte 102,15,56,221,216 .byte 102,15,56,221,224 .byte 102,15,56,221,232 .byte 102,15,56,221,240 .byte 102,15,56,221,248 ret .size _aesni_encrypt6,.-_aesni_encrypt6 .type _aesni_decrypt6,@function .align 16 _aesni_decrypt6: movups (%edx),%xmm0 shll $4,%ecx movups 16(%edx),%xmm1 xorps %xmm0,%xmm2 pxor %xmm0,%xmm3 pxor %xmm0,%xmm4 .byte 102,15,56,222,209 pxor %xmm0,%xmm5 pxor %xmm0,%xmm6 .byte 102,15,56,222,217 leal 32(%edx,%ecx,1),%edx negl %ecx .byte 102,15,56,222,225 pxor %xmm0,%xmm7 movups (%edx,%ecx,1),%xmm0 addl $16,%ecx jmp .L010_aesni_decrypt6_inner .align 16 .L011dec6_loop: .byte 102,15,56,222,209 .byte 102,15,56,222,217 .byte 102,15,56,222,225 .L010_aesni_decrypt6_inner: .byte 102,15,56,222,233 .byte 102,15,56,222,241 .byte 102,15,56,222,249 .L_aesni_decrypt6_enter: movups (%edx,%ecx,1),%xmm1 addl $32,%ecx .byte 102,15,56,222,208 .byte 102,15,56,222,216 .byte 102,15,56,222,224 .byte 102,15,56,222,232 .byte 102,15,56,222,240 .byte 102,15,56,222,248 movups -16(%edx,%ecx,1),%xmm0 jnz .L011dec6_loop .byte 102,15,56,222,209 .byte 102,15,56,222,217 .byte 102,15,56,222,225 .byte 102,15,56,222,233 .byte 102,15,56,222,241 .byte 102,15,56,222,249 .byte 102,15,56,223,208 .byte 102,15,56,223,216 .byte 102,15,56,223,224 .byte 102,15,56,223,232 .byte 102,15,56,223,240 .byte 102,15,56,223,248 ret .size _aesni_decrypt6,.-_aesni_decrypt6 .globl aesni_ecb_encrypt .type aesni_ecb_encrypt,@function .align 16 aesni_ecb_encrypt: .L_aesni_ecb_encrypt_begin: pushl %ebp pushl %ebx pushl %esi pushl %edi movl 20(%esp),%esi movl 24(%esp),%edi movl 28(%esp),%eax movl 32(%esp),%edx movl 36(%esp),%ebx andl $-16,%eax jz .L012ecb_ret movl 240(%edx),%ecx testl %ebx,%ebx jz .L013ecb_decrypt movl %edx,%ebp movl %ecx,%ebx cmpl $96,%eax jb .L014ecb_enc_tail movdqu (%esi),%xmm2 movdqu 16(%esi),%xmm3 movdqu 32(%esi),%xmm4 movdqu 48(%esi),%xmm5 movdqu 64(%esi),%xmm6 movdqu 80(%esi),%xmm7 leal 96(%esi),%esi subl $96,%eax jmp .L015ecb_enc_loop6_enter .align 16 .L016ecb_enc_loop6: movups %xmm2,(%edi) movdqu (%esi),%xmm2 movups %xmm3,16(%edi) movdqu 16(%esi),%xmm3 movups %xmm4,32(%edi) movdqu 32(%esi),%xmm4 movups %xmm5,48(%edi) movdqu 48(%esi),%xmm5 movups %xmm6,64(%edi) movdqu 64(%esi),%xmm6 movups %xmm7,80(%edi) leal 96(%edi),%edi movdqu 80(%esi),%xmm7 leal 96(%esi),%esi .L015ecb_enc_loop6_enter: call _aesni_encrypt6 movl %ebp,%edx movl %ebx,%ecx subl $96,%eax jnc .L016ecb_enc_loop6 movups %xmm2,(%edi) movups %xmm3,16(%edi) movups %xmm4,32(%edi) movups %xmm5,48(%edi) movups %xmm6,64(%edi) movups %xmm7,80(%edi) leal 96(%edi),%edi addl $96,%eax jz .L012ecb_ret .L014ecb_enc_tail: movups (%esi),%xmm2 cmpl $32,%eax jb .L017ecb_enc_one movups 16(%esi),%xmm3 je .L018ecb_enc_two movups 32(%esi),%xmm4 cmpl $64,%eax jb .L019ecb_enc_three movups 48(%esi),%xmm5 je .L020ecb_enc_four movups 64(%esi),%xmm6 xorps %xmm7,%xmm7 call _aesni_encrypt6 movups %xmm2,(%edi) movups %xmm3,16(%edi) movups %xmm4,32(%edi) movups %xmm5,48(%edi) movups %xmm6,64(%edi) jmp .L012ecb_ret .align 16 .L017ecb_enc_one: movups (%edx),%xmm0 movups 16(%edx),%xmm1 leal 32(%edx),%edx xorps %xmm0,%xmm2 .L021enc1_loop_3: .byte 102,15,56,220,209 decl %ecx movups (%edx),%xmm1 leal 16(%edx),%edx jnz .L021enc1_loop_3 .byte 102,15,56,221,209 movups %xmm2,(%edi) jmp .L012ecb_ret .align 16 .L018ecb_enc_two: call _aesni_encrypt2 movups %xmm2,(%edi) movups %xmm3,16(%edi) jmp .L012ecb_ret .align 16 .L019ecb_enc_three: call _aesni_encrypt3 movups %xmm2,(%edi) movups %xmm3,16(%edi) movups %xmm4,32(%edi) jmp .L012ecb_ret .align 16 .L020ecb_enc_four: call _aesni_encrypt4 movups %xmm2,(%edi) movups %xmm3,16(%edi) movups %xmm4,32(%edi) movups %xmm5,48(%edi) jmp .L012ecb_ret .align 16 .L013ecb_decrypt: movl %edx,%ebp movl %ecx,%ebx cmpl $96,%eax jb .L022ecb_dec_tail movdqu (%esi),%xmm2 movdqu 16(%esi),%xmm3 movdqu 32(%esi),%xmm4 movdqu 48(%esi),%xmm5 movdqu 64(%esi),%xmm6 movdqu 80(%esi),%xmm7 leal 96(%esi),%esi subl $96,%eax jmp .L023ecb_dec_loop6_enter .align 16 .L024ecb_dec_loop6: movups %xmm2,(%edi) movdqu (%esi),%xmm2 movups %xmm3,16(%edi) movdqu 16(%esi),%xmm3 movups %xmm4,32(%edi) movdqu 32(%esi),%xmm4 movups %xmm5,48(%edi) movdqu 48(%esi),%xmm5 movups %xmm6,64(%edi) movdqu 64(%esi),%xmm6 movups %xmm7,80(%edi) leal 96(%edi),%edi movdqu 80(%esi),%xmm7 leal 96(%esi),%esi .L023ecb_dec_loop6_enter: call _aesni_decrypt6 movl %ebp,%edx movl %ebx,%ecx subl $96,%eax jnc .L024ecb_dec_loop6 movups %xmm2,(%edi) movups %xmm3,16(%edi) movups %xmm4,32(%edi) movups %xmm5,48(%edi) movups %xmm6,64(%edi) movups %xmm7,80(%edi) leal 96(%edi),%edi addl $96,%eax jz .L012ecb_ret .L022ecb_dec_tail: movups (%esi),%xmm2 cmpl $32,%eax jb .L025ecb_dec_one movups 16(%esi),%xmm3 je .L026ecb_dec_two movups 32(%esi),%xmm4 cmpl $64,%eax jb .L027ecb_dec_three movups 48(%esi),%xmm5 je .L028ecb_dec_four movups 64(%esi),%xmm6 xorps %xmm7,%xmm7 call _aesni_decrypt6 movups %xmm2,(%edi) movups %xmm3,16(%edi) movups %xmm4,32(%edi) movups %xmm5,48(%edi) movups %xmm6,64(%edi) jmp .L012ecb_ret .align 16 .L025ecb_dec_one: movups (%edx),%xmm0 movups 16(%edx),%xmm1 leal 32(%edx),%edx xorps %xmm0,%xmm2 .L029dec1_loop_4: .byte 102,15,56,222,209 decl %ecx movups (%edx),%xmm1 leal 16(%edx),%edx jnz .L029dec1_loop_4 .byte 102,15,56,223,209 movups %xmm2,(%edi) jmp .L012ecb_ret .align 16 .L026ecb_dec_two: call _aesni_decrypt2 movups %xmm2,(%edi) movups %xmm3,16(%edi) jmp .L012ecb_ret .align 16 .L027ecb_dec_three: call _aesni_decrypt3 movups %xmm2,(%edi) movups %xmm3,16(%edi) movups %xmm4,32(%edi) jmp .L012ecb_ret .align 16 .L028ecb_dec_four: call _aesni_decrypt4 movups %xmm2,(%edi) movups %xmm3,16(%edi) movups %xmm4,32(%edi) movups %xmm5,48(%edi) .L012ecb_ret: pxor %xmm0,%xmm0 pxor %xmm1,%xmm1 pxor %xmm2,%xmm2 pxor %xmm3,%xmm3 pxor %xmm4,%xmm4 pxor %xmm5,%xmm5 pxor %xmm6,%xmm6 pxor %xmm7,%xmm7 popl %edi popl %esi popl %ebx popl %ebp ret .size aesni_ecb_encrypt,.-.L_aesni_ecb_encrypt_begin .globl aesni_ccm64_encrypt_blocks .type aesni_ccm64_encrypt_blocks,@function .align 16 aesni_ccm64_encrypt_blocks: .L_aesni_ccm64_encrypt_blocks_begin: pushl %ebp pushl %ebx pushl %esi pushl %edi movl 20(%esp),%esi movl 24(%esp),%edi movl 28(%esp),%eax movl 32(%esp),%edx movl 36(%esp),%ebx movl 40(%esp),%ecx movl %esp,%ebp subl $60,%esp andl $-16,%esp movl %ebp,48(%esp) movdqu (%ebx),%xmm7 movdqu (%ecx),%xmm3 movl 240(%edx),%ecx movl $202182159,(%esp) movl $134810123,4(%esp) movl $67438087,8(%esp) movl $66051,12(%esp) movl $1,%ebx xorl %ebp,%ebp movl %ebx,16(%esp) movl %ebp,20(%esp) movl %ebp,24(%esp) movl %ebp,28(%esp) shll $4,%ecx movl $16,%ebx leal (%edx),%ebp movdqa (%esp),%xmm5 movdqa %xmm7,%xmm2 leal 32(%edx,%ecx,1),%edx subl %ecx,%ebx .byte 102,15,56,0,253 .L030ccm64_enc_outer: movups (%ebp),%xmm0 movl %ebx,%ecx movups (%esi),%xmm6 xorps %xmm0,%xmm2 movups 16(%ebp),%xmm1 xorps %xmm6,%xmm0 xorps %xmm0,%xmm3 movups 32(%ebp),%xmm0 .L031ccm64_enc2_loop: .byte 102,15,56,220,209 .byte 102,15,56,220,217 movups (%edx,%ecx,1),%xmm1 addl $32,%ecx .byte 102,15,56,220,208 .byte 102,15,56,220,216 movups -16(%edx,%ecx,1),%xmm0 jnz .L031ccm64_enc2_loop .byte 102,15,56,220,209 .byte 102,15,56,220,217 paddq 16(%esp),%xmm7 decl %eax .byte 102,15,56,221,208 .byte 102,15,56,221,216 leal 16(%esi),%esi xorps %xmm2,%xmm6 movdqa %xmm7,%xmm2 movups %xmm6,(%edi) .byte 102,15,56,0,213 leal 16(%edi),%edi jnz .L030ccm64_enc_outer movl 48(%esp),%esp movl 40(%esp),%edi movups %xmm3,(%edi) pxor %xmm0,%xmm0 pxor %xmm1,%xmm1 pxor %xmm2,%xmm2 pxor %xmm3,%xmm3 pxor %xmm4,%xmm4 pxor %xmm5,%xmm5 pxor %xmm6,%xmm6 pxor %xmm7,%xmm7 popl %edi popl %esi popl %ebx popl %ebp ret .size aesni_ccm64_encrypt_blocks,.-.L_aesni_ccm64_encrypt_blocks_begin .globl aesni_ccm64_decrypt_blocks .type aesni_ccm64_decrypt_blocks,@function .align 16 aesni_ccm64_decrypt_blocks: .L_aesni_ccm64_decrypt_blocks_begin: pushl %ebp pushl %ebx pushl %esi pushl %edi movl 20(%esp),%esi movl 24(%esp),%edi movl 28(%esp),%eax movl 32(%esp),%edx movl 36(%esp),%ebx movl 40(%esp),%ecx movl %esp,%ebp subl $60,%esp andl $-16,%esp movl %ebp,48(%esp) movdqu (%ebx),%xmm7 movdqu (%ecx),%xmm3 movl 240(%edx),%ecx movl $202182159,(%esp) movl $134810123,4(%esp) movl $67438087,8(%esp) movl $66051,12(%esp) movl $1,%ebx xorl %ebp,%ebp movl %ebx,16(%esp) movl %ebp,20(%esp) movl %ebp,24(%esp) movl %ebp,28(%esp) movdqa (%esp),%xmm5 movdqa %xmm7,%xmm2 movl %edx,%ebp movl %ecx,%ebx .byte 102,15,56,0,253 movups (%edx),%xmm0 movups 16(%edx),%xmm1 leal 32(%edx),%edx xorps %xmm0,%xmm2 .L032enc1_loop_5: .byte 102,15,56,220,209 decl %ecx movups (%edx),%xmm1 leal 16(%edx),%edx jnz .L032enc1_loop_5 .byte 102,15,56,221,209 shll $4,%ebx movl $16,%ecx movups (%esi),%xmm6 paddq 16(%esp),%xmm7 leal 16(%esi),%esi subl %ebx,%ecx leal 32(%ebp,%ebx,1),%edx movl %ecx,%ebx jmp .L033ccm64_dec_outer .align 16 .L033ccm64_dec_outer: xorps %xmm2,%xmm6 movdqa %xmm7,%xmm2 movups %xmm6,(%edi) leal 16(%edi),%edi .byte 102,15,56,0,213 subl $1,%eax jz .L034ccm64_dec_break movups (%ebp),%xmm0 movl %ebx,%ecx movups 16(%ebp),%xmm1 xorps %xmm0,%xmm6 xorps %xmm0,%xmm2 xorps %xmm6,%xmm3 movups 32(%ebp),%xmm0 .L035ccm64_dec2_loop: .byte 102,15,56,220,209 .byte 102,15,56,220,217 movups (%edx,%ecx,1),%xmm1 addl $32,%ecx .byte 102,15,56,220,208 .byte 102,15,56,220,216 movups -16(%edx,%ecx,1),%xmm0 jnz .L035ccm64_dec2_loop movups (%esi),%xmm6 paddq 16(%esp),%xmm7 .byte 102,15,56,220,209 .byte 102,15,56,220,217 .byte 102,15,56,221,208 .byte 102,15,56,221,216 leal 16(%esi),%esi jmp .L033ccm64_dec_outer .align 16 .L034ccm64_dec_break: movl 240(%ebp),%ecx movl %ebp,%edx movups (%edx),%xmm0 movups 16(%edx),%xmm1 xorps %xmm0,%xmm6 leal 32(%edx),%edx xorps %xmm6,%xmm3 .L036enc1_loop_6: .byte 102,15,56,220,217 decl %ecx movups (%edx),%xmm1 leal 16(%edx),%edx jnz .L036enc1_loop_6 .byte 102,15,56,221,217 movl 48(%esp),%esp movl 40(%esp),%edi movups %xmm3,(%edi) pxor %xmm0,%xmm0 pxor %xmm1,%xmm1 pxor %xmm2,%xmm2 pxor %xmm3,%xmm3 pxor %xmm4,%xmm4 pxor %xmm5,%xmm5 pxor %xmm6,%xmm6 pxor %xmm7,%xmm7 popl %edi popl %esi popl %ebx popl %ebp ret .size aesni_ccm64_decrypt_blocks,.-.L_aesni_ccm64_decrypt_blocks_begin .globl aesni_ctr32_encrypt_blocks .type aesni_ctr32_encrypt_blocks,@function .align 16 aesni_ctr32_encrypt_blocks: .L_aesni_ctr32_encrypt_blocks_begin: pushl %ebp pushl %ebx pushl %esi pushl %edi movl 20(%esp),%esi movl 24(%esp),%edi movl 28(%esp),%eax movl 32(%esp),%edx movl 36(%esp),%ebx movl %esp,%ebp subl $88,%esp andl $-16,%esp movl %ebp,80(%esp) cmpl $1,%eax je .L037ctr32_one_shortcut movdqu (%ebx),%xmm7 movl $202182159,(%esp) movl $134810123,4(%esp) movl $67438087,8(%esp) movl $66051,12(%esp) movl $6,%ecx xorl %ebp,%ebp movl %ecx,16(%esp) movl %ecx,20(%esp) movl %ecx,24(%esp) movl %ebp,28(%esp) .byte 102,15,58,22,251,3 .byte 102,15,58,34,253,3 movl 240(%edx),%ecx bswap %ebx pxor %xmm0,%xmm0 pxor %xmm1,%xmm1 movdqa (%esp),%xmm2 .byte 102,15,58,34,195,0 leal 3(%ebx),%ebp .byte 102,15,58,34,205,0 incl %ebx .byte 102,15,58,34,195,1 incl %ebp .byte 102,15,58,34,205,1 incl %ebx .byte 102,15,58,34,195,2 incl %ebp .byte 102,15,58,34,205,2 movdqa %xmm0,48(%esp) .byte 102,15,56,0,194 movdqu (%edx),%xmm6 movdqa %xmm1,64(%esp) .byte 102,15,56,0,202 pshufd $192,%xmm0,%xmm2 pshufd $128,%xmm0,%xmm3 cmpl $6,%eax jb .L038ctr32_tail pxor %xmm6,%xmm7 shll $4,%ecx movl $16,%ebx movdqa %xmm7,32(%esp) movl %edx,%ebp subl %ecx,%ebx leal 32(%edx,%ecx,1),%edx subl $6,%eax jmp .L039ctr32_loop6 .align 16 .L039ctr32_loop6: pshufd $64,%xmm0,%xmm4 movdqa 32(%esp),%xmm0 pshufd $192,%xmm1,%xmm5 pxor %xmm0,%xmm2 pshufd $128,%xmm1,%xmm6 pxor %xmm0,%xmm3 pshufd $64,%xmm1,%xmm7 movups 16(%ebp),%xmm1 pxor %xmm0,%xmm4 pxor %xmm0,%xmm5 .byte 102,15,56,220,209 pxor %xmm0,%xmm6 pxor %xmm0,%xmm7 .byte 102,15,56,220,217 movups 32(%ebp),%xmm0 movl %ebx,%ecx .byte 102,15,56,220,225 .byte 102,15,56,220,233 .byte 102,15,56,220,241 .byte 102,15,56,220,249 call .L_aesni_encrypt6_enter movups (%esi),%xmm1 movups 16(%esi),%xmm0 xorps %xmm1,%xmm2 movups 32(%esi),%xmm1 xorps %xmm0,%xmm3 movups %xmm2,(%edi) movdqa 16(%esp),%xmm0 xorps %xmm1,%xmm4 movdqa 64(%esp),%xmm1 movups %xmm3,16(%edi) movups %xmm4,32(%edi) paddd %xmm0,%xmm1 paddd 48(%esp),%xmm0 movdqa (%esp),%xmm2 movups 48(%esi),%xmm3 movups 64(%esi),%xmm4 xorps %xmm3,%xmm5 movups 80(%esi),%xmm3 leal 96(%esi),%esi movdqa %xmm0,48(%esp) .byte 102,15,56,0,194 xorps %xmm4,%xmm6 movups %xmm5,48(%edi) xorps %xmm3,%xmm7 movdqa %xmm1,64(%esp) .byte 102,15,56,0,202 movups %xmm6,64(%edi) pshufd $192,%xmm0,%xmm2 movups %xmm7,80(%edi) leal 96(%edi),%edi pshufd $128,%xmm0,%xmm3 subl $6,%eax jnc .L039ctr32_loop6 addl $6,%eax jz .L040ctr32_ret movdqu (%ebp),%xmm7 movl %ebp,%edx pxor 32(%esp),%xmm7 movl 240(%ebp),%ecx .L038ctr32_tail: por %xmm7,%xmm2 cmpl $2,%eax jb .L041ctr32_one pshufd $64,%xmm0,%xmm4 por %xmm7,%xmm3 je .L042ctr32_two pshufd $192,%xmm1,%xmm5 por %xmm7,%xmm4 cmpl $4,%eax jb .L043ctr32_three pshufd $128,%xmm1,%xmm6 por %xmm7,%xmm5 je .L044ctr32_four por %xmm7,%xmm6 call _aesni_encrypt6 movups (%esi),%xmm1 movups 16(%esi),%xmm0 xorps %xmm1,%xmm2 movups 32(%esi),%xmm1 xorps %xmm0,%xmm3 movups 48(%esi),%xmm0 xorps %xmm1,%xmm4 movups 64(%esi),%xmm1 xorps %xmm0,%xmm5 movups %xmm2,(%edi) xorps %xmm1,%xmm6 movups %xmm3,16(%edi) movups %xmm4,32(%edi) movups %xmm5,48(%edi) movups %xmm6,64(%edi) jmp .L040ctr32_ret .align 16 .L037ctr32_one_shortcut: movups (%ebx),%xmm2 movl 240(%edx),%ecx .L041ctr32_one: movups (%edx),%xmm0 movups 16(%edx),%xmm1 leal 32(%edx),%edx xorps %xmm0,%xmm2 .L045enc1_loop_7: .byte 102,15,56,220,209 decl %ecx movups (%edx),%xmm1 leal 16(%edx),%edx jnz .L045enc1_loop_7 .byte 102,15,56,221,209 movups (%esi),%xmm6 xorps %xmm2,%xmm6 movups %xmm6,(%edi) jmp .L040ctr32_ret .align 16 .L042ctr32_two: call _aesni_encrypt2 movups (%esi),%xmm5 movups 16(%esi),%xmm6 xorps %xmm5,%xmm2 xorps %xmm6,%xmm3 movups %xmm2,(%edi) movups %xmm3,16(%edi) jmp .L040ctr32_ret .align 16 .L043ctr32_three: call _aesni_encrypt3 movups (%esi),%xmm5 movups 16(%esi),%xmm6 xorps %xmm5,%xmm2 movups 32(%esi),%xmm7 xorps %xmm6,%xmm3 movups %xmm2,(%edi) xorps %xmm7,%xmm4 movups %xmm3,16(%edi) movups %xmm4,32(%edi) jmp .L040ctr32_ret .align 16 .L044ctr32_four: call _aesni_encrypt4 movups (%esi),%xmm6 movups 16(%esi),%xmm7 movups 32(%esi),%xmm1 xorps %xmm6,%xmm2 movups 48(%esi),%xmm0 xorps %xmm7,%xmm3 movups %xmm2,(%edi) xorps %xmm1,%xmm4 movups %xmm3,16(%edi) xorps %xmm0,%xmm5 movups %xmm4,32(%edi) movups %xmm5,48(%edi) .L040ctr32_ret: pxor %xmm0,%xmm0 pxor %xmm1,%xmm1 pxor %xmm2,%xmm2 pxor %xmm3,%xmm3 pxor %xmm4,%xmm4 movdqa %xmm0,32(%esp) pxor %xmm5,%xmm5 movdqa %xmm0,48(%esp) pxor %xmm6,%xmm6 movdqa %xmm0,64(%esp) pxor %xmm7,%xmm7 movl 80(%esp),%esp popl %edi popl %esi popl %ebx popl %ebp ret .size aesni_ctr32_encrypt_blocks,.-.L_aesni_ctr32_encrypt_blocks_begin .globl aesni_xts_encrypt .type aesni_xts_encrypt,@function .align 16 aesni_xts_encrypt: .L_aesni_xts_encrypt_begin: pushl %ebp pushl %ebx pushl %esi pushl %edi movl 36(%esp),%edx movl 40(%esp),%esi movl 240(%edx),%ecx movups (%esi),%xmm2 movups (%edx),%xmm0 movups 16(%edx),%xmm1 leal 32(%edx),%edx xorps %xmm0,%xmm2 .L046enc1_loop_8: .byte 102,15,56,220,209 decl %ecx movups (%edx),%xmm1 leal 16(%edx),%edx jnz .L046enc1_loop_8 .byte 102,15,56,221,209 movl 20(%esp),%esi movl 24(%esp),%edi movl 28(%esp),%eax movl 32(%esp),%edx movl %esp,%ebp subl $120,%esp movl 240(%edx),%ecx andl $-16,%esp movl $135,96(%esp) movl $0,100(%esp) movl $1,104(%esp) movl $0,108(%esp) movl %eax,112(%esp) movl %ebp,116(%esp) movdqa %xmm2,%xmm1 pxor %xmm0,%xmm0 movdqa 96(%esp),%xmm3 pcmpgtd %xmm1,%xmm0 andl $-16,%eax movl %edx,%ebp movl %ecx,%ebx subl $96,%eax jc .L047xts_enc_short shll $4,%ecx movl $16,%ebx subl %ecx,%ebx leal 32(%edx,%ecx,1),%edx jmp .L048xts_enc_loop6 .align 16 .L048xts_enc_loop6: pshufd $19,%xmm0,%xmm2 pxor %xmm0,%xmm0 movdqa %xmm1,(%esp) paddq %xmm1,%xmm1 pand %xmm3,%xmm2 pcmpgtd %xmm1,%xmm0 pxor %xmm2,%xmm1 pshufd $19,%xmm0,%xmm2 pxor %xmm0,%xmm0 movdqa %xmm1,16(%esp) paddq %xmm1,%xmm1 pand %xmm3,%xmm2 pcmpgtd %xmm1,%xmm0 pxor %xmm2,%xmm1 pshufd $19,%xmm0,%xmm2 pxor %xmm0,%xmm0 movdqa %xmm1,32(%esp) paddq %xmm1,%xmm1 pand %xmm3,%xmm2 pcmpgtd %xmm1,%xmm0 pxor %xmm2,%xmm1 pshufd $19,%xmm0,%xmm2 pxor %xmm0,%xmm0 movdqa %xmm1,48(%esp) paddq %xmm1,%xmm1 pand %xmm3,%xmm2 pcmpgtd %xmm1,%xmm0 pxor %xmm2,%xmm1 pshufd $19,%xmm0,%xmm7 movdqa %xmm1,64(%esp) paddq %xmm1,%xmm1 movups (%ebp),%xmm0 pand %xmm3,%xmm7 movups (%esi),%xmm2 pxor %xmm1,%xmm7 movl %ebx,%ecx movdqu 16(%esi),%xmm3 xorps %xmm0,%xmm2 movdqu 32(%esi),%xmm4 pxor %xmm0,%xmm3 movdqu 48(%esi),%xmm5 pxor %xmm0,%xmm4 movdqu 64(%esi),%xmm6 pxor %xmm0,%xmm5 movdqu 80(%esi),%xmm1 pxor %xmm0,%xmm6 leal 96(%esi),%esi pxor (%esp),%xmm2 movdqa %xmm7,80(%esp) pxor %xmm1,%xmm7 movups 16(%ebp),%xmm1 pxor 16(%esp),%xmm3 pxor 32(%esp),%xmm4 .byte 102,15,56,220,209 pxor 48(%esp),%xmm5 pxor 64(%esp),%xmm6 .byte 102,15,56,220,217 pxor %xmm0,%xmm7 movups 32(%ebp),%xmm0 .byte 102,15,56,220,225 .byte 102,15,56,220,233 .byte 102,15,56,220,241 .byte 102,15,56,220,249 call .L_aesni_encrypt6_enter movdqa 80(%esp),%xmm1 pxor %xmm0,%xmm0 xorps (%esp),%xmm2 pcmpgtd %xmm1,%xmm0 xorps 16(%esp),%xmm3 movups %xmm2,(%edi) xorps 32(%esp),%xmm4 movups %xmm3,16(%edi) xorps 48(%esp),%xmm5 movups %xmm4,32(%edi) xorps 64(%esp),%xmm6 movups %xmm5,48(%edi) xorps %xmm1,%xmm7 movups %xmm6,64(%edi) pshufd $19,%xmm0,%xmm2 movups %xmm7,80(%edi) leal 96(%edi),%edi movdqa 96(%esp),%xmm3 pxor %xmm0,%xmm0 paddq %xmm1,%xmm1 pand %xmm3,%xmm2 pcmpgtd %xmm1,%xmm0 pxor %xmm2,%xmm1 subl $96,%eax jnc .L048xts_enc_loop6 movl 240(%ebp),%ecx movl %ebp,%edx movl %ecx,%ebx .L047xts_enc_short: addl $96,%eax jz .L049xts_enc_done6x movdqa %xmm1,%xmm5 cmpl $32,%eax jb .L050xts_enc_one pshufd $19,%xmm0,%xmm2 pxor %xmm0,%xmm0 paddq %xmm1,%xmm1 pand %xmm3,%xmm2 pcmpgtd %xmm1,%xmm0 pxor %xmm2,%xmm1 je .L051xts_enc_two pshufd $19,%xmm0,%xmm2 pxor %xmm0,%xmm0 movdqa %xmm1,%xmm6 paddq %xmm1,%xmm1 pand %xmm3,%xmm2 pcmpgtd %xmm1,%xmm0 pxor %xmm2,%xmm1 cmpl $64,%eax jb .L052xts_enc_three pshufd $19,%xmm0,%xmm2 pxor %xmm0,%xmm0 movdqa %xmm1,%xmm7 paddq %xmm1,%xmm1 pand %xmm3,%xmm2 pcmpgtd %xmm1,%xmm0 pxor %xmm2,%xmm1 movdqa %xmm5,(%esp) movdqa %xmm6,16(%esp) je .L053xts_enc_four movdqa %xmm7,32(%esp) pshufd $19,%xmm0,%xmm7 movdqa %xmm1,48(%esp) paddq %xmm1,%xmm1 pand %xmm3,%xmm7 pxor %xmm1,%xmm7 movdqu (%esi),%xmm2 movdqu 16(%esi),%xmm3 movdqu 32(%esi),%xmm4 pxor (%esp),%xmm2 movdqu 48(%esi),%xmm5 pxor 16(%esp),%xmm3 movdqu 64(%esi),%xmm6 pxor 32(%esp),%xmm4 leal 80(%esi),%esi pxor 48(%esp),%xmm5 movdqa %xmm7,64(%esp) pxor %xmm7,%xmm6 call _aesni_encrypt6 movaps 64(%esp),%xmm1 xorps (%esp),%xmm2 xorps 16(%esp),%xmm3 xorps 32(%esp),%xmm4 movups %xmm2,(%edi) xorps 48(%esp),%xmm5 movups %xmm3,16(%edi) xorps %xmm1,%xmm6 movups %xmm4,32(%edi) movups %xmm5,48(%edi) movups %xmm6,64(%edi) leal 80(%edi),%edi jmp .L054xts_enc_done .align 16 .L050xts_enc_one: movups (%esi),%xmm2 leal 16(%esi),%esi xorps %xmm5,%xmm2 movups (%edx),%xmm0 movups 16(%edx),%xmm1 leal 32(%edx),%edx xorps %xmm0,%xmm2 .L055enc1_loop_9: .byte 102,15,56,220,209 decl %ecx movups (%edx),%xmm1 leal 16(%edx),%edx jnz .L055enc1_loop_9 .byte 102,15,56,221,209 xorps %xmm5,%xmm2 movups %xmm2,(%edi) leal 16(%edi),%edi movdqa %xmm5,%xmm1 jmp .L054xts_enc_done .align 16 .L051xts_enc_two: movaps %xmm1,%xmm6 movups (%esi),%xmm2 movups 16(%esi),%xmm3 leal 32(%esi),%esi xorps %xmm5,%xmm2 xorps %xmm6,%xmm3 call _aesni_encrypt2 xorps %xmm5,%xmm2 xorps %xmm6,%xmm3 movups %xmm2,(%edi) movups %xmm3,16(%edi) leal 32(%edi),%edi movdqa %xmm6,%xmm1 jmp .L054xts_enc_done .align 16 .L052xts_enc_three: movaps %xmm1,%xmm7 movups (%esi),%xmm2 movups 16(%esi),%xmm3 movups 32(%esi),%xmm4 leal 48(%esi),%esi xorps %xmm5,%xmm2 xorps %xmm6,%xmm3 xorps %xmm7,%xmm4 call _aesni_encrypt3 xorps %xmm5,%xmm2 xorps %xmm6,%xmm3 xorps %xmm7,%xmm4 movups %xmm2,(%edi) movups %xmm3,16(%edi) movups %xmm4,32(%edi) leal 48(%edi),%edi movdqa %xmm7,%xmm1 jmp .L054xts_enc_done .align 16 .L053xts_enc_four: movaps %xmm1,%xmm6 movups (%esi),%xmm2 movups 16(%esi),%xmm3 movups 32(%esi),%xmm4 xorps (%esp),%xmm2 movups 48(%esi),%xmm5 leal 64(%esi),%esi xorps 16(%esp),%xmm3 xorps %xmm7,%xmm4 xorps %xmm6,%xmm5 call _aesni_encrypt4 xorps (%esp),%xmm2 xorps 16(%esp),%xmm3 xorps %xmm7,%xmm4 movups %xmm2,(%edi) xorps %xmm6,%xmm5 movups %xmm3,16(%edi) movups %xmm4,32(%edi) movups %xmm5,48(%edi) leal 64(%edi),%edi movdqa %xmm6,%xmm1 jmp .L054xts_enc_done .align 16 .L049xts_enc_done6x: movl 112(%esp),%eax andl $15,%eax jz .L056xts_enc_ret movdqa %xmm1,%xmm5 movl %eax,112(%esp) jmp .L057xts_enc_steal .align 16 .L054xts_enc_done: movl 112(%esp),%eax pxor %xmm0,%xmm0 andl $15,%eax jz .L056xts_enc_ret pcmpgtd %xmm1,%xmm0 movl %eax,112(%esp) pshufd $19,%xmm0,%xmm5 paddq %xmm1,%xmm1 pand 96(%esp),%xmm5 pxor %xmm1,%xmm5 .L057xts_enc_steal: movzbl (%esi),%ecx movzbl -16(%edi),%edx leal 1(%esi),%esi movb %cl,-16(%edi) movb %dl,(%edi) leal 1(%edi),%edi subl $1,%eax jnz .L057xts_enc_steal subl 112(%esp),%edi movl %ebp,%edx movl %ebx,%ecx movups -16(%edi),%xmm2 xorps %xmm5,%xmm2 movups (%edx),%xmm0 movups 16(%edx),%xmm1 leal 32(%edx),%edx xorps %xmm0,%xmm2 .L058enc1_loop_10: .byte 102,15,56,220,209 decl %ecx movups (%edx),%xmm1 leal 16(%edx),%edx jnz .L058enc1_loop_10 .byte 102,15,56,221,209 xorps %xmm5,%xmm2 movups %xmm2,-16(%edi) .L056xts_enc_ret: pxor %xmm0,%xmm0 pxor %xmm1,%xmm1 pxor %xmm2,%xmm2 movdqa %xmm0,(%esp) pxor %xmm3,%xmm3 movdqa %xmm0,16(%esp) pxor %xmm4,%xmm4 movdqa %xmm0,32(%esp) pxor %xmm5,%xmm5 movdqa %xmm0,48(%esp) pxor %xmm6,%xmm6 movdqa %xmm0,64(%esp) pxor %xmm7,%xmm7 movdqa %xmm0,80(%esp) movl 116(%esp),%esp popl %edi popl %esi popl %ebx popl %ebp ret .size aesni_xts_encrypt,.-.L_aesni_xts_encrypt_begin .globl aesni_xts_decrypt .type aesni_xts_decrypt,@function .align 16 aesni_xts_decrypt: .L_aesni_xts_decrypt_begin: pushl %ebp pushl %ebx pushl %esi pushl %edi movl 36(%esp),%edx movl 40(%esp),%esi movl 240(%edx),%ecx movups (%esi),%xmm2 movups (%edx),%xmm0 movups 16(%edx),%xmm1 leal 32(%edx),%edx xorps %xmm0,%xmm2 .L059enc1_loop_11: .byte 102,15,56,220,209 decl %ecx movups (%edx),%xmm1 leal 16(%edx),%edx jnz .L059enc1_loop_11 .byte 102,15,56,221,209 movl 20(%esp),%esi movl 24(%esp),%edi movl 28(%esp),%eax movl 32(%esp),%edx movl %esp,%ebp subl $120,%esp andl $-16,%esp xorl %ebx,%ebx testl $15,%eax setnz %bl shll $4,%ebx subl %ebx,%eax movl $135,96(%esp) movl $0,100(%esp) movl $1,104(%esp) movl $0,108(%esp) movl %eax,112(%esp) movl %ebp,116(%esp) movl 240(%edx),%ecx movl %edx,%ebp movl %ecx,%ebx movdqa %xmm2,%xmm1 pxor %xmm0,%xmm0 movdqa 96(%esp),%xmm3 pcmpgtd %xmm1,%xmm0 andl $-16,%eax subl $96,%eax jc .L060xts_dec_short shll $4,%ecx movl $16,%ebx subl %ecx,%ebx leal 32(%edx,%ecx,1),%edx jmp .L061xts_dec_loop6 .align 16 .L061xts_dec_loop6: pshufd $19,%xmm0,%xmm2 pxor %xmm0,%xmm0 movdqa %xmm1,(%esp) paddq %xmm1,%xmm1 pand %xmm3,%xmm2 pcmpgtd %xmm1,%xmm0 pxor %xmm2,%xmm1 pshufd $19,%xmm0,%xmm2 pxor %xmm0,%xmm0 movdqa %xmm1,16(%esp) paddq %xmm1,%xmm1 pand %xmm3,%xmm2 pcmpgtd %xmm1,%xmm0 pxor %xmm2,%xmm1 pshufd $19,%xmm0,%xmm2 pxor %xmm0,%xmm0 movdqa %xmm1,32(%esp) paddq %xmm1,%xmm1 pand %xmm3,%xmm2 pcmpgtd %xmm1,%xmm0 pxor %xmm2,%xmm1 pshufd $19,%xmm0,%xmm2 pxor %xmm0,%xmm0 movdqa %xmm1,48(%esp) paddq %xmm1,%xmm1 pand %xmm3,%xmm2 pcmpgtd %xmm1,%xmm0 pxor %xmm2,%xmm1 pshufd $19,%xmm0,%xmm7 movdqa %xmm1,64(%esp) paddq %xmm1,%xmm1 movups (%ebp),%xmm0 pand %xmm3,%xmm7 movups (%esi),%xmm2 pxor %xmm1,%xmm7 movl %ebx,%ecx movdqu 16(%esi),%xmm3 xorps %xmm0,%xmm2 movdqu 32(%esi),%xmm4 pxor %xmm0,%xmm3 movdqu 48(%esi),%xmm5 pxor %xmm0,%xmm4 movdqu 64(%esi),%xmm6 pxor %xmm0,%xmm5 movdqu 80(%esi),%xmm1 pxor %xmm0,%xmm6 leal 96(%esi),%esi pxor (%esp),%xmm2 movdqa %xmm7,80(%esp) pxor %xmm1,%xmm7 movups 16(%ebp),%xmm1 pxor 16(%esp),%xmm3 pxor 32(%esp),%xmm4 .byte 102,15,56,222,209 pxor 48(%esp),%xmm5 pxor 64(%esp),%xmm6 .byte 102,15,56,222,217 pxor %xmm0,%xmm7 movups 32(%ebp),%xmm0 .byte 102,15,56,222,225 .byte 102,15,56,222,233 .byte 102,15,56,222,241 .byte 102,15,56,222,249 call .L_aesni_decrypt6_enter movdqa 80(%esp),%xmm1 pxor %xmm0,%xmm0 xorps (%esp),%xmm2 pcmpgtd %xmm1,%xmm0 xorps 16(%esp),%xmm3 movups %xmm2,(%edi) xorps 32(%esp),%xmm4 movups %xmm3,16(%edi) xorps 48(%esp),%xmm5 movups %xmm4,32(%edi) xorps 64(%esp),%xmm6 movups %xmm5,48(%edi) xorps %xmm1,%xmm7 movups %xmm6,64(%edi) pshufd $19,%xmm0,%xmm2 movups %xmm7,80(%edi) leal 96(%edi),%edi movdqa 96(%esp),%xmm3 pxor %xmm0,%xmm0 paddq %xmm1,%xmm1 pand %xmm3,%xmm2 pcmpgtd %xmm1,%xmm0 pxor %xmm2,%xmm1 subl $96,%eax jnc .L061xts_dec_loop6 movl 240(%ebp),%ecx movl %ebp,%edx movl %ecx,%ebx .L060xts_dec_short: addl $96,%eax jz .L062xts_dec_done6x movdqa %xmm1,%xmm5 cmpl $32,%eax jb .L063xts_dec_one pshufd $19,%xmm0,%xmm2 pxor %xmm0,%xmm0 paddq %xmm1,%xmm1 pand %xmm3,%xmm2 pcmpgtd %xmm1,%xmm0 pxor %xmm2,%xmm1 je .L064xts_dec_two pshufd $19,%xmm0,%xmm2 pxor %xmm0,%xmm0 movdqa %xmm1,%xmm6 paddq %xmm1,%xmm1 pand %xmm3,%xmm2 pcmpgtd %xmm1,%xmm0 pxor %xmm2,%xmm1 cmpl $64,%eax jb .L065xts_dec_three pshufd $19,%xmm0,%xmm2 pxor %xmm0,%xmm0 movdqa %xmm1,%xmm7 paddq %xmm1,%xmm1 pand %xmm3,%xmm2 pcmpgtd %xmm1,%xmm0 pxor %xmm2,%xmm1 movdqa %xmm5,(%esp) movdqa %xmm6,16(%esp) je .L066xts_dec_four movdqa %xmm7,32(%esp) pshufd $19,%xmm0,%xmm7 movdqa %xmm1,48(%esp) paddq %xmm1,%xmm1 pand %xmm3,%xmm7 pxor %xmm1,%xmm7 movdqu (%esi),%xmm2 movdqu 16(%esi),%xmm3 movdqu 32(%esi),%xmm4 pxor (%esp),%xmm2 movdqu 48(%esi),%xmm5 pxor 16(%esp),%xmm3 movdqu 64(%esi),%xmm6 pxor 32(%esp),%xmm4 leal 80(%esi),%esi pxor 48(%esp),%xmm5 movdqa %xmm7,64(%esp) pxor %xmm7,%xmm6 call _aesni_decrypt6 movaps 64(%esp),%xmm1 xorps (%esp),%xmm2 xorps 16(%esp),%xmm3 xorps 32(%esp),%xmm4 movups %xmm2,(%edi) xorps 48(%esp),%xmm5 movups %xmm3,16(%edi) xorps %xmm1,%xmm6 movups %xmm4,32(%edi) movups %xmm5,48(%edi) movups %xmm6,64(%edi) leal 80(%edi),%edi jmp .L067xts_dec_done .align 16 .L063xts_dec_one: movups (%esi),%xmm2 leal 16(%esi),%esi xorps %xmm5,%xmm2 movups (%edx),%xmm0 movups 16(%edx),%xmm1 leal 32(%edx),%edx xorps %xmm0,%xmm2 .L068dec1_loop_12: .byte 102,15,56,222,209 decl %ecx movups (%edx),%xmm1 leal 16(%edx),%edx jnz .L068dec1_loop_12 .byte 102,15,56,223,209 xorps %xmm5,%xmm2 movups %xmm2,(%edi) leal 16(%edi),%edi movdqa %xmm5,%xmm1 jmp .L067xts_dec_done .align 16 .L064xts_dec_two: movaps %xmm1,%xmm6 movups (%esi),%xmm2 movups 16(%esi),%xmm3 leal 32(%esi),%esi xorps %xmm5,%xmm2 xorps %xmm6,%xmm3 call _aesni_decrypt2 xorps %xmm5,%xmm2 xorps %xmm6,%xmm3 movups %xmm2,(%edi) movups %xmm3,16(%edi) leal 32(%edi),%edi movdqa %xmm6,%xmm1 jmp .L067xts_dec_done .align 16 .L065xts_dec_three: movaps %xmm1,%xmm7 movups (%esi),%xmm2 movups 16(%esi),%xmm3 movups 32(%esi),%xmm4 leal 48(%esi),%esi xorps %xmm5,%xmm2 xorps %xmm6,%xmm3 xorps %xmm7,%xmm4 call _aesni_decrypt3 xorps %xmm5,%xmm2 xorps %xmm6,%xmm3 xorps %xmm7,%xmm4 movups %xmm2,(%edi) movups %xmm3,16(%edi) movups %xmm4,32(%edi) leal 48(%edi),%edi movdqa %xmm7,%xmm1 jmp .L067xts_dec_done .align 16 .L066xts_dec_four: movaps %xmm1,%xmm6 movups (%esi),%xmm2 movups 16(%esi),%xmm3 movups 32(%esi),%xmm4 xorps (%esp),%xmm2 movups 48(%esi),%xmm5 leal 64(%esi),%esi xorps 16(%esp),%xmm3 xorps %xmm7,%xmm4 xorps %xmm6,%xmm5 call _aesni_decrypt4 xorps (%esp),%xmm2 xorps 16(%esp),%xmm3 xorps %xmm7,%xmm4 movups %xmm2,(%edi) xorps %xmm6,%xmm5 movups %xmm3,16(%edi) movups %xmm4,32(%edi) movups %xmm5,48(%edi) leal 64(%edi),%edi movdqa %xmm6,%xmm1 jmp .L067xts_dec_done .align 16 .L062xts_dec_done6x: movl 112(%esp),%eax andl $15,%eax jz .L069xts_dec_ret movl %eax,112(%esp) jmp .L070xts_dec_only_one_more .align 16 .L067xts_dec_done: movl 112(%esp),%eax pxor %xmm0,%xmm0 andl $15,%eax jz .L069xts_dec_ret pcmpgtd %xmm1,%xmm0 movl %eax,112(%esp) pshufd $19,%xmm0,%xmm2 pxor %xmm0,%xmm0 movdqa 96(%esp),%xmm3 paddq %xmm1,%xmm1 pand %xmm3,%xmm2 pcmpgtd %xmm1,%xmm0 pxor %xmm2,%xmm1 .L070xts_dec_only_one_more: pshufd $19,%xmm0,%xmm5 movdqa %xmm1,%xmm6 paddq %xmm1,%xmm1 pand %xmm3,%xmm5 pxor %xmm1,%xmm5 movl %ebp,%edx movl %ebx,%ecx movups (%esi),%xmm2 xorps %xmm5,%xmm2 movups (%edx),%xmm0 movups 16(%edx),%xmm1 leal 32(%edx),%edx xorps %xmm0,%xmm2 .L071dec1_loop_13: .byte 102,15,56,222,209 decl %ecx movups (%edx),%xmm1 leal 16(%edx),%edx jnz .L071dec1_loop_13 .byte 102,15,56,223,209 xorps %xmm5,%xmm2 movups %xmm2,(%edi) .L072xts_dec_steal: movzbl 16(%esi),%ecx movzbl (%edi),%edx leal 1(%esi),%esi movb %cl,(%edi) movb %dl,16(%edi) leal 1(%edi),%edi subl $1,%eax jnz .L072xts_dec_steal subl 112(%esp),%edi movl %ebp,%edx movl %ebx,%ecx movups (%edi),%xmm2 xorps %xmm6,%xmm2 movups (%edx),%xmm0 movups 16(%edx),%xmm1 leal 32(%edx),%edx xorps %xmm0,%xmm2 .L073dec1_loop_14: .byte 102,15,56,222,209 decl %ecx movups (%edx),%xmm1 leal 16(%edx),%edx jnz .L073dec1_loop_14 .byte 102,15,56,223,209 xorps %xmm6,%xmm2 movups %xmm2,(%edi) .L069xts_dec_ret: pxor %xmm0,%xmm0 pxor %xmm1,%xmm1 pxor %xmm2,%xmm2 movdqa %xmm0,(%esp) pxor %xmm3,%xmm3 movdqa %xmm0,16(%esp) pxor %xmm4,%xmm4 movdqa %xmm0,32(%esp) pxor %xmm5,%xmm5 movdqa %xmm0,48(%esp) pxor %xmm6,%xmm6 movdqa %xmm0,64(%esp) pxor %xmm7,%xmm7 movdqa %xmm0,80(%esp) movl 116(%esp),%esp popl %edi popl %esi popl %ebx popl %ebp ret .size aesni_xts_decrypt,.-.L_aesni_xts_decrypt_begin .globl aesni_cbc_encrypt .type aesni_cbc_encrypt,@function .align 16 aesni_cbc_encrypt: .L_aesni_cbc_encrypt_begin: pushl %ebp pushl %ebx pushl %esi pushl %edi movl 20(%esp),%esi movl %esp,%ebx movl 24(%esp),%edi subl $24,%ebx movl 28(%esp),%eax andl $-16,%ebx movl 32(%esp),%edx movl 36(%esp),%ebp testl %eax,%eax jz .L074cbc_abort cmpl $0,40(%esp) xchgl %esp,%ebx movups (%ebp),%xmm7 movl 240(%edx),%ecx movl %edx,%ebp movl %ebx,16(%esp) movl %ecx,%ebx je .L075cbc_decrypt movaps %xmm7,%xmm2 cmpl $16,%eax jb .L076cbc_enc_tail subl $16,%eax jmp .L077cbc_enc_loop .align 16 .L077cbc_enc_loop: movups (%esi),%xmm7 leal 16(%esi),%esi movups (%edx),%xmm0 movups 16(%edx),%xmm1 xorps %xmm0,%xmm7 leal 32(%edx),%edx xorps %xmm7,%xmm2 .L078enc1_loop_15: .byte 102,15,56,220,209 decl %ecx movups (%edx),%xmm1 leal 16(%edx),%edx jnz .L078enc1_loop_15 .byte 102,15,56,221,209 movl %ebx,%ecx movl %ebp,%edx movups %xmm2,(%edi) leal 16(%edi),%edi subl $16,%eax jnc .L077cbc_enc_loop addl $16,%eax jnz .L076cbc_enc_tail movaps %xmm2,%xmm7 pxor %xmm2,%xmm2 jmp .L079cbc_ret .L076cbc_enc_tail: movl %eax,%ecx .long 2767451785 movl $16,%ecx subl %eax,%ecx xorl %eax,%eax .long 2868115081 leal -16(%edi),%edi movl %ebx,%ecx movl %edi,%esi movl %ebp,%edx jmp .L077cbc_enc_loop .align 16 .L075cbc_decrypt: cmpl $80,%eax jbe .L080cbc_dec_tail movaps %xmm7,(%esp) subl $80,%eax jmp .L081cbc_dec_loop6_enter .align 16 .L082cbc_dec_loop6: movaps %xmm0,(%esp) movups %xmm7,(%edi) leal 16(%edi),%edi .L081cbc_dec_loop6_enter: movdqu (%esi),%xmm2 movdqu 16(%esi),%xmm3 movdqu 32(%esi),%xmm4 movdqu 48(%esi),%xmm5 movdqu 64(%esi),%xmm6 movdqu 80(%esi),%xmm7 call _aesni_decrypt6 movups (%esi),%xmm1 movups 16(%esi),%xmm0 xorps (%esp),%xmm2 xorps %xmm1,%xmm3 movups 32(%esi),%xmm1 xorps %xmm0,%xmm4 movups 48(%esi),%xmm0 xorps %xmm1,%xmm5 movups 64(%esi),%xmm1 xorps %xmm0,%xmm6 movups 80(%esi),%xmm0 xorps %xmm1,%xmm7 movups %xmm2,(%edi) movups %xmm3,16(%edi) leal 96(%esi),%esi movups %xmm4,32(%edi) movl %ebx,%ecx movups %xmm5,48(%edi) movl %ebp,%edx movups %xmm6,64(%edi) leal 80(%edi),%edi subl $96,%eax ja .L082cbc_dec_loop6 movaps %xmm7,%xmm2 movaps %xmm0,%xmm7 addl $80,%eax jle .L083cbc_dec_clear_tail_collected movups %xmm2,(%edi) leal 16(%edi),%edi .L080cbc_dec_tail: movups (%esi),%xmm2 movaps %xmm2,%xmm6 cmpl $16,%eax jbe .L084cbc_dec_one movups 16(%esi),%xmm3 movaps %xmm3,%xmm5 cmpl $32,%eax jbe .L085cbc_dec_two movups 32(%esi),%xmm4 cmpl $48,%eax jbe .L086cbc_dec_three movups 48(%esi),%xmm5 cmpl $64,%eax jbe .L087cbc_dec_four movups 64(%esi),%xmm6 movaps %xmm7,(%esp) movups (%esi),%xmm2 xorps %xmm7,%xmm7 call _aesni_decrypt6 movups (%esi),%xmm1 movups 16(%esi),%xmm0 xorps (%esp),%xmm2 xorps %xmm1,%xmm3 movups 32(%esi),%xmm1 xorps %xmm0,%xmm4 movups 48(%esi),%xmm0 xorps %xmm1,%xmm5 movups 64(%esi),%xmm7 xorps %xmm0,%xmm6 movups %xmm2,(%edi) movups %xmm3,16(%edi) pxor %xmm3,%xmm3 movups %xmm4,32(%edi) pxor %xmm4,%xmm4 movups %xmm5,48(%edi) pxor %xmm5,%xmm5 leal 64(%edi),%edi movaps %xmm6,%xmm2 pxor %xmm6,%xmm6 subl $80,%eax jmp .L088cbc_dec_tail_collected .align 16 .L084cbc_dec_one: movups (%edx),%xmm0 movups 16(%edx),%xmm1 leal 32(%edx),%edx xorps %xmm0,%xmm2 .L089dec1_loop_16: .byte 102,15,56,222,209 decl %ecx movups (%edx),%xmm1 leal 16(%edx),%edx jnz .L089dec1_loop_16 .byte 102,15,56,223,209 xorps %xmm7,%xmm2 movaps %xmm6,%xmm7 subl $16,%eax jmp .L088cbc_dec_tail_collected .align 16 .L085cbc_dec_two: call _aesni_decrypt2 xorps %xmm7,%xmm2 xorps %xmm6,%xmm3 movups %xmm2,(%edi) movaps %xmm3,%xmm2 pxor %xmm3,%xmm3 leal 16(%edi),%edi movaps %xmm5,%xmm7 subl $32,%eax jmp .L088cbc_dec_tail_collected .align 16 .L086cbc_dec_three: call _aesni_decrypt3 xorps %xmm7,%xmm2 xorps %xmm6,%xmm3 xorps %xmm5,%xmm4 movups %xmm2,(%edi) movaps %xmm4,%xmm2 pxor %xmm4,%xmm4 movups %xmm3,16(%edi) pxor %xmm3,%xmm3 leal 32(%edi),%edi movups 32(%esi),%xmm7 subl $48,%eax jmp .L088cbc_dec_tail_collected .align 16 .L087cbc_dec_four: call _aesni_decrypt4 movups 16(%esi),%xmm1 movups 32(%esi),%xmm0 xorps %xmm7,%xmm2 movups 48(%esi),%xmm7 xorps %xmm6,%xmm3 movups %xmm2,(%edi) xorps %xmm1,%xmm4 movups %xmm3,16(%edi) pxor %xmm3,%xmm3 xorps %xmm0,%xmm5 movups %xmm4,32(%edi) pxor %xmm4,%xmm4 leal 48(%edi),%edi movaps %xmm5,%xmm2 pxor %xmm5,%xmm5 subl $64,%eax jmp .L088cbc_dec_tail_collected .align 16 .L083cbc_dec_clear_tail_collected: pxor %xmm3,%xmm3 pxor %xmm4,%xmm4 pxor %xmm5,%xmm5 pxor %xmm6,%xmm6 .L088cbc_dec_tail_collected: andl $15,%eax jnz .L090cbc_dec_tail_partial movups %xmm2,(%edi) pxor %xmm0,%xmm0 jmp .L079cbc_ret .align 16 .L090cbc_dec_tail_partial: movaps %xmm2,(%esp) pxor %xmm0,%xmm0 movl $16,%ecx movl %esp,%esi subl %eax,%ecx .long 2767451785 movdqa %xmm2,(%esp) .L079cbc_ret: movl 16(%esp),%esp movl 36(%esp),%ebp pxor %xmm2,%xmm2 pxor %xmm1,%xmm1 movups %xmm7,(%ebp) pxor %xmm7,%xmm7 .L074cbc_abort: popl %edi popl %esi popl %ebx popl %ebp ret .size aesni_cbc_encrypt,.-.L_aesni_cbc_encrypt_begin .type _aesni_set_encrypt_key,@function .align 16 _aesni_set_encrypt_key: pushl %ebp pushl %ebx testl %eax,%eax jz .L091bad_pointer testl %edx,%edx jz .L091bad_pointer call .L092pic .L092pic: popl %ebx leal .Lkey_const-.L092pic(%ebx),%ebx leal OPENSSL_ia32cap_P,%ebp movups (%eax),%xmm0 xorps %xmm4,%xmm4 movl 4(%ebp),%ebp leal 16(%edx),%edx andl $268437504,%ebp cmpl $256,%ecx je .L09314rounds cmpl $192,%ecx je .L09412rounds cmpl $128,%ecx jne .L095bad_keybits .align 16 .L09610rounds: cmpl $268435456,%ebp je .L09710rounds_alt movl $9,%ecx movups %xmm0,-16(%edx) .byte 102,15,58,223,200,1 call .L098key_128_cold .byte 102,15,58,223,200,2 call .L099key_128 .byte 102,15,58,223,200,4 call .L099key_128 .byte 102,15,58,223,200,8 call .L099key_128 .byte 102,15,58,223,200,16 call .L099key_128 .byte 102,15,58,223,200,32 call .L099key_128 .byte 102,15,58,223,200,64 call .L099key_128 .byte 102,15,58,223,200,128 call .L099key_128 .byte 102,15,58,223,200,27 call .L099key_128 .byte 102,15,58,223,200,54 call .L099key_128 movups %xmm0,(%edx) movl %ecx,80(%edx) jmp .L100good_key .align 16 .L099key_128: movups %xmm0,(%edx) leal 16(%edx),%edx .L098key_128_cold: shufps $16,%xmm0,%xmm4 xorps %xmm4,%xmm0 shufps $140,%xmm0,%xmm4 xorps %xmm4,%xmm0 shufps $255,%xmm1,%xmm1 xorps %xmm1,%xmm0 ret .align 16 .L09710rounds_alt: movdqa (%ebx),%xmm5 movl $8,%ecx movdqa 32(%ebx),%xmm4 movdqa %xmm0,%xmm2 movdqu %xmm0,-16(%edx) .L101loop_key128: .byte 102,15,56,0,197 .byte 102,15,56,221,196 pslld $1,%xmm4 leal 16(%edx),%edx movdqa %xmm2,%xmm3 pslldq $4,%xmm2 pxor %xmm2,%xmm3 pslldq $4,%xmm2 pxor %xmm2,%xmm3 pslldq $4,%xmm2 pxor %xmm3,%xmm2 pxor %xmm2,%xmm0 movdqu %xmm0,-16(%edx) movdqa %xmm0,%xmm2 decl %ecx jnz .L101loop_key128 movdqa 48(%ebx),%xmm4 .byte 102,15,56,0,197 .byte 102,15,56,221,196 pslld $1,%xmm4 movdqa %xmm2,%xmm3 pslldq $4,%xmm2 pxor %xmm2,%xmm3 pslldq $4,%xmm2 pxor %xmm2,%xmm3 pslldq $4,%xmm2 pxor %xmm3,%xmm2 pxor %xmm2,%xmm0 movdqu %xmm0,(%edx) movdqa %xmm0,%xmm2 .byte 102,15,56,0,197 .byte 102,15,56,221,196 movdqa %xmm2,%xmm3 pslldq $4,%xmm2 pxor %xmm2,%xmm3 pslldq $4,%xmm2 pxor %xmm2,%xmm3 pslldq $4,%xmm2 pxor %xmm3,%xmm2 pxor %xmm2,%xmm0 movdqu %xmm0,16(%edx) movl $9,%ecx movl %ecx,96(%edx) jmp .L100good_key .align 16 .L09412rounds: movq 16(%eax),%xmm2 cmpl $268435456,%ebp je .L10212rounds_alt movl $11,%ecx movups %xmm0,-16(%edx) .byte 102,15,58,223,202,1 call .L103key_192a_cold .byte 102,15,58,223,202,2 call .L104key_192b .byte 102,15,58,223,202,4 call .L105key_192a .byte 102,15,58,223,202,8 call .L104key_192b .byte 102,15,58,223,202,16 call .L105key_192a .byte 102,15,58,223,202,32 call .L104key_192b .byte 102,15,58,223,202,64 call .L105key_192a .byte 102,15,58,223,202,128 call .L104key_192b movups %xmm0,(%edx) movl %ecx,48(%edx) jmp .L100good_key .align 16 .L105key_192a: movups %xmm0,(%edx) leal 16(%edx),%edx .align 16 .L103key_192a_cold: movaps %xmm2,%xmm5 .L106key_192b_warm: shufps $16,%xmm0,%xmm4 movdqa %xmm2,%xmm3 xorps %xmm4,%xmm0 shufps $140,%xmm0,%xmm4 pslldq $4,%xmm3 xorps %xmm4,%xmm0 pshufd $85,%xmm1,%xmm1 pxor %xmm3,%xmm2 pxor %xmm1,%xmm0 pshufd $255,%xmm0,%xmm3 pxor %xmm3,%xmm2 ret .align 16 .L104key_192b: movaps %xmm0,%xmm3 shufps $68,%xmm0,%xmm5 movups %xmm5,(%edx) shufps $78,%xmm2,%xmm3 movups %xmm3,16(%edx) leal 32(%edx),%edx jmp .L106key_192b_warm .align 16 .L10212rounds_alt: movdqa 16(%ebx),%xmm5 movdqa 32(%ebx),%xmm4 movl $8,%ecx movdqu %xmm0,-16(%edx) .L107loop_key192: movq %xmm2,(%edx) movdqa %xmm2,%xmm1 .byte 102,15,56,0,213 .byte 102,15,56,221,212 pslld $1,%xmm4 leal 24(%edx),%edx movdqa %xmm0,%xmm3 pslldq $4,%xmm0 pxor %xmm0,%xmm3 pslldq $4,%xmm0 pxor %xmm0,%xmm3 pslldq $4,%xmm0 pxor %xmm3,%xmm0 pshufd $255,%xmm0,%xmm3 pxor %xmm1,%xmm3 pslldq $4,%xmm1 pxor %xmm1,%xmm3 pxor %xmm2,%xmm0 pxor %xmm3,%xmm2 movdqu %xmm0,-16(%edx) decl %ecx jnz .L107loop_key192 movl $11,%ecx movl %ecx,32(%edx) jmp .L100good_key .align 16 .L09314rounds: movups 16(%eax),%xmm2 leal 16(%edx),%edx cmpl $268435456,%ebp je .L10814rounds_alt movl $13,%ecx movups %xmm0,-32(%edx) movups %xmm2,-16(%edx) .byte 102,15,58,223,202,1 call .L109key_256a_cold .byte 102,15,58,223,200,1 call .L110key_256b .byte 102,15,58,223,202,2 call .L111key_256a .byte 102,15,58,223,200,2 call .L110key_256b .byte 102,15,58,223,202,4 call .L111key_256a .byte 102,15,58,223,200,4 call .L110key_256b .byte 102,15,58,223,202,8 call .L111key_256a .byte 102,15,58,223,200,8 call .L110key_256b .byte 102,15,58,223,202,16 call .L111key_256a .byte 102,15,58,223,200,16 call .L110key_256b .byte 102,15,58,223,202,32 call .L111key_256a .byte 102,15,58,223,200,32 call .L110key_256b .byte 102,15,58,223,202,64 call .L111key_256a movups %xmm0,(%edx) movl %ecx,16(%edx) xorl %eax,%eax jmp .L100good_key .align 16 .L111key_256a: movups %xmm2,(%edx) leal 16(%edx),%edx .L109key_256a_cold: shufps $16,%xmm0,%xmm4 xorps %xmm4,%xmm0 shufps $140,%xmm0,%xmm4 xorps %xmm4,%xmm0 shufps $255,%xmm1,%xmm1 xorps %xmm1,%xmm0 ret .align 16 .L110key_256b: movups %xmm0,(%edx) leal 16(%edx),%edx shufps $16,%xmm2,%xmm4 xorps %xmm4,%xmm2 shufps $140,%xmm2,%xmm4 xorps %xmm4,%xmm2 shufps $170,%xmm1,%xmm1 xorps %xmm1,%xmm2 ret .align 16 .L10814rounds_alt: movdqa (%ebx),%xmm5 movdqa 32(%ebx),%xmm4 movl $7,%ecx movdqu %xmm0,-32(%edx) movdqa %xmm2,%xmm1 movdqu %xmm2,-16(%edx) .L112loop_key256: .byte 102,15,56,0,213 .byte 102,15,56,221,212 movdqa %xmm0,%xmm3 pslldq $4,%xmm0 pxor %xmm0,%xmm3 pslldq $4,%xmm0 pxor %xmm0,%xmm3 pslldq $4,%xmm0 pxor %xmm3,%xmm0 pslld $1,%xmm4 pxor %xmm2,%xmm0 movdqu %xmm0,(%edx) decl %ecx jz .L113done_key256 pshufd $255,%xmm0,%xmm2 pxor %xmm3,%xmm3 .byte 102,15,56,221,211 movdqa %xmm1,%xmm3 pslldq $4,%xmm1 pxor %xmm1,%xmm3 pslldq $4,%xmm1 pxor %xmm1,%xmm3 pslldq $4,%xmm1 pxor %xmm3,%xmm1 pxor %xmm1,%xmm2 movdqu %xmm2,16(%edx) leal 32(%edx),%edx movdqa %xmm2,%xmm1 jmp .L112loop_key256 .L113done_key256: movl $13,%ecx movl %ecx,16(%edx) .L100good_key: pxor %xmm0,%xmm0 pxor %xmm1,%xmm1 pxor %xmm2,%xmm2 pxor %xmm3,%xmm3 pxor %xmm4,%xmm4 pxor %xmm5,%xmm5 xorl %eax,%eax popl %ebx popl %ebp ret .align 4 .L091bad_pointer: movl $-1,%eax popl %ebx popl %ebp ret .align 4 .L095bad_keybits: pxor %xmm0,%xmm0 movl $-2,%eax popl %ebx popl %ebp ret .size _aesni_set_encrypt_key,.-_aesni_set_encrypt_key .globl aesni_set_encrypt_key .type aesni_set_encrypt_key,@function .align 16 aesni_set_encrypt_key: .L_aesni_set_encrypt_key_begin: movl 4(%esp),%eax movl 8(%esp),%ecx movl 12(%esp),%edx call _aesni_set_encrypt_key ret .size aesni_set_encrypt_key,.-.L_aesni_set_encrypt_key_begin .globl aesni_set_decrypt_key .type aesni_set_decrypt_key,@function .align 16 aesni_set_decrypt_key: .L_aesni_set_decrypt_key_begin: movl 4(%esp),%eax movl 8(%esp),%ecx movl 12(%esp),%edx call _aesni_set_encrypt_key movl 12(%esp),%edx shll $4,%ecx testl %eax,%eax jnz .L114dec_key_ret leal 16(%edx,%ecx,1),%eax movups (%edx),%xmm0 movups (%eax),%xmm1 movups %xmm0,(%eax) movups %xmm1,(%edx) leal 16(%edx),%edx leal -16(%eax),%eax .L115dec_key_inverse: movups (%edx),%xmm0 movups (%eax),%xmm1 .byte 102,15,56,219,192 .byte 102,15,56,219,201 leal 16(%edx),%edx leal -16(%eax),%eax movups %xmm0,16(%eax) movups %xmm1,-16(%edx) cmpl %edx,%eax ja .L115dec_key_inverse movups (%edx),%xmm0 .byte 102,15,56,219,192 movups %xmm0,(%edx) pxor %xmm0,%xmm0 pxor %xmm1,%xmm1 xorl %eax,%eax .L114dec_key_ret: ret .size aesni_set_decrypt_key,.-.L_aesni_set_decrypt_key_begin .align 64 .Lkey_const: .long 202313229,202313229,202313229,202313229 .long 67569157,67569157,67569157,67569157 .long 1,1,1,1 .long 27,27,27,27 .byte 65,69,83,32,102,111,114,32,73,110,116,101,108,32,65,69 .byte 83,45,78,73,44,32,67,82,89,80,84,79,71,65,77,83 .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 .comm OPENSSL_ia32cap_P,16,4 Index: projects/openssl-1.0.2/secure/lib/libcrypto/i386/bn-586.s =================================================================== --- projects/openssl-1.0.2/secure/lib/libcrypto/i386/bn-586.s (revision 290075) +++ projects/openssl-1.0.2/secure/lib/libcrypto/i386/bn-586.s (revision 290076) @@ -1,1522 +1,1522 @@ # $FreeBSD$ -.file "/root/secure/lib/libcrypto/../../../crypto/openssl/crypto/bn/asm/bn-586.s" +.file "bn-586.s" .text .globl bn_mul_add_words .type bn_mul_add_words,@function .align 16 bn_mul_add_words: .L_bn_mul_add_words_begin: leal OPENSSL_ia32cap_P,%eax btl $26,(%eax) jnc .L000maw_non_sse2 movl 4(%esp),%eax movl 8(%esp),%edx movl 12(%esp),%ecx movd 16(%esp),%mm0 pxor %mm1,%mm1 jmp .L001maw_sse2_entry .align 16 .L002maw_sse2_unrolled: movd (%eax),%mm3 paddq %mm3,%mm1 movd (%edx),%mm2 pmuludq %mm0,%mm2 movd 4(%edx),%mm4 pmuludq %mm0,%mm4 movd 8(%edx),%mm6 pmuludq %mm0,%mm6 movd 12(%edx),%mm7 pmuludq %mm0,%mm7 paddq %mm2,%mm1 movd 4(%eax),%mm3 paddq %mm4,%mm3 movd 8(%eax),%mm5 paddq %mm6,%mm5 movd 12(%eax),%mm4 paddq %mm4,%mm7 movd %mm1,(%eax) movd 16(%edx),%mm2 pmuludq %mm0,%mm2 psrlq $32,%mm1 movd 20(%edx),%mm4 pmuludq %mm0,%mm4 paddq %mm3,%mm1 movd 24(%edx),%mm6 pmuludq %mm0,%mm6 movd %mm1,4(%eax) psrlq $32,%mm1 movd 28(%edx),%mm3 addl $32,%edx pmuludq %mm0,%mm3 paddq %mm5,%mm1 movd 16(%eax),%mm5 paddq %mm5,%mm2 movd %mm1,8(%eax) psrlq $32,%mm1 paddq %mm7,%mm1 movd 20(%eax),%mm5 paddq %mm5,%mm4 movd %mm1,12(%eax) psrlq $32,%mm1 paddq %mm2,%mm1 movd 24(%eax),%mm5 paddq %mm5,%mm6 movd %mm1,16(%eax) psrlq $32,%mm1 paddq %mm4,%mm1 movd 28(%eax),%mm5 paddq %mm5,%mm3 movd %mm1,20(%eax) psrlq $32,%mm1 paddq %mm6,%mm1 movd %mm1,24(%eax) psrlq $32,%mm1 paddq %mm3,%mm1 movd %mm1,28(%eax) leal 32(%eax),%eax psrlq $32,%mm1 subl $8,%ecx jz .L003maw_sse2_exit .L001maw_sse2_entry: testl $4294967288,%ecx jnz .L002maw_sse2_unrolled .align 4 .L004maw_sse2_loop: movd (%edx),%mm2 movd (%eax),%mm3 pmuludq %mm0,%mm2 leal 4(%edx),%edx paddq %mm3,%mm1 paddq %mm2,%mm1 movd %mm1,(%eax) subl $1,%ecx psrlq $32,%mm1 leal 4(%eax),%eax jnz .L004maw_sse2_loop .L003maw_sse2_exit: movd %mm1,%eax emms ret .align 16 .L000maw_non_sse2: pushl %ebp pushl %ebx pushl %esi pushl %edi xorl %esi,%esi movl 20(%esp),%edi movl 28(%esp),%ecx movl 24(%esp),%ebx andl $4294967288,%ecx movl 32(%esp),%ebp pushl %ecx jz .L005maw_finish .align 16 .L006maw_loop: movl (%ebx),%eax mull %ebp addl %esi,%eax adcl $0,%edx addl (%edi),%eax adcl $0,%edx movl %eax,(%edi) movl %edx,%esi movl 4(%ebx),%eax mull %ebp addl %esi,%eax adcl $0,%edx addl 4(%edi),%eax adcl $0,%edx movl %eax,4(%edi) movl %edx,%esi movl 8(%ebx),%eax mull %ebp addl %esi,%eax adcl $0,%edx addl 8(%edi),%eax adcl $0,%edx movl %eax,8(%edi) movl %edx,%esi movl 12(%ebx),%eax mull %ebp addl %esi,%eax adcl $0,%edx addl 12(%edi),%eax adcl $0,%edx movl %eax,12(%edi) movl %edx,%esi movl 16(%ebx),%eax mull %ebp addl %esi,%eax adcl $0,%edx addl 16(%edi),%eax adcl $0,%edx movl %eax,16(%edi) movl %edx,%esi movl 20(%ebx),%eax mull %ebp addl %esi,%eax adcl $0,%edx addl 20(%edi),%eax adcl $0,%edx movl %eax,20(%edi) movl %edx,%esi movl 24(%ebx),%eax mull %ebp addl %esi,%eax adcl $0,%edx addl 24(%edi),%eax adcl $0,%edx movl %eax,24(%edi) movl %edx,%esi movl 28(%ebx),%eax mull %ebp addl %esi,%eax adcl $0,%edx addl 28(%edi),%eax adcl $0,%edx movl %eax,28(%edi) movl %edx,%esi subl $8,%ecx leal 32(%ebx),%ebx leal 32(%edi),%edi jnz .L006maw_loop .L005maw_finish: movl 32(%esp),%ecx andl $7,%ecx jnz .L007maw_finish2 jmp .L008maw_end .L007maw_finish2: movl (%ebx),%eax mull %ebp addl %esi,%eax adcl $0,%edx addl (%edi),%eax adcl $0,%edx decl %ecx movl %eax,(%edi) movl %edx,%esi jz .L008maw_end movl 4(%ebx),%eax mull %ebp addl %esi,%eax adcl $0,%edx addl 4(%edi),%eax adcl $0,%edx decl %ecx movl %eax,4(%edi) movl %edx,%esi jz .L008maw_end movl 8(%ebx),%eax mull %ebp addl %esi,%eax adcl $0,%edx addl 8(%edi),%eax adcl $0,%edx decl %ecx movl %eax,8(%edi) movl %edx,%esi jz .L008maw_end movl 12(%ebx),%eax mull %ebp addl %esi,%eax adcl $0,%edx addl 12(%edi),%eax adcl $0,%edx decl %ecx movl %eax,12(%edi) movl %edx,%esi jz .L008maw_end movl 16(%ebx),%eax mull %ebp addl %esi,%eax adcl $0,%edx addl 16(%edi),%eax adcl $0,%edx decl %ecx movl %eax,16(%edi) movl %edx,%esi jz .L008maw_end movl 20(%ebx),%eax mull %ebp addl %esi,%eax adcl $0,%edx addl 20(%edi),%eax adcl $0,%edx decl %ecx movl %eax,20(%edi) movl %edx,%esi jz .L008maw_end movl 24(%ebx),%eax mull %ebp addl %esi,%eax adcl $0,%edx addl 24(%edi),%eax adcl $0,%edx movl %eax,24(%edi) movl %edx,%esi .L008maw_end: movl %esi,%eax popl %ecx popl %edi popl %esi popl %ebx popl %ebp ret .size bn_mul_add_words,.-.L_bn_mul_add_words_begin .globl bn_mul_words .type bn_mul_words,@function .align 16 bn_mul_words: .L_bn_mul_words_begin: leal OPENSSL_ia32cap_P,%eax btl $26,(%eax) jnc .L009mw_non_sse2 movl 4(%esp),%eax movl 8(%esp),%edx movl 12(%esp),%ecx movd 16(%esp),%mm0 pxor %mm1,%mm1 .align 16 .L010mw_sse2_loop: movd (%edx),%mm2 pmuludq %mm0,%mm2 leal 4(%edx),%edx paddq %mm2,%mm1 movd %mm1,(%eax) subl $1,%ecx psrlq $32,%mm1 leal 4(%eax),%eax jnz .L010mw_sse2_loop movd %mm1,%eax emms ret .align 16 .L009mw_non_sse2: pushl %ebp pushl %ebx pushl %esi pushl %edi xorl %esi,%esi movl 20(%esp),%edi movl 24(%esp),%ebx movl 28(%esp),%ebp movl 32(%esp),%ecx andl $4294967288,%ebp jz .L011mw_finish .L012mw_loop: movl (%ebx),%eax mull %ecx addl %esi,%eax adcl $0,%edx movl %eax,(%edi) movl %edx,%esi movl 4(%ebx),%eax mull %ecx addl %esi,%eax adcl $0,%edx movl %eax,4(%edi) movl %edx,%esi movl 8(%ebx),%eax mull %ecx addl %esi,%eax adcl $0,%edx movl %eax,8(%edi) movl %edx,%esi movl 12(%ebx),%eax mull %ecx addl %esi,%eax adcl $0,%edx movl %eax,12(%edi) movl %edx,%esi movl 16(%ebx),%eax mull %ecx addl %esi,%eax adcl $0,%edx movl %eax,16(%edi) movl %edx,%esi movl 20(%ebx),%eax mull %ecx addl %esi,%eax adcl $0,%edx movl %eax,20(%edi) movl %edx,%esi movl 24(%ebx),%eax mull %ecx addl %esi,%eax adcl $0,%edx movl %eax,24(%edi) movl %edx,%esi movl 28(%ebx),%eax mull %ecx addl %esi,%eax adcl $0,%edx movl %eax,28(%edi) movl %edx,%esi addl $32,%ebx addl $32,%edi subl $8,%ebp jz .L011mw_finish jmp .L012mw_loop .L011mw_finish: movl 28(%esp),%ebp andl $7,%ebp jnz .L013mw_finish2 jmp .L014mw_end .L013mw_finish2: movl (%ebx),%eax mull %ecx addl %esi,%eax adcl $0,%edx movl %eax,(%edi) movl %edx,%esi decl %ebp jz .L014mw_end movl 4(%ebx),%eax mull %ecx addl %esi,%eax adcl $0,%edx movl %eax,4(%edi) movl %edx,%esi decl %ebp jz .L014mw_end movl 8(%ebx),%eax mull %ecx addl %esi,%eax adcl $0,%edx movl %eax,8(%edi) movl %edx,%esi decl %ebp jz .L014mw_end movl 12(%ebx),%eax mull %ecx addl %esi,%eax adcl $0,%edx movl %eax,12(%edi) movl %edx,%esi decl %ebp jz .L014mw_end movl 16(%ebx),%eax mull %ecx addl %esi,%eax adcl $0,%edx movl %eax,16(%edi) movl %edx,%esi decl %ebp jz .L014mw_end movl 20(%ebx),%eax mull %ecx addl %esi,%eax adcl $0,%edx movl %eax,20(%edi) movl %edx,%esi decl %ebp jz .L014mw_end movl 24(%ebx),%eax mull %ecx addl %esi,%eax adcl $0,%edx movl %eax,24(%edi) movl %edx,%esi .L014mw_end: movl %esi,%eax popl %edi popl %esi popl %ebx popl %ebp ret .size bn_mul_words,.-.L_bn_mul_words_begin .globl bn_sqr_words .type bn_sqr_words,@function .align 16 bn_sqr_words: .L_bn_sqr_words_begin: leal OPENSSL_ia32cap_P,%eax btl $26,(%eax) jnc .L015sqr_non_sse2 movl 4(%esp),%eax movl 8(%esp),%edx movl 12(%esp),%ecx .align 16 .L016sqr_sse2_loop: movd (%edx),%mm0 pmuludq %mm0,%mm0 leal 4(%edx),%edx movq %mm0,(%eax) subl $1,%ecx leal 8(%eax),%eax jnz .L016sqr_sse2_loop emms ret .align 16 .L015sqr_non_sse2: pushl %ebp pushl %ebx pushl %esi pushl %edi movl 20(%esp),%esi movl 24(%esp),%edi movl 28(%esp),%ebx andl $4294967288,%ebx jz .L017sw_finish .L018sw_loop: movl (%edi),%eax mull %eax movl %eax,(%esi) movl %edx,4(%esi) movl 4(%edi),%eax mull %eax movl %eax,8(%esi) movl %edx,12(%esi) movl 8(%edi),%eax mull %eax movl %eax,16(%esi) movl %edx,20(%esi) movl 12(%edi),%eax mull %eax movl %eax,24(%esi) movl %edx,28(%esi) movl 16(%edi),%eax mull %eax movl %eax,32(%esi) movl %edx,36(%esi) movl 20(%edi),%eax mull %eax movl %eax,40(%esi) movl %edx,44(%esi) movl 24(%edi),%eax mull %eax movl %eax,48(%esi) movl %edx,52(%esi) movl 28(%edi),%eax mull %eax movl %eax,56(%esi) movl %edx,60(%esi) addl $32,%edi addl $64,%esi subl $8,%ebx jnz .L018sw_loop .L017sw_finish: movl 28(%esp),%ebx andl $7,%ebx jz .L019sw_end movl (%edi),%eax mull %eax movl %eax,(%esi) decl %ebx movl %edx,4(%esi) jz .L019sw_end movl 4(%edi),%eax mull %eax movl %eax,8(%esi) decl %ebx movl %edx,12(%esi) jz .L019sw_end movl 8(%edi),%eax mull %eax movl %eax,16(%esi) decl %ebx movl %edx,20(%esi) jz .L019sw_end movl 12(%edi),%eax mull %eax movl %eax,24(%esi) decl %ebx movl %edx,28(%esi) jz .L019sw_end movl 16(%edi),%eax mull %eax movl %eax,32(%esi) decl %ebx movl %edx,36(%esi) jz .L019sw_end movl 20(%edi),%eax mull %eax movl %eax,40(%esi) decl %ebx movl %edx,44(%esi) jz .L019sw_end movl 24(%edi),%eax mull %eax movl %eax,48(%esi) movl %edx,52(%esi) .L019sw_end: popl %edi popl %esi popl %ebx popl %ebp ret .size bn_sqr_words,.-.L_bn_sqr_words_begin .globl bn_div_words .type bn_div_words,@function .align 16 bn_div_words: .L_bn_div_words_begin: movl 4(%esp),%edx movl 8(%esp),%eax movl 12(%esp),%ecx divl %ecx ret .size bn_div_words,.-.L_bn_div_words_begin .globl bn_add_words .type bn_add_words,@function .align 16 bn_add_words: .L_bn_add_words_begin: pushl %ebp pushl %ebx pushl %esi pushl %edi movl 20(%esp),%ebx movl 24(%esp),%esi movl 28(%esp),%edi movl 32(%esp),%ebp xorl %eax,%eax andl $4294967288,%ebp jz .L020aw_finish .L021aw_loop: movl (%esi),%ecx movl (%edi),%edx addl %eax,%ecx movl $0,%eax adcl %eax,%eax addl %edx,%ecx adcl $0,%eax movl %ecx,(%ebx) movl 4(%esi),%ecx movl 4(%edi),%edx addl %eax,%ecx movl $0,%eax adcl %eax,%eax addl %edx,%ecx adcl $0,%eax movl %ecx,4(%ebx) movl 8(%esi),%ecx movl 8(%edi),%edx addl %eax,%ecx movl $0,%eax adcl %eax,%eax addl %edx,%ecx adcl $0,%eax movl %ecx,8(%ebx) movl 12(%esi),%ecx movl 12(%edi),%edx addl %eax,%ecx movl $0,%eax adcl %eax,%eax addl %edx,%ecx adcl $0,%eax movl %ecx,12(%ebx) movl 16(%esi),%ecx movl 16(%edi),%edx addl %eax,%ecx movl $0,%eax adcl %eax,%eax addl %edx,%ecx adcl $0,%eax movl %ecx,16(%ebx) movl 20(%esi),%ecx movl 20(%edi),%edx addl %eax,%ecx movl $0,%eax adcl %eax,%eax addl %edx,%ecx adcl $0,%eax movl %ecx,20(%ebx) movl 24(%esi),%ecx movl 24(%edi),%edx addl %eax,%ecx movl $0,%eax adcl %eax,%eax addl %edx,%ecx adcl $0,%eax movl %ecx,24(%ebx) movl 28(%esi),%ecx movl 28(%edi),%edx addl %eax,%ecx movl $0,%eax adcl %eax,%eax addl %edx,%ecx adcl $0,%eax movl %ecx,28(%ebx) addl $32,%esi addl $32,%edi addl $32,%ebx subl $8,%ebp jnz .L021aw_loop .L020aw_finish: movl 32(%esp),%ebp andl $7,%ebp jz .L022aw_end movl (%esi),%ecx movl (%edi),%edx addl %eax,%ecx movl $0,%eax adcl %eax,%eax addl %edx,%ecx adcl $0,%eax decl %ebp movl %ecx,(%ebx) jz .L022aw_end movl 4(%esi),%ecx movl 4(%edi),%edx addl %eax,%ecx movl $0,%eax adcl %eax,%eax addl %edx,%ecx adcl $0,%eax decl %ebp movl %ecx,4(%ebx) jz .L022aw_end movl 8(%esi),%ecx movl 8(%edi),%edx addl %eax,%ecx movl $0,%eax adcl %eax,%eax addl %edx,%ecx adcl $0,%eax decl %ebp movl %ecx,8(%ebx) jz .L022aw_end movl 12(%esi),%ecx movl 12(%edi),%edx addl %eax,%ecx movl $0,%eax adcl %eax,%eax addl %edx,%ecx adcl $0,%eax decl %ebp movl %ecx,12(%ebx) jz .L022aw_end movl 16(%esi),%ecx movl 16(%edi),%edx addl %eax,%ecx movl $0,%eax adcl %eax,%eax addl %edx,%ecx adcl $0,%eax decl %ebp movl %ecx,16(%ebx) jz .L022aw_end movl 20(%esi),%ecx movl 20(%edi),%edx addl %eax,%ecx movl $0,%eax adcl %eax,%eax addl %edx,%ecx adcl $0,%eax decl %ebp movl %ecx,20(%ebx) jz .L022aw_end movl 24(%esi),%ecx movl 24(%edi),%edx addl %eax,%ecx movl $0,%eax adcl %eax,%eax addl %edx,%ecx adcl $0,%eax movl %ecx,24(%ebx) .L022aw_end: popl %edi popl %esi popl %ebx popl %ebp ret .size bn_add_words,.-.L_bn_add_words_begin .globl bn_sub_words .type bn_sub_words,@function .align 16 bn_sub_words: .L_bn_sub_words_begin: pushl %ebp pushl %ebx pushl %esi pushl %edi movl 20(%esp),%ebx movl 24(%esp),%esi movl 28(%esp),%edi movl 32(%esp),%ebp xorl %eax,%eax andl $4294967288,%ebp jz .L023aw_finish .L024aw_loop: movl (%esi),%ecx movl (%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,(%ebx) movl 4(%esi),%ecx movl 4(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,4(%ebx) movl 8(%esi),%ecx movl 8(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,8(%ebx) movl 12(%esi),%ecx movl 12(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,12(%ebx) movl 16(%esi),%ecx movl 16(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,16(%ebx) movl 20(%esi),%ecx movl 20(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,20(%ebx) movl 24(%esi),%ecx movl 24(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,24(%ebx) movl 28(%esi),%ecx movl 28(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,28(%ebx) addl $32,%esi addl $32,%edi addl $32,%ebx subl $8,%ebp jnz .L024aw_loop .L023aw_finish: movl 32(%esp),%ebp andl $7,%ebp jz .L025aw_end movl (%esi),%ecx movl (%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax decl %ebp movl %ecx,(%ebx) jz .L025aw_end movl 4(%esi),%ecx movl 4(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax decl %ebp movl %ecx,4(%ebx) jz .L025aw_end movl 8(%esi),%ecx movl 8(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax decl %ebp movl %ecx,8(%ebx) jz .L025aw_end movl 12(%esi),%ecx movl 12(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax decl %ebp movl %ecx,12(%ebx) jz .L025aw_end movl 16(%esi),%ecx movl 16(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax decl %ebp movl %ecx,16(%ebx) jz .L025aw_end movl 20(%esi),%ecx movl 20(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax decl %ebp movl %ecx,20(%ebx) jz .L025aw_end movl 24(%esi),%ecx movl 24(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,24(%ebx) .L025aw_end: popl %edi popl %esi popl %ebx popl %ebp ret .size bn_sub_words,.-.L_bn_sub_words_begin .globl bn_sub_part_words .type bn_sub_part_words,@function .align 16 bn_sub_part_words: .L_bn_sub_part_words_begin: pushl %ebp pushl %ebx pushl %esi pushl %edi movl 20(%esp),%ebx movl 24(%esp),%esi movl 28(%esp),%edi movl 32(%esp),%ebp xorl %eax,%eax andl $4294967288,%ebp jz .L026aw_finish .L027aw_loop: movl (%esi),%ecx movl (%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,(%ebx) movl 4(%esi),%ecx movl 4(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,4(%ebx) movl 8(%esi),%ecx movl 8(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,8(%ebx) movl 12(%esi),%ecx movl 12(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,12(%ebx) movl 16(%esi),%ecx movl 16(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,16(%ebx) movl 20(%esi),%ecx movl 20(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,20(%ebx) movl 24(%esi),%ecx movl 24(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,24(%ebx) movl 28(%esi),%ecx movl 28(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,28(%ebx) addl $32,%esi addl $32,%edi addl $32,%ebx subl $8,%ebp jnz .L027aw_loop .L026aw_finish: movl 32(%esp),%ebp andl $7,%ebp jz .L028aw_end movl (%esi),%ecx movl (%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,(%ebx) addl $4,%esi addl $4,%edi addl $4,%ebx decl %ebp jz .L028aw_end movl (%esi),%ecx movl (%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,(%ebx) addl $4,%esi addl $4,%edi addl $4,%ebx decl %ebp jz .L028aw_end movl (%esi),%ecx movl (%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,(%ebx) addl $4,%esi addl $4,%edi addl $4,%ebx decl %ebp jz .L028aw_end movl (%esi),%ecx movl (%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,(%ebx) addl $4,%esi addl $4,%edi addl $4,%ebx decl %ebp jz .L028aw_end movl (%esi),%ecx movl (%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,(%ebx) addl $4,%esi addl $4,%edi addl $4,%ebx decl %ebp jz .L028aw_end movl (%esi),%ecx movl (%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,(%ebx) addl $4,%esi addl $4,%edi addl $4,%ebx decl %ebp jz .L028aw_end movl (%esi),%ecx movl (%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,(%ebx) addl $4,%esi addl $4,%edi addl $4,%ebx .L028aw_end: cmpl $0,36(%esp) je .L029pw_end movl 36(%esp),%ebp cmpl $0,%ebp je .L029pw_end jge .L030pw_pos movl $0,%edx subl %ebp,%edx movl %edx,%ebp andl $4294967288,%ebp jz .L031pw_neg_finish .L032pw_neg_loop: movl $0,%ecx movl (%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,(%ebx) movl $0,%ecx movl 4(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,4(%ebx) movl $0,%ecx movl 8(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,8(%ebx) movl $0,%ecx movl 12(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,12(%ebx) movl $0,%ecx movl 16(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,16(%ebx) movl $0,%ecx movl 20(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,20(%ebx) movl $0,%ecx movl 24(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,24(%ebx) movl $0,%ecx movl 28(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,28(%ebx) addl $32,%edi addl $32,%ebx subl $8,%ebp jnz .L032pw_neg_loop .L031pw_neg_finish: movl 36(%esp),%edx movl $0,%ebp subl %edx,%ebp andl $7,%ebp jz .L029pw_end movl $0,%ecx movl (%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax decl %ebp movl %ecx,(%ebx) jz .L029pw_end movl $0,%ecx movl 4(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax decl %ebp movl %ecx,4(%ebx) jz .L029pw_end movl $0,%ecx movl 8(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax decl %ebp movl %ecx,8(%ebx) jz .L029pw_end movl $0,%ecx movl 12(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax decl %ebp movl %ecx,12(%ebx) jz .L029pw_end movl $0,%ecx movl 16(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax decl %ebp movl %ecx,16(%ebx) jz .L029pw_end movl $0,%ecx movl 20(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax decl %ebp movl %ecx,20(%ebx) jz .L029pw_end movl $0,%ecx movl 24(%edi),%edx subl %eax,%ecx movl $0,%eax adcl %eax,%eax subl %edx,%ecx adcl $0,%eax movl %ecx,24(%ebx) jmp .L029pw_end .L030pw_pos: andl $4294967288,%ebp jz .L033pw_pos_finish .L034pw_pos_loop: movl (%esi),%ecx subl %eax,%ecx movl %ecx,(%ebx) jnc .L035pw_nc0 movl 4(%esi),%ecx subl %eax,%ecx movl %ecx,4(%ebx) jnc .L036pw_nc1 movl 8(%esi),%ecx subl %eax,%ecx movl %ecx,8(%ebx) jnc .L037pw_nc2 movl 12(%esi),%ecx subl %eax,%ecx movl %ecx,12(%ebx) jnc .L038pw_nc3 movl 16(%esi),%ecx subl %eax,%ecx movl %ecx,16(%ebx) jnc .L039pw_nc4 movl 20(%esi),%ecx subl %eax,%ecx movl %ecx,20(%ebx) jnc .L040pw_nc5 movl 24(%esi),%ecx subl %eax,%ecx movl %ecx,24(%ebx) jnc .L041pw_nc6 movl 28(%esi),%ecx subl %eax,%ecx movl %ecx,28(%ebx) jnc .L042pw_nc7 addl $32,%esi addl $32,%ebx subl $8,%ebp jnz .L034pw_pos_loop .L033pw_pos_finish: movl 36(%esp),%ebp andl $7,%ebp jz .L029pw_end movl (%esi),%ecx subl %eax,%ecx movl %ecx,(%ebx) jnc .L043pw_tail_nc0 decl %ebp jz .L029pw_end movl 4(%esi),%ecx subl %eax,%ecx movl %ecx,4(%ebx) jnc .L044pw_tail_nc1 decl %ebp jz .L029pw_end movl 8(%esi),%ecx subl %eax,%ecx movl %ecx,8(%ebx) jnc .L045pw_tail_nc2 decl %ebp jz .L029pw_end movl 12(%esi),%ecx subl %eax,%ecx movl %ecx,12(%ebx) jnc .L046pw_tail_nc3 decl %ebp jz .L029pw_end movl 16(%esi),%ecx subl %eax,%ecx movl %ecx,16(%ebx) jnc .L047pw_tail_nc4 decl %ebp jz .L029pw_end movl 20(%esi),%ecx subl %eax,%ecx movl %ecx,20(%ebx) jnc .L048pw_tail_nc5 decl %ebp jz .L029pw_end movl 24(%esi),%ecx subl %eax,%ecx movl %ecx,24(%ebx) jnc .L049pw_tail_nc6 movl $1,%eax jmp .L029pw_end .L050pw_nc_loop: movl (%esi),%ecx movl %ecx,(%ebx) .L035pw_nc0: movl 4(%esi),%ecx movl %ecx,4(%ebx) .L036pw_nc1: movl 8(%esi),%ecx movl %ecx,8(%ebx) .L037pw_nc2: movl 12(%esi),%ecx movl %ecx,12(%ebx) .L038pw_nc3: movl 16(%esi),%ecx movl %ecx,16(%ebx) .L039pw_nc4: movl 20(%esi),%ecx movl %ecx,20(%ebx) .L040pw_nc5: movl 24(%esi),%ecx movl %ecx,24(%ebx) .L041pw_nc6: movl 28(%esi),%ecx movl %ecx,28(%ebx) .L042pw_nc7: addl $32,%esi addl $32,%ebx subl $8,%ebp jnz .L050pw_nc_loop movl 36(%esp),%ebp andl $7,%ebp jz .L051pw_nc_end movl (%esi),%ecx movl %ecx,(%ebx) .L043pw_tail_nc0: decl %ebp jz .L051pw_nc_end movl 4(%esi),%ecx movl %ecx,4(%ebx) .L044pw_tail_nc1: decl %ebp jz .L051pw_nc_end movl 8(%esi),%ecx movl %ecx,8(%ebx) .L045pw_tail_nc2: decl %ebp jz .L051pw_nc_end movl 12(%esi),%ecx movl %ecx,12(%ebx) .L046pw_tail_nc3: decl %ebp jz .L051pw_nc_end movl 16(%esi),%ecx movl %ecx,16(%ebx) .L047pw_tail_nc4: decl %ebp jz .L051pw_nc_end movl 20(%esi),%ecx movl %ecx,20(%ebx) .L048pw_tail_nc5: decl %ebp jz .L051pw_nc_end movl 24(%esi),%ecx movl %ecx,24(%ebx) .L049pw_tail_nc6: .L051pw_nc_end: movl $0,%eax .L029pw_end: popl %edi popl %esi popl %ebx popl %ebp ret .size bn_sub_part_words,.-.L_bn_sub_part_words_begin .comm OPENSSL_ia32cap_P,16,4 Index: projects/openssl-1.0.2/secure/lib/libcrypto/i386/co-586.s =================================================================== --- projects/openssl-1.0.2/secure/lib/libcrypto/i386/co-586.s (revision 290075) +++ projects/openssl-1.0.2/secure/lib/libcrypto/i386/co-586.s (revision 290076) @@ -1,1255 +1,1255 @@ # $FreeBSD$ -.file "/root/secure/lib/libcrypto/../../../crypto/openssl/crypto/bn/asm/co-586.s" +.file "co-586.s" .text .globl bn_mul_comba8 .type bn_mul_comba8,@function .align 16 bn_mul_comba8: .L_bn_mul_comba8_begin: pushl %esi movl 12(%esp),%esi pushl %edi movl 20(%esp),%edi pushl %ebp pushl %ebx xorl %ebx,%ebx movl (%esi),%eax xorl %ecx,%ecx movl (%edi),%edx xorl %ebp,%ebp mull %edx addl %eax,%ebx movl 20(%esp),%eax adcl %edx,%ecx movl (%edi),%edx adcl $0,%ebp movl %ebx,(%eax) movl 4(%esi),%eax xorl %ebx,%ebx mull %edx addl %eax,%ecx movl (%esi),%eax adcl %edx,%ebp movl 4(%edi),%edx adcl $0,%ebx mull %edx addl %eax,%ecx movl 20(%esp),%eax adcl %edx,%ebp movl (%edi),%edx adcl $0,%ebx movl %ecx,4(%eax) movl 8(%esi),%eax xorl %ecx,%ecx mull %edx addl %eax,%ebp movl 4(%esi),%eax adcl %edx,%ebx movl 4(%edi),%edx adcl $0,%ecx mull %edx addl %eax,%ebp movl (%esi),%eax adcl %edx,%ebx movl 8(%edi),%edx adcl $0,%ecx mull %edx addl %eax,%ebp movl 20(%esp),%eax adcl %edx,%ebx movl (%edi),%edx adcl $0,%ecx movl %ebp,8(%eax) movl 12(%esi),%eax xorl %ebp,%ebp mull %edx addl %eax,%ebx movl 8(%esi),%eax adcl %edx,%ecx movl 4(%edi),%edx adcl $0,%ebp mull %edx addl %eax,%ebx movl 4(%esi),%eax adcl %edx,%ecx movl 8(%edi),%edx adcl $0,%ebp mull %edx addl %eax,%ebx movl (%esi),%eax adcl %edx,%ecx movl 12(%edi),%edx adcl $0,%ebp mull %edx addl %eax,%ebx movl 20(%esp),%eax adcl %edx,%ecx movl (%edi),%edx adcl $0,%ebp movl %ebx,12(%eax) movl 16(%esi),%eax xorl %ebx,%ebx mull %edx addl %eax,%ecx movl 12(%esi),%eax adcl %edx,%ebp movl 4(%edi),%edx adcl $0,%ebx mull %edx addl %eax,%ecx movl 8(%esi),%eax adcl %edx,%ebp movl 8(%edi),%edx adcl $0,%ebx mull %edx addl %eax,%ecx movl 4(%esi),%eax adcl %edx,%ebp movl 12(%edi),%edx adcl $0,%ebx mull %edx addl %eax,%ecx movl (%esi),%eax adcl %edx,%ebp movl 16(%edi),%edx adcl $0,%ebx mull %edx addl %eax,%ecx movl 20(%esp),%eax adcl %edx,%ebp movl (%edi),%edx adcl $0,%ebx movl %ecx,16(%eax) movl 20(%esi),%eax xorl %ecx,%ecx mull %edx addl %eax,%ebp movl 16(%esi),%eax adcl %edx,%ebx movl 4(%edi),%edx adcl $0,%ecx mull %edx addl %eax,%ebp movl 12(%esi),%eax adcl %edx,%ebx movl 8(%edi),%edx adcl $0,%ecx mull %edx addl %eax,%ebp movl 8(%esi),%eax adcl %edx,%ebx movl 12(%edi),%edx adcl $0,%ecx mull %edx addl %eax,%ebp movl 4(%esi),%eax adcl %edx,%ebx movl 16(%edi),%edx adcl $0,%ecx mull %edx addl %eax,%ebp movl (%esi),%eax adcl %edx,%ebx movl 20(%edi),%edx adcl $0,%ecx mull %edx addl %eax,%ebp movl 20(%esp),%eax adcl %edx,%ebx movl (%edi),%edx adcl $0,%ecx movl %ebp,20(%eax) movl 24(%esi),%eax xorl %ebp,%ebp mull %edx addl %eax,%ebx movl 20(%esi),%eax adcl %edx,%ecx movl 4(%edi),%edx adcl $0,%ebp mull %edx addl %eax,%ebx movl 16(%esi),%eax adcl %edx,%ecx movl 8(%edi),%edx adcl $0,%ebp mull %edx addl %eax,%ebx movl 12(%esi),%eax adcl %edx,%ecx movl 12(%edi),%edx adcl $0,%ebp mull %edx addl %eax,%ebx movl 8(%esi),%eax adcl %edx,%ecx movl 16(%edi),%edx adcl $0,%ebp mull %edx addl %eax,%ebx movl 4(%esi),%eax adcl %edx,%ecx movl 20(%edi),%edx adcl $0,%ebp mull %edx addl %eax,%ebx movl (%esi),%eax adcl %edx,%ecx movl 24(%edi),%edx adcl $0,%ebp mull %edx addl %eax,%ebx movl 20(%esp),%eax adcl %edx,%ecx movl (%edi),%edx adcl $0,%ebp movl %ebx,24(%eax) movl 28(%esi),%eax xorl %ebx,%ebx mull %edx addl %eax,%ecx movl 24(%esi),%eax adcl %edx,%ebp movl 4(%edi),%edx adcl $0,%ebx mull %edx addl %eax,%ecx movl 20(%esi),%eax adcl %edx,%ebp movl 8(%edi),%edx adcl $0,%ebx mull %edx addl %eax,%ecx movl 16(%esi),%eax adcl %edx,%ebp movl 12(%edi),%edx adcl $0,%ebx mull %edx addl %eax,%ecx movl 12(%esi),%eax adcl %edx,%ebp movl 16(%edi),%edx adcl $0,%ebx mull %edx addl %eax,%ecx movl 8(%esi),%eax adcl %edx,%ebp movl 20(%edi),%edx adcl $0,%ebx mull %edx addl %eax,%ecx movl 4(%esi),%eax adcl %edx,%ebp movl 24(%edi),%edx adcl $0,%ebx mull %edx addl %eax,%ecx movl (%esi),%eax adcl %edx,%ebp movl 28(%edi),%edx adcl $0,%ebx mull %edx addl %eax,%ecx movl 20(%esp),%eax adcl %edx,%ebp movl 4(%edi),%edx adcl $0,%ebx movl %ecx,28(%eax) movl 28(%esi),%eax xorl %ecx,%ecx mull %edx addl %eax,%ebp movl 24(%esi),%eax adcl %edx,%ebx movl 8(%edi),%edx adcl $0,%ecx mull %edx addl %eax,%ebp movl 20(%esi),%eax adcl %edx,%ebx movl 12(%edi),%edx adcl $0,%ecx mull %edx addl %eax,%ebp movl 16(%esi),%eax adcl %edx,%ebx movl 16(%edi),%edx adcl $0,%ecx mull %edx addl %eax,%ebp movl 12(%esi),%eax adcl %edx,%ebx movl 20(%edi),%edx adcl $0,%ecx mull %edx addl %eax,%ebp movl 8(%esi),%eax adcl %edx,%ebx movl 24(%edi),%edx adcl $0,%ecx mull %edx addl %eax,%ebp movl 4(%esi),%eax adcl %edx,%ebx movl 28(%edi),%edx adcl $0,%ecx mull %edx addl %eax,%ebp movl 20(%esp),%eax adcl %edx,%ebx movl 8(%edi),%edx adcl $0,%ecx movl %ebp,32(%eax) movl 28(%esi),%eax xorl %ebp,%ebp mull %edx addl %eax,%ebx movl 24(%esi),%eax adcl %edx,%ecx movl 12(%edi),%edx adcl $0,%ebp mull %edx addl %eax,%ebx movl 20(%esi),%eax adcl %edx,%ecx movl 16(%edi),%edx adcl $0,%ebp mull %edx addl %eax,%ebx movl 16(%esi),%eax adcl %edx,%ecx movl 20(%edi),%edx adcl $0,%ebp mull %edx addl %eax,%ebx movl 12(%esi),%eax adcl %edx,%ecx movl 24(%edi),%edx adcl $0,%ebp mull %edx addl %eax,%ebx movl 8(%esi),%eax adcl %edx,%ecx movl 28(%edi),%edx adcl $0,%ebp mull %edx addl %eax,%ebx movl 20(%esp),%eax adcl %edx,%ecx movl 12(%edi),%edx adcl $0,%ebp movl %ebx,36(%eax) movl 28(%esi),%eax xorl %ebx,%ebx mull %edx addl %eax,%ecx movl 24(%esi),%eax adcl %edx,%ebp movl 16(%edi),%edx adcl $0,%ebx mull %edx addl %eax,%ecx movl 20(%esi),%eax adcl %edx,%ebp movl 20(%edi),%edx adcl $0,%ebx mull %edx addl %eax,%ecx movl 16(%esi),%eax adcl %edx,%ebp movl 24(%edi),%edx adcl $0,%ebx mull %edx addl %eax,%ecx movl 12(%esi),%eax adcl %edx,%ebp movl 28(%edi),%edx adcl $0,%ebx mull %edx addl %eax,%ecx movl 20(%esp),%eax adcl %edx,%ebp movl 16(%edi),%edx adcl $0,%ebx movl %ecx,40(%eax) movl 28(%esi),%eax xorl %ecx,%ecx mull %edx addl %eax,%ebp movl 24(%esi),%eax adcl %edx,%ebx movl 20(%edi),%edx adcl $0,%ecx mull %edx addl %eax,%ebp movl 20(%esi),%eax adcl %edx,%ebx movl 24(%edi),%edx adcl $0,%ecx mull %edx addl %eax,%ebp movl 16(%esi),%eax adcl %edx,%ebx movl 28(%edi),%edx adcl $0,%ecx mull %edx addl %eax,%ebp movl 20(%esp),%eax adcl %edx,%ebx movl 20(%edi),%edx adcl $0,%ecx movl %ebp,44(%eax) movl 28(%esi),%eax xorl %ebp,%ebp mull %edx addl %eax,%ebx movl 24(%esi),%eax adcl %edx,%ecx movl 24(%edi),%edx adcl $0,%ebp mull %edx addl %eax,%ebx movl 20(%esi),%eax adcl %edx,%ecx movl 28(%edi),%edx adcl $0,%ebp mull %edx addl %eax,%ebx movl 20(%esp),%eax adcl %edx,%ecx movl 24(%edi),%edx adcl $0,%ebp movl %ebx,48(%eax) movl 28(%esi),%eax xorl %ebx,%ebx mull %edx addl %eax,%ecx movl 24(%esi),%eax adcl %edx,%ebp movl 28(%edi),%edx adcl $0,%ebx mull %edx addl %eax,%ecx movl 20(%esp),%eax adcl %edx,%ebp movl 28(%edi),%edx adcl $0,%ebx movl %ecx,52(%eax) movl 28(%esi),%eax xorl %ecx,%ecx mull %edx addl %eax,%ebp movl 20(%esp),%eax adcl %edx,%ebx adcl $0,%ecx movl %ebp,56(%eax) movl %ebx,60(%eax) popl %ebx popl %ebp popl %edi popl %esi ret .size bn_mul_comba8,.-.L_bn_mul_comba8_begin .globl bn_mul_comba4 .type bn_mul_comba4,@function .align 16 bn_mul_comba4: .L_bn_mul_comba4_begin: pushl %esi movl 12(%esp),%esi pushl %edi movl 20(%esp),%edi pushl %ebp pushl %ebx xorl %ebx,%ebx movl (%esi),%eax xorl %ecx,%ecx movl (%edi),%edx xorl %ebp,%ebp mull %edx addl %eax,%ebx movl 20(%esp),%eax adcl %edx,%ecx movl (%edi),%edx adcl $0,%ebp movl %ebx,(%eax) movl 4(%esi),%eax xorl %ebx,%ebx mull %edx addl %eax,%ecx movl (%esi),%eax adcl %edx,%ebp movl 4(%edi),%edx adcl $0,%ebx mull %edx addl %eax,%ecx movl 20(%esp),%eax adcl %edx,%ebp movl (%edi),%edx adcl $0,%ebx movl %ecx,4(%eax) movl 8(%esi),%eax xorl %ecx,%ecx mull %edx addl %eax,%ebp movl 4(%esi),%eax adcl %edx,%ebx movl 4(%edi),%edx adcl $0,%ecx mull %edx addl %eax,%ebp movl (%esi),%eax adcl %edx,%ebx movl 8(%edi),%edx adcl $0,%ecx mull %edx addl %eax,%ebp movl 20(%esp),%eax adcl %edx,%ebx movl (%edi),%edx adcl $0,%ecx movl %ebp,8(%eax) movl 12(%esi),%eax xorl %ebp,%ebp mull %edx addl %eax,%ebx movl 8(%esi),%eax adcl %edx,%ecx movl 4(%edi),%edx adcl $0,%ebp mull %edx addl %eax,%ebx movl 4(%esi),%eax adcl %edx,%ecx movl 8(%edi),%edx adcl $0,%ebp mull %edx addl %eax,%ebx movl (%esi),%eax adcl %edx,%ecx movl 12(%edi),%edx adcl $0,%ebp mull %edx addl %eax,%ebx movl 20(%esp),%eax adcl %edx,%ecx movl 4(%edi),%edx adcl $0,%ebp movl %ebx,12(%eax) movl 12(%esi),%eax xorl %ebx,%ebx mull %edx addl %eax,%ecx movl 8(%esi),%eax adcl %edx,%ebp movl 8(%edi),%edx adcl $0,%ebx mull %edx addl %eax,%ecx movl 4(%esi),%eax adcl %edx,%ebp movl 12(%edi),%edx adcl $0,%ebx mull %edx addl %eax,%ecx movl 20(%esp),%eax adcl %edx,%ebp movl 8(%edi),%edx adcl $0,%ebx movl %ecx,16(%eax) movl 12(%esi),%eax xorl %ecx,%ecx mull %edx addl %eax,%ebp movl 8(%esi),%eax adcl %edx,%ebx movl 12(%edi),%edx adcl $0,%ecx mull %edx addl %eax,%ebp movl 20(%esp),%eax adcl %edx,%ebx movl 12(%edi),%edx adcl $0,%ecx movl %ebp,20(%eax) movl 12(%esi),%eax xorl %ebp,%ebp mull %edx addl %eax,%ebx movl 20(%esp),%eax adcl %edx,%ecx adcl $0,%ebp movl %ebx,24(%eax) movl %ecx,28(%eax) popl %ebx popl %ebp popl %edi popl %esi ret .size bn_mul_comba4,.-.L_bn_mul_comba4_begin .globl bn_sqr_comba8 .type bn_sqr_comba8,@function .align 16 bn_sqr_comba8: .L_bn_sqr_comba8_begin: pushl %esi pushl %edi pushl %ebp pushl %ebx movl 20(%esp),%edi movl 24(%esp),%esi xorl %ebx,%ebx xorl %ecx,%ecx movl (%esi),%eax xorl %ebp,%ebp mull %eax addl %eax,%ebx adcl %edx,%ecx movl (%esi),%edx adcl $0,%ebp movl %ebx,(%edi) movl 4(%esi),%eax xorl %ebx,%ebx mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ebx addl %eax,%ecx adcl %edx,%ebp movl 8(%esi),%eax adcl $0,%ebx movl %ecx,4(%edi) movl (%esi),%edx xorl %ecx,%ecx mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ecx addl %eax,%ebp adcl %edx,%ebx movl 4(%esi),%eax adcl $0,%ecx mull %eax addl %eax,%ebp adcl %edx,%ebx movl (%esi),%edx adcl $0,%ecx movl %ebp,8(%edi) movl 12(%esi),%eax xorl %ebp,%ebp mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ebp addl %eax,%ebx adcl %edx,%ecx movl 8(%esi),%eax adcl $0,%ebp movl 4(%esi),%edx mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ebp addl %eax,%ebx adcl %edx,%ecx movl 16(%esi),%eax adcl $0,%ebp movl %ebx,12(%edi) movl (%esi),%edx xorl %ebx,%ebx mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ebx addl %eax,%ecx adcl %edx,%ebp movl 12(%esi),%eax adcl $0,%ebx movl 4(%esi),%edx mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ebx addl %eax,%ecx adcl %edx,%ebp movl 8(%esi),%eax adcl $0,%ebx mull %eax addl %eax,%ecx adcl %edx,%ebp movl (%esi),%edx adcl $0,%ebx movl %ecx,16(%edi) movl 20(%esi),%eax xorl %ecx,%ecx mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ecx addl %eax,%ebp adcl %edx,%ebx movl 16(%esi),%eax adcl $0,%ecx movl 4(%esi),%edx mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ecx addl %eax,%ebp adcl %edx,%ebx movl 12(%esi),%eax adcl $0,%ecx movl 8(%esi),%edx mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ecx addl %eax,%ebp adcl %edx,%ebx movl 24(%esi),%eax adcl $0,%ecx movl %ebp,20(%edi) movl (%esi),%edx xorl %ebp,%ebp mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ebp addl %eax,%ebx adcl %edx,%ecx movl 20(%esi),%eax adcl $0,%ebp movl 4(%esi),%edx mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ebp addl %eax,%ebx adcl %edx,%ecx movl 16(%esi),%eax adcl $0,%ebp movl 8(%esi),%edx mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ebp addl %eax,%ebx adcl %edx,%ecx movl 12(%esi),%eax adcl $0,%ebp mull %eax addl %eax,%ebx adcl %edx,%ecx movl (%esi),%edx adcl $0,%ebp movl %ebx,24(%edi) movl 28(%esi),%eax xorl %ebx,%ebx mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ebx addl %eax,%ecx adcl %edx,%ebp movl 24(%esi),%eax adcl $0,%ebx movl 4(%esi),%edx mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ebx addl %eax,%ecx adcl %edx,%ebp movl 20(%esi),%eax adcl $0,%ebx movl 8(%esi),%edx mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ebx addl %eax,%ecx adcl %edx,%ebp movl 16(%esi),%eax adcl $0,%ebx movl 12(%esi),%edx mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ebx addl %eax,%ecx adcl %edx,%ebp movl 28(%esi),%eax adcl $0,%ebx movl %ecx,28(%edi) movl 4(%esi),%edx xorl %ecx,%ecx mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ecx addl %eax,%ebp adcl %edx,%ebx movl 24(%esi),%eax adcl $0,%ecx movl 8(%esi),%edx mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ecx addl %eax,%ebp adcl %edx,%ebx movl 20(%esi),%eax adcl $0,%ecx movl 12(%esi),%edx mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ecx addl %eax,%ebp adcl %edx,%ebx movl 16(%esi),%eax adcl $0,%ecx mull %eax addl %eax,%ebp adcl %edx,%ebx movl 8(%esi),%edx adcl $0,%ecx movl %ebp,32(%edi) movl 28(%esi),%eax xorl %ebp,%ebp mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ebp addl %eax,%ebx adcl %edx,%ecx movl 24(%esi),%eax adcl $0,%ebp movl 12(%esi),%edx mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ebp addl %eax,%ebx adcl %edx,%ecx movl 20(%esi),%eax adcl $0,%ebp movl 16(%esi),%edx mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ebp addl %eax,%ebx adcl %edx,%ecx movl 28(%esi),%eax adcl $0,%ebp movl %ebx,36(%edi) movl 12(%esi),%edx xorl %ebx,%ebx mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ebx addl %eax,%ecx adcl %edx,%ebp movl 24(%esi),%eax adcl $0,%ebx movl 16(%esi),%edx mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ebx addl %eax,%ecx adcl %edx,%ebp movl 20(%esi),%eax adcl $0,%ebx mull %eax addl %eax,%ecx adcl %edx,%ebp movl 16(%esi),%edx adcl $0,%ebx movl %ecx,40(%edi) movl 28(%esi),%eax xorl %ecx,%ecx mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ecx addl %eax,%ebp adcl %edx,%ebx movl 24(%esi),%eax adcl $0,%ecx movl 20(%esi),%edx mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ecx addl %eax,%ebp adcl %edx,%ebx movl 28(%esi),%eax adcl $0,%ecx movl %ebp,44(%edi) movl 20(%esi),%edx xorl %ebp,%ebp mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ebp addl %eax,%ebx adcl %edx,%ecx movl 24(%esi),%eax adcl $0,%ebp mull %eax addl %eax,%ebx adcl %edx,%ecx movl 24(%esi),%edx adcl $0,%ebp movl %ebx,48(%edi) movl 28(%esi),%eax xorl %ebx,%ebx mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ebx addl %eax,%ecx adcl %edx,%ebp movl 28(%esi),%eax adcl $0,%ebx movl %ecx,52(%edi) xorl %ecx,%ecx mull %eax addl %eax,%ebp adcl %edx,%ebx adcl $0,%ecx movl %ebp,56(%edi) movl %ebx,60(%edi) popl %ebx popl %ebp popl %edi popl %esi ret .size bn_sqr_comba8,.-.L_bn_sqr_comba8_begin .globl bn_sqr_comba4 .type bn_sqr_comba4,@function .align 16 bn_sqr_comba4: .L_bn_sqr_comba4_begin: pushl %esi pushl %edi pushl %ebp pushl %ebx movl 20(%esp),%edi movl 24(%esp),%esi xorl %ebx,%ebx xorl %ecx,%ecx movl (%esi),%eax xorl %ebp,%ebp mull %eax addl %eax,%ebx adcl %edx,%ecx movl (%esi),%edx adcl $0,%ebp movl %ebx,(%edi) movl 4(%esi),%eax xorl %ebx,%ebx mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ebx addl %eax,%ecx adcl %edx,%ebp movl 8(%esi),%eax adcl $0,%ebx movl %ecx,4(%edi) movl (%esi),%edx xorl %ecx,%ecx mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ecx addl %eax,%ebp adcl %edx,%ebx movl 4(%esi),%eax adcl $0,%ecx mull %eax addl %eax,%ebp adcl %edx,%ebx movl (%esi),%edx adcl $0,%ecx movl %ebp,8(%edi) movl 12(%esi),%eax xorl %ebp,%ebp mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ebp addl %eax,%ebx adcl %edx,%ecx movl 8(%esi),%eax adcl $0,%ebp movl 4(%esi),%edx mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ebp addl %eax,%ebx adcl %edx,%ecx movl 12(%esi),%eax adcl $0,%ebp movl %ebx,12(%edi) movl 4(%esi),%edx xorl %ebx,%ebx mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ebx addl %eax,%ecx adcl %edx,%ebp movl 8(%esi),%eax adcl $0,%ebx mull %eax addl %eax,%ecx adcl %edx,%ebp movl 8(%esi),%edx adcl $0,%ebx movl %ecx,16(%edi) movl 12(%esi),%eax xorl %ecx,%ecx mull %edx addl %eax,%eax adcl %edx,%edx adcl $0,%ecx addl %eax,%ebp adcl %edx,%ebx movl 12(%esi),%eax adcl $0,%ecx movl %ebp,20(%edi) xorl %ebp,%ebp mull %eax addl %eax,%ebx adcl %edx,%ecx adcl $0,%ebp movl %ebx,24(%edi) movl %ecx,28(%edi) popl %ebx popl %ebp popl %edi popl %esi ret .size bn_sqr_comba4,.-.L_bn_sqr_comba4_begin Index: projects/openssl-1.0.2/secure/lib/libcrypto/i386/md5-586.s =================================================================== --- projects/openssl-1.0.2/secure/lib/libcrypto/i386/md5-586.s (revision 290075) +++ projects/openssl-1.0.2/secure/lib/libcrypto/i386/md5-586.s (revision 290076) @@ -1,680 +1,680 @@ # $FreeBSD$ -.file "/root/secure/lib/libcrypto/../../../crypto/openssl/crypto/md5/asm/md5-586.s" +.file "md5-586.s" .text .globl md5_block_asm_data_order .type md5_block_asm_data_order,@function .align 16 md5_block_asm_data_order: .L_md5_block_asm_data_order_begin: pushl %esi pushl %edi movl 12(%esp),%edi movl 16(%esp),%esi movl 20(%esp),%ecx pushl %ebp shll $6,%ecx pushl %ebx addl %esi,%ecx subl $64,%ecx movl (%edi),%eax pushl %ecx movl 4(%edi),%ebx movl 8(%edi),%ecx movl 12(%edi),%edx .L000start: movl %ecx,%edi movl (%esi),%ebp xorl %edx,%edi andl %ebx,%edi leal 3614090360(%eax,%ebp,1),%eax xorl %edx,%edi addl %edi,%eax movl %ebx,%edi roll $7,%eax movl 4(%esi),%ebp addl %ebx,%eax xorl %ecx,%edi andl %eax,%edi leal 3905402710(%edx,%ebp,1),%edx xorl %ecx,%edi addl %edi,%edx movl %eax,%edi roll $12,%edx movl 8(%esi),%ebp addl %eax,%edx xorl %ebx,%edi andl %edx,%edi leal 606105819(%ecx,%ebp,1),%ecx xorl %ebx,%edi addl %edi,%ecx movl %edx,%edi roll $17,%ecx movl 12(%esi),%ebp addl %edx,%ecx xorl %eax,%edi andl %ecx,%edi leal 3250441966(%ebx,%ebp,1),%ebx xorl %eax,%edi addl %edi,%ebx movl %ecx,%edi roll $22,%ebx movl 16(%esi),%ebp addl %ecx,%ebx xorl %edx,%edi andl %ebx,%edi leal 4118548399(%eax,%ebp,1),%eax xorl %edx,%edi addl %edi,%eax movl %ebx,%edi roll $7,%eax movl 20(%esi),%ebp addl %ebx,%eax xorl %ecx,%edi andl %eax,%edi leal 1200080426(%edx,%ebp,1),%edx xorl %ecx,%edi addl %edi,%edx movl %eax,%edi roll $12,%edx movl 24(%esi),%ebp addl %eax,%edx xorl %ebx,%edi andl %edx,%edi leal 2821735955(%ecx,%ebp,1),%ecx xorl %ebx,%edi addl %edi,%ecx movl %edx,%edi roll $17,%ecx movl 28(%esi),%ebp addl %edx,%ecx xorl %eax,%edi andl %ecx,%edi leal 4249261313(%ebx,%ebp,1),%ebx xorl %eax,%edi addl %edi,%ebx movl %ecx,%edi roll $22,%ebx movl 32(%esi),%ebp addl %ecx,%ebx xorl %edx,%edi andl %ebx,%edi leal 1770035416(%eax,%ebp,1),%eax xorl %edx,%edi addl %edi,%eax movl %ebx,%edi roll $7,%eax movl 36(%esi),%ebp addl %ebx,%eax xorl %ecx,%edi andl %eax,%edi leal 2336552879(%edx,%ebp,1),%edx xorl %ecx,%edi addl %edi,%edx movl %eax,%edi roll $12,%edx movl 40(%esi),%ebp addl %eax,%edx xorl %ebx,%edi andl %edx,%edi leal 4294925233(%ecx,%ebp,1),%ecx xorl %ebx,%edi addl %edi,%ecx movl %edx,%edi roll $17,%ecx movl 44(%esi),%ebp addl %edx,%ecx xorl %eax,%edi andl %ecx,%edi leal 2304563134(%ebx,%ebp,1),%ebx xorl %eax,%edi addl %edi,%ebx movl %ecx,%edi roll $22,%ebx movl 48(%esi),%ebp addl %ecx,%ebx xorl %edx,%edi andl %ebx,%edi leal 1804603682(%eax,%ebp,1),%eax xorl %edx,%edi addl %edi,%eax movl %ebx,%edi roll $7,%eax movl 52(%esi),%ebp addl %ebx,%eax xorl %ecx,%edi andl %eax,%edi leal 4254626195(%edx,%ebp,1),%edx xorl %ecx,%edi addl %edi,%edx movl %eax,%edi roll $12,%edx movl 56(%esi),%ebp addl %eax,%edx xorl %ebx,%edi andl %edx,%edi leal 2792965006(%ecx,%ebp,1),%ecx xorl %ebx,%edi addl %edi,%ecx movl %edx,%edi roll $17,%ecx movl 60(%esi),%ebp addl %edx,%ecx xorl %eax,%edi andl %ecx,%edi leal 1236535329(%ebx,%ebp,1),%ebx xorl %eax,%edi addl %edi,%ebx movl %ecx,%edi roll $22,%ebx movl 4(%esi),%ebp addl %ecx,%ebx leal 4129170786(%eax,%ebp,1),%eax xorl %ebx,%edi andl %edx,%edi movl 24(%esi),%ebp xorl %ecx,%edi addl %edi,%eax movl %ebx,%edi roll $5,%eax addl %ebx,%eax leal 3225465664(%edx,%ebp,1),%edx xorl %eax,%edi andl %ecx,%edi movl 44(%esi),%ebp xorl %ebx,%edi addl %edi,%edx movl %eax,%edi roll $9,%edx addl %eax,%edx leal 643717713(%ecx,%ebp,1),%ecx xorl %edx,%edi andl %ebx,%edi movl (%esi),%ebp xorl %eax,%edi addl %edi,%ecx movl %edx,%edi roll $14,%ecx addl %edx,%ecx leal 3921069994(%ebx,%ebp,1),%ebx xorl %ecx,%edi andl %eax,%edi movl 20(%esi),%ebp xorl %edx,%edi addl %edi,%ebx movl %ecx,%edi roll $20,%ebx addl %ecx,%ebx leal 3593408605(%eax,%ebp,1),%eax xorl %ebx,%edi andl %edx,%edi movl 40(%esi),%ebp xorl %ecx,%edi addl %edi,%eax movl %ebx,%edi roll $5,%eax addl %ebx,%eax leal 38016083(%edx,%ebp,1),%edx xorl %eax,%edi andl %ecx,%edi movl 60(%esi),%ebp xorl %ebx,%edi addl %edi,%edx movl %eax,%edi roll $9,%edx addl %eax,%edx leal 3634488961(%ecx,%ebp,1),%ecx xorl %edx,%edi andl %ebx,%edi movl 16(%esi),%ebp xorl %eax,%edi addl %edi,%ecx movl %edx,%edi roll $14,%ecx addl %edx,%ecx leal 3889429448(%ebx,%ebp,1),%ebx xorl %ecx,%edi andl %eax,%edi movl 36(%esi),%ebp xorl %edx,%edi addl %edi,%ebx movl %ecx,%edi roll $20,%ebx addl %ecx,%ebx leal 568446438(%eax,%ebp,1),%eax xorl %ebx,%edi andl %edx,%edi movl 56(%esi),%ebp xorl %ecx,%edi addl %edi,%eax movl %ebx,%edi roll $5,%eax addl %ebx,%eax leal 3275163606(%edx,%ebp,1),%edx xorl %eax,%edi andl %ecx,%edi movl 12(%esi),%ebp xorl %ebx,%edi addl %edi,%edx movl %eax,%edi roll $9,%edx addl %eax,%edx leal 4107603335(%ecx,%ebp,1),%ecx xorl %edx,%edi andl %ebx,%edi movl 32(%esi),%ebp xorl %eax,%edi addl %edi,%ecx movl %edx,%edi roll $14,%ecx addl %edx,%ecx leal 1163531501(%ebx,%ebp,1),%ebx xorl %ecx,%edi andl %eax,%edi movl 52(%esi),%ebp xorl %edx,%edi addl %edi,%ebx movl %ecx,%edi roll $20,%ebx addl %ecx,%ebx leal 2850285829(%eax,%ebp,1),%eax xorl %ebx,%edi andl %edx,%edi movl 8(%esi),%ebp xorl %ecx,%edi addl %edi,%eax movl %ebx,%edi roll $5,%eax addl %ebx,%eax leal 4243563512(%edx,%ebp,1),%edx xorl %eax,%edi andl %ecx,%edi movl 28(%esi),%ebp xorl %ebx,%edi addl %edi,%edx movl %eax,%edi roll $9,%edx addl %eax,%edx leal 1735328473(%ecx,%ebp,1),%ecx xorl %edx,%edi andl %ebx,%edi movl 48(%esi),%ebp xorl %eax,%edi addl %edi,%ecx movl %edx,%edi roll $14,%ecx addl %edx,%ecx leal 2368359562(%ebx,%ebp,1),%ebx xorl %ecx,%edi andl %eax,%edi movl 20(%esi),%ebp xorl %edx,%edi addl %edi,%ebx movl %ecx,%edi roll $20,%ebx addl %ecx,%ebx xorl %edx,%edi xorl %ebx,%edi leal 4294588738(%eax,%ebp,1),%eax addl %edi,%eax roll $4,%eax movl 32(%esi),%ebp movl %ebx,%edi leal 2272392833(%edx,%ebp,1),%edx addl %ebx,%eax xorl %ecx,%edi xorl %eax,%edi movl 44(%esi),%ebp addl %edi,%edx movl %eax,%edi roll $11,%edx addl %eax,%edx xorl %ebx,%edi xorl %edx,%edi leal 1839030562(%ecx,%ebp,1),%ecx addl %edi,%ecx roll $16,%ecx movl 56(%esi),%ebp movl %edx,%edi leal 4259657740(%ebx,%ebp,1),%ebx addl %edx,%ecx xorl %eax,%edi xorl %ecx,%edi movl 4(%esi),%ebp addl %edi,%ebx movl %ecx,%edi roll $23,%ebx addl %ecx,%ebx xorl %edx,%edi xorl %ebx,%edi leal 2763975236(%eax,%ebp,1),%eax addl %edi,%eax roll $4,%eax movl 16(%esi),%ebp movl %ebx,%edi leal 1272893353(%edx,%ebp,1),%edx addl %ebx,%eax xorl %ecx,%edi xorl %eax,%edi movl 28(%esi),%ebp addl %edi,%edx movl %eax,%edi roll $11,%edx addl %eax,%edx xorl %ebx,%edi xorl %edx,%edi leal 4139469664(%ecx,%ebp,1),%ecx addl %edi,%ecx roll $16,%ecx movl 40(%esi),%ebp movl %edx,%edi leal 3200236656(%ebx,%ebp,1),%ebx addl %edx,%ecx xorl %eax,%edi xorl %ecx,%edi movl 52(%esi),%ebp addl %edi,%ebx movl %ecx,%edi roll $23,%ebx addl %ecx,%ebx xorl %edx,%edi xorl %ebx,%edi leal 681279174(%eax,%ebp,1),%eax addl %edi,%eax roll $4,%eax movl (%esi),%ebp movl %ebx,%edi leal 3936430074(%edx,%ebp,1),%edx addl %ebx,%eax xorl %ecx,%edi xorl %eax,%edi movl 12(%esi),%ebp addl %edi,%edx movl %eax,%edi roll $11,%edx addl %eax,%edx xorl %ebx,%edi xorl %edx,%edi leal 3572445317(%ecx,%ebp,1),%ecx addl %edi,%ecx roll $16,%ecx movl 24(%esi),%ebp movl %edx,%edi leal 76029189(%ebx,%ebp,1),%ebx addl %edx,%ecx xorl %eax,%edi xorl %ecx,%edi movl 36(%esi),%ebp addl %edi,%ebx movl %ecx,%edi roll $23,%ebx addl %ecx,%ebx xorl %edx,%edi xorl %ebx,%edi leal 3654602809(%eax,%ebp,1),%eax addl %edi,%eax roll $4,%eax movl 48(%esi),%ebp movl %ebx,%edi leal 3873151461(%edx,%ebp,1),%edx addl %ebx,%eax xorl %ecx,%edi xorl %eax,%edi movl 60(%esi),%ebp addl %edi,%edx movl %eax,%edi roll $11,%edx addl %eax,%edx xorl %ebx,%edi xorl %edx,%edi leal 530742520(%ecx,%ebp,1),%ecx addl %edi,%ecx roll $16,%ecx movl 8(%esi),%ebp movl %edx,%edi leal 3299628645(%ebx,%ebp,1),%ebx addl %edx,%ecx xorl %eax,%edi xorl %ecx,%edi movl (%esi),%ebp addl %edi,%ebx movl $-1,%edi roll $23,%ebx addl %ecx,%ebx xorl %edx,%edi orl %ebx,%edi leal 4096336452(%eax,%ebp,1),%eax xorl %ecx,%edi movl 28(%esi),%ebp addl %edi,%eax movl $-1,%edi roll $6,%eax xorl %ecx,%edi addl %ebx,%eax orl %eax,%edi leal 1126891415(%edx,%ebp,1),%edx xorl %ebx,%edi movl 56(%esi),%ebp addl %edi,%edx movl $-1,%edi roll $10,%edx xorl %ebx,%edi addl %eax,%edx orl %edx,%edi leal 2878612391(%ecx,%ebp,1),%ecx xorl %eax,%edi movl 20(%esi),%ebp addl %edi,%ecx movl $-1,%edi roll $15,%ecx xorl %eax,%edi addl %edx,%ecx orl %ecx,%edi leal 4237533241(%ebx,%ebp,1),%ebx xorl %edx,%edi movl 48(%esi),%ebp addl %edi,%ebx movl $-1,%edi roll $21,%ebx xorl %edx,%edi addl %ecx,%ebx orl %ebx,%edi leal 1700485571(%eax,%ebp,1),%eax xorl %ecx,%edi movl 12(%esi),%ebp addl %edi,%eax movl $-1,%edi roll $6,%eax xorl %ecx,%edi addl %ebx,%eax orl %eax,%edi leal 2399980690(%edx,%ebp,1),%edx xorl %ebx,%edi movl 40(%esi),%ebp addl %edi,%edx movl $-1,%edi roll $10,%edx xorl %ebx,%edi addl %eax,%edx orl %edx,%edi leal 4293915773(%ecx,%ebp,1),%ecx xorl %eax,%edi movl 4(%esi),%ebp addl %edi,%ecx movl $-1,%edi roll $15,%ecx xorl %eax,%edi addl %edx,%ecx orl %ecx,%edi leal 2240044497(%ebx,%ebp,1),%ebx xorl %edx,%edi movl 32(%esi),%ebp addl %edi,%ebx movl $-1,%edi roll $21,%ebx xorl %edx,%edi addl %ecx,%ebx orl %ebx,%edi leal 1873313359(%eax,%ebp,1),%eax xorl %ecx,%edi movl 60(%esi),%ebp addl %edi,%eax movl $-1,%edi roll $6,%eax xorl %ecx,%edi addl %ebx,%eax orl %eax,%edi leal 4264355552(%edx,%ebp,1),%edx xorl %ebx,%edi movl 24(%esi),%ebp addl %edi,%edx movl $-1,%edi roll $10,%edx xorl %ebx,%edi addl %eax,%edx orl %edx,%edi leal 2734768916(%ecx,%ebp,1),%ecx xorl %eax,%edi movl 52(%esi),%ebp addl %edi,%ecx movl $-1,%edi roll $15,%ecx xorl %eax,%edi addl %edx,%ecx orl %ecx,%edi leal 1309151649(%ebx,%ebp,1),%ebx xorl %edx,%edi movl 16(%esi),%ebp addl %edi,%ebx movl $-1,%edi roll $21,%ebx xorl %edx,%edi addl %ecx,%ebx orl %ebx,%edi leal 4149444226(%eax,%ebp,1),%eax xorl %ecx,%edi movl 44(%esi),%ebp addl %edi,%eax movl $-1,%edi roll $6,%eax xorl %ecx,%edi addl %ebx,%eax orl %eax,%edi leal 3174756917(%edx,%ebp,1),%edx xorl %ebx,%edi movl 8(%esi),%ebp addl %edi,%edx movl $-1,%edi roll $10,%edx xorl %ebx,%edi addl %eax,%edx orl %edx,%edi leal 718787259(%ecx,%ebp,1),%ecx xorl %eax,%edi movl 36(%esi),%ebp addl %edi,%ecx movl $-1,%edi roll $15,%ecx xorl %eax,%edi addl %edx,%ecx orl %ecx,%edi leal 3951481745(%ebx,%ebp,1),%ebx xorl %edx,%edi movl 24(%esp),%ebp addl %edi,%ebx addl $64,%esi roll $21,%ebx movl (%ebp),%edi addl %ecx,%ebx addl %edi,%eax movl 4(%ebp),%edi addl %edi,%ebx movl 8(%ebp),%edi addl %edi,%ecx movl 12(%ebp),%edi addl %edi,%edx movl %eax,(%ebp) movl %ebx,4(%ebp) movl (%esp),%edi movl %ecx,8(%ebp) movl %edx,12(%ebp) cmpl %esi,%edi jae .L000start popl %eax popl %ebx popl %ebp popl %edi popl %esi ret .size md5_block_asm_data_order,.-.L_md5_block_asm_data_order_begin Index: projects/openssl-1.0.2/secure/lib/libcrypto/i386/rmd-586.s =================================================================== --- projects/openssl-1.0.2/secure/lib/libcrypto/i386/rmd-586.s (revision 290075) +++ projects/openssl-1.0.2/secure/lib/libcrypto/i386/rmd-586.s (revision 290076) @@ -1,1966 +1,1966 @@ # $FreeBSD$ -.file "/root/secure/lib/libcrypto/../../../crypto/openssl/crypto/ripemd/asm/rmd-586.s" +.file "rmd-586.s" .text .globl ripemd160_block_asm_data_order .type ripemd160_block_asm_data_order,@function .align 16 ripemd160_block_asm_data_order: .L_ripemd160_block_asm_data_order_begin: movl 4(%esp),%edx movl 8(%esp),%eax pushl %esi movl (%edx),%ecx pushl %edi movl 4(%edx),%esi pushl %ebp movl 8(%edx),%edi pushl %ebx subl $108,%esp .L000start: movl (%eax),%ebx movl 4(%eax),%ebp movl %ebx,(%esp) movl %ebp,4(%esp) movl 8(%eax),%ebx movl 12(%eax),%ebp movl %ebx,8(%esp) movl %ebp,12(%esp) movl 16(%eax),%ebx movl 20(%eax),%ebp movl %ebx,16(%esp) movl %ebp,20(%esp) movl 24(%eax),%ebx movl 28(%eax),%ebp movl %ebx,24(%esp) movl %ebp,28(%esp) movl 32(%eax),%ebx movl 36(%eax),%ebp movl %ebx,32(%esp) movl %ebp,36(%esp) movl 40(%eax),%ebx movl 44(%eax),%ebp movl %ebx,40(%esp) movl %ebp,44(%esp) movl 48(%eax),%ebx movl 52(%eax),%ebp movl %ebx,48(%esp) movl %ebp,52(%esp) movl 56(%eax),%ebx movl 60(%eax),%ebp movl %ebx,56(%esp) movl %ebp,60(%esp) movl %edi,%eax movl 12(%edx),%ebx movl 16(%edx),%ebp xorl %ebx,%eax movl (%esp),%edx xorl %esi,%eax addl %edx,%ecx roll $10,%edi addl %eax,%ecx movl %esi,%eax roll $11,%ecx addl %ebp,%ecx xorl %edi,%eax movl 4(%esp),%edx xorl %ecx,%eax addl %eax,%ebp movl %ecx,%eax roll $10,%esi addl %edx,%ebp xorl %esi,%eax roll $14,%ebp addl %ebx,%ebp movl 8(%esp),%edx xorl %ebp,%eax addl %edx,%ebx roll $10,%ecx addl %eax,%ebx movl %ebp,%eax roll $15,%ebx addl %edi,%ebx xorl %ecx,%eax movl 12(%esp),%edx xorl %ebx,%eax addl %eax,%edi movl %ebx,%eax roll $10,%ebp addl %edx,%edi xorl %ebp,%eax roll $12,%edi addl %esi,%edi movl 16(%esp),%edx xorl %edi,%eax addl %edx,%esi roll $10,%ebx addl %eax,%esi movl %edi,%eax roll $5,%esi addl %ecx,%esi xorl %ebx,%eax movl 20(%esp),%edx xorl %esi,%eax addl %eax,%ecx movl %esi,%eax roll $10,%edi addl %edx,%ecx xorl %edi,%eax roll $8,%ecx addl %ebp,%ecx movl 24(%esp),%edx xorl %ecx,%eax addl %edx,%ebp roll $10,%esi addl %eax,%ebp movl %ecx,%eax roll $7,%ebp addl %ebx,%ebp xorl %esi,%eax movl 28(%esp),%edx xorl %ebp,%eax addl %eax,%ebx movl %ebp,%eax roll $10,%ecx addl %edx,%ebx xorl %ecx,%eax roll $9,%ebx addl %edi,%ebx movl 32(%esp),%edx xorl %ebx,%eax addl %edx,%edi roll $10,%ebp addl %eax,%edi movl %ebx,%eax roll $11,%edi addl %esi,%edi xorl %ebp,%eax movl 36(%esp),%edx xorl %edi,%eax addl %eax,%esi movl %edi,%eax roll $10,%ebx addl %edx,%esi xorl %ebx,%eax roll $13,%esi addl %ecx,%esi movl 40(%esp),%edx xorl %esi,%eax addl %edx,%ecx roll $10,%edi addl %eax,%ecx movl %esi,%eax roll $14,%ecx addl %ebp,%ecx xorl %edi,%eax movl 44(%esp),%edx xorl %ecx,%eax addl %eax,%ebp movl %ecx,%eax roll $10,%esi addl %edx,%ebp xorl %esi,%eax roll $15,%ebp addl %ebx,%ebp movl 48(%esp),%edx xorl %ebp,%eax addl %edx,%ebx roll $10,%ecx addl %eax,%ebx movl %ebp,%eax roll $6,%ebx addl %edi,%ebx xorl %ecx,%eax movl 52(%esp),%edx xorl %ebx,%eax addl %eax,%edi movl %ebx,%eax roll $10,%ebp addl %edx,%edi xorl %ebp,%eax roll $7,%edi addl %esi,%edi movl 56(%esp),%edx xorl %edi,%eax addl %edx,%esi roll $10,%ebx addl %eax,%esi movl %edi,%eax roll $9,%esi addl %ecx,%esi xorl %ebx,%eax movl 60(%esp),%edx xorl %esi,%eax addl %eax,%ecx movl $-1,%eax roll $10,%edi addl %edx,%ecx movl 28(%esp),%edx roll $8,%ecx addl %ebp,%ecx addl %edx,%ebp movl %esi,%edx subl %ecx,%eax andl %ecx,%edx andl %edi,%eax orl %eax,%edx movl 16(%esp),%eax roll $10,%esi leal 1518500249(%ebp,%edx,1),%ebp movl $-1,%edx roll $7,%ebp addl %ebx,%ebp addl %eax,%ebx movl %ecx,%eax subl %ebp,%edx andl %ebp,%eax andl %esi,%edx orl %edx,%eax movl 52(%esp),%edx roll $10,%ecx leal 1518500249(%ebx,%eax,1),%ebx movl $-1,%eax roll $6,%ebx addl %edi,%ebx addl %edx,%edi movl %ebp,%edx subl %ebx,%eax andl %ebx,%edx andl %ecx,%eax orl %eax,%edx movl 4(%esp),%eax roll $10,%ebp leal 1518500249(%edi,%edx,1),%edi movl $-1,%edx roll $8,%edi addl %esi,%edi addl %eax,%esi movl %ebx,%eax subl %edi,%edx andl %edi,%eax andl %ebp,%edx orl %edx,%eax movl 40(%esp),%edx roll $10,%ebx leal 1518500249(%esi,%eax,1),%esi movl $-1,%eax roll $13,%esi addl %ecx,%esi addl %edx,%ecx movl %edi,%edx subl %esi,%eax andl %esi,%edx andl %ebx,%eax orl %eax,%edx movl 24(%esp),%eax roll $10,%edi leal 1518500249(%ecx,%edx,1),%ecx movl $-1,%edx roll $11,%ecx addl %ebp,%ecx addl %eax,%ebp movl %esi,%eax subl %ecx,%edx andl %ecx,%eax andl %edi,%edx orl %edx,%eax movl 60(%esp),%edx roll $10,%esi leal 1518500249(%ebp,%eax,1),%ebp movl $-1,%eax roll $9,%ebp addl %ebx,%ebp addl %edx,%ebx movl %ecx,%edx subl %ebp,%eax andl %ebp,%edx andl %esi,%eax orl %eax,%edx movl 12(%esp),%eax roll $10,%ecx leal 1518500249(%ebx,%edx,1),%ebx movl $-1,%edx roll $7,%ebx addl %edi,%ebx addl %eax,%edi movl %ebp,%eax subl %ebx,%edx andl %ebx,%eax andl %ecx,%edx orl %edx,%eax movl 48(%esp),%edx roll $10,%ebp leal 1518500249(%edi,%eax,1),%edi movl $-1,%eax roll $15,%edi addl %esi,%edi addl %edx,%esi movl %ebx,%edx subl %edi,%eax andl %edi,%edx andl %ebp,%eax orl %eax,%edx movl (%esp),%eax roll $10,%ebx leal 1518500249(%esi,%edx,1),%esi movl $-1,%edx roll $7,%esi addl %ecx,%esi addl %eax,%ecx movl %edi,%eax subl %esi,%edx andl %esi,%eax andl %ebx,%edx orl %edx,%eax movl 36(%esp),%edx roll $10,%edi leal 1518500249(%ecx,%eax,1),%ecx movl $-1,%eax roll $12,%ecx addl %ebp,%ecx addl %edx,%ebp movl %esi,%edx subl %ecx,%eax andl %ecx,%edx andl %edi,%eax orl %eax,%edx movl 20(%esp),%eax roll $10,%esi leal 1518500249(%ebp,%edx,1),%ebp movl $-1,%edx roll $15,%ebp addl %ebx,%ebp addl %eax,%ebx movl %ecx,%eax subl %ebp,%edx andl %ebp,%eax andl %esi,%edx orl %edx,%eax movl 8(%esp),%edx roll $10,%ecx leal 1518500249(%ebx,%eax,1),%ebx movl $-1,%eax roll $9,%ebx addl %edi,%ebx addl %edx,%edi movl %ebp,%edx subl %ebx,%eax andl %ebx,%edx andl %ecx,%eax orl %eax,%edx movl 56(%esp),%eax roll $10,%ebp leal 1518500249(%edi,%edx,1),%edi movl $-1,%edx roll $11,%edi addl %esi,%edi addl %eax,%esi movl %ebx,%eax subl %edi,%edx andl %edi,%eax andl %ebp,%edx orl %edx,%eax movl 44(%esp),%edx roll $10,%ebx leal 1518500249(%esi,%eax,1),%esi movl $-1,%eax roll $7,%esi addl %ecx,%esi addl %edx,%ecx movl %edi,%edx subl %esi,%eax andl %esi,%edx andl %ebx,%eax orl %eax,%edx movl 32(%esp),%eax roll $10,%edi leal 1518500249(%ecx,%edx,1),%ecx movl $-1,%edx roll $13,%ecx addl %ebp,%ecx addl %eax,%ebp movl %esi,%eax subl %ecx,%edx andl %ecx,%eax andl %edi,%edx orl %edx,%eax movl $-1,%edx roll $10,%esi leal 1518500249(%ebp,%eax,1),%ebp subl %ecx,%edx roll $12,%ebp addl %ebx,%ebp movl 12(%esp),%eax orl %ebp,%edx addl %eax,%ebx xorl %esi,%edx movl $-1,%eax roll $10,%ecx leal 1859775393(%ebx,%edx,1),%ebx subl %ebp,%eax roll $11,%ebx addl %edi,%ebx movl 40(%esp),%edx orl %ebx,%eax addl %edx,%edi xorl %ecx,%eax movl $-1,%edx roll $10,%ebp leal 1859775393(%edi,%eax,1),%edi subl %ebx,%edx roll $13,%edi addl %esi,%edi movl 56(%esp),%eax orl %edi,%edx addl %eax,%esi xorl %ebp,%edx movl $-1,%eax roll $10,%ebx leal 1859775393(%esi,%edx,1),%esi subl %edi,%eax roll $6,%esi addl %ecx,%esi movl 16(%esp),%edx orl %esi,%eax addl %edx,%ecx xorl %ebx,%eax movl $-1,%edx roll $10,%edi leal 1859775393(%ecx,%eax,1),%ecx subl %esi,%edx roll $7,%ecx addl %ebp,%ecx movl 36(%esp),%eax orl %ecx,%edx addl %eax,%ebp xorl %edi,%edx movl $-1,%eax roll $10,%esi leal 1859775393(%ebp,%edx,1),%ebp subl %ecx,%eax roll $14,%ebp addl %ebx,%ebp movl 60(%esp),%edx orl %ebp,%eax addl %edx,%ebx xorl %esi,%eax movl $-1,%edx roll $10,%ecx leal 1859775393(%ebx,%eax,1),%ebx subl %ebp,%edx roll $9,%ebx addl %edi,%ebx movl 32(%esp),%eax orl %ebx,%edx addl %eax,%edi xorl %ecx,%edx movl $-1,%eax roll $10,%ebp leal 1859775393(%edi,%edx,1),%edi subl %ebx,%eax roll $13,%edi addl %esi,%edi movl 4(%esp),%edx orl %edi,%eax addl %edx,%esi xorl %ebp,%eax movl $-1,%edx roll $10,%ebx leal 1859775393(%esi,%eax,1),%esi subl %edi,%edx roll $15,%esi addl %ecx,%esi movl 8(%esp),%eax orl %esi,%edx addl %eax,%ecx xorl %ebx,%edx movl $-1,%eax roll $10,%edi leal 1859775393(%ecx,%edx,1),%ecx subl %esi,%eax roll $14,%ecx addl %ebp,%ecx movl 28(%esp),%edx orl %ecx,%eax addl %edx,%ebp xorl %edi,%eax movl $-1,%edx roll $10,%esi leal 1859775393(%ebp,%eax,1),%ebp subl %ecx,%edx roll $8,%ebp addl %ebx,%ebp movl (%esp),%eax orl %ebp,%edx addl %eax,%ebx xorl %esi,%edx movl $-1,%eax roll $10,%ecx leal 1859775393(%ebx,%edx,1),%ebx subl %ebp,%eax roll $13,%ebx addl %edi,%ebx movl 24(%esp),%edx orl %ebx,%eax addl %edx,%edi xorl %ecx,%eax movl $-1,%edx roll $10,%ebp leal 1859775393(%edi,%eax,1),%edi subl %ebx,%edx roll $6,%edi addl %esi,%edi movl 52(%esp),%eax orl %edi,%edx addl %eax,%esi xorl %ebp,%edx movl $-1,%eax roll $10,%ebx leal 1859775393(%esi,%edx,1),%esi subl %edi,%eax roll $5,%esi addl %ecx,%esi movl 44(%esp),%edx orl %esi,%eax addl %edx,%ecx xorl %ebx,%eax movl $-1,%edx roll $10,%edi leal 1859775393(%ecx,%eax,1),%ecx subl %esi,%edx roll $12,%ecx addl %ebp,%ecx movl 20(%esp),%eax orl %ecx,%edx addl %eax,%ebp xorl %edi,%edx movl $-1,%eax roll $10,%esi leal 1859775393(%ebp,%edx,1),%ebp subl %ecx,%eax roll $7,%ebp addl %ebx,%ebp movl 48(%esp),%edx orl %ebp,%eax addl %edx,%ebx xorl %esi,%eax movl $-1,%edx roll $10,%ecx leal 1859775393(%ebx,%eax,1),%ebx movl %ecx,%eax roll $5,%ebx addl %edi,%ebx subl %ecx,%edx andl %ebx,%eax andl %ebp,%edx orl %eax,%edx movl 4(%esp),%eax roll $10,%ebp leal 2400959708(%edi,%edx,1),%edi movl $-1,%edx addl %eax,%edi movl %ebp,%eax roll $11,%edi addl %esi,%edi subl %ebp,%edx andl %edi,%eax andl %ebx,%edx orl %eax,%edx movl 36(%esp),%eax roll $10,%ebx leal 2400959708(%esi,%edx,1),%esi movl $-1,%edx addl %eax,%esi movl %ebx,%eax roll $12,%esi addl %ecx,%esi subl %ebx,%edx andl %esi,%eax andl %edi,%edx orl %eax,%edx movl 44(%esp),%eax roll $10,%edi leal 2400959708(%ecx,%edx,1),%ecx movl $-1,%edx addl %eax,%ecx movl %edi,%eax roll $14,%ecx addl %ebp,%ecx subl %edi,%edx andl %ecx,%eax andl %esi,%edx orl %eax,%edx movl 40(%esp),%eax roll $10,%esi leal 2400959708(%ebp,%edx,1),%ebp movl $-1,%edx addl %eax,%ebp movl %esi,%eax roll $15,%ebp addl %ebx,%ebp subl %esi,%edx andl %ebp,%eax andl %ecx,%edx orl %eax,%edx movl (%esp),%eax roll $10,%ecx leal 2400959708(%ebx,%edx,1),%ebx movl $-1,%edx addl %eax,%ebx movl %ecx,%eax roll $14,%ebx addl %edi,%ebx subl %ecx,%edx andl %ebx,%eax andl %ebp,%edx orl %eax,%edx movl 32(%esp),%eax roll $10,%ebp leal 2400959708(%edi,%edx,1),%edi movl $-1,%edx addl %eax,%edi movl %ebp,%eax roll $15,%edi addl %esi,%edi subl %ebp,%edx andl %edi,%eax andl %ebx,%edx orl %eax,%edx movl 48(%esp),%eax roll $10,%ebx leal 2400959708(%esi,%edx,1),%esi movl $-1,%edx addl %eax,%esi movl %ebx,%eax roll $9,%esi addl %ecx,%esi subl %ebx,%edx andl %esi,%eax andl %edi,%edx orl %eax,%edx movl 16(%esp),%eax roll $10,%edi leal 2400959708(%ecx,%edx,1),%ecx movl $-1,%edx addl %eax,%ecx movl %edi,%eax roll $8,%ecx addl %ebp,%ecx subl %edi,%edx andl %ecx,%eax andl %esi,%edx orl %eax,%edx movl 52(%esp),%eax roll $10,%esi leal 2400959708(%ebp,%edx,1),%ebp movl $-1,%edx addl %eax,%ebp movl %esi,%eax roll $9,%ebp addl %ebx,%ebp subl %esi,%edx andl %ebp,%eax andl %ecx,%edx orl %eax,%edx movl 12(%esp),%eax roll $10,%ecx leal 2400959708(%ebx,%edx,1),%ebx movl $-1,%edx addl %eax,%ebx movl %ecx,%eax roll $14,%ebx addl %edi,%ebx subl %ecx,%edx andl %ebx,%eax andl %ebp,%edx orl %eax,%edx movl 28(%esp),%eax roll $10,%ebp leal 2400959708(%edi,%edx,1),%edi movl $-1,%edx addl %eax,%edi movl %ebp,%eax roll $5,%edi addl %esi,%edi subl %ebp,%edx andl %edi,%eax andl %ebx,%edx orl %eax,%edx movl 60(%esp),%eax roll $10,%ebx leal 2400959708(%esi,%edx,1),%esi movl $-1,%edx addl %eax,%esi movl %ebx,%eax roll $6,%esi addl %ecx,%esi subl %ebx,%edx andl %esi,%eax andl %edi,%edx orl %eax,%edx movl 56(%esp),%eax roll $10,%edi leal 2400959708(%ecx,%edx,1),%ecx movl $-1,%edx addl %eax,%ecx movl %edi,%eax roll $8,%ecx addl %ebp,%ecx subl %edi,%edx andl %ecx,%eax andl %esi,%edx orl %eax,%edx movl 20(%esp),%eax roll $10,%esi leal 2400959708(%ebp,%edx,1),%ebp movl $-1,%edx addl %eax,%ebp movl %esi,%eax roll $6,%ebp addl %ebx,%ebp subl %esi,%edx andl %ebp,%eax andl %ecx,%edx orl %eax,%edx movl 24(%esp),%eax roll $10,%ecx leal 2400959708(%ebx,%edx,1),%ebx movl $-1,%edx addl %eax,%ebx movl %ecx,%eax roll $5,%ebx addl %edi,%ebx subl %ecx,%edx andl %ebx,%eax andl %ebp,%edx orl %eax,%edx movl 8(%esp),%eax roll $10,%ebp leal 2400959708(%edi,%edx,1),%edi movl $-1,%edx addl %eax,%edi subl %ebp,%edx roll $12,%edi addl %esi,%edi movl 16(%esp),%eax orl %ebx,%edx addl %eax,%esi xorl %edi,%edx movl $-1,%eax roll $10,%ebx leal 2840853838(%esi,%edx,1),%esi subl %ebx,%eax roll $9,%esi addl %ecx,%esi movl (%esp),%edx orl %edi,%eax addl %edx,%ecx xorl %esi,%eax movl $-1,%edx roll $10,%edi leal 2840853838(%ecx,%eax,1),%ecx subl %edi,%edx roll $15,%ecx addl %ebp,%ecx movl 20(%esp),%eax orl %esi,%edx addl %eax,%ebp xorl %ecx,%edx movl $-1,%eax roll $10,%esi leal 2840853838(%ebp,%edx,1),%ebp subl %esi,%eax roll $5,%ebp addl %ebx,%ebp movl 36(%esp),%edx orl %ecx,%eax addl %edx,%ebx xorl %ebp,%eax movl $-1,%edx roll $10,%ecx leal 2840853838(%ebx,%eax,1),%ebx subl %ecx,%edx roll $11,%ebx addl %edi,%ebx movl 28(%esp),%eax orl %ebp,%edx addl %eax,%edi xorl %ebx,%edx movl $-1,%eax roll $10,%ebp leal 2840853838(%edi,%edx,1),%edi subl %ebp,%eax roll $6,%edi addl %esi,%edi movl 48(%esp),%edx orl %ebx,%eax addl %edx,%esi xorl %edi,%eax movl $-1,%edx roll $10,%ebx leal 2840853838(%esi,%eax,1),%esi subl %ebx,%edx roll $8,%esi addl %ecx,%esi movl 8(%esp),%eax orl %edi,%edx addl %eax,%ecx xorl %esi,%edx movl $-1,%eax roll $10,%edi leal 2840853838(%ecx,%edx,1),%ecx subl %edi,%eax roll $13,%ecx addl %ebp,%ecx movl 40(%esp),%edx orl %esi,%eax addl %edx,%ebp xorl %ecx,%eax movl $-1,%edx roll $10,%esi leal 2840853838(%ebp,%eax,1),%ebp subl %esi,%edx roll $12,%ebp addl %ebx,%ebp movl 56(%esp),%eax orl %ecx,%edx addl %eax,%ebx xorl %ebp,%edx movl $-1,%eax roll $10,%ecx leal 2840853838(%ebx,%edx,1),%ebx subl %ecx,%eax roll $5,%ebx addl %edi,%ebx movl 4(%esp),%edx orl %ebp,%eax addl %edx,%edi xorl %ebx,%eax movl $-1,%edx roll $10,%ebp leal 2840853838(%edi,%eax,1),%edi subl %ebp,%edx roll $12,%edi addl %esi,%edi movl 12(%esp),%eax orl %ebx,%edx addl %eax,%esi xorl %edi,%edx movl $-1,%eax roll $10,%ebx leal 2840853838(%esi,%edx,1),%esi subl %ebx,%eax roll $13,%esi addl %ecx,%esi movl 32(%esp),%edx orl %edi,%eax addl %edx,%ecx xorl %esi,%eax movl $-1,%edx roll $10,%edi leal 2840853838(%ecx,%eax,1),%ecx subl %edi,%edx roll $14,%ecx addl %ebp,%ecx movl 44(%esp),%eax orl %esi,%edx addl %eax,%ebp xorl %ecx,%edx movl $-1,%eax roll $10,%esi leal 2840853838(%ebp,%edx,1),%ebp subl %esi,%eax roll $11,%ebp addl %ebx,%ebp movl 24(%esp),%edx orl %ecx,%eax addl %edx,%ebx xorl %ebp,%eax movl $-1,%edx roll $10,%ecx leal 2840853838(%ebx,%eax,1),%ebx subl %ecx,%edx roll $8,%ebx addl %edi,%ebx movl 60(%esp),%eax orl %ebp,%edx addl %eax,%edi xorl %ebx,%edx movl $-1,%eax roll $10,%ebp leal 2840853838(%edi,%edx,1),%edi subl %ebp,%eax roll $5,%edi addl %esi,%edi movl 52(%esp),%edx orl %ebx,%eax addl %edx,%esi xorl %edi,%eax movl 128(%esp),%edx roll $10,%ebx leal 2840853838(%esi,%eax,1),%esi movl %ecx,64(%esp) roll $6,%esi addl %ecx,%esi movl (%edx),%ecx movl %esi,68(%esp) movl %edi,72(%esp) movl 4(%edx),%esi movl %ebx,76(%esp) movl 8(%edx),%edi movl %ebp,80(%esp) movl 12(%edx),%ebx movl 16(%edx),%ebp movl $-1,%edx subl %ebx,%edx movl 20(%esp),%eax orl %edi,%edx addl %eax,%ecx xorl %esi,%edx movl $-1,%eax roll $10,%edi leal 1352829926(%ecx,%edx,1),%ecx subl %edi,%eax roll $8,%ecx addl %ebp,%ecx movl 56(%esp),%edx orl %esi,%eax addl %edx,%ebp xorl %ecx,%eax movl $-1,%edx roll $10,%esi leal 1352829926(%ebp,%eax,1),%ebp subl %esi,%edx roll $9,%ebp addl %ebx,%ebp movl 28(%esp),%eax orl %ecx,%edx addl %eax,%ebx xorl %ebp,%edx movl $-1,%eax roll $10,%ecx leal 1352829926(%ebx,%edx,1),%ebx subl %ecx,%eax roll $9,%ebx addl %edi,%ebx movl (%esp),%edx orl %ebp,%eax addl %edx,%edi xorl %ebx,%eax movl $-1,%edx roll $10,%ebp leal 1352829926(%edi,%eax,1),%edi subl %ebp,%edx roll $11,%edi addl %esi,%edi movl 36(%esp),%eax orl %ebx,%edx addl %eax,%esi xorl %edi,%edx movl $-1,%eax roll $10,%ebx leal 1352829926(%esi,%edx,1),%esi subl %ebx,%eax roll $13,%esi addl %ecx,%esi movl 8(%esp),%edx orl %edi,%eax addl %edx,%ecx xorl %esi,%eax movl $-1,%edx roll $10,%edi leal 1352829926(%ecx,%eax,1),%ecx subl %edi,%edx roll $15,%ecx addl %ebp,%ecx movl 44(%esp),%eax orl %esi,%edx addl %eax,%ebp xorl %ecx,%edx movl $-1,%eax roll $10,%esi leal 1352829926(%ebp,%edx,1),%ebp subl %esi,%eax roll $15,%ebp addl %ebx,%ebp movl 16(%esp),%edx orl %ecx,%eax addl %edx,%ebx xorl %ebp,%eax movl $-1,%edx roll $10,%ecx leal 1352829926(%ebx,%eax,1),%ebx subl %ecx,%edx roll $5,%ebx addl %edi,%ebx movl 52(%esp),%eax orl %ebp,%edx addl %eax,%edi xorl %ebx,%edx movl $-1,%eax roll $10,%ebp leal 1352829926(%edi,%edx,1),%edi subl %ebp,%eax roll $7,%edi addl %esi,%edi movl 24(%esp),%edx orl %ebx,%eax addl %edx,%esi xorl %edi,%eax movl $-1,%edx roll $10,%ebx leal 1352829926(%esi,%eax,1),%esi subl %ebx,%edx roll $7,%esi addl %ecx,%esi movl 60(%esp),%eax orl %edi,%edx addl %eax,%ecx xorl %esi,%edx movl $-1,%eax roll $10,%edi leal 1352829926(%ecx,%edx,1),%ecx subl %edi,%eax roll $8,%ecx addl %ebp,%ecx movl 32(%esp),%edx orl %esi,%eax addl %edx,%ebp xorl %ecx,%eax movl $-1,%edx roll $10,%esi leal 1352829926(%ebp,%eax,1),%ebp subl %esi,%edx roll $11,%ebp addl %ebx,%ebp movl 4(%esp),%eax orl %ecx,%edx addl %eax,%ebx xorl %ebp,%edx movl $-1,%eax roll $10,%ecx leal 1352829926(%ebx,%edx,1),%ebx subl %ecx,%eax roll $14,%ebx addl %edi,%ebx movl 40(%esp),%edx orl %ebp,%eax addl %edx,%edi xorl %ebx,%eax movl $-1,%edx roll $10,%ebp leal 1352829926(%edi,%eax,1),%edi subl %ebp,%edx roll $14,%edi addl %esi,%edi movl 12(%esp),%eax orl %ebx,%edx addl %eax,%esi xorl %edi,%edx movl $-1,%eax roll $10,%ebx leal 1352829926(%esi,%edx,1),%esi subl %ebx,%eax roll $12,%esi addl %ecx,%esi movl 48(%esp),%edx orl %edi,%eax addl %edx,%ecx xorl %esi,%eax movl $-1,%edx roll $10,%edi leal 1352829926(%ecx,%eax,1),%ecx movl %edi,%eax roll $6,%ecx addl %ebp,%ecx subl %edi,%edx andl %ecx,%eax andl %esi,%edx orl %eax,%edx movl 24(%esp),%eax roll $10,%esi leal 1548603684(%ebp,%edx,1),%ebp movl $-1,%edx addl %eax,%ebp movl %esi,%eax roll $9,%ebp addl %ebx,%ebp subl %esi,%edx andl %ebp,%eax andl %ecx,%edx orl %eax,%edx movl 44(%esp),%eax roll $10,%ecx leal 1548603684(%ebx,%edx,1),%ebx movl $-1,%edx addl %eax,%ebx movl %ecx,%eax roll $13,%ebx addl %edi,%ebx subl %ecx,%edx andl %ebx,%eax andl %ebp,%edx orl %eax,%edx movl 12(%esp),%eax roll $10,%ebp leal 1548603684(%edi,%edx,1),%edi movl $-1,%edx addl %eax,%edi movl %ebp,%eax roll $15,%edi addl %esi,%edi subl %ebp,%edx andl %edi,%eax andl %ebx,%edx orl %eax,%edx movl 28(%esp),%eax roll $10,%ebx leal 1548603684(%esi,%edx,1),%esi movl $-1,%edx addl %eax,%esi movl %ebx,%eax roll $7,%esi addl %ecx,%esi subl %ebx,%edx andl %esi,%eax andl %edi,%edx orl %eax,%edx movl (%esp),%eax roll $10,%edi leal 1548603684(%ecx,%edx,1),%ecx movl $-1,%edx addl %eax,%ecx movl %edi,%eax roll $12,%ecx addl %ebp,%ecx subl %edi,%edx andl %ecx,%eax andl %esi,%edx orl %eax,%edx movl 52(%esp),%eax roll $10,%esi leal 1548603684(%ebp,%edx,1),%ebp movl $-1,%edx addl %eax,%ebp movl %esi,%eax roll $8,%ebp addl %ebx,%ebp subl %esi,%edx andl %ebp,%eax andl %ecx,%edx orl %eax,%edx movl 20(%esp),%eax roll $10,%ecx leal 1548603684(%ebx,%edx,1),%ebx movl $-1,%edx addl %eax,%ebx movl %ecx,%eax roll $9,%ebx addl %edi,%ebx subl %ecx,%edx andl %ebx,%eax andl %ebp,%edx orl %eax,%edx movl 40(%esp),%eax roll $10,%ebp leal 1548603684(%edi,%edx,1),%edi movl $-1,%edx addl %eax,%edi movl %ebp,%eax roll $11,%edi addl %esi,%edi subl %ebp,%edx andl %edi,%eax andl %ebx,%edx orl %eax,%edx movl 56(%esp),%eax roll $10,%ebx leal 1548603684(%esi,%edx,1),%esi movl $-1,%edx addl %eax,%esi movl %ebx,%eax roll $7,%esi addl %ecx,%esi subl %ebx,%edx andl %esi,%eax andl %edi,%edx orl %eax,%edx movl 60(%esp),%eax roll $10,%edi leal 1548603684(%ecx,%edx,1),%ecx movl $-1,%edx addl %eax,%ecx movl %edi,%eax roll $7,%ecx addl %ebp,%ecx subl %edi,%edx andl %ecx,%eax andl %esi,%edx orl %eax,%edx movl 32(%esp),%eax roll $10,%esi leal 1548603684(%ebp,%edx,1),%ebp movl $-1,%edx addl %eax,%ebp movl %esi,%eax roll $12,%ebp addl %ebx,%ebp subl %esi,%edx andl %ebp,%eax andl %ecx,%edx orl %eax,%edx movl 48(%esp),%eax roll $10,%ecx leal 1548603684(%ebx,%edx,1),%ebx movl $-1,%edx addl %eax,%ebx movl %ecx,%eax roll $7,%ebx addl %edi,%ebx subl %ecx,%edx andl %ebx,%eax andl %ebp,%edx orl %eax,%edx movl 16(%esp),%eax roll $10,%ebp leal 1548603684(%edi,%edx,1),%edi movl $-1,%edx addl %eax,%edi movl %ebp,%eax roll $6,%edi addl %esi,%edi subl %ebp,%edx andl %edi,%eax andl %ebx,%edx orl %eax,%edx movl 36(%esp),%eax roll $10,%ebx leal 1548603684(%esi,%edx,1),%esi movl $-1,%edx addl %eax,%esi movl %ebx,%eax roll $15,%esi addl %ecx,%esi subl %ebx,%edx andl %esi,%eax andl %edi,%edx orl %eax,%edx movl 4(%esp),%eax roll $10,%edi leal 1548603684(%ecx,%edx,1),%ecx movl $-1,%edx addl %eax,%ecx movl %edi,%eax roll $13,%ecx addl %ebp,%ecx subl %edi,%edx andl %ecx,%eax andl %esi,%edx orl %eax,%edx movl 8(%esp),%eax roll $10,%esi leal 1548603684(%ebp,%edx,1),%ebp movl $-1,%edx addl %eax,%ebp subl %ecx,%edx roll $11,%ebp addl %ebx,%ebp movl 60(%esp),%eax orl %ebp,%edx addl %eax,%ebx xorl %esi,%edx movl $-1,%eax roll $10,%ecx leal 1836072691(%ebx,%edx,1),%ebx subl %ebp,%eax roll $9,%ebx addl %edi,%ebx movl 20(%esp),%edx orl %ebx,%eax addl %edx,%edi xorl %ecx,%eax movl $-1,%edx roll $10,%ebp leal 1836072691(%edi,%eax,1),%edi subl %ebx,%edx roll $7,%edi addl %esi,%edi movl 4(%esp),%eax orl %edi,%edx addl %eax,%esi xorl %ebp,%edx movl $-1,%eax roll $10,%ebx leal 1836072691(%esi,%edx,1),%esi subl %edi,%eax roll $15,%esi addl %ecx,%esi movl 12(%esp),%edx orl %esi,%eax addl %edx,%ecx xorl %ebx,%eax movl $-1,%edx roll $10,%edi leal 1836072691(%ecx,%eax,1),%ecx subl %esi,%edx roll $11,%ecx addl %ebp,%ecx movl 28(%esp),%eax orl %ecx,%edx addl %eax,%ebp xorl %edi,%edx movl $-1,%eax roll $10,%esi leal 1836072691(%ebp,%edx,1),%ebp subl %ecx,%eax roll $8,%ebp addl %ebx,%ebp movl 56(%esp),%edx orl %ebp,%eax addl %edx,%ebx xorl %esi,%eax movl $-1,%edx roll $10,%ecx leal 1836072691(%ebx,%eax,1),%ebx subl %ebp,%edx roll $6,%ebx addl %edi,%ebx movl 24(%esp),%eax orl %ebx,%edx addl %eax,%edi xorl %ecx,%edx movl $-1,%eax roll $10,%ebp leal 1836072691(%edi,%edx,1),%edi subl %ebx,%eax roll $6,%edi addl %esi,%edi movl 36(%esp),%edx orl %edi,%eax addl %edx,%esi xorl %ebp,%eax movl $-1,%edx roll $10,%ebx leal 1836072691(%esi,%eax,1),%esi subl %edi,%edx roll $14,%esi addl %ecx,%esi movl 44(%esp),%eax orl %esi,%edx addl %eax,%ecx xorl %ebx,%edx movl $-1,%eax roll $10,%edi leal 1836072691(%ecx,%edx,1),%ecx subl %esi,%eax roll $12,%ecx addl %ebp,%ecx movl 32(%esp),%edx orl %ecx,%eax addl %edx,%ebp xorl %edi,%eax movl $-1,%edx roll $10,%esi leal 1836072691(%ebp,%eax,1),%ebp subl %ecx,%edx roll $13,%ebp addl %ebx,%ebp movl 48(%esp),%eax orl %ebp,%edx addl %eax,%ebx xorl %esi,%edx movl $-1,%eax roll $10,%ecx leal 1836072691(%ebx,%edx,1),%ebx subl %ebp,%eax roll $5,%ebx addl %edi,%ebx movl 8(%esp),%edx orl %ebx,%eax addl %edx,%edi xorl %ecx,%eax movl $-1,%edx roll $10,%ebp leal 1836072691(%edi,%eax,1),%edi subl %ebx,%edx roll $14,%edi addl %esi,%edi movl 40(%esp),%eax orl %edi,%edx addl %eax,%esi xorl %ebp,%edx movl $-1,%eax roll $10,%ebx leal 1836072691(%esi,%edx,1),%esi subl %edi,%eax roll $13,%esi addl %ecx,%esi movl (%esp),%edx orl %esi,%eax addl %edx,%ecx xorl %ebx,%eax movl $-1,%edx roll $10,%edi leal 1836072691(%ecx,%eax,1),%ecx subl %esi,%edx roll $13,%ecx addl %ebp,%ecx movl 16(%esp),%eax orl %ecx,%edx addl %eax,%ebp xorl %edi,%edx movl $-1,%eax roll $10,%esi leal 1836072691(%ebp,%edx,1),%ebp subl %ecx,%eax roll $7,%ebp addl %ebx,%ebp movl 52(%esp),%edx orl %ebp,%eax addl %edx,%ebx xorl %esi,%eax movl 32(%esp),%edx roll $10,%ecx leal 1836072691(%ebx,%eax,1),%ebx movl $-1,%eax roll $5,%ebx addl %edi,%ebx addl %edx,%edi movl %ebp,%edx subl %ebx,%eax andl %ebx,%edx andl %ecx,%eax orl %eax,%edx movl 24(%esp),%eax roll $10,%ebp leal 2053994217(%edi,%edx,1),%edi movl $-1,%edx roll $15,%edi addl %esi,%edi addl %eax,%esi movl %ebx,%eax subl %edi,%edx andl %edi,%eax andl %ebp,%edx orl %edx,%eax movl 16(%esp),%edx roll $10,%ebx leal 2053994217(%esi,%eax,1),%esi movl $-1,%eax roll $5,%esi addl %ecx,%esi addl %edx,%ecx movl %edi,%edx subl %esi,%eax andl %esi,%edx andl %ebx,%eax orl %eax,%edx movl 4(%esp),%eax roll $10,%edi leal 2053994217(%ecx,%edx,1),%ecx movl $-1,%edx roll $8,%ecx addl %ebp,%ecx addl %eax,%ebp movl %esi,%eax subl %ecx,%edx andl %ecx,%eax andl %edi,%edx orl %edx,%eax movl 12(%esp),%edx roll $10,%esi leal 2053994217(%ebp,%eax,1),%ebp movl $-1,%eax roll $11,%ebp addl %ebx,%ebp addl %edx,%ebx movl %ecx,%edx subl %ebp,%eax andl %ebp,%edx andl %esi,%eax orl %eax,%edx movl 44(%esp),%eax roll $10,%ecx leal 2053994217(%ebx,%edx,1),%ebx movl $-1,%edx roll $14,%ebx addl %edi,%ebx addl %eax,%edi movl %ebp,%eax subl %ebx,%edx andl %ebx,%eax andl %ecx,%edx orl %edx,%eax movl 60(%esp),%edx roll $10,%ebp leal 2053994217(%edi,%eax,1),%edi movl $-1,%eax roll $14,%edi addl %esi,%edi addl %edx,%esi movl %ebx,%edx subl %edi,%eax andl %edi,%edx andl %ebp,%eax orl %eax,%edx movl (%esp),%eax roll $10,%ebx leal 2053994217(%esi,%edx,1),%esi movl $-1,%edx roll $6,%esi addl %ecx,%esi addl %eax,%ecx movl %edi,%eax subl %esi,%edx andl %esi,%eax andl %ebx,%edx orl %edx,%eax movl 20(%esp),%edx roll $10,%edi leal 2053994217(%ecx,%eax,1),%ecx movl $-1,%eax roll $14,%ecx addl %ebp,%ecx addl %edx,%ebp movl %esi,%edx subl %ecx,%eax andl %ecx,%edx andl %edi,%eax orl %eax,%edx movl 48(%esp),%eax roll $10,%esi leal 2053994217(%ebp,%edx,1),%ebp movl $-1,%edx roll $6,%ebp addl %ebx,%ebp addl %eax,%ebx movl %ecx,%eax subl %ebp,%edx andl %ebp,%eax andl %esi,%edx orl %edx,%eax movl 8(%esp),%edx roll $10,%ecx leal 2053994217(%ebx,%eax,1),%ebx movl $-1,%eax roll $9,%ebx addl %edi,%ebx addl %edx,%edi movl %ebp,%edx subl %ebx,%eax andl %ebx,%edx andl %ecx,%eax orl %eax,%edx movl 52(%esp),%eax roll $10,%ebp leal 2053994217(%edi,%edx,1),%edi movl $-1,%edx roll $12,%edi addl %esi,%edi addl %eax,%esi movl %ebx,%eax subl %edi,%edx andl %edi,%eax andl %ebp,%edx orl %edx,%eax movl 36(%esp),%edx roll $10,%ebx leal 2053994217(%esi,%eax,1),%esi movl $-1,%eax roll $9,%esi addl %ecx,%esi addl %edx,%ecx movl %edi,%edx subl %esi,%eax andl %esi,%edx andl %ebx,%eax orl %eax,%edx movl 28(%esp),%eax roll $10,%edi leal 2053994217(%ecx,%edx,1),%ecx movl $-1,%edx roll $12,%ecx addl %ebp,%ecx addl %eax,%ebp movl %esi,%eax subl %ecx,%edx andl %ecx,%eax andl %edi,%edx orl %edx,%eax movl 40(%esp),%edx roll $10,%esi leal 2053994217(%ebp,%eax,1),%ebp movl $-1,%eax roll $5,%ebp addl %ebx,%ebp addl %edx,%ebx movl %ecx,%edx subl %ebp,%eax andl %ebp,%edx andl %esi,%eax orl %eax,%edx movl 56(%esp),%eax roll $10,%ecx leal 2053994217(%ebx,%edx,1),%ebx movl $-1,%edx roll $15,%ebx addl %edi,%ebx addl %eax,%edi movl %ebp,%eax subl %ebx,%edx andl %ebx,%eax andl %ecx,%edx orl %eax,%edx movl %ebx,%eax roll $10,%ebp leal 2053994217(%edi,%edx,1),%edi xorl %ebp,%eax roll $8,%edi addl %esi,%edi movl 48(%esp),%edx xorl %edi,%eax addl %edx,%esi roll $10,%ebx addl %eax,%esi movl %edi,%eax roll $8,%esi addl %ecx,%esi xorl %ebx,%eax movl 60(%esp),%edx xorl %esi,%eax addl %eax,%ecx movl %esi,%eax roll $10,%edi addl %edx,%ecx xorl %edi,%eax roll $5,%ecx addl %ebp,%ecx movl 40(%esp),%edx xorl %ecx,%eax addl %edx,%ebp roll $10,%esi addl %eax,%ebp movl %ecx,%eax roll $12,%ebp addl %ebx,%ebp xorl %esi,%eax movl 16(%esp),%edx xorl %ebp,%eax addl %eax,%ebx movl %ebp,%eax roll $10,%ecx addl %edx,%ebx xorl %ecx,%eax roll $9,%ebx addl %edi,%ebx movl 4(%esp),%edx xorl %ebx,%eax addl %edx,%edi roll $10,%ebp addl %eax,%edi movl %ebx,%eax roll $12,%edi addl %esi,%edi xorl %ebp,%eax movl 20(%esp),%edx xorl %edi,%eax addl %eax,%esi movl %edi,%eax roll $10,%ebx addl %edx,%esi xorl %ebx,%eax roll $5,%esi addl %ecx,%esi movl 32(%esp),%edx xorl %esi,%eax addl %edx,%ecx roll $10,%edi addl %eax,%ecx movl %esi,%eax roll $14,%ecx addl %ebp,%ecx xorl %edi,%eax movl 28(%esp),%edx xorl %ecx,%eax addl %eax,%ebp movl %ecx,%eax roll $10,%esi addl %edx,%ebp xorl %esi,%eax roll $6,%ebp addl %ebx,%ebp movl 24(%esp),%edx xorl %ebp,%eax addl %edx,%ebx roll $10,%ecx addl %eax,%ebx movl %ebp,%eax roll $8,%ebx addl %edi,%ebx xorl %ecx,%eax movl 8(%esp),%edx xorl %ebx,%eax addl %eax,%edi movl %ebx,%eax roll $10,%ebp addl %edx,%edi xorl %ebp,%eax roll $13,%edi addl %esi,%edi movl 52(%esp),%edx xorl %edi,%eax addl %edx,%esi roll $10,%ebx addl %eax,%esi movl %edi,%eax roll $6,%esi addl %ecx,%esi xorl %ebx,%eax movl 56(%esp),%edx xorl %esi,%eax addl %eax,%ecx movl %esi,%eax roll $10,%edi addl %edx,%ecx xorl %edi,%eax roll $5,%ecx addl %ebp,%ecx movl (%esp),%edx xorl %ecx,%eax addl %edx,%ebp roll $10,%esi addl %eax,%ebp movl %ecx,%eax roll $15,%ebp addl %ebx,%ebp xorl %esi,%eax movl 12(%esp),%edx xorl %ebp,%eax addl %eax,%ebx movl %ebp,%eax roll $10,%ecx addl %edx,%ebx xorl %ecx,%eax roll $13,%ebx addl %edi,%ebx movl 36(%esp),%edx xorl %ebx,%eax addl %edx,%edi roll $10,%ebp addl %eax,%edi movl %ebx,%eax roll $11,%edi addl %esi,%edi xorl %ebp,%eax movl 44(%esp),%edx xorl %edi,%eax addl %eax,%esi roll $10,%ebx addl %edx,%esi movl 128(%esp),%edx roll $11,%esi addl %ecx,%esi movl 4(%edx),%eax addl %eax,%ebx movl 72(%esp),%eax addl %eax,%ebx movl 8(%edx),%eax addl %eax,%ebp movl 76(%esp),%eax addl %eax,%ebp movl 12(%edx),%eax addl %eax,%ecx movl 80(%esp),%eax addl %eax,%ecx movl 16(%edx),%eax addl %eax,%esi movl 64(%esp),%eax addl %eax,%esi movl (%edx),%eax addl %eax,%edi movl 68(%esp),%eax addl %eax,%edi movl 136(%esp),%eax movl %ebx,(%edx) movl %ebp,4(%edx) movl %ecx,8(%edx) subl $1,%eax movl %esi,12(%edx) movl %edi,16(%edx) jle .L001get_out movl %eax,136(%esp) movl %ecx,%edi movl 132(%esp),%eax movl %ebx,%ecx addl $64,%eax movl %ebp,%esi movl %eax,132(%esp) jmp .L000start .L001get_out: addl $108,%esp popl %ebx popl %ebp popl %edi popl %esi ret .size ripemd160_block_asm_data_order,.-.L_ripemd160_block_asm_data_order_begin Index: projects/openssl-1.0.2/secure/lib/libcrypto/i386/x86-gf2m.s =================================================================== --- projects/openssl-1.0.2/secure/lib/libcrypto/i386/x86-gf2m.s (revision 290075) +++ projects/openssl-1.0.2/secure/lib/libcrypto/i386/x86-gf2m.s (revision 290076) @@ -1,344 +1,344 @@ # $FreeBSD$ -.file "/root/secure/lib/libcrypto/../../../crypto/openssl/crypto/bn/asm/x86-gf2m.s" +.file "x86-gf2m.s" .text .type _mul_1x1_mmx,@function .align 16 _mul_1x1_mmx: subl $36,%esp movl %eax,%ecx leal (%eax,%eax,1),%edx andl $1073741823,%ecx leal (%edx,%edx,1),%ebp movl $0,(%esp) andl $2147483647,%edx movd %eax,%mm2 movd %ebx,%mm3 movl %ecx,4(%esp) xorl %edx,%ecx pxor %mm5,%mm5 pxor %mm4,%mm4 movl %edx,8(%esp) xorl %ebp,%edx movl %ecx,12(%esp) pcmpgtd %mm2,%mm5 paddd %mm2,%mm2 xorl %edx,%ecx movl %ebp,16(%esp) xorl %edx,%ebp pand %mm3,%mm5 pcmpgtd %mm2,%mm4 movl %ecx,20(%esp) xorl %ecx,%ebp psllq $31,%mm5 pand %mm3,%mm4 movl %edx,24(%esp) movl $7,%esi movl %ebp,28(%esp) movl %esi,%ebp andl %ebx,%esi shrl $3,%ebx movl %ebp,%edi psllq $30,%mm4 andl %ebx,%edi shrl $3,%ebx movd (%esp,%esi,4),%mm0 movl %ebp,%esi andl %ebx,%esi shrl $3,%ebx movd (%esp,%edi,4),%mm2 movl %ebp,%edi psllq $3,%mm2 andl %ebx,%edi shrl $3,%ebx pxor %mm2,%mm0 movd (%esp,%esi,4),%mm1 movl %ebp,%esi psllq $6,%mm1 andl %ebx,%esi shrl $3,%ebx pxor %mm1,%mm0 movd (%esp,%edi,4),%mm2 movl %ebp,%edi psllq $9,%mm2 andl %ebx,%edi shrl $3,%ebx pxor %mm2,%mm0 movd (%esp,%esi,4),%mm1 movl %ebp,%esi psllq $12,%mm1 andl %ebx,%esi shrl $3,%ebx pxor %mm1,%mm0 movd (%esp,%edi,4),%mm2 movl %ebp,%edi psllq $15,%mm2 andl %ebx,%edi shrl $3,%ebx pxor %mm2,%mm0 movd (%esp,%esi,4),%mm1 movl %ebp,%esi psllq $18,%mm1 andl %ebx,%esi shrl $3,%ebx pxor %mm1,%mm0 movd (%esp,%edi,4),%mm2 movl %ebp,%edi psllq $21,%mm2 andl %ebx,%edi shrl $3,%ebx pxor %mm2,%mm0 movd (%esp,%esi,4),%mm1 movl %ebp,%esi psllq $24,%mm1 andl %ebx,%esi shrl $3,%ebx pxor %mm1,%mm0 movd (%esp,%edi,4),%mm2 pxor %mm4,%mm0 psllq $27,%mm2 pxor %mm2,%mm0 movd (%esp,%esi,4),%mm1 pxor %mm5,%mm0 psllq $30,%mm1 addl $36,%esp pxor %mm1,%mm0 ret .size _mul_1x1_mmx,.-_mul_1x1_mmx .type _mul_1x1_ialu,@function .align 16 _mul_1x1_ialu: subl $36,%esp movl %eax,%ecx leal (%eax,%eax,1),%edx leal (,%eax,4),%ebp andl $1073741823,%ecx leal (%eax,%eax,1),%edi sarl $31,%eax movl $0,(%esp) andl $2147483647,%edx movl %ecx,4(%esp) xorl %edx,%ecx movl %edx,8(%esp) xorl %ebp,%edx movl %ecx,12(%esp) xorl %edx,%ecx movl %ebp,16(%esp) xorl %edx,%ebp movl %ecx,20(%esp) xorl %ecx,%ebp sarl $31,%edi andl %ebx,%eax movl %edx,24(%esp) andl %ebx,%edi movl %ebp,28(%esp) movl %eax,%edx shll $31,%eax movl %edi,%ecx shrl $1,%edx movl $7,%esi shll $30,%edi andl %ebx,%esi shrl $2,%ecx xorl %edi,%eax shrl $3,%ebx movl $7,%edi andl %ebx,%edi shrl $3,%ebx xorl %ecx,%edx xorl (%esp,%esi,4),%eax movl $7,%esi andl %ebx,%esi shrl $3,%ebx movl (%esp,%edi,4),%ebp movl $7,%edi movl %ebp,%ecx shll $3,%ebp andl %ebx,%edi shrl $29,%ecx xorl %ebp,%eax shrl $3,%ebx xorl %ecx,%edx movl (%esp,%esi,4),%ecx movl $7,%esi movl %ecx,%ebp shll $6,%ecx andl %ebx,%esi shrl $26,%ebp xorl %ecx,%eax shrl $3,%ebx xorl %ebp,%edx movl (%esp,%edi,4),%ebp movl $7,%edi movl %ebp,%ecx shll $9,%ebp andl %ebx,%edi shrl $23,%ecx xorl %ebp,%eax shrl $3,%ebx xorl %ecx,%edx movl (%esp,%esi,4),%ecx movl $7,%esi movl %ecx,%ebp shll $12,%ecx andl %ebx,%esi shrl $20,%ebp xorl %ecx,%eax shrl $3,%ebx xorl %ebp,%edx movl (%esp,%edi,4),%ebp movl $7,%edi movl %ebp,%ecx shll $15,%ebp andl %ebx,%edi shrl $17,%ecx xorl %ebp,%eax shrl $3,%ebx xorl %ecx,%edx movl (%esp,%esi,4),%ecx movl $7,%esi movl %ecx,%ebp shll $18,%ecx andl %ebx,%esi shrl $14,%ebp xorl %ecx,%eax shrl $3,%ebx xorl %ebp,%edx movl (%esp,%edi,4),%ebp movl $7,%edi movl %ebp,%ecx shll $21,%ebp andl %ebx,%edi shrl $11,%ecx xorl %ebp,%eax shrl $3,%ebx xorl %ecx,%edx movl (%esp,%esi,4),%ecx movl $7,%esi movl %ecx,%ebp shll $24,%ecx andl %ebx,%esi shrl $8,%ebp xorl %ecx,%eax shrl $3,%ebx xorl %ebp,%edx movl (%esp,%edi,4),%ebp movl %ebp,%ecx shll $27,%ebp movl (%esp,%esi,4),%edi shrl $5,%ecx movl %edi,%esi xorl %ebp,%eax shll $30,%edi xorl %ecx,%edx shrl $2,%esi xorl %edi,%eax xorl %esi,%edx addl $36,%esp ret .size _mul_1x1_ialu,.-_mul_1x1_ialu .globl bn_GF2m_mul_2x2 .type bn_GF2m_mul_2x2,@function .align 16 bn_GF2m_mul_2x2: .L_bn_GF2m_mul_2x2_begin: leal OPENSSL_ia32cap_P,%edx movl (%edx),%eax movl 4(%edx),%edx testl $8388608,%eax 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 %ebx pushl %esi pushl %edi movl 24(%esp),%eax movl 32(%esp),%ebx call _mul_1x1_mmx movq %mm0,%mm7 movl 28(%esp),%eax movl 36(%esp),%ebx call _mul_1x1_mmx movq %mm0,%mm6 movl 24(%esp),%eax movl 32(%esp),%ebx xorl 28(%esp),%eax xorl 36(%esp),%ebx call _mul_1x1_mmx pxor %mm7,%mm0 movl 20(%esp),%eax pxor %mm6,%mm0 movq %mm0,%mm2 psllq $32,%mm0 popl %edi psrlq $32,%mm2 popl %esi pxor %mm6,%mm0 popl %ebx pxor %mm7,%mm2 movq %mm0,(%eax) popl %ebp movq %mm2,8(%eax) emms ret .align 16 .L000ialu: pushl %ebp pushl %ebx pushl %esi pushl %edi subl $20,%esp movl 44(%esp),%eax movl 52(%esp),%ebx call _mul_1x1_ialu movl %eax,8(%esp) movl %edx,12(%esp) movl 48(%esp),%eax movl 56(%esp),%ebx call _mul_1x1_ialu movl %eax,(%esp) movl %edx,4(%esp) movl 44(%esp),%eax movl 52(%esp),%ebx xorl 48(%esp),%eax xorl 56(%esp),%ebx call _mul_1x1_ialu movl 40(%esp),%ebp movl (%esp),%ebx movl 4(%esp),%ecx movl 8(%esp),%edi movl 12(%esp),%esi xorl %edx,%eax xorl %ecx,%edx xorl %ebx,%eax movl %ebx,(%ebp) xorl %edi,%edx movl %esi,12(%ebp) xorl %esi,%eax addl $20,%esp xorl %esi,%edx popl %edi xorl %edx,%eax popl %esi movl %edx,8(%ebp) popl %ebx movl %eax,4(%ebp) popl %ebp ret .size bn_GF2m_mul_2x2,.-.L_bn_GF2m_mul_2x2_begin .byte 71,70,40,50,94,109,41,32,77,117,108,116,105,112,108,105 .byte 99,97,116,105,111,110,32,102,111,114,32,120,56,54,44,32 .byte 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97 .byte 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103 .byte 62,0 .comm OPENSSL_ia32cap_P,16,4 Index: projects/openssl-1.0.2/secure/lib/libcrypto/i386/x86-mont.s =================================================================== --- projects/openssl-1.0.2/secure/lib/libcrypto/i386/x86-mont.s (revision 290075) +++ projects/openssl-1.0.2/secure/lib/libcrypto/i386/x86-mont.s (revision 290076) @@ -1,457 +1,457 @@ # $FreeBSD$ -.file "/root/secure/lib/libcrypto/../../../crypto/openssl/crypto/bn/asm/x86-mont.s" +.file "x86-mont.s" .text .globl bn_mul_mont .type bn_mul_mont,@function .align 16 bn_mul_mont: .L_bn_mul_mont_begin: pushl %ebp pushl %ebx pushl %esi pushl %edi xorl %eax,%eax movl 40(%esp),%edi cmpl $4,%edi jl .L000just_leave leal 20(%esp),%esi leal 24(%esp),%edx movl %esp,%ebp addl $2,%edi negl %edi leal -32(%esp,%edi,4),%esp negl %edi movl %esp,%eax subl %edx,%eax andl $2047,%eax subl %eax,%esp xorl %esp,%edx andl $2048,%edx xorl $2048,%edx subl %edx,%esp andl $-64,%esp movl (%esi),%eax movl 4(%esi),%ebx movl 8(%esi),%ecx movl 12(%esi),%edx movl 16(%esi),%esi movl (%esi),%esi movl %eax,4(%esp) movl %ebx,8(%esp) movl %ecx,12(%esp) movl %edx,16(%esp) movl %esi,20(%esp) leal -3(%edi),%ebx movl %ebp,24(%esp) leal OPENSSL_ia32cap_P,%eax btl $26,(%eax) jnc .L001non_sse2 movl $-1,%eax movd %eax,%mm7 movl 8(%esp),%esi movl 12(%esp),%edi movl 16(%esp),%ebp xorl %edx,%edx xorl %ecx,%ecx movd (%edi),%mm4 movd (%esi),%mm5 movd (%ebp),%mm3 pmuludq %mm4,%mm5 movq %mm5,%mm2 movq %mm5,%mm0 pand %mm7,%mm0 pmuludq 20(%esp),%mm5 pmuludq %mm5,%mm3 paddq %mm0,%mm3 movd 4(%ebp),%mm1 movd 4(%esi),%mm0 psrlq $32,%mm2 psrlq $32,%mm3 incl %ecx .align 16 .L0021st: pmuludq %mm4,%mm0 pmuludq %mm5,%mm1 paddq %mm0,%mm2 paddq %mm1,%mm3 movq %mm2,%mm0 pand %mm7,%mm0 movd 4(%ebp,%ecx,4),%mm1 paddq %mm0,%mm3 movd 4(%esi,%ecx,4),%mm0 psrlq $32,%mm2 movd %mm3,28(%esp,%ecx,4) psrlq $32,%mm3 leal 1(%ecx),%ecx cmpl %ebx,%ecx jl .L0021st pmuludq %mm4,%mm0 pmuludq %mm5,%mm1 paddq %mm0,%mm2 paddq %mm1,%mm3 movq %mm2,%mm0 pand %mm7,%mm0 paddq %mm0,%mm3 movd %mm3,28(%esp,%ecx,4) psrlq $32,%mm2 psrlq $32,%mm3 paddq %mm2,%mm3 movq %mm3,32(%esp,%ebx,4) incl %edx .L003outer: xorl %ecx,%ecx movd (%edi,%edx,4),%mm4 movd (%esi),%mm5 movd 32(%esp),%mm6 movd (%ebp),%mm3 pmuludq %mm4,%mm5 paddq %mm6,%mm5 movq %mm5,%mm0 movq %mm5,%mm2 pand %mm7,%mm0 pmuludq 20(%esp),%mm5 pmuludq %mm5,%mm3 paddq %mm0,%mm3 movd 36(%esp),%mm6 movd 4(%ebp),%mm1 movd 4(%esi),%mm0 psrlq $32,%mm2 psrlq $32,%mm3 paddq %mm6,%mm2 incl %ecx decl %ebx .L004inner: pmuludq %mm4,%mm0 pmuludq %mm5,%mm1 paddq %mm0,%mm2 paddq %mm1,%mm3 movq %mm2,%mm0 movd 36(%esp,%ecx,4),%mm6 pand %mm7,%mm0 movd 4(%ebp,%ecx,4),%mm1 paddq %mm0,%mm3 movd 4(%esi,%ecx,4),%mm0 psrlq $32,%mm2 movd %mm3,28(%esp,%ecx,4) psrlq $32,%mm3 paddq %mm6,%mm2 decl %ebx leal 1(%ecx),%ecx jnz .L004inner movl %ecx,%ebx pmuludq %mm4,%mm0 pmuludq %mm5,%mm1 paddq %mm0,%mm2 paddq %mm1,%mm3 movq %mm2,%mm0 pand %mm7,%mm0 paddq %mm0,%mm3 movd %mm3,28(%esp,%ecx,4) psrlq $32,%mm2 psrlq $32,%mm3 movd 36(%esp,%ebx,4),%mm6 paddq %mm2,%mm3 paddq %mm6,%mm3 movq %mm3,32(%esp,%ebx,4) leal 1(%edx),%edx cmpl %ebx,%edx jle .L003outer emms jmp .L005common_tail .align 16 .L001non_sse2: movl 8(%esp),%esi leal 1(%ebx),%ebp movl 12(%esp),%edi xorl %ecx,%ecx movl %esi,%edx andl $1,%ebp subl %edi,%edx leal 4(%edi,%ebx,4),%eax orl %edx,%ebp movl (%edi),%edi jz .L006bn_sqr_mont movl %eax,28(%esp) movl (%esi),%eax xorl %edx,%edx .align 16 .L007mull: movl %edx,%ebp mull %edi addl %eax,%ebp leal 1(%ecx),%ecx adcl $0,%edx movl (%esi,%ecx,4),%eax cmpl %ebx,%ecx movl %ebp,28(%esp,%ecx,4) jl .L007mull movl %edx,%ebp mull %edi movl 20(%esp),%edi addl %ebp,%eax movl 16(%esp),%esi adcl $0,%edx imull 32(%esp),%edi movl %eax,32(%esp,%ebx,4) xorl %ecx,%ecx movl %edx,36(%esp,%ebx,4) movl %ecx,40(%esp,%ebx,4) movl (%esi),%eax mull %edi addl 32(%esp),%eax movl 4(%esi),%eax adcl $0,%edx incl %ecx jmp .L0082ndmadd .align 16 .L0091stmadd: movl %edx,%ebp mull %edi addl 32(%esp,%ecx,4),%ebp leal 1(%ecx),%ecx adcl $0,%edx addl %eax,%ebp movl (%esi,%ecx,4),%eax adcl $0,%edx cmpl %ebx,%ecx movl %ebp,28(%esp,%ecx,4) jl .L0091stmadd movl %edx,%ebp mull %edi addl 32(%esp,%ebx,4),%eax movl 20(%esp),%edi adcl $0,%edx movl 16(%esp),%esi addl %eax,%ebp adcl $0,%edx imull 32(%esp),%edi xorl %ecx,%ecx addl 36(%esp,%ebx,4),%edx movl %ebp,32(%esp,%ebx,4) adcl $0,%ecx movl (%esi),%eax movl %edx,36(%esp,%ebx,4) movl %ecx,40(%esp,%ebx,4) mull %edi addl 32(%esp),%eax movl 4(%esi),%eax adcl $0,%edx movl $1,%ecx .align 16 .L0082ndmadd: movl %edx,%ebp mull %edi addl 32(%esp,%ecx,4),%ebp leal 1(%ecx),%ecx adcl $0,%edx addl %eax,%ebp movl (%esi,%ecx,4),%eax adcl $0,%edx cmpl %ebx,%ecx movl %ebp,24(%esp,%ecx,4) jl .L0082ndmadd movl %edx,%ebp mull %edi addl 32(%esp,%ebx,4),%ebp adcl $0,%edx addl %eax,%ebp adcl $0,%edx movl %ebp,28(%esp,%ebx,4) xorl %eax,%eax movl 12(%esp),%ecx addl 36(%esp,%ebx,4),%edx adcl 40(%esp,%ebx,4),%eax leal 4(%ecx),%ecx movl %edx,32(%esp,%ebx,4) cmpl 28(%esp),%ecx movl %eax,36(%esp,%ebx,4) je .L005common_tail movl (%ecx),%edi movl 8(%esp),%esi movl %ecx,12(%esp) xorl %ecx,%ecx xorl %edx,%edx movl (%esi),%eax jmp .L0091stmadd .align 16 .L006bn_sqr_mont: movl %ebx,(%esp) movl %ecx,12(%esp) movl %edi,%eax mull %edi movl %eax,32(%esp) movl %edx,%ebx shrl $1,%edx andl $1,%ebx incl %ecx .align 16 .L010sqr: movl (%esi,%ecx,4),%eax movl %edx,%ebp mull %edi addl %ebp,%eax leal 1(%ecx),%ecx adcl $0,%edx leal (%ebx,%eax,2),%ebp shrl $31,%eax cmpl (%esp),%ecx movl %eax,%ebx movl %ebp,28(%esp,%ecx,4) jl .L010sqr movl (%esi,%ecx,4),%eax movl %edx,%ebp mull %edi addl %ebp,%eax movl 20(%esp),%edi adcl $0,%edx movl 16(%esp),%esi leal (%ebx,%eax,2),%ebp imull 32(%esp),%edi shrl $31,%eax movl %ebp,32(%esp,%ecx,4) leal (%eax,%edx,2),%ebp movl (%esi),%eax shrl $31,%edx movl %ebp,36(%esp,%ecx,4) movl %edx,40(%esp,%ecx,4) mull %edi addl 32(%esp),%eax movl %ecx,%ebx adcl $0,%edx movl 4(%esi),%eax movl $1,%ecx .align 16 .L0113rdmadd: movl %edx,%ebp mull %edi addl 32(%esp,%ecx,4),%ebp adcl $0,%edx addl %eax,%ebp movl 4(%esi,%ecx,4),%eax adcl $0,%edx movl %ebp,28(%esp,%ecx,4) movl %edx,%ebp mull %edi addl 36(%esp,%ecx,4),%ebp leal 2(%ecx),%ecx adcl $0,%edx addl %eax,%ebp movl (%esi,%ecx,4),%eax adcl $0,%edx cmpl %ebx,%ecx movl %ebp,24(%esp,%ecx,4) jl .L0113rdmadd movl %edx,%ebp mull %edi addl 32(%esp,%ebx,4),%ebp adcl $0,%edx addl %eax,%ebp adcl $0,%edx movl %ebp,28(%esp,%ebx,4) movl 12(%esp),%ecx xorl %eax,%eax movl 8(%esp),%esi addl 36(%esp,%ebx,4),%edx adcl 40(%esp,%ebx,4),%eax movl %edx,32(%esp,%ebx,4) cmpl %ebx,%ecx movl %eax,36(%esp,%ebx,4) je .L005common_tail movl 4(%esi,%ecx,4),%edi leal 1(%ecx),%ecx movl %edi,%eax movl %ecx,12(%esp) mull %edi addl 32(%esp,%ecx,4),%eax adcl $0,%edx movl %eax,32(%esp,%ecx,4) xorl %ebp,%ebp cmpl %ebx,%ecx leal 1(%ecx),%ecx je .L012sqrlast movl %edx,%ebx shrl $1,%edx andl $1,%ebx .align 16 .L013sqradd: movl (%esi,%ecx,4),%eax movl %edx,%ebp mull %edi addl %ebp,%eax leal (%eax,%eax,1),%ebp adcl $0,%edx shrl $31,%eax addl 32(%esp,%ecx,4),%ebp leal 1(%ecx),%ecx adcl $0,%eax addl %ebx,%ebp adcl $0,%eax cmpl (%esp),%ecx movl %ebp,28(%esp,%ecx,4) movl %eax,%ebx jle .L013sqradd movl %edx,%ebp addl %edx,%edx shrl $31,%ebp addl %ebx,%edx adcl $0,%ebp .L012sqrlast: movl 20(%esp),%edi movl 16(%esp),%esi imull 32(%esp),%edi addl 32(%esp,%ecx,4),%edx movl (%esi),%eax adcl $0,%ebp movl %edx,32(%esp,%ecx,4) movl %ebp,36(%esp,%ecx,4) mull %edi addl 32(%esp),%eax leal -1(%ecx),%ebx adcl $0,%edx movl $1,%ecx movl 4(%esi),%eax jmp .L0113rdmadd .align 16 .L005common_tail: movl 16(%esp),%ebp movl 4(%esp),%edi leal 32(%esp),%esi movl (%esi),%eax movl %ebx,%ecx xorl %edx,%edx .align 16 .L014sub: sbbl (%ebp,%edx,4),%eax movl %eax,(%edi,%edx,4) decl %ecx movl 4(%esi,%edx,4),%eax leal 1(%edx),%edx jge .L014sub sbbl $0,%eax andl %eax,%esi notl %eax movl %edi,%ebp andl %eax,%ebp orl %ebp,%esi .align 16 .L015copy: movl (%esi,%ebx,4),%eax movl %eax,(%edi,%ebx,4) movl %ecx,32(%esp,%ebx,4) decl %ebx jge .L015copy movl 24(%esp),%esp movl $1,%eax .L000just_leave: popl %edi popl %esi popl %ebx popl %ebp ret .size bn_mul_mont,.-.L_bn_mul_mont_begin .byte 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105 .byte 112,108,105,99,97,116,105,111,110,32,102,111,114,32,120,56 .byte 54,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121 .byte 32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46 .byte 111,114,103,62,0 .comm OPENSSL_ia32cap_P,16,4