diff options
Diffstat (limited to 'crypto/bn/asm/bn-586.pl')
-rw-r--r-- | crypto/bn/asm/bn-586.pl | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/crypto/bn/asm/bn-586.pl b/crypto/bn/asm/bn-586.pl index 9a7c64c464..26c2685a72 100644 --- a/crypto/bn/asm/bn-586.pl +++ b/crypto/bn/asm/bn-586.pl @@ -5,7 +5,10 @@ require "x86asm.pl"; &asm_init($ARGV[0],$0); -$sse2=0; # SSE2 is temporarily disabled... +$sse2=0; +for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); } + +&external_label("OPENSSL_ia32cap_P") if ($sse2); &bn_mul_add_words("bn_mul_add_words"); &bn_mul_words("bn_mul_words"); @@ -21,7 +24,7 @@ sub bn_mul_add_words { local($name)=@_; - &function_begin($name,""); + &function_begin($name,$sse2?"EXTRN\t_OPENSSL_ia32cap_P:DWORD":""); &comment(""); $Low="eax"; @@ -45,7 +48,7 @@ sub bn_mul_add_words &jz(&label("maw_finish")); if ($sse2) { - &picmeup("eax","OPENSSL_ia32cap"); + &picmeup("eax","OPENSSL_ia32cap_P"); &bt(&DWP(0,"eax"),26); &jnc(&label("maw_loop")); |