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 8f6e269a-dfd6-0310-a8e1-e2731360e62c
diff --git a/priv/main_main.c b/priv/main_main.c
index b607d14..71c8bf6 100644
--- a/priv/main_main.c
+++ b/priv/main_main.c
@@ -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");