Я хотел бы документировать, какие функции высокого уровня (например, С++ не встроенный ассемблер) или макросы доступны для атомных примитивов Compare And Swap (CAS)...
Например, WIN32 на x86 имеет семейство функций _InterlockedCompareExchange
в заголовке <_intrin.h>
.