]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Fix hwcaps validity checking for x86.
authorFlorian Krohm <florian@eich-krohm.de>
Thu, 29 Jan 2015 15:21:47 +0000 (15:21 +0000)
committerFlorian Krohm <florian@eich-krohm.de>
Thu, 29 Jan 2015 15:21:47 +0000 (15:21 +0000)
Capabilities  x86-mmxext-sse1-sse2-sse3-lzcnt were rejected as invalid.

git-svn-id: svn://svn.valgrind.org/vex/trunk@3080

VEX/priv/main_main.c

index b607d14b8641ce6a15ada606f5ad5c44d0fbc488..71c8bf665ae8cf29b42a39ddac5317f9d789967d 100644 (file)
@@ -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");