The MO_VOLATILE Access decorator is provided to support C++ volatile loads and stores. However, (nearly?) all uses assume non-word-tearing semantics, which is equivalent to MO_RELAXED (Atomic relaxed load/store). So there's really no benefit to having MO_VOLATILE as a separate memory ordering decorator. We should be using MO_RELAXED instead, and can then remove MO_VOLATILE.