aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSandra Loosemore <sandra@codesourcery.com>2015-02-19 11:04:53 -0500
committerSandra Loosemore <sandra@gcc.gnu.org>2015-02-19 11:04:53 -0500
commit33e1f2e6e91e78d7cb1be8e015dbcf014f7b0fb4 (patch)
tree01abd72bbd256b10a902334fbd92c0e4b47c411f
parent801050dc4c8d79900ab68f37ed1e0668897660bb (diff)
downloadgcc-33e1f2e6e91e78d7cb1be8e015dbcf014f7b0fb4.zip
gcc-33e1f2e6e91e78d7cb1be8e015dbcf014f7b0fb4.tar.gz
gcc-33e1f2e6e91e78d7cb1be8e015dbcf014f7b0fb4.tar.bz2
extend.texi (x86 transactional memory intrinsics): Copy-edit.
2015-02-19 Sandra Loosemore <sandra@codesourcery.com> gcc/ * doc/extend.texi (x86 transactional memory intrinsics): Copy-edit. From-SVN: r220819
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/doc/extend.texi37
2 files changed, 24 insertions, 18 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ac52a2c..d2baaf0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2015-02-19 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/extend.texi (x86 transactional memory intrinsics):
+ Copy-edit.
+
2015-02-19 Richard Henderson <rth@redhat.com>
PR middle-end/65074
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index e1b6369..54c1941 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -17257,10 +17257,11 @@ int __builtin_ia32_xtest ()
@node x86 transactional memory intrinsics
@subsection x86 Transactional Memory Intrinsics
-Hardware transactional memory intrinsics for x86. These allow to use
+These hardware transactional memory intrinsics for x86 allow you to use
memory transactions with RTM (Restricted Transactional Memory).
-For using HLE (Hardware Lock Elision) see @ref{x86 specific memory model extensions for transactional memory} instead.
This support is enabled with the @option{-mrtm} option.
+For using HLE (Hardware Lock Elision) see
+@ref{x86 specific memory model extensions for transactional memory} instead.
A memory transaction commits all changes to memory in an atomic way,
as visible to other threads. If the transaction fails it is rolled back
@@ -17271,12 +17272,12 @@ and suitable fallback code always needs to be supplied.
@deftypefn {RTM Function} {unsigned} _xbegin ()
Start a RTM (Restricted Transactional Memory) transaction.
-Returns _XBEGIN_STARTED when the transaction
+Returns @code{_XBEGIN_STARTED} when the transaction
started successfully (note this is not 0, so the constant has to be
-explicitely tested). When the transaction aborts all side effects
+explicitly tested). If the transaction aborts, all side-effects
are undone and an abort code is returned. There is no guarantee
any transaction ever succeeds, so there always needs to be a valid
-tested fallback path.
+fallback path.
@end deftypefn
@smallexample
@@ -17290,38 +17291,38 @@ if ((status = _xbegin ()) == _XBEGIN_STARTED) @{
@}
@end smallexample
-Valid abort status bits (when the value is not @code{_XBEGIN_STARTED}) are:
+If the transaction aborts, the return value is one of:
@table @code
@item _XABORT_EXPLICIT
-Transaction explicitely aborted with @code{_xabort}. The parameter passed
-to @code{_xabort} is available with @code{_XABORT_CODE(status)}
+Transaction was explicitly aborted with @code{_xabort}. The parameter passed
+to @code{_xabort} is available with @code{_XABORT_CODE(status)}.
@item _XABORT_RETRY
Transaction retry is possible.
@item _XABORT_CONFLICT
-Transaction abort due to a memory conflict with another thread
+Transaction abort due to a memory conflict with another thread.
@item _XABORT_CAPACITY
-Transaction abort due to the transaction using too much memory
+Transaction abort due to the transaction using too much memory.
@item _XABORT_DEBUG
-Transaction abort due to a debug trap
+Transaction abort due to a debug trap.
@item _XABORT_NESTED
-Transaction abort in a inner nested transaction
+Transaction abort in an inner nested transaction.
@end table
@deftypefn {RTM Function} {void} _xend ()
-Commit the current transaction. When no transaction is active this will
-fault. All memory side effects of the transactions will become visible
-to other threads in an atomic matter.
+Commit the current transaction. When no transaction is active this faults.
+All memory side-effects of the transaction become visible
+to other threads in an atomic manner.
@end deftypefn
@deftypefn {RTM Function} {int} _xtest ()
-Return a value not zero when a transaction is currently active, otherwise 0.
+Return a nonzero value if a transaction is currently active, otherwise 0.
@end deftypefn
@deftypefn {RTM Function} {void} _xabort (status)
Abort the current transaction. When no transaction is active this is a no-op.
-status must be a 8bit constant, that is included in the status code returned
-by @code{_xbegin}
+The @var{status} is an 8-bit constant; its value is encoded in the return
+value from @code{_xbegin}.
@end deftypefn
@node Target Format Checks