| 1: | func @atomicRMW = <{TARGET: Type, VALUE: Type, OP: @pthr.AtomicRMWOp, ORDER: @pthr.AtomicOrdering}> (target: TARGET, value: VALUE in) -> VALUE; |
Atomic read-modify-write operation.
TARGET: must be a non-optional pointer, and is a pointer to the type of value to store to
VALUE: must be the result of a dereference of TARGET
OP: specific atomic read-modify-write operation to perform
ORDER: Atomic memory order for the operation
target: target to operate read-modify-write operation on
value: value to operate with
Returns the value value loaded before selected read-modify-write operation OP.
(TODO)
| @atomicLoad | Atomically load a value |
| @atomicStore | Atomically store a value |
| @cmpxchg | Atomic compare-exchange |