+#if defined(LISP_FEATURE_DARWIN)
+ asm volatile
+ ("xor %0,%0\n\
+ lock/cmpxchg %1,%2"
+ : "=a" (rax)
+ : "r" (value), "m" (*word)
+ : "memory", "cc");
+#else
+ asm volatile
+ ("xor %0,%0\n\
+ lock cmpxchg %1,%2"
+ : "=a" (rax)
+ : "r" (value), "m" (*word)
+ : "memory", "cc");
+#endif