diff options
author | lloyd <[email protected]> | 2006-08-12 20:22:20 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2006-08-12 20:22:20 +0000 |
commit | 68a3773df5bf37c6a9441ab2dfc0f1342f57b250 (patch) | |
tree | 787e93040ecfa9c9f31034353bacdc7ad7013166 /modules | |
parent | 0b76a59744c1385b0ef33745949a7b9f2127d82e (diff) |
Rearrange some operations, though instruction scheduling still needs a
lot of work.
Diffstat (limited to 'modules')
-rw-r--r-- | modules/sha_x86/sha1core.S | 35 |
1 files changed, 16 insertions, 19 deletions
diff --git a/modules/sha_x86/sha1core.S b/modules/sha_x86/sha1core.S index c1cfa06d3..31bce0139 100644 --- a/modules/sha_x86/sha1core.S +++ b/modules/sha_x86/sha1core.S @@ -31,44 +31,41 @@ sha160_core: .p2align 4,,7 // here esi == 16 .EXPANSION_LOOP: + xorl %eax, %eax + movl -4(%ebp), %ebx + movl -8(%ebp), %ecx movl -12(%ebp), %edx + + xorl -20(%ebp), %eax + xorl -24(%ebp), %ebx + xorl -28(%ebp), %ecx xorl -32(%ebp), %edx + + xorl -44(%ebp), %eax + xorl -48(%ebp), %ebx + xorl -52(%ebp), %ecx xorl -56(%ebp), %edx + + xorl -52(%ebp), %eax + xorl -56(%ebp), %ebx + xorl -60(%ebp), %ecx xorl -64(%ebp), %edx + roll $1, %edx - movl %edx, (%ebp) - movl -8(%ebp), %ecx - xorl -28(%ebp), %ecx - xorl -52(%ebp), %ecx - xorl -60(%ebp), %ecx roll $1, %ecx - movl %ecx, 4(%ebp) - movl -4(%ebp), %ebx - xorl -24(%ebp), %ebx - xorl -48(%ebp), %ebx - xorl -56(%ebp), %ebx roll $1, %ebx - movl %ebx, 8(%ebp) - xorl %eax, %eax - xorl -20(%ebp), %eax - xorl -44(%ebp), %eax - xorl -52(%ebp), %eax xorl (%ebp), %eax roll $1, %eax - movl %eax, 12(%ebp) - addl $16, %ebp - addl $4, %esi - cmpl $80, %esi jne .EXPANSION_LOOP |