x86cpuid.pl: make it work with older CPUs.
authorAndy Polyakov <appro@openssl.org>
Mon, 4 Mar 2013 19:05:04 +0000 (20:05 +0100)
committerAndy Polyakov <appro@openssl.org>
Mon, 18 Mar 2013 18:50:23 +0000 (19:50 +0100)
PR: 3005
(cherry picked from commit 5702e965d759dde8a098d8108660721ba2b93a7d)

crypto/x86cpuid.pl

index c18b0e2486d6ead7578d88a0cb227995b93eb67f..b270b44337d1400960cd3779efd257979fc30d45 100644 (file)
@@ -67,6 +67,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"));
@@ -91,6 +92,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);