diff options
Diffstat (limited to 'deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/engines/e_padlock-x86.s')
-rw-r--r-- | deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/engines/e_padlock-x86.s | 1039 |
1 files changed, 1039 insertions, 0 deletions
diff --git a/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/engines/e_padlock-x86.s b/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/engines/e_padlock-x86.s new file mode 100644 index 0000000000..81b9d153ad --- /dev/null +++ b/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/engines/e_padlock-x86.s @@ -0,0 +1,1039 @@ +.text +.globl padlock_capability +.type padlock_capability,@function +.align 16 +padlock_capability: +.L_padlock_capability_begin: + pushl %ebx + pushfl + popl %eax + movl %eax,%ecx + xorl $2097152,%eax + pushl %eax + popfl + pushfl + popl %eax + xorl %eax,%ecx + xorl %eax,%eax + btl $21,%ecx + jnc .L000noluck + .byte 0x0f,0xa2 + xorl %eax,%eax + cmpl $0x746e6543,%ebx + jne .L001zhaoxin + cmpl $0x48727561,%edx + jne .L000noluck + cmpl $0x736c7561,%ecx + jne .L000noluck + jmp .L002zhaoxinEnd +.L001zhaoxin: + cmpl $0x68532020,%ebx + jne .L000noluck + cmpl $0x68676e61,%edx + jne .L000noluck + cmpl $0x20206961,%ecx + jne .L000noluck +.L002zhaoxinEnd: + movl $3221225472,%eax + .byte 0x0f,0xa2 + movl %eax,%edx + xorl %eax,%eax + cmpl $3221225473,%edx + jb .L000noluck + movl $1,%eax + .byte 0x0f,0xa2 + orl $15,%eax + xorl %ebx,%ebx + andl $4095,%eax + cmpl $1791,%eax + sete %bl + movl $3221225473,%eax + pushl %ebx + .byte 0x0f,0xa2 + popl %ebx + movl %edx,%eax + shll $4,%ebx + andl $4294967279,%eax + orl %ebx,%eax +.L000noluck: + popl %ebx + ret +.size padlock_capability,.-.L_padlock_capability_begin +.globl padlock_key_bswap +.type padlock_key_bswap,@function +.align 16 +padlock_key_bswap: +.L_padlock_key_bswap_begin: + movl 4(%esp),%edx + movl 240(%edx),%ecx +.L003bswap_loop: + movl (%edx),%eax + bswap %eax + movl %eax,(%edx) + leal 4(%edx),%edx + subl $1,%ecx + jnz .L003bswap_loop + ret +.size padlock_key_bswap,.-.L_padlock_key_bswap_begin +.globl padlock_verify_context +.type padlock_verify_context,@function +.align 16 +padlock_verify_context: +.L_padlock_verify_context_begin: + movl 4(%esp),%edx + leal .Lpadlock_saved_context-.L004verify_pic_point,%eax + pushfl + call _padlock_verify_ctx +.L004verify_pic_point: + leal 4(%esp),%esp + ret +.size padlock_verify_context,.-.L_padlock_verify_context_begin +.type _padlock_verify_ctx,@function +.align 16 +_padlock_verify_ctx: + addl (%esp),%eax + btl $30,4(%esp) + jnc .L005verified + cmpl (%eax),%edx + je .L005verified + pushfl + popfl +.L005verified: + movl %edx,(%eax) + ret +.size _padlock_verify_ctx,.-_padlock_verify_ctx +.globl padlock_reload_key +.type padlock_reload_key,@function +.align 16 +padlock_reload_key: +.L_padlock_reload_key_begin: + pushfl + popfl + ret +.size padlock_reload_key,.-.L_padlock_reload_key_begin +.globl padlock_aes_block +.type padlock_aes_block,@function +.align 16 +padlock_aes_block: +.L_padlock_aes_block_begin: + pushl %edi + pushl %esi + pushl %ebx + movl 16(%esp),%edi + movl 20(%esp),%esi + movl 24(%esp),%edx + movl $1,%ecx + leal 32(%edx),%ebx + leal 16(%edx),%edx +.byte 243,15,167,200 + popl %ebx + popl %esi + popl %edi + ret +.size padlock_aes_block,.-.L_padlock_aes_block_begin +.globl padlock_ecb_encrypt +.type padlock_ecb_encrypt,@function +.align 16 +padlock_ecb_encrypt: +.L_padlock_ecb_encrypt_begin: + pushl %ebp + pushl %ebx + pushl %esi + pushl %edi + movl 20(%esp),%edi + movl 24(%esp),%esi + movl 28(%esp),%edx + movl 32(%esp),%ecx + testl $15,%edx + jnz .L006ecb_abort + testl $15,%ecx + jnz .L006ecb_abort + leal .Lpadlock_saved_context-.L007ecb_pic_point,%eax + pushfl + cld + call _padlock_verify_ctx +.L007ecb_pic_point: + leal 16(%edx),%edx + xorl %eax,%eax + xorl %ebx,%ebx + testl $32,(%edx) + jnz .L008ecb_aligned + testl $15,%edi + setz %al + testl $15,%esi + setz %bl + testl %ebx,%eax + jnz .L008ecb_aligned + negl %eax + movl $512,%ebx + notl %eax + leal -24(%esp),%ebp + cmpl %ebx,%ecx + cmovcl %ecx,%ebx + andl %ebx,%eax + movl %ecx,%ebx + negl %eax + andl $511,%ebx + leal (%eax,%ebp,1),%esp + movl $512,%eax + cmovzl %eax,%ebx + movl %ebp,%eax + andl $-16,%ebp + andl $-16,%esp + movl %eax,16(%ebp) + cmpl %ebx,%ecx + ja .L009ecb_loop + movl %esi,%eax + cmpl %esp,%ebp + cmovel %edi,%eax + addl %ecx,%eax + negl %eax + andl $4095,%eax + cmpl $128,%eax + movl $-128,%eax + cmovael %ebx,%eax + andl %eax,%ebx + jz .L010ecb_unaligned_tail + jmp .L009ecb_loop +.align 16 +.L009ecb_loop: + movl %edi,(%ebp) + movl %esi,4(%ebp) + movl %ecx,8(%ebp) + movl %ebx,%ecx + movl %ebx,12(%ebp) + testl $15,%edi + cmovnzl %esp,%edi + testl $15,%esi + jz .L011ecb_inp_aligned + shrl $2,%ecx +.byte 243,165 + subl %ebx,%edi + movl %ebx,%ecx + movl %edi,%esi +.L011ecb_inp_aligned: + leal -16(%edx),%eax + leal 16(%edx),%ebx + shrl $4,%ecx +.byte 243,15,167,200 + movl (%ebp),%edi + movl 12(%ebp),%ebx + testl $15,%edi + jz .L012ecb_out_aligned + movl %ebx,%ecx + leal (%esp),%esi + shrl $2,%ecx +.byte 243,165 + subl %ebx,%edi +.L012ecb_out_aligned: + movl 4(%ebp),%esi + movl 8(%ebp),%ecx + addl %ebx,%edi + addl %ebx,%esi + subl %ebx,%ecx + movl $512,%ebx + jz .L013ecb_break + cmpl %ebx,%ecx + jae .L009ecb_loop +.L010ecb_unaligned_tail: + xorl %eax,%eax + cmpl %ebp,%esp + cmovel %ecx,%eax + subl %eax,%esp + movl %edi,%eax + movl %ecx,%ebx + shrl $2,%ecx + leal (%esp),%edi +.byte 243,165 + movl %esp,%esi + movl %eax,%edi + movl %ebx,%ecx + jmp .L009ecb_loop +.align 16 +.L013ecb_break: + cmpl %ebp,%esp + je .L014ecb_done + pxor %xmm0,%xmm0 + leal (%esp),%eax +.L015ecb_bzero: + movaps %xmm0,(%eax) + leal 16(%eax),%eax + cmpl %eax,%ebp + ja .L015ecb_bzero +.L014ecb_done: + movl 16(%ebp),%ebp + leal 24(%ebp),%esp + jmp .L016ecb_exit +.align 16 +.L008ecb_aligned: + leal (%esi,%ecx,1),%ebp + negl %ebp + andl $4095,%ebp + xorl %eax,%eax + cmpl $128,%ebp + movl $127,%ebp + cmovael %eax,%ebp + andl %ecx,%ebp + subl %ebp,%ecx + jz .L017ecb_aligned_tail + leal -16(%edx),%eax + leal 16(%edx),%ebx + shrl $4,%ecx +.byte 243,15,167,200 + testl %ebp,%ebp + jz .L016ecb_exit +.L017ecb_aligned_tail: + movl %ebp,%ecx + leal -24(%esp),%ebp + movl %ebp,%esp + movl %ebp,%eax + subl %ecx,%esp + andl $-16,%ebp + andl $-16,%esp + movl %eax,16(%ebp) + movl %edi,%eax + movl %ecx,%ebx + shrl $2,%ecx + leal (%esp),%edi +.byte 243,165 + movl %esp,%esi + movl %eax,%edi + movl %ebx,%ecx + jmp .L009ecb_loop +.L016ecb_exit: + movl $1,%eax + leal 4(%esp),%esp +.L006ecb_abort: + popl %edi + popl %esi + popl %ebx + popl %ebp + ret +.size padlock_ecb_encrypt,.-.L_padlock_ecb_encrypt_begin +.globl padlock_cbc_encrypt +.type padlock_cbc_encrypt,@function +.align 16 +padlock_cbc_encrypt: +.L_padlock_cbc_encrypt_begin: + pushl %ebp + pushl %ebx + pushl %esi + pushl %edi + movl 20(%esp),%edi + movl 24(%esp),%esi + movl 28(%esp),%edx + movl 32(%esp),%ecx + testl $15,%edx + jnz .L018cbc_abort + testl $15,%ecx + jnz .L018cbc_abort + leal .Lpadlock_saved_context-.L019cbc_pic_point,%eax + pushfl + cld + call _padlock_verify_ctx +.L019cbc_pic_point: + leal 16(%edx),%edx + xorl %eax,%eax + xorl %ebx,%ebx + testl $32,(%edx) + jnz .L020cbc_aligned + testl $15,%edi + setz %al + testl $15,%esi + setz %bl + testl %ebx,%eax + jnz .L020cbc_aligned + negl %eax + movl $512,%ebx + notl %eax + leal -24(%esp),%ebp + cmpl %ebx,%ecx + cmovcl %ecx,%ebx + andl %ebx,%eax + movl %ecx,%ebx + negl %eax + andl $511,%ebx + leal (%eax,%ebp,1),%esp + movl $512,%eax + cmovzl %eax,%ebx + movl %ebp,%eax + andl $-16,%ebp + andl $-16,%esp + movl %eax,16(%ebp) + cmpl %ebx,%ecx + ja .L021cbc_loop + movl %esi,%eax + cmpl %esp,%ebp + cmovel %edi,%eax + addl %ecx,%eax + negl %eax + andl $4095,%eax + cmpl $64,%eax + movl $-64,%eax + cmovael %ebx,%eax + andl %eax,%ebx + jz .L022cbc_unaligned_tail + jmp .L021cbc_loop +.align 16 +.L021cbc_loop: + movl %edi,(%ebp) + movl %esi,4(%ebp) + movl %ecx,8(%ebp) + movl %ebx,%ecx + movl %ebx,12(%ebp) + testl $15,%edi + cmovnzl %esp,%edi + testl $15,%esi + jz .L023cbc_inp_aligned + shrl $2,%ecx +.byte 243,165 + subl %ebx,%edi + movl %ebx,%ecx + movl %edi,%esi +.L023cbc_inp_aligned: + leal -16(%edx),%eax + leal 16(%edx),%ebx + shrl $4,%ecx +.byte 243,15,167,208 + movaps (%eax),%xmm0 + movaps %xmm0,-16(%edx) + movl (%ebp),%edi + movl 12(%ebp),%ebx + testl $15,%edi + jz .L024cbc_out_aligned + movl %ebx,%ecx + leal (%esp),%esi + shrl $2,%ecx +.byte 243,165 + subl %ebx,%edi +.L024cbc_out_aligned: + movl 4(%ebp),%esi + movl 8(%ebp),%ecx + addl %ebx,%edi + addl %ebx,%esi + subl %ebx,%ecx + movl $512,%ebx + jz .L025cbc_break + cmpl %ebx,%ecx + jae .L021cbc_loop +.L022cbc_unaligned_tail: + xorl %eax,%eax + cmpl %ebp,%esp + cmovel %ecx,%eax + subl %eax,%esp + movl %edi,%eax + movl %ecx,%ebx + shrl $2,%ecx + leal (%esp),%edi +.byte 243,165 + movl %esp,%esi + movl %eax,%edi + movl %ebx,%ecx + jmp .L021cbc_loop +.align 16 +.L025cbc_break: + cmpl %ebp,%esp + je .L026cbc_done + pxor %xmm0,%xmm0 + leal (%esp),%eax +.L027cbc_bzero: + movaps %xmm0,(%eax) + leal 16(%eax),%eax + cmpl %eax,%ebp + ja .L027cbc_bzero +.L026cbc_done: + movl 16(%ebp),%ebp + leal 24(%ebp),%esp + jmp .L028cbc_exit +.align 16 +.L020cbc_aligned: + leal (%esi,%ecx,1),%ebp + negl %ebp + andl $4095,%ebp + xorl %eax,%eax + cmpl $64,%ebp + movl $63,%ebp + cmovael %eax,%ebp + andl %ecx,%ebp + subl %ebp,%ecx + jz .L029cbc_aligned_tail + leal -16(%edx),%eax + leal 16(%edx),%ebx + shrl $4,%ecx +.byte 243,15,167,208 + movaps (%eax),%xmm0 + movaps %xmm0,-16(%edx) + testl %ebp,%ebp + jz .L028cbc_exit +.L029cbc_aligned_tail: + movl %ebp,%ecx + leal -24(%esp),%ebp + movl %ebp,%esp + movl %ebp,%eax + subl %ecx,%esp + andl $-16,%ebp + andl $-16,%esp + movl %eax,16(%ebp) + movl %edi,%eax + movl %ecx,%ebx + shrl $2,%ecx + leal (%esp),%edi +.byte 243,165 + movl %esp,%esi + movl %eax,%edi + movl %ebx,%ecx + jmp .L021cbc_loop +.L028cbc_exit: + movl $1,%eax + leal 4(%esp),%esp +.L018cbc_abort: + popl %edi + popl %esi + popl %ebx + popl %ebp + ret +.size padlock_cbc_encrypt,.-.L_padlock_cbc_encrypt_begin +.globl padlock_cfb_encrypt +.type padlock_cfb_encrypt,@function +.align 16 +padlock_cfb_encrypt: +.L_padlock_cfb_encrypt_begin: + pushl %ebp + pushl %ebx + pushl %esi + pushl %edi + movl 20(%esp),%edi + movl 24(%esp),%esi + movl 28(%esp),%edx + movl 32(%esp),%ecx + testl $15,%edx + jnz .L030cfb_abort + testl $15,%ecx + jnz .L030cfb_abort + leal .Lpadlock_saved_context-.L031cfb_pic_point,%eax + pushfl + cld + call _padlock_verify_ctx +.L031cfb_pic_point: + leal 16(%edx),%edx + xorl %eax,%eax + xorl %ebx,%ebx + testl $32,(%edx) + jnz .L032cfb_aligned + testl $15,%edi + setz %al + testl $15,%esi + setz %bl + testl %ebx,%eax + jnz .L032cfb_aligned + negl %eax + movl $512,%ebx + notl %eax + leal -24(%esp),%ebp + cmpl %ebx,%ecx + cmovcl %ecx,%ebx + andl %ebx,%eax + movl %ecx,%ebx + negl %eax + andl $511,%ebx + leal (%eax,%ebp,1),%esp + movl $512,%eax + cmovzl %eax,%ebx + movl %ebp,%eax + andl $-16,%ebp + andl $-16,%esp + movl %eax,16(%ebp) + jmp .L033cfb_loop +.align 16 +.L033cfb_loop: + movl %edi,(%ebp) + movl %esi,4(%ebp) + movl %ecx,8(%ebp) + movl %ebx,%ecx + movl %ebx,12(%ebp) + testl $15,%edi + cmovnzl %esp,%edi + testl $15,%esi + jz .L034cfb_inp_aligned + shrl $2,%ecx +.byte 243,165 + subl %ebx,%edi + movl %ebx,%ecx + movl %edi,%esi +.L034cfb_inp_aligned: + leal -16(%edx),%eax + leal 16(%edx),%ebx + shrl $4,%ecx +.byte 243,15,167,224 + movaps (%eax),%xmm0 + movaps %xmm0,-16(%edx) + movl (%ebp),%edi + movl 12(%ebp),%ebx + testl $15,%edi + jz .L035cfb_out_aligned + movl %ebx,%ecx + leal (%esp),%esi + shrl $2,%ecx +.byte 243,165 + subl %ebx,%edi +.L035cfb_out_aligned: + movl 4(%ebp),%esi + movl 8(%ebp),%ecx + addl %ebx,%edi + addl %ebx,%esi + subl %ebx,%ecx + movl $512,%ebx + jnz .L033cfb_loop + cmpl %ebp,%esp + je .L036cfb_done + pxor %xmm0,%xmm0 + leal (%esp),%eax +.L037cfb_bzero: + movaps %xmm0,(%eax) + leal 16(%eax),%eax + cmpl %eax,%ebp + ja .L037cfb_bzero +.L036cfb_done: + movl 16(%ebp),%ebp + leal 24(%ebp),%esp + jmp .L038cfb_exit +.align 16 +.L032cfb_aligned: + leal -16(%edx),%eax + leal 16(%edx),%ebx + shrl $4,%ecx +.byte 243,15,167,224 + movaps (%eax),%xmm0 + movaps %xmm0,-16(%edx) +.L038cfb_exit: + movl $1,%eax + leal 4(%esp),%esp +.L030cfb_abort: + popl %edi + popl %esi + popl %ebx + popl %ebp + ret +.size padlock_cfb_encrypt,.-.L_padlock_cfb_encrypt_begin +.globl padlock_ofb_encrypt +.type padlock_ofb_encrypt,@function +.align 16 +padlock_ofb_encrypt: +.L_padlock_ofb_encrypt_begin: + pushl %ebp + pushl %ebx + pushl %esi + pushl %edi + movl 20(%esp),%edi + movl 24(%esp),%esi + movl 28(%esp),%edx + movl 32(%esp),%ecx + testl $15,%edx + jnz .L039ofb_abort + testl $15,%ecx + jnz .L039ofb_abort + leal .Lpadlock_saved_context-.L040ofb_pic_point,%eax + pushfl + cld + call _padlock_verify_ctx +.L040ofb_pic_point: + leal 16(%edx),%edx + xorl %eax,%eax + xorl %ebx,%ebx + testl $32,(%edx) + jnz .L041ofb_aligned + testl $15,%edi + setz %al + testl $15,%esi + setz %bl + testl %ebx,%eax + jnz .L041ofb_aligned + negl %eax + movl $512,%ebx + notl %eax + leal -24(%esp),%ebp + cmpl %ebx,%ecx + cmovcl %ecx,%ebx + andl %ebx,%eax + movl %ecx,%ebx + negl %eax + andl $511,%ebx + leal (%eax,%ebp,1),%esp + movl $512,%eax + cmovzl %eax,%ebx + movl %ebp,%eax + andl $-16,%ebp + andl $-16,%esp + movl %eax,16(%ebp) + jmp .L042ofb_loop +.align 16 +.L042ofb_loop: + movl %edi,(%ebp) + movl %esi,4(%ebp) + movl %ecx,8(%ebp) + movl %ebx,%ecx + movl %ebx,12(%ebp) + testl $15,%edi + cmovnzl %esp,%edi + testl $15,%esi + jz .L043ofb_inp_aligned + shrl $2,%ecx +.byte 243,165 + subl %ebx,%edi + movl %ebx,%ecx + movl %edi,%esi +.L043ofb_inp_aligned: + leal -16(%edx),%eax + leal 16(%edx),%ebx + shrl $4,%ecx +.byte 243,15,167,232 + movaps (%eax),%xmm0 + movaps %xmm0,-16(%edx) + movl (%ebp),%edi + movl 12(%ebp),%ebx + testl $15,%edi + jz .L044ofb_out_aligned + movl %ebx,%ecx + leal (%esp),%esi + shrl $2,%ecx +.byte 243,165 + subl %ebx,%edi +.L044ofb_out_aligned: + movl 4(%ebp),%esi + movl 8(%ebp),%ecx + addl %ebx,%edi + addl %ebx,%esi + subl %ebx,%ecx + movl $512,%ebx + jnz .L042ofb_loop + cmpl %ebp,%esp + je .L045ofb_done + pxor %xmm0,%xmm0 + leal (%esp),%eax +.L046ofb_bzero: + movaps %xmm0,(%eax) + leal 16(%eax),%eax + cmpl %eax,%ebp + ja .L046ofb_bzero +.L045ofb_done: + movl 16(%ebp),%ebp + leal 24(%ebp),%esp + jmp .L047ofb_exit +.align 16 +.L041ofb_aligned: + leal -16(%edx),%eax + leal 16(%edx),%ebx + shrl $4,%ecx +.byte 243,15,167,232 + movaps (%eax),%xmm0 + movaps %xmm0,-16(%edx) +.L047ofb_exit: + movl $1,%eax + leal 4(%esp),%esp +.L039ofb_abort: + popl %edi + popl %esi + popl %ebx + popl %ebp + ret +.size padlock_ofb_encrypt,.-.L_padlock_ofb_encrypt_begin +.globl padlock_ctr32_encrypt +.type padlock_ctr32_encrypt,@function +.align 16 +padlock_ctr32_encrypt: +.L_padlock_ctr32_encrypt_begin: + pushl %ebp + pushl %ebx + pushl %esi + pushl %edi + movl 20(%esp),%edi + movl 24(%esp),%esi + movl 28(%esp),%edx + movl 32(%esp),%ecx + testl $15,%edx + jnz .L048ctr32_abort + testl $15,%ecx + jnz .L048ctr32_abort + leal .Lpadlock_saved_context-.L049ctr32_pic_point,%eax + pushfl + cld + call _padlock_verify_ctx +.L049ctr32_pic_point: + leal 16(%edx),%edx + xorl %eax,%eax + movq -16(%edx),%mm0 + movl $512,%ebx + notl %eax + leal -24(%esp),%ebp + cmpl %ebx,%ecx + cmovcl %ecx,%ebx + andl %ebx,%eax + movl %ecx,%ebx + negl %eax + andl $511,%ebx + leal (%eax,%ebp,1),%esp + movl $512,%eax + cmovzl %eax,%ebx + movl %ebp,%eax + andl $-16,%ebp + andl $-16,%esp + movl %eax,16(%ebp) + jmp .L050ctr32_loop +.align 16 +.L050ctr32_loop: + movl %edi,(%ebp) + movl %esi,4(%ebp) + movl %ecx,8(%ebp) + movl %ebx,%ecx + movl %ebx,12(%ebp) + movl -4(%edx),%ecx + xorl %edi,%edi + movl -8(%edx),%eax +.L051ctr32_prepare: + movl %ecx,12(%esp,%edi,1) + bswap %ecx + movq %mm0,(%esp,%edi,1) + incl %ecx + movl %eax,8(%esp,%edi,1) + bswap %ecx + leal 16(%edi),%edi + cmpl %ebx,%edi + jb .L051ctr32_prepare + movl %ecx,-4(%edx) + leal (%esp),%esi + leal (%esp),%edi + movl %ebx,%ecx + leal -16(%edx),%eax + leal 16(%edx),%ebx + shrl $4,%ecx +.byte 243,15,167,200 + movl (%ebp),%edi + movl 12(%ebp),%ebx + movl 4(%ebp),%esi + xorl %ecx,%ecx +.L052ctr32_xor: + movups (%esi,%ecx,1),%xmm1 + leal 16(%ecx),%ecx + pxor -16(%esp,%ecx,1),%xmm1 + movups %xmm1,-16(%edi,%ecx,1) + cmpl %ebx,%ecx + jb .L052ctr32_xor + movl 8(%ebp),%ecx + addl %ebx,%edi + addl %ebx,%esi + subl %ebx,%ecx + movl $512,%ebx + jnz .L050ctr32_loop + pxor %xmm0,%xmm0 + leal (%esp),%eax +.L053ctr32_bzero: + movaps %xmm0,(%eax) + leal 16(%eax),%eax + cmpl %eax,%ebp + ja .L053ctr32_bzero +.L054ctr32_done: + movl 16(%ebp),%ebp + leal 24(%ebp),%esp + movl $1,%eax + leal 4(%esp),%esp + emms +.L048ctr32_abort: + popl %edi + popl %esi + popl %ebx + popl %ebp + ret +.size padlock_ctr32_encrypt,.-.L_padlock_ctr32_encrypt_begin +.globl padlock_xstore +.type padlock_xstore,@function +.align 16 +padlock_xstore: +.L_padlock_xstore_begin: + pushl %edi + movl 8(%esp),%edi + movl 12(%esp),%edx +.byte 15,167,192 + popl %edi + ret +.size padlock_xstore,.-.L_padlock_xstore_begin +.type _win32_segv_handler,@function +.align 16 +_win32_segv_handler: + movl $1,%eax + movl 4(%esp),%edx + movl 12(%esp),%ecx + cmpl $3221225477,(%edx) + jne .L055ret + addl $4,184(%ecx) + movl $0,%eax +.L055ret: + ret +.size _win32_segv_handler,.-_win32_segv_handler +.globl padlock_sha1_oneshot +.type padlock_sha1_oneshot,@function +.align 16 +padlock_sha1_oneshot: +.L_padlock_sha1_oneshot_begin: + pushl %edi + pushl %esi + xorl %eax,%eax + movl 12(%esp),%edi + movl 16(%esp),%esi + movl 20(%esp),%ecx + movl %esp,%edx + addl $-128,%esp + movups (%edi),%xmm0 + andl $-16,%esp + movl 16(%edi),%eax + movaps %xmm0,(%esp) + movl %esp,%edi + movl %eax,16(%esp) + xorl %eax,%eax +.byte 243,15,166,200 + movaps (%esp),%xmm0 + movl 16(%esp),%eax + movl %edx,%esp + movl 12(%esp),%edi + movups %xmm0,(%edi) + movl %eax,16(%edi) + popl %esi + popl %edi + ret +.size padlock_sha1_oneshot,.-.L_padlock_sha1_oneshot_begin +.globl padlock_sha1_blocks +.type padlock_sha1_blocks,@function +.align 16 +padlock_sha1_blocks: +.L_padlock_sha1_blocks_begin: + pushl %edi + pushl %esi + movl 12(%esp),%edi + movl 16(%esp),%esi + movl %esp,%edx + movl 20(%esp),%ecx + addl $-128,%esp + movups (%edi),%xmm0 + andl $-16,%esp + movl 16(%edi),%eax + movaps %xmm0,(%esp) + movl %esp,%edi + movl %eax,16(%esp) + movl $-1,%eax +.byte 243,15,166,200 + movaps (%esp),%xmm0 + movl 16(%esp),%eax + movl %edx,%esp + movl 12(%esp),%edi + movups %xmm0,(%edi) + movl %eax,16(%edi) + popl %esi + popl %edi + ret +.size padlock_sha1_blocks,.-.L_padlock_sha1_blocks_begin +.globl padlock_sha256_oneshot +.type padlock_sha256_oneshot,@function +.align 16 +padlock_sha256_oneshot: +.L_padlock_sha256_oneshot_begin: + pushl %edi + pushl %esi + xorl %eax,%eax + movl 12(%esp),%edi + movl 16(%esp),%esi + movl 20(%esp),%ecx + movl %esp,%edx + addl $-128,%esp + movups (%edi),%xmm0 + andl $-16,%esp + movups 16(%edi),%xmm1 + movaps %xmm0,(%esp) + movl %esp,%edi + movaps %xmm1,16(%esp) + xorl %eax,%eax +.byte 243,15,166,208 + movaps (%esp),%xmm0 + movaps 16(%esp),%xmm1 + movl %edx,%esp + movl 12(%esp),%edi + movups %xmm0,(%edi) + movups %xmm1,16(%edi) + popl %esi + popl %edi + ret +.size padlock_sha256_oneshot,.-.L_padlock_sha256_oneshot_begin +.globl padlock_sha256_blocks +.type padlock_sha256_blocks,@function +.align 16 +padlock_sha256_blocks: +.L_padlock_sha256_blocks_begin: + pushl %edi + pushl %esi + movl 12(%esp),%edi + movl 16(%esp),%esi + movl 20(%esp),%ecx + movl %esp,%edx + addl $-128,%esp + movups (%edi),%xmm0 + andl $-16,%esp + movups 16(%edi),%xmm1 + movaps %xmm0,(%esp) + movl %esp,%edi + movaps %xmm1,16(%esp) + movl $-1,%eax +.byte 243,15,166,208 + movaps (%esp),%xmm0 + movaps 16(%esp),%xmm1 + movl %edx,%esp + movl 12(%esp),%edi + movups %xmm0,(%edi) + movups %xmm1,16(%edi) + popl %esi + popl %edi + ret +.size padlock_sha256_blocks,.-.L_padlock_sha256_blocks_begin +.globl padlock_sha512_blocks +.type padlock_sha512_blocks,@function +.align 16 +padlock_sha512_blocks: +.L_padlock_sha512_blocks_begin: + pushl %edi + pushl %esi + movl 12(%esp),%edi + movl 16(%esp),%esi + movl 20(%esp),%ecx + movl %esp,%edx + addl $-128,%esp + movups (%edi),%xmm0 + andl $-16,%esp + movups 16(%edi),%xmm1 + movups 32(%edi),%xmm2 + movups 48(%edi),%xmm3 + movaps %xmm0,(%esp) + movl %esp,%edi + movaps %xmm1,16(%esp) + movaps %xmm2,32(%esp) + movaps %xmm3,48(%esp) +.byte 243,15,166,224 + movaps (%esp),%xmm0 + movaps 16(%esp),%xmm1 + movaps 32(%esp),%xmm2 + movaps 48(%esp),%xmm3 + movl %edx,%esp + movl 12(%esp),%edi + movups %xmm0,(%edi) + movups %xmm1,16(%edi) + movups %xmm2,32(%edi) + movups %xmm3,48(%edi) + popl %esi + popl %edi + ret +.size padlock_sha512_blocks,.-.L_padlock_sha512_blocks_begin +.byte 86,73,65,32,80,97,100,108,111,99,107,32,120,56,54,32 +.byte 109,111,100,117,108,101,44,32,67,82,89,80,84,79,71,65 +.byte 77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101 +.byte 110,115,115,108,46,111,114,103,62,0 +.align 16 +.data +.align 4 +.Lpadlock_saved_context: +.long 0 |