summaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2008-07-15 13:24:16 +0000
committerAndy Polyakov <appro@openssl.org>2008-07-15 13:24:16 +0000
commitc79c5a256be9d8a279c873c37903f9eead71f355 (patch)
tree78d671485177d188db0f3026f66c08173f168174 /crypto
parent9960bdc6fa28b75f2e9935fcdad07e5d9bc50732 (diff)
des-596.pl update: short-circuit reference to DES_SPtrans.
Diffstat (limited to 'crypto')
-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);