xor swap as C{as} C-function with assembly body