util: Prefer atomic intrinsics to inline assembly.
Cuts a little more than 1k of .text size from i915g.
This was previously done in commit
5f66b340 and subsequently reverted in
commit
3661f757 after bug 30514 was filed. I believe the cause of bug
30514 wasn't anything related to cross compiling, but rather that the
toolchain used defaulted to -march=i386, and i386 doesn't have the
CMPXCHG or XADD instructions used to implement the intrinsics.
So we reverted a patch that improved things so that we didn't break
compilation for a platform that never could have worked anyway.