aboutsummaryrefslogtreecommitdiff
path: root/src/cpu/x86/vm/x86_64.ad
diff options
context:
space:
mode:
Diffstat (limited to 'src/cpu/x86/vm/x86_64.ad')
-rw-r--r--src/cpu/x86/vm/x86_64.ad8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/cpu/x86/vm/x86_64.ad b/src/cpu/x86/vm/x86_64.ad
index cce1c3468..b86d288f5 100644
--- a/src/cpu/x86/vm/x86_64.ad
+++ b/src/cpu/x86/vm/x86_64.ad
@@ -1714,6 +1714,14 @@ const bool Matcher::match_rule_supported(int opcode) {
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.
}