https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94649
--- Comment #11 from Florian Weimer <fw at gcc dot gnu.org> --- (In reply to andysem from comment #10) > (In reply to Florian Weimer from comment #9) > > > > Is this still an issue today? I thought libatomic would use CMPXCHG16B if > > the current CPU supports it. > > I think the complaint was that the cmpxchg16b instruction is not generated > directly and instead there is a library call. I don't think this has > changed. I was specifically referring to the ABI issue that may prevent inlining. I can see the ABI problem only for old code with a statically linked libatomic that does not perform the CMPXCHG16B check and uses the locking version unconditionally. But such code is already broken by dynamic libatomic switching to the CMPXCHG16B instruction current CPUs in other cases, so it can't be that important.
