From b1e8b4e65d7a17e3c4c9293143a9535c51bb56c3 Mon Sep 17 00:00:00 2001 From: Andy Polyakov Date: Sat, 19 May 2007 17:52:51 +0000 Subject: x86cpuid fixes. PR: 1526 --- crypto/perlasm/x86unix.pl | 1 + crypto/x86cpuid.pl | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) 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"); -- cgit v1.2.3