------- Comment #5 from singler at ira dot uka dot de 2007-11-02 15:50 ------- (In reply to comment #4) > (In reply to comment #2) > > BTW, compatibility.h is horribly i?86/x86_64 centric, there are many other > > arches > > which support 64-bit __sync_fetch_and_add and __sync_bool_compare_and_swap > > (e.g. ia64, ppc64, sparc64, sparcv9, s390x, I believe also s390, etc.).
Well, there is a lot of obsolete code for compatibility to other compilers. Most of that could probably be kicked out, when we rely on the GCC infrastructure. > About that, wanted to remind Johannes that we also have the various > __GCC_HAVE_SYNC_COMPARE_AND_SWAP_* which may be useful in such cases... Okay. Then, there should only two cases be necessary: *natively supported by the GCC infrastructure, use __sync_fetch_and_add and __sync_bool_compare_and_swap *not supported by the GCC infrastructure, use OpenMP locks For the latter case, this means bad performance, but the usefulness of the parallel mode is questionable anyway on platforms that do not support these atomic operations. What about that? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33892