We just released the first official release of the OpenPA project, v1.0.0. If you ever are thinking about writing inline assembly to perform atomic operations (compare-and-swap, fetch-and-increment, etc), then think about using OPA instead. It provides a consistent interface to primitive atomic operations via C functions and macros across multiple compilers and architectures. We have a solid range of platforms at this point, but we intend to add more in the future and we are always willing to accept contributions if you have a particular platform you would like to support.
You can download openpa-1.0.0 here if you are interested in playing around with it.