doc: update x86 -mcx16 option description

* doc/invoke.texi (mcx16): Rewrite.

From-SVN: r249377
This commit is contained in:
Alexander Monakov 2017-06-19 19:08:52 +03:00 committed by Alexander Monakov
parent 355a0a7911
commit 0f6691118a
2 changed files with 10 additions and 7 deletions

View File

@ -1,3 +1,7 @@
2017-06-19 Alexander Monakov <amonakov@ispras.ru>
* doc/invoke.texi (mcx16): Rewrite.
2017-06-15 Eric Botcazou <ebotcazou@adacore.com>
PR rtl-optimization/80474

View File

@ -25172,13 +25172,12 @@ This option instructs GCC to use 128-bit AVX instructions instead of
@item -mcx16
@opindex mcx16
This option enables GCC to generate @code{CMPXCHG16B} instructions.
@code{CMPXCHG16B} allows for atomic operations on 128-bit double quadword
(or oword) data types.
This is useful for high-resolution counters that can be updated
by multiple processors (or cores). This instruction is generated as part of
atomic built-in functions: see @ref{__sync Builtins} or
@ref{__atomic Builtins} for details.
This option enables GCC to generate @code{CMPXCHG16B} instructions in 64-bit
code to implement compare-and-exchange operations on 16-byte aligned 128-bit
objects. This is useful for atomic updates of data structures exceeding one
machine word in size. The compiler uses this instruction to implement
@ref{__sync Builtins}. However, for @ref{__atomic Builtins} operating on
128-bit integers, a library call is always used.
@item -msahf
@opindex msahf