There are some interesting caveats to using sync.atomic. Some working code on x86_64 did panic on x86_32 since the target struct member was no longer 64-bit aligned.
Given the rejuvenated emphasis on compile performance, it's probably not worthwhile to figure that out :) Overall Go's "don't sugarcoat everything with abstractions" attitude suits me fine for now.
I would be interested if you did. I have a repo that provides a set of packages for doing things like that. If that is a real need I would be interested to add it to the library.
Any needs i have for alignment are derived solely from the requirements of the atomic package.