On 03/28/2018 04:46 PM, Stephen John Smoogen wrote:
Just to be clear, when other 32 bit architectures don't support
it..
if this code was attempted to be compiled on arm32 the compiler
complains and errors?
Generic 32-bit ARM does not have any 64-bit atomics at all. This is
what I meant: You can't assume that 32-bit architectures have any form
of 64-bit atomics. Making that assumption immediately makes your
software non-portable.
What that means for an application that uses them on i686 is hard to
tell. Some algorithms are basically impossible to implement without
64-bit atomics. Others can just use locks as a fallback, perhaps with
some loss in performance.
Thanks,
Florian