See D66309 for context.
This is the first sweep of x86 target specific code to add isAtomic bailouts where appropriate. The intention here is to have the switch from AtomicSDNode to LoadSDNode/StoreSDNode be close to NFC; that is, I'm not looking to allow additional optimizations at this time.
There are only a few todos in this patch, because as far as I can tell, most of the transforms apply to vectors only. At the moment, our atomics for vector story is a bit questionable, and that isn't a near term focus for me.
I can't figure out to exercise the anyext cases; any suggestions on how to write tests which exercise that?