Document atomic fetch and nand
authorSebastian Huber <sebastian.huber@embedded-brains.de>
Fri, 18 Jan 2019 08:38:06 +0000 (08:38 +0000)
committerSebastian Huber <sh@gcc.gnu.org>
Fri, 18 Jan 2019 08:38:06 +0000 (08:38 +0000)
Copy code example for fetch and nand from "Legacy __sync Built-in
Functions for Atomic Memory Access" to "Built-in Functions for Memory
Model Aware Atomic Operations".

gcc/

* doc/extend.texi (Built-in Functions for Memory Model Aware
Atomic Operations): Document atomic fetch and nand.

From-SVN: r268062

gcc/ChangeLog
gcc/doc/extend.texi

index 2a18cf80ee4dbfa63f2138d3c44b4ea2fd05b316..9018b8f0099006b3dd9e5a9a0f9751920f64c693 100644 (file)
@@ -1,3 +1,8 @@
+2019-01-18  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * doc/extend.texi (Built-in Functions for Memory Model Aware
+       Atomic Operations): Document atomic fetch and nand.
+
 2019-01-18  Martin Liska  <mliska@suse.cz>
            Richard Biener  <rguenther@suse.de>
 
index ebd564891764fbb20106621f5dafef2b52eca9d6..95d22ac1e3cfaacaeec69a8c87db285e096f5833 100644 (file)
@@ -11017,6 +11017,7 @@ they are not scaled by the size of the type to which the pointer points.
 
 @smallexample
 @{ *ptr @var{op}= val; return *ptr; @}
+@{ *ptr = ~(*ptr & val); return *ptr; @} // nand
 @end smallexample
 
 The object pointed to by the first argument must be of integer or pointer
@@ -11038,6 +11039,7 @@ the type to which the pointer points.
 
 @smallexample
 @{ tmp = *ptr; *ptr @var{op}= val; return tmp; @}
+@{ tmp = *ptr; *ptr = ~(*ptr & val); return tmp; @} // nand
 @end smallexample
 
 The same constraints on arguments apply as for the corresponding