Sign in
mingw
/
mingw-w64
/
75d6db9d89a891d2b6ec3fbe78ad1bacb3ac5a4c
/
.
/
mingw-w64-crt
/
intrincs
/
ilockexchadd64.c
blob: 9b2e900ae23cd274840708528db26b28c16e39c7 [
file
]
#include
<intrin.h>
__int64
_InterlockedExchangeAdd64
(
__int64
volatile
*
Addend
,
__int64
Value
)
{
__int64 ret
;
__asm__ __volatile__
(
"lock\n\t"
"xaddq %0,(%1)"
:
"=r"
(
ret
)
:
"r"
(
Addend
),
"0"
(
Value
)
:
"memory"
);
return
ret
;
}