summaryrefslogtreecommitdiffstats
path: root/crypto/x86cpuid.pl
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2013-03-04 20:05:04 +0100
committerAndy Polyakov <appro@openssl.org>2013-03-04 20:05:04 +0100
commit5702e965d759dde8a098d8108660721ba2b93a7d (patch)
tree3135fe4714ea2246ee21a6138af555f65c912141 /crypto/x86cpuid.pl
parent656829b78f999df6c3420c2b4e5bc296e056a4e0 (diff)
x86cpuid.pl: make it work with older CPUs.
PR: 3005
Diffstat (limited to 'crypto/x86cpuid.pl')
-rw-r--r--crypto/x86cpuid.pl2
1 files changed, 2 insertions, 0 deletions
diff --git a/crypto/x86cpuid.pl b/crypto/x86cpuid.pl
index 3b6c469d08..e8a75181af 100644
--- a/crypto/x86cpuid.pl
+++ b/crypto/x86cpuid.pl
@@ -69,6 +69,7 @@ for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); }
&inc ("esi"); # number of cores
&mov ("eax",1);
+ &xor ("ecx","ecx");
&cpuid ();
&bt ("edx",28);
&jnc (&label("generic"));
@@ -102,6 +103,7 @@ for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); }
&set_label("nocacheinfo");
&mov ("eax",1);
+ &xor ("ecx","ecx");
&cpuid ();
&and ("edx",0xbfefffff); # force reserved bits #20, #30 to 0
&cmp ("ebp",0);