29.3.1. x86 exchange instructions

TODO: concrete multi-thread GCC inline assembly examples of how all those instructions are normally used as synchronization primitives.