From 3a09a13202669f38c03ba782eaf81ca7ce63abb0 Mon Sep 17 00:00:00 2001 From: roland Date: Thu, 20 Sep 2012 16:49:17 +0200 Subject: 7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement() Summary: use shorter instruction sequences for atomic add and atomic exchange when possible. Reviewed-by: kvn, jrose --- src/cpu/x86/vm/x86.ad | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/cpu/x86/vm/x86.ad') diff --git a/src/cpu/x86/vm/x86.ad b/src/cpu/x86/vm/x86.ad index 9a057a47f..c3831006b 100644 --- a/src/cpu/x86/vm/x86.ad +++ b/src/cpu/x86/vm/x86.ad @@ -503,6 +503,13 @@ const bool Matcher::match_rule_supported(int opcode) { 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. -- cgit v1.2.3