Sean Kelly Wrote: > Don Wrote: > > > > Wait a minute. x86 has no read-modify-write instructions for x87, or for > > SSE. So I don't think it's possible to implement atomic floating-point > > ops, apart from assignment. > > (Of course, you can fake it with a mass of casts and a CAS, but that > > doesn't seem helpful). > > It should just be prevented, except possibly for assignment. (Is an > > 80-bit float assignment atomic? Maybe not, since it would need special > > logic). > > atomicOp does most of its RMW operations using a CAS loop, so I think it > should work. The redo occurs when the memory location being written to > changed since it was read, and that shouldn't be any different for floating > point values vs. integers.
ref: http://dsource.org/projects/druntime/browser/trunk/src/core/atomic.d#L127
