summaryrefslogtreecommitdiffstats
path: root/crypto/md5/asm
diff options
context:
space:
mode:
authorBen Laurie <ben@openssl.org>1999-01-30 17:53:00 +0000
committerBen Laurie <ben@openssl.org>1999-01-30 17:53:00 +0000
commita96e7810e29747976f55defa2788cbe24e595352 (patch)
treeb420980a2661eb9f4cc93609f0e7dcc7aabc7bc9 /crypto/md5/asm
parent679ab7c39e1c011870a2f6f6092460dbe693600f (diff)
Squeeze a bit more speed out of MD5 assembler.
Diffstat (limited to 'crypto/md5/asm')
-rw-r--r--crypto/md5/asm/md5-586.pl35
-rw-r--r--crypto/md5/asm/mx86unix.cpp730
2 files changed, 18 insertions, 747 deletions
diff --git a/crypto/md5/asm/md5-586.pl b/crypto/md5/asm/md5-586.pl
index b1238e0385..0249e100e1 100644
--- a/crypto/md5/asm/md5-586.pl
+++ b/crypto/md5/asm/md5-586.pl
@@ -44,7 +44,7 @@ sub R0
local($pos,$a,$b,$c,$d,$K,$ki,$s,$t)=@_;
&mov($tmp1,$C) if $pos < 0;
- &mov($tmp2,&DWP($xo[$ki]*4,$K,"",0)) if $pos < 0; # very first one
+ &mov($tmp2,&DWP($xo[$ki]*4,$K,"",0)) if $pos < 0; # very first one
# body proper
@@ -54,7 +54,6 @@ sub R0
&and($tmp1,$b); # F function - part 3
&lea($a,&DWP($t,$a,$tmp2,1));
- &mov($tmp2,&DWP($xo[$ki+1]*4,$K,"",0)) if ($pos != 2);
&xor($tmp1,$d); # F function - part 4
&add($a,$tmp1);
@@ -62,8 +61,10 @@ sub R0
&mov($tmp1,&Np($c)) if $pos == 1; # next tmp1 for R1
&rotl($a,$s);
- &add($a,$b);
+ &mov($tmp2,&DWP($xo[$ki+1]*4,$K,"",0)) if ($pos != 2);
+
+ &add($a,$b);
}
sub R1
@@ -100,16 +101,16 @@ if (($n & 1) == 0)
# make sure to do 'D' first, not 'B', else we clash with
# the last add from the previous round.
- &xor($tmp1,$d); # H function - part 2
+ &xor($tmp1,$d); # H function - part 2
&xor($tmp1,$b); # H function - part 3
- &lea($a,&DWP($t,$a,$tmp2,1));
+ &lea($a,&DWP($t,$a,$tmp2,1));
&add($a,$tmp1);
- &mov($tmp2,&DWP($xo[$ki+1]*4,$K,"",0));
&rotl($a,$s);
+ &mov($tmp2,&DWP($xo[$ki+1]*4,$K,"",0));
&mov($tmp1,&Np($c));
}
else
@@ -118,17 +119,17 @@ else
# make sure to do 'D' first, not 'B', else we clash with
# the last add from the previous round.
- &lea($a,&DWP($t,$a,$tmp2,1));
+ &lea($a,&DWP($t,$a,$tmp2,1));
&add($b,$c); # MOVED FORWARD
- &xor($tmp1,$d); # H function - part 2
+ &xor($tmp1,$d); # H function - part 2
&xor($tmp1,$b); # H function - part 3
- &mov($tmp2,&DWP($xo[$ki+1]*4,$K,"",0)) if ($pos != 2);
+ &mov($tmp2,&DWP($xo[$ki+1]*4,$K,"",0)) if ($pos != 2);
&add($a,$tmp1);
- &mov($tmp1,&Np($c)) if $pos < 1; # H function - part 1
- &mov($tmp1,-1) if $pos == 1; # I function - part 1
+ &mov($tmp1,&Np($c)) if $pos < 1; # H function - part 1
+ &mov($tmp1,-1) if $pos == 1; # I function - part 1
&rotl($a,$s);
@@ -146,21 +147,21 @@ sub R3
&xor($tmp1,$d) if $pos < 0; # I function - part 2
&or($tmp1,$b); # I function - part 3
- &lea($a,&DWP($t,$a,$tmp2,1));
+ &lea($a,&DWP($t,$a,$tmp2,1));
&xor($tmp1,$c); # I function - part 4
- &mov($tmp2,&DWP($xo[$ki+1]*4,$K,"",0)) if $pos != 2; # load X/k value
- &mov($tmp2,&wparam(0)) if $pos == 2;
+ &mov($tmp2,&DWP($xo[$ki+1]*4,$K,"",0)) if $pos != 2; # load X/k value
+ &mov($tmp2,&wparam(0)) if $pos == 2;
&add($a,$tmp1);
- &mov($tmp1,-1) if $pos < 1; # H function - part 1
- &add($K,64) if $pos >=1 && !$normal;
+ &mov($tmp1,-1) if $pos < 1; # H function - part 1
+ &add($K,64) if $pos >=1 && !$normal;
&rotl($a,$s);
&xor($tmp1,&Np($d)) if $pos <= 0; # I function - part = first time
&mov($tmp1,&DWP( 0,$tmp2,"",0)) if $pos > 0;
- &add($a,$b);
+ &add($a,$b);
}
diff --git a/crypto/md5/asm/mx86unix.cpp b/crypto/md5/asm/mx86unix.cpp
deleted file mode 100644
index 5d399122b6..0000000000
--- a/crypto/md5/asm/mx86unix.cpp
+++ /dev/null
@@ -1,730 +0,0 @@
-/* Run the C pre-processor over this file with one of the following defined
- * ELF - elf object files,
- * OUT - a.out object files,
- * BSDI - BSDI style a.out object files
- * SOL - Solaris style elf
- */
-
-#define TYPE(a,b) .type a,b
-#define SIZE(a,b) .size a,b
-
-#if defined(OUT) || defined(BSDI)
-#define md5_block_x86 _md5_block_x86
-
-#endif
-
-#ifdef OUT
-#define OK 1
-#define ALIGN 4
-#endif
-
-#ifdef BSDI
-#define OK 1
-#define ALIGN 4
-#undef SIZE
-#undef TYPE
-#define SIZE(a,b)
-#define TYPE(a,b)
-#endif
-
-#if defined(ELF) || defined(SOL)
-#define OK 1
-#define ALIGN 16
-#endif
-
-#ifndef OK
-You need to define one of
-ELF - elf systems - linux-elf, NetBSD and DG-UX
-OUT - a.out systems - linux-a.out and FreeBSD
-SOL - solaris systems, which are elf with strange comment lines
-BSDI - a.out with a very primative version of as.
-#endif
-
-/* Let the Assembler begin :-) */
- /* Don't even think of reading this code */
- /* It was automatically generated by md5-586.pl */
- /* Which is a perl program used to generate the x86 assember for */
- /* any of elf, a.out, BSDI,Win32, or Solaris */
- /* eric <eay@cryptsoft.com> */
-
- .file "md5-586.s"
- .version "01.01"
-gcc2_compiled.:
-.text
- .align ALIGN
-.globl md5_block_x86
- TYPE(md5_block_x86,@function)
-md5_block_x86:
- pushl %esi
- pushl %edi
- movl 12(%esp), %edi
- movl 16(%esp), %esi
- movl 20(%esp), %ecx
- pushl %ebp
- 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:
-
- /* R0 section */
- movl %ecx, %edi
- movl (%esi), %ebp
- /* R0 0 */
- xorl %edx, %edi
- andl %ebx, %edi
- leal 3614090360(%eax,%ebp,1),%eax
- movl 4(%esi), %ebp
- xorl %edx, %edi
- addl %edi, %eax
- movl %ebx, %edi
- roll $7, %eax
- addl %ebx, %eax
- /* R0 1 */
- xorl %ecx, %edi
- andl %eax, %edi
- leal 3905402710(%edx,%ebp,1),%edx
- movl 8(%esi), %ebp
- xorl %ecx, %edi
- addl %edi, %edx
- movl %eax, %edi
- roll $12, %edx
- addl %eax, %edx
- /* R0 2 */
- xorl %ebx, %edi
- andl %edx, %edi
- leal 606105819(%ecx,%ebp,1),%ecx
- movl 12(%esi), %ebp
- xorl %ebx, %edi
- addl %edi, %ecx
- movl %edx, %edi
- roll $17, %ecx
- addl %edx, %ecx
- /* R0 3 */
- xorl %eax, %edi
- andl %ecx, %edi
- leal 3250441966(%ebx,%ebp,1),%ebx
- movl 16(%esi), %ebp
- xorl %eax, %edi
- addl %edi, %ebx
- movl %ecx, %edi
- roll $22, %ebx
- addl %ecx, %ebx
- /* R0 4 */
- xorl %edx, %edi
- andl %ebx, %edi
- leal 4118548399(%eax,%ebp,1),%eax
- movl 20(%esi), %ebp
- xorl %edx, %edi
- addl %edi, %eax
- movl %ebx, %edi
- roll $7, %eax
- addl %ebx, %eax
- /* R0 5 */
- xorl %ecx, %edi
- andl %eax, %edi
- leal 1200080426(%edx,%ebp,1),%edx
- movl 24(%esi), %ebp
- xorl %ecx, %edi
- addl %edi, %edx
- movl %eax, %edi
- roll $12, %edx
- addl %eax, %edx
- /* R0 6 */
- xorl %ebx, %edi
- andl %edx, %edi
- leal 2821735955(%ecx,%ebp,1),%ecx
- movl 28(%esi), %ebp
- xorl %ebx, %edi
- addl %edi, %ecx
- movl %edx, %edi
- roll $17, %ecx
- addl %edx, %ecx
- /* R0 7 */
- xorl %eax, %edi
- andl %ecx, %edi
- leal 4249261313(%ebx,%ebp,1),%ebx
- movl 32(%esi), %ebp
- xorl %eax, %edi
- addl %edi, %ebx
- movl %ecx, %edi
- roll $22, %ebx
- addl %ecx, %ebx
- /* R0 8 */
- xorl %edx, %edi
- andl %ebx, %edi
- leal 1770035416(%eax,%ebp,1),%eax
- movl 36(%esi), %ebp
- xorl %edx, %edi
- addl %edi, %eax
- movl %ebx, %edi
- roll $7, %eax
- addl %ebx, %eax
- /* R0 9 */
- xorl %ecx, %edi
- andl %eax, %edi
- leal 2336552879(%edx,%ebp,1),%edx
- movl 40(%esi), %ebp
- xorl %ecx, %edi
- addl %edi, %edx
- movl %eax, %edi
- roll $12, %edx
- addl %eax, %edx
- /* R0 10 */
- xorl %ebx, %edi
- andl %edx, %edi
- leal 4294925233(%ecx,%ebp,1),%ecx
- movl 44(%esi), %ebp
- xorl %ebx, %edi
- addl %edi, %ecx
- movl %edx, %edi
- roll $17, %ecx
- addl %edx, %ecx
- /* R0 11 */
- xorl %eax, %edi
- andl %ecx, %edi
- leal 2304563134(%ebx,%ebp,1),%ebx
- movl 48(%esi), %ebp
- xorl %eax, %edi
- addl %edi, %ebx
- movl %ecx, %edi
- roll $22, %ebx
- addl %ecx, %ebx
- /* R0 12 */
- xorl %edx, %edi
- andl %ebx, %edi
- leal 1804603682(%eax,%ebp,1),%eax
- movl 52(%esi), %ebp
- xorl %edx, %edi
- addl %edi, %eax
- movl %ebx, %edi
- roll $7, %eax
- addl %ebx, %eax
- /* R0 13 */
- xorl %ecx, %edi
- andl %eax, %edi
- leal 4254626195(%edx,%ebp,1),%edx
- movl 56(%esi), %ebp
- xorl %ecx, %edi
- addl %edi, %edx
- movl %eax, %edi
- roll $12, %edx
- addl %eax, %edx
- /* R0 14 */
- xorl %ebx, %edi
- andl %edx, %edi
- leal 2792965006(%ecx,%ebp,1),%ecx
- movl 60(%esi), %ebp
- xorl %ebx, %edi
- addl %edi, %ecx
- movl %edx, %edi
- roll $17, %ecx
- addl %edx, %ecx
- /* R0 15 */
- xorl %eax, %edi
- andl %ecx, %edi
- leal 1236535329(%ebx,%ebp,1),%ebx
- movl 4(%esi), %ebp
- xorl %eax, %edi
- addl %edi, %ebx
- movl %ecx, %edi
- roll $22, %ebx
- addl %ecx, %ebx
-
- /* R1 section */
- /* R1 16 */
- 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
- /* R1 17 */
- 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
- /* R1 18 */
- 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
- /* R1 19 */
- 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
- /* R1 20 */
- 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
- /* R1 21 */
- 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
- /* R1 22 */
- 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
- /* R1 23 */
- 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
- /* R1 24 */
- 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
- /* R1 25 */
- 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
- /* R1 26 */
- 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
- /* R1 27 */
- 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
- /* R1 28 */
- 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
- /* R1 29 */
- 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
- /* R1 30 */
- 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
- /* R1 31 */
- 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
-
- /* R2 section */
- /* R2 32 */
- xorl %edx, %edi
- xorl %ebx, %edi
- leal 4294588738(%eax,%ebp,1),%eax
- addl %edi, %eax
- movl 32(%esi), %ebp
- roll $4, %eax
- movl %ebx, %edi
- /* R2 33 */
- 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
- /* R2 34 */
- xorl %ebx, %edi
- xorl %edx, %edi
- leal 1839030562(%ecx,%ebp,1),%ecx
- addl %edi, %ecx
- movl 56(%esi), %ebp
- roll $16, %ecx
- movl %edx, %edi
- /* R2 35 */
- 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
- /* R2 36 */
- xorl %edx, %edi
- xorl %ebx, %edi
- leal 2763975236(%eax,%ebp,1),%eax
- addl %edi, %eax
- movl 16(%esi), %ebp
- roll $4, %eax
- movl %ebx, %edi
- /* R2 37 */
- 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
- /* R2 38 */
- xorl %ebx, %edi
- xorl %edx, %edi
- leal 4139469664(%ecx,%ebp,1),%ecx
- addl %edi, %ecx
- movl 40(%esi), %ebp
- roll $16, %ecx
- movl %edx, %edi
- /* R2 39 */
- 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
- /* R2 40 */
- xorl %edx, %edi
- xorl %ebx, %edi
- leal 681279174(%eax,%ebp,1),%eax
- addl %edi, %eax
- movl (%esi), %ebp
- roll $4, %eax
- movl %ebx, %edi
- /* R2 41 */
- 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
- /* R2 42 */
- xorl %ebx, %edi
- xorl %edx, %edi
- leal 3572445317(%ecx,%ebp,1),%ecx
- addl %edi, %ecx
- movl 24(%esi), %ebp
- roll $16, %ecx
- movl %edx, %edi
- /* R2 43 */
- 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
- /* R2 44 */
- xorl %edx, %edi
- xorl %ebx, %edi
- leal 3654602809(%eax,%ebp,1),%eax
- addl %edi, %eax
- movl 48(%esi), %ebp
- roll $4, %eax
- movl %ebx, %edi
- /* R2 45 */
- 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
- /* R2 46 */
- xorl %ebx, %edi
- xorl %edx, %edi
- leal 530742520(%ecx,%ebp,1),%ecx
- addl %edi, %ecx
- movl 8(%esi), %ebp
- roll $16, %ecx
- movl %edx, %edi
- /* R2 47 */
- 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
-
- /* R3 section */
- /* R3 48 */
- 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
- /* R3 49 */
- 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
- /* R3 50 */
- 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
- /* R3 51 */
- 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
- /* R3 52 */
- 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
- /* R3 53 */
- 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
- /* R3 54 */
- 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
- /* R3 55 */
- 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
- /* R3 56 */
- 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
- /* R3 57 */
- 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
- /* R3 58 */
- 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
- /* R3 59 */
- 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
- /* R3 60 */
- 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
- /* R3 61 */
- 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
- /* R3 62 */
- 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
- /* R3 63 */
- 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
- jge .L000start
- popl %eax
- popl %ebx
- popl %ebp
- popl %edi
- popl %esi
- ret
-.md5_block_x86_end:
- SIZE(md5_block_x86,.md5_block_x86_end-md5_block_x86)
-.ident "desasm.pl"