| __int64 _InterlockedDecrement64(__int64 volatile *Addend) |
| __asm__ __volatile__ ("lock\n\t" |
| : "+r" (ret), "+m" (*Addend) |
| __int64 __stdcall InterlockedCompareExchange64(__int64 volatile *Destination, |
| __int64 Exchange, __int64 Comperand); |
| __int64 _InterlockedDecrement64(__int64 volatile *Addend); |
| __int64 _InterlockedDecrement64(__int64 volatile *Addend) |
| } while(InterlockedCompareExchange64(Addend,Old - 1,Old)!=Old); |
| __int64 InterlockedDecrement64(__int64 volatile *) __attribute__((alias("_InterlockedDecrement64"))); |
| __int64 __stdcall InterlockedDecrement64(__int64 volatile *Addend); |
| __int64 __stdcall InterlockedDecrement64(__int64 volatile *Addend) |
| return _InterlockedDecrement64(Addend); |