#include <intrin.h> | |
short _InterlockedCompareExchange16(short volatile *Destination, short ExChange, short Comperand) | |
{ | |
short prev; | |
__asm__ __volatile__("lock ; cmpxchgw %w1,%2" | |
:"=a"(prev) | |
:"q"(ExChange), "m"(*Destination), "0"(Comperand) | |
: "memory"); | |
return prev; | |
} | |
short InterlockedCompareExchange16(short volatile *, short, short) __attribute__((alias("_InterlockedCompareExchange16"))); | |