aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2007-05-19 17:52:51 +0000
committerAndy Polyakov <appro@openssl.org>2007-05-19 17:52:51 +0000
commitb1e8b4e65d7a17e3c4c9293143a9535c51bb56c3 (patch)
treeadfd2ca7d2d2ab5e8718110eb76115911e0feebb
parentc6149e2f02dde61b6fd16c6ec9962f65d7eb37d8 (diff)
downloadopenssl-b1e8b4e65d7a17e3c4c9293143a9535c51bb56c3.tar.gz
x86cpuid fixes.
PR: 1526
-rw-r--r--crypto/perlasm/x86unix.pl1
-rw-r--r--crypto/x86cpuid.pl2
2 files changed, 2 insertions, 1 deletions
diff --git a/crypto/perlasm/x86unix.pl b/crypto/perlasm/x86unix.pl
index e3f24f860b..2b9e96c8db 100644
--- a/crypto/perlasm/x86unix.pl
+++ b/crypto/perlasm/x86unix.pl
@@ -51,6 +51,7 @@ sub ::generic
if ($#_==0) { &::emit($opcode); }
elsif ($opcode =~ m/^j/o && $#_==1) { &::emit($opcode,@arg); }
elsif ($opcode eq "call" && $#_==1) { &::emit($opcode,@arg); }
+ elsif ($opcode =~ m/^set/&& $#_==1) { &::emit($opcode,@arg); }
else { &::emit($opcode.$suffix,@arg);}
1;
diff --git a/crypto/x86cpuid.pl b/crypto/x86cpuid.pl
index 13828d5633..ce9b8ea4dd 100644
--- a/crypto/x86cpuid.pl
+++ b/crypto/x86cpuid.pl
@@ -43,7 +43,7 @@ for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); }
&shr ("ebx",16);
&cmp (&LB("ebx"),1); # see if cache is shared(*)
&ja (&label("nocpuid"));
- &and ("edx",~(1<<28)); # clear hyper-threading bit if not
+ &and ("edx",0xefffffff); # clear hyper-threading bit if not
&set_label("nocpuid");
&mov ("eax","edx");
&mov ("edx","ecx");