gcc and 128-bit compare/exchange

Achim Gratz Stromeko@nexgo.de
Wed Mar 11 17:31:26 GMT 2020

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.

+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

SD adaptations for Waldorf Q V3.00R3 and Q+ V3.54R2:

More information about the Cygwin mailing list