From: Florian Krohm Date: Thu, 29 Jan 2015 15:21:47 +0000 (+0000) Subject: Fix hwcaps validity checking for x86. X-Git-Tag: svn/VALGRIND_3_11_0^2~102 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=34a8cc20b949ea80096267286da4ea04a4018d77;p=thirdparty%2Fvalgrind.git Fix hwcaps validity checking for x86. Capabilities x86-mmxext-sse1-sse2-sse3-lzcnt were rejected as invalid. git-svn-id: svn://svn.valgrind.org/vex/trunk@3080 --- diff --git a/VEX/priv/main_main.c b/VEX/priv/main_main.c index b607d14b86..71c8bf665a 100644 --- a/VEX/priv/main_main.c +++ b/VEX/priv/main_main.c @@ -1570,8 +1570,9 @@ static void check_hwcaps ( VexArch arch, UInt hwcaps ) for (i = 0; i < sizeof extras / sizeof extras[0]; ++i) { caps |= extras[i]; if (caps == hwcaps) return; + /* For SSE2 or later LZCNT is optional */ if ((caps & VEX_HWCAPS_X86_SSE2) != 0) { - if ((caps & VEX_HWCAPS_X86_LZCNT) != 0) return; + if ((caps | VEX_HWCAPS_X86_LZCNT) == hwcaps) return; } } invalid_hwcaps(arch, hwcaps, "Cannot handle capabilities\n");