Barry Smith <[email protected]> writes: > I assume this depends on what configure finds?
Yeah, we can test for a bunch of them, but the interfaces are not equivalent. The typical inline assembly approach has (memory barrier-free) atomic operations and memory barriers while C11 has acquire/release semantics. There can be a (minor) loss of efficiency when implementing one in terms of the other, depending on the memory model of the hardware. OpenMP's memory model has changed over the years (e.g., http://www.nic.uoregon.edu/iwomp2005/Papers/f29.pdf has a nonsensical interpretation of the volatile keyword, which was later removed) and omp flush is a blunt instrument. If all we need are simple locks, then this doesn't matter, but an asynchronous threadcomm needs sharper tools.
pgpTuQTKKvVWn.pgp
Description: PGP signature
