|
From: <sv...@va...> - 2015-01-29 15:21:54
|
Author: florian
Date: Thu Jan 29 15:21:47 2015
New Revision: 3080
Log:
Fix hwcaps validity checking for x86.
Capabilities x86-mmxext-sse1-sse2-sse3-lzcnt were rejected as invalid.
Modified:
trunk/priv/main_main.c
Modified: trunk/priv/main_main.c
==============================================================================
--- trunk/priv/main_main.c (original)
+++ trunk/priv/main_main.c Thu Jan 29 15:21:47 2015
@@ -1570,8 +1570,9 @@
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");
|