XXX I'm not sure why does llvm/sparc call __atomic instead of __sync though. XXX atomic_*_cas.c should be more symmetric...