On Mon, 2018-02-26 at 08:50 +0300, Alexander Monakov wrote: > > For these reasons, it may be a good idea if GCC folks reconsider past > > decision. And just to clarify: if mcx16 (x86-64) is not specified during > > compilation, it is totally OK to redirect to libatomic, and there make the > > final decision if target CPU supports a given instruction or not. But if it > > is > > specified, it makes sense for performance reasons and lock-freedom > > guarantees > > to always generate it directly. > > You don't mention it directly, so just to make it clear for readers: on > systems > where GNU IFUNC extension is available (i.e. on Glibc), libatomic tries to do > exactly that: test for cmpxchg16b availability and redirect 128-bit atomics to > lock-free RMW implementations if so. (I don't like this solution)
I thought we had fixed that to not use the wide CAS?