"Also, the recent source release (3.0 Update 5) of TBB should work on MacOS independent of the hardware, because in the absence of known hardware, it falls back on OS calls like OSAtomicCompareAndSwap32Barrier. (See include/tbb/machine/macos_common.h)."
Only the memory semantics extremes are provided: a full barrier (expensive) or none at all (of little use). Good for a conservative first implementation, but not very satisfactory if you're conscious about performance.
'In the long term, what I'd like to have is a "gcc port" of TBB that uses gcc intrinsics for the atomic ops. It's probably no more work to write than macos_common.h . Of course eventually when C++0x atomics become available, we could consider doing a "C++0x port". Anyone want to contribute a patch for either port?"'
"In most cases, these builtins are considered a full barrier.", again not very appealing. I'm not sure that C++0x will come to the rescue in time for those platforms not yet supported by TBB? In the meantime, a bespoke implementation still seems best to me.