On 19/06/2015 09:40, Mark Burton wrote: >> On 19/06/2015 09:29, Mark Burton wrote: >>> Does anybody know if the current atomic_cmpxchg will support >>> 64 bit on a (normal) 32 bit x86, or do we need to special >>> case that with cmpxchg8b ? (I get the impression that it will >>> automatically use cmpxchg8b, but not cmpxchg16b - but I’m by >>> no means sure). >> >> Both cmpxchg8b and cmpxchg16b are used, respectively on 32-bit >> and 64-bit x86. > > Thanks Paolo, so we are OK for x86, but we would need to disable > multi-thread for other 32 bit hosts, and provide a correct > implementation for non multi-thread…
But Alvise's implementation for example would work there. It is just this optimization (that is also not architecturally correct on ARM) that is problematic. Paolo > You dont happen to know of a > convenient macro we can use to test for ’32 bit hosts that dont > support 64bit cmpxchg ….’