summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crypto/des/asm/des-586.pl8
1 files changed, 6 insertions, 2 deletions
diff --git a/crypto/des/asm/des-586.pl b/crypto/des/asm/des-586.pl
index 32282bd5fc..5b5f39cebd 100644
--- a/crypto/des/asm/des-586.pl
+++ b/crypto/des/asm/des-586.pl
@@ -24,6 +24,8 @@ $small_footprint=1 if (grep(/\-DOPENSSL_SMALL_FOOTPRINT/,@ARGV));
# one can discuss setting this variable to 1 unconditionally, as
# the folded loop is only 3% slower than unrolled, but >7 times smaller
+&public_label("DES_SPtrans");
+
&DES_encrypt_internal();
&DES_decrypt_internal();
&DES_encrypt("DES_encrypt1",1);
@@ -153,7 +155,10 @@ sub DES_encrypt
}
# PIC-ification:-)
- &picmeup($trans,"DES_SPtrans");
+ &call (&label("pic_point"));
+ &set_label("pic_point");
+ &blindpop($trans);
+ &lea ($trans,&DWP(&label("DES_SPtrans")."-".&label("pic_point"),$trans));
&mov( "ecx", &wparam(1) );
@@ -309,7 +314,6 @@ sub FP_new
sub DES_SPtrans
{
- &public_label("DES_SPtrans");
&set_label("DES_SPtrans",64);
&data_word(0x02080800, 0x00080000, 0x02000002, 0x02080802);
&data_word(0x02000000, 0x00080802, 0x00080002, 0x02000002);