diff options
author | Andy Polyakov <appro@openssl.org> | 2008-07-15 13:24:16 +0000 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2008-07-15 13:24:16 +0000 |
commit | c79c5a256be9d8a279c873c37903f9eead71f355 (patch) | |
tree | 78d671485177d188db0f3026f66c08173f168174 | |
parent | 9960bdc6fa28b75f2e9935fcdad07e5d9bc50732 (diff) | |
download | openssl-new-c79c5a256be9d8a279c873c37903f9eead71f355.tar.gz |
des-596.pl update: short-circuit reference to DES_SPtrans.
-rw-r--r-- | crypto/des/asm/des-586.pl | 8 |
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); |