<p dir="ltr">> A 4 byte cmpxchg could be lock free, while a 1 byte cmpxchg may not be lock free.</p>
<p dir="ltr">That's not possible: if you have a 4-byte cmpxchg instruction, you can use it to implement a 1-byte cmpxchg, too. Many targets do this already. (It would be better if that was available generically so that code didn't need to be written separately fit each target, but that's not the case at the moment.)</p>