This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Document __ATOMIC_HLE_ACQUIRE/RELEASE
- From: Andi Kleen <andi at firstfloor dot org>
- To: gcc-patches at gcc dot gnu dot org
- Cc: Andi Kleen <ak at linux dot intel dot com>
- Date: Fri, 9 Nov 2012 16:04:15 +0100
- Subject: [PATCH] Document __ATOMIC_HLE_ACQUIRE/RELEASE
From: Andi Kleen <ak@linux.intel.com>
Make a first stab at the undocumented HLE_ACQUIRE/RELEASE
memory model modifiers in the documentation
gcc/:
2012-11-09 Andi Kleen <ak@linux.intel.com>
* doc/extend.texi: Document __ATOMIC_HLE_ACQUIRE and RELEASE.
---
gcc/doc/extend.texi | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index 54fd548..248977d 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -7194,6 +7194,16 @@ Full barrier in both directions and synchronizes with acquire loads and
release stores in all threads.
@end table
+Additional target specific flags that can be ored with the memory models.
+@table @code
+@item __ATOMIC_HLE_ACQUIRE
+(on i386/x86_64). Start a Hardware Lock Elision transaction with the atomic
+operation. The memory model must be @code{__ATOMIC_ACQUIRE} or stronger.
+@item __ATOMIC_HLE_RELEASE
+(on i386/x86_64). Commit a Hardware Lock Elision transaction with the atomic
+operation. The memory model must be @code{__ATOMIC_RELEASE} or stronger.
+@end table
+
When implementing patterns for these built-in functions, the memory model
parameter can be ignored as long as the pattern implements the most
restrictive @code{__ATOMIC_SEQ_CST} model. Any of the other memory models
--
1.7.11.5