Thread overview
Is there further documentation of core.atomic.MemoryOrder?
Sep 13
Nathan S.
Oct 03
Nathan S.
September 13
Is there a formal description of "hoist-load", "hoist-store", "sink-load", and "sink-store" as used in core.atomic.MemoryOrder (https://dlang.org/library/core/atomic/memory_order.html)?
September 17
On Wednesday, 13 September 2017 at 14:40:55 UTC, Nathan S. wrote:
> Is there a formal description of "hoist-load", "hoist-store", "sink-load", and "sink-store" as used in core.atomic.MemoryOrder (https://dlang.org/library/core/atomic/memory_order.html)?

You can read this:
https://llvm.org/docs/Atomics.html#atomic-orderings

And use this:
```
        static if (ms == MemoryOrder.acq) {
            enum _ordering = AtomicOrdering.Acquire;
        } else static if (ms == MemoryOrder.rel) {
            enum _ordering = AtomicOrdering.Release;
        } else static if (ms == MemoryOrder.seq) {
            enum _ordering = AtomicOrdering.SequentiallyConsistent;
        } else static if (ms == MemoryOrder.raw) {
            enum _ordering = AtomicOrdering.Monotonic;
        }
```

-Johan
October 03
Thank you. For anyone else with the same question, I also found this page helpful:
http://en.cppreference.com/w/cpp/atomic/memory_order