1) Move these functions to intrin-impl.h:

_InterlockedIncrement16, _InterlockedDecrement16, _InterlockedCompareExchange16, _InterlockedIncrement, _InterlockedDecrement, _InterlockedExchange, _InterlockedExchangeAdd, _InterlockedCompareExchange, _InterlockedIncrement64, _InterlockedDecrement64, _InterlockedExchangeAdd64, _InterlockedExchange64, _InterlockedCompareExchange64, _InterlockedExchangePointer, _InterlockedCompareExchangePointer

2) Change these functions to use builtins instead of inline asm.

3) Remove non-underscore and __stdcall versions of these functions from intrinsics\*.c

4) For x86 versions of InterlockedCompareExchange, InterlockedCompareExchange64, InterlockedDecrement, InterlockedExchange, InterlockedExchangeAdd, InterlockedIncrement, use macro to map to intrinsics instead of using kernel32.dll (as MS does).


git-svn-id: svn://svn.code.sf.net/p/mingw-w64/code/trunk@5949 4407c894-4637-0410-b4f5-ada5f102cad1