Make MD5 assembler code able to handle messages larger than 2GB on 32-bit
authorRichard Levitte <levitte@openssl.org>
Sat, 27 Sep 2003 22:14:43 +0000 (22:14 +0000)
committerRichard Levitte <levitte@openssl.org>
Sat, 27 Sep 2003 22:14:43 +0000 (22:14 +0000)
systems and above.
PR: 664

crypto/md5/asm/md5-586.pl
crypto/perlasm/x86ms.pl
crypto/perlasm/x86nasm.pl
crypto/perlasm/x86unix.pl

index 5fc6a205ce00af8843d1ec750d5397dd50567374..fa3fa3bed59c1685f6b3005d56bf3ac555d97fc9 100644 (file)
@@ -293,7 +293,7 @@ sub md5_block
         &mov(&DWP(12,$tmp2,"",0),$D);
 
        &cmp($tmp1,$X) unless $normal;                  # check count
-        &jge(&label("start")) unless $normal;
+        &jae(&label("start")) unless $normal;
 
        &pop("eax"); # pop the temp variable off the stack
         &pop("ebx");
index 206452341d1faf5c444be80d68282bb34f338d5d..9e39c692ac717660fff51036f7f5070a3e7033ec 100644 (file)
@@ -141,7 +141,10 @@ sub main'jle       { &out1("jle",@_); }
 sub main'jz    { &out1("jz",@_); }
 sub main'jge   { &out1("jge",@_); }
 sub main'jl    { &out1("jl",@_); }
+sub main'ja    { &out1("ja",@_); }
+sub main'jae   { &out1("jae",@_); }
 sub main'jb    { &out1("jb",@_); }
+sub main'jbe   { &out1("jbe",@_); }
 sub main'jc    { &out1("jc",@_); }
 sub main'jnc   { &out1("jnc",@_); }
 sub main'jnz   { &out1("jnz",@_); }
index 519d8a5867287aa962648ba1990f37631d5a8d9d..b156a55cc73fd48499ccd6a6b1f1fd3384a29d6b 100644 (file)
@@ -149,7 +149,10 @@ sub main'jle       { &out1("jle NEAR",@_); }
 sub main'jz    { &out1("jz NEAR",@_); }
 sub main'jge   { &out1("jge NEAR",@_); }
 sub main'jl    { &out1("jl NEAR",@_); }
+sub main'ja    { &out1("ja NEAR",@_); }
+sub main'jae   { &out1("jae NEAR",@_); }
 sub main'jb    { &out1("jb NEAR",@_); }
+sub main'jbe   { &out1("jbe NEAR",@_); }
 sub main'jc    { &out1("jc NEAR",@_); }
 sub main'jnc   { &out1("jnc NEAR",@_); }
 sub main'jnz   { &out1("jnz NEAR",@_); }
index 10a7af8bffd09fcda0bc8057ebb3254b4ef11c2b..1143459b3937c9acb47ad022f591fca35f3f6206 100644 (file)
@@ -154,7 +154,10 @@ sub main'jnz       { &out1("jnz",@_); }
 sub main'jz    { &out1("jz",@_); }
 sub main'jge   { &out1("jge",@_); }
 sub main'jl    { &out1("jl",@_); }
+sub main'ja    { &out1("ja",@_); }
+sub main'jae   { &out1("jae",@_); }
 sub main'jb    { &out1("jb",@_); }
+sub main'jbe   { &out1("jbe",@_); }
 sub main'jc    { &out1("jc",@_); }
 sub main'jnc   { &out1("jnc",@_); }
 sub main'jno   { &out1("jno",@_); }