Memory barrier orderings.
The semantics of these orderings follows the LKMM definitions and rules.
Read provides ordering between preceding load operations and succeeding load operations.
Write provides ordering between preceding store operations and succeeding store
operations.
Full provides ordering between all the preceding memory accesses and succeeding memory
accesses.