aboutsummaryrefslogtreecommitdiff
path: root/src/cpu/x86/vm/x86.ad
diff options
context:
space:
mode:
Diffstat (limited to 'src/cpu/x86/vm/x86.ad')
-rw-r--r--src/cpu/x86/vm/x86.ad8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/cpu/x86/vm/x86.ad b/src/cpu/x86/vm/x86.ad
index 71e26fb20..c3831006b 100644
--- a/src/cpu/x86/vm/x86.ad
+++ b/src/cpu/x86/vm/x86.ad
@@ -498,10 +498,18 @@ const bool Matcher::match_rule_supported(int opcode) {
case Op_PopCountL:
if (!UsePopCountInstruction)
return false;
+ break;
case Op_MulVI:
if ((UseSSE < 4) && (UseAVX < 1)) // only with SSE4_1 or AVX
return false;
break;
+ case Op_CompareAndSwapL:
+#ifdef _LP64
+ case Op_CompareAndSwapP:
+#endif
+ if (!VM_Version::supports_cx8())
+ return false;
+ break;
}
return true; // Per default match rules are supported.