[cpp-threads] Brief example SPARC RMO Implementation for C/C++ Memory Model

Alexander Terekhov alexander.terekhov at gmail.com
Sat Dec 27 18:53:44 GMT 2008


(cmpxchg aside for a moment)

Load Relaxed:  ld
Load Consume:  ld
Load Acquire:  ld, membar #LoadLoad|#LoadStore
Load Seq_Cst:  membar #StoreLoad|#LoadLoad,ld,membar #LoadLoad|#LoadStore
Store Relaxed: st
Store Release: membar #StoreStore|#LoadStore,st
Store Seq Cst: membar #StoreStore|#LoadStore,st,membar #StoreStore|#StoreLoad
Consume Fence: <ignore>
Acquire Fence: membar #LoadLoad|#LoadStore
Release Fence: membar #StoreStore|#LoadStore
Acq_Rel Fence: membar #LoadLoad|#LoadStore|#StoreStore
Seq_Cst Fence: membar #LoadLoad|#LoadStore|#StoreStore|#StoreLoad

Any objections and/or questions?

TIA.

regards,
alexander.



More information about the cpp-threads mailing list