```
Having single atomic operations is useful for implementations that want to send atomic operations to a shared cache since they can be more efficient to execute there, rather than having to move a whole cache block. Relying exclusively on
+TODO
### Power ISA doesn't align well with C++11 atomics
it has only 32-bit and 64-bit atomic operations.
+These operations are recognised as being part of the
+OpenCAPI Specification.
the operations it has that I was going to propose:
-fetch_add
-fetch_xor
-fetch_or
-fetch_and
-fetch_umax
-fetch_smax
-fetch_umin
-fetch_smin
-exchange
+
+* fetch_add
+* fetch_xor
+* fetch_or
+* fetch_and
+* fetch_umax
+* fetch_smax
+* fetch_umin
+* fetch_smin
+* exchange
as well as a few I wasn't going to propose (they seem less useful to me):
-compare-and-swap-not-equal
-fetch-and-increment-bounded
-fetch-and-increment-equal
-fetch-and-decrement-bounded
-store-twin
+
+* compare-and-swap-not-equal
+* fetch-and-increment-bounded
+* fetch-and-increment-equal
+* fetch-and-decrement-bounded
+* store-twin
The spec also basically says that the atomic memory operations are only
intended for when you want to do atomic operations on memory, but don't