I was told that all implementations of GCC after 4.1 support the __sync atomic operations, even if they need to use locks to implement them.

I can change this to just add a check for __tile__ supporting atomics if you prefer.