--- old/src/cpu/x86/vm/x86_64.ad 2012-03-12 16:31:27.406982700 +0100 +++ new/src/cpu/x86/vm/x86_64.ad 2012-03-12 16:31:26.762945800 +0100 @@ -1714,6 +1714,14 @@ if (!has_match_rule(opcode)) return false; + switch (opcode) { + case Op_PopCountI: + case Op_PopCountL: + if (!UsePopCountInstruction) + return false; + break; + } + return true; // Per default match rules are supported. }