This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: [Patch] Use __GCC_HAVE_SYNC_COMPARE_AND_SWAP_*
Peter Dimov wrote:
There is an alternative; supply the __sync_..._{1,2,4,8} functions (as
weak symbols maybe?) for i386 and similar targets, implemented with a
spinlock pool, as suggested in N2145. This will have the advantage of
making user code "just work". One downside would be that some users
may not realize that they're getting an emulation.
I see. In fact, as you may remember, I have been asking for an
infrastructure providing an emulation layer transparent to the users for
*years*... Now, mid of 2007, with x86_64 becoming more and more common
and old Sparcs less and less common, I'm not sure the effort still makes
sense...
FWIW, in Boost for x86 I silently assume 486 and above and switch to a
separate inline assembly implementation, bypassing __sync_*.
Interesting. If you can strive for best performance without too many
concerns for ABI stability, binary compatibility and so on, there is a
lot you can do to improve performance... Luckily with x86_64 and the new
arches most of those contortions will not be necessary anymore and
everything will just work.
Paolo.