| Index: openssl/crypto/sha/asm/sha256-586-mac.S
|
| diff --git a/openssl/crypto/sha/asm/sha256-586-mac.S b/openssl/crypto/sha/asm/sha256-586-mac.S
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..67c7a96bc02a5f9164b217aa72823ab38c35491b
|
| --- /dev/null
|
| +++ b/openssl/crypto/sha/asm/sha256-586-mac.S
|
| @@ -0,0 +1,256 @@
|
| +.file "sha512-586.s"
|
| +.text
|
| +.globl _sha256_block_data_order
|
| +.align 4
|
| +_sha256_block_data_order:
|
| +L_sha256_block_data_order_begin:
|
| + pushl %ebp
|
| + pushl %ebx
|
| + pushl %esi
|
| + pushl %edi
|
| + movl 20(%esp),%esi
|
| + movl 24(%esp),%edi
|
| + movl 28(%esp),%eax
|
| + movl %esp,%ebx
|
| + call L000pic_point
|
| +L000pic_point:
|
| + popl %ebp
|
| + leal L001K256-L000pic_point(%ebp),%ebp
|
| + subl $16,%esp
|
| + andl $-64,%esp
|
| + shll $6,%eax
|
| + addl %edi,%eax
|
| + movl %esi,(%esp)
|
| + movl %edi,4(%esp)
|
| + movl %eax,8(%esp)
|
| + movl %ebx,12(%esp)
|
| +.align 4,0x90
|
| +L002loop:
|
| + movl (%edi),%eax
|
| + movl 4(%edi),%ebx
|
| + movl 8(%edi),%ecx
|
| + movl 12(%edi),%edx
|
| + bswap %eax
|
| + bswap %ebx
|
| + bswap %ecx
|
| + bswap %edx
|
| + pushl %eax
|
| + pushl %ebx
|
| + pushl %ecx
|
| + pushl %edx
|
| + movl 16(%edi),%eax
|
| + movl 20(%edi),%ebx
|
| + movl 24(%edi),%ecx
|
| + movl 28(%edi),%edx
|
| + bswap %eax
|
| + bswap %ebx
|
| + bswap %ecx
|
| + bswap %edx
|
| + pushl %eax
|
| + pushl %ebx
|
| + pushl %ecx
|
| + pushl %edx
|
| + movl 32(%edi),%eax
|
| + movl 36(%edi),%ebx
|
| + movl 40(%edi),%ecx
|
| + movl 44(%edi),%edx
|
| + bswap %eax
|
| + bswap %ebx
|
| + bswap %ecx
|
| + bswap %edx
|
| + pushl %eax
|
| + pushl %ebx
|
| + pushl %ecx
|
| + pushl %edx
|
| + movl 48(%edi),%eax
|
| + movl 52(%edi),%ebx
|
| + movl 56(%edi),%ecx
|
| + movl 60(%edi),%edx
|
| + bswap %eax
|
| + bswap %ebx
|
| + bswap %ecx
|
| + bswap %edx
|
| + pushl %eax
|
| + pushl %ebx
|
| + pushl %ecx
|
| + pushl %edx
|
| + addl $64,%edi
|
| + subl $32,%esp
|
| + movl %edi,100(%esp)
|
| + movl (%esi),%eax
|
| + movl 4(%esi),%ebx
|
| + movl 8(%esi),%ecx
|
| + movl 12(%esi),%edi
|
| + movl %ebx,4(%esp)
|
| + movl %ecx,8(%esp)
|
| + movl %edi,12(%esp)
|
| + movl 16(%esi),%edx
|
| + movl 20(%esi),%ebx
|
| + movl 24(%esi),%ecx
|
| + movl 28(%esi),%edi
|
| + movl %ebx,20(%esp)
|
| + movl %ecx,24(%esp)
|
| + movl %edi,28(%esp)
|
| +.align 4,0x90
|
| +L00300_15:
|
| + movl 92(%esp),%ebx
|
| + movl %edx,%ecx
|
| + rorl $14,%ecx
|
| + movl 20(%esp),%esi
|
| + xorl %edx,%ecx
|
| + rorl $5,%ecx
|
| + xorl %edx,%ecx
|
| + rorl $6,%ecx
|
| + movl 24(%esp),%edi
|
| + addl %ecx,%ebx
|
| + xorl %edi,%esi
|
| + movl %edx,16(%esp)
|
| + movl %eax,%ecx
|
| + andl %edx,%esi
|
| + movl 12(%esp),%edx
|
| + xorl %edi,%esi
|
| + movl %eax,%edi
|
| + addl %esi,%ebx
|
| + rorl $9,%ecx
|
| + addl 28(%esp),%ebx
|
| + xorl %eax,%ecx
|
| + rorl $11,%ecx
|
| + movl 4(%esp),%esi
|
| + xorl %eax,%ecx
|
| + rorl $2,%ecx
|
| + addl %ebx,%edx
|
| + movl 8(%esp),%edi
|
| + addl %ecx,%ebx
|
| + movl %eax,(%esp)
|
| + movl %eax,%ecx
|
| + subl $4,%esp
|
| + orl %esi,%eax
|
| + andl %esi,%ecx
|
| + andl %edi,%eax
|
| + movl (%ebp),%esi
|
| + orl %ecx,%eax
|
| + addl $4,%ebp
|
| + addl %ebx,%eax
|
| + addl %esi,%edx
|
| + addl %esi,%eax
|
| + cmpl $3248222580,%esi
|
| + jne L00300_15
|
| + movl 152(%esp),%ebx
|
| +.align 4,0x90
|
| +L00416_63:
|
| + movl %ebx,%esi
|
| + movl 100(%esp),%ecx
|
| + rorl $11,%esi
|
| + movl %ecx,%edi
|
| + xorl %ebx,%esi
|
| + rorl $7,%esi
|
| + shrl $3,%ebx
|
| + rorl $2,%edi
|
| + xorl %esi,%ebx
|
| + xorl %ecx,%edi
|
| + rorl $17,%edi
|
| + shrl $10,%ecx
|
| + addl 156(%esp),%ebx
|
| + xorl %ecx,%edi
|
| + addl 120(%esp),%ebx
|
| + movl %edx,%ecx
|
| + addl %edi,%ebx
|
| + rorl $14,%ecx
|
| + movl 20(%esp),%esi
|
| + xorl %edx,%ecx
|
| + rorl $5,%ecx
|
| + movl %ebx,92(%esp)
|
| + xorl %edx,%ecx
|
| + rorl $6,%ecx
|
| + movl 24(%esp),%edi
|
| + addl %ecx,%ebx
|
| + xorl %edi,%esi
|
| + movl %edx,16(%esp)
|
| + movl %eax,%ecx
|
| + andl %edx,%esi
|
| + movl 12(%esp),%edx
|
| + xorl %edi,%esi
|
| + movl %eax,%edi
|
| + addl %esi,%ebx
|
| + rorl $9,%ecx
|
| + addl 28(%esp),%ebx
|
| + xorl %eax,%ecx
|
| + rorl $11,%ecx
|
| + movl 4(%esp),%esi
|
| + xorl %eax,%ecx
|
| + rorl $2,%ecx
|
| + addl %ebx,%edx
|
| + movl 8(%esp),%edi
|
| + addl %ecx,%ebx
|
| + movl %eax,(%esp)
|
| + movl %eax,%ecx
|
| + subl $4,%esp
|
| + orl %esi,%eax
|
| + andl %esi,%ecx
|
| + andl %edi,%eax
|
| + movl (%ebp),%esi
|
| + orl %ecx,%eax
|
| + addl $4,%ebp
|
| + addl %ebx,%eax
|
| + movl 152(%esp),%ebx
|
| + addl %esi,%edx
|
| + addl %esi,%eax
|
| + cmpl $3329325298,%esi
|
| + jne L00416_63
|
| + movl 352(%esp),%esi
|
| + movl 4(%esp),%ebx
|
| + movl 8(%esp),%ecx
|
| + movl 12(%esp),%edi
|
| + addl (%esi),%eax
|
| + addl 4(%esi),%ebx
|
| + addl 8(%esi),%ecx
|
| + addl 12(%esi),%edi
|
| + movl %eax,(%esi)
|
| + movl %ebx,4(%esi)
|
| + movl %ecx,8(%esi)
|
| + movl %edi,12(%esi)
|
| + movl 20(%esp),%eax
|
| + movl 24(%esp),%ebx
|
| + movl 28(%esp),%ecx
|
| + movl 356(%esp),%edi
|
| + addl 16(%esi),%edx
|
| + addl 20(%esi),%eax
|
| + addl 24(%esi),%ebx
|
| + addl 28(%esi),%ecx
|
| + movl %edx,16(%esi)
|
| + movl %eax,20(%esi)
|
| + movl %ebx,24(%esi)
|
| + movl %ecx,28(%esi)
|
| + addl $352,%esp
|
| + subl $256,%ebp
|
| + cmpl 8(%esp),%edi
|
| + jb L002loop
|
| + movl 12(%esp),%esp
|
| + popl %edi
|
| + popl %esi
|
| + popl %ebx
|
| + popl %ebp
|
| + ret
|
| +.align 6,0x90
|
| +L001K256:
|
| +.long 1116352408,1899447441,3049323471,3921009573
|
| +.long 961987163,1508970993,2453635748,2870763221
|
| +.long 3624381080,310598401,607225278,1426881987
|
| +.long 1925078388,2162078206,2614888103,3248222580
|
| +.long 3835390401,4022224774,264347078,604807628
|
| +.long 770255983,1249150122,1555081692,1996064986
|
| +.long 2554220882,2821834349,2952996808,3210313671
|
| +.long 3336571891,3584528711,113926993,338241895
|
| +.long 666307205,773529912,1294757372,1396182291
|
| +.long 1695183700,1986661051,2177026350,2456956037
|
| +.long 2730485921,2820302411,3259730800,3345764771
|
| +.long 3516065817,3600352804,4094571909,275423344
|
| +.long 430227734,506948616,659060556,883997877
|
| +.long 958139571,1322822218,1537002063,1747873779
|
| +.long 1955562222,2024104815,2227730452,2361852424
|
| +.long 2428436474,2756734187,3204031479,3329325298
|
| +.byte 83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97
|
| +.byte 110,115,102,111,114,109,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
|
|
|