Quote: "all stores have release semantics (that is, the result of a store is guaranteed to be seen by any later load or store) but all loads have normal semantics. "
From ARM V8 programmer guide:
"A store-release ensures that all earlier memory accesses are visible before the store-release becomes visible. "