Eliot Moss writes: > What I am really reporting is that Cygwin is giving the pthread mutex form > when it should not be. My CPU clearly has the capability, and the compiler > clearly > knows how to emit the instruction, since the __sync form does it. What is > mysterious and tangled is why libatomic / libc are not delivering the desired > version of the atomic compare-exchange function.
Assuming you want to use a library, it would have to detect this capability at runtime (unless you force-build for a single CPU architecture) and dispatch different code based on the result. It's probably the latter part that's missing on Cygwin. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ SD adaptations for Waldorf Q V3.00R3 and Q+ V3.54R2: http://Synth.Stromeko.net/Downloads.html#WaldorfSDada -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple