include: Make sure interlocked_cmpxchg128 is defined on ARM64.
This commit is contained in:
parent
0066f31ef7
commit
cf195437c6
|
@ -435,7 +435,7 @@ extern __int64 interlocked_cmpxchg64( __int64 *dest, __int64 xchg, __int64 compa
|
||||||
extern int interlocked_xchg( int *dest, int val );
|
extern int interlocked_xchg( int *dest, int val );
|
||||||
extern void *interlocked_xchg_ptr( void **dest, void *val );
|
extern void *interlocked_xchg_ptr( void **dest, void *val );
|
||||||
extern int interlocked_xchg_add( int *dest, int incr );
|
extern int interlocked_xchg_add( int *dest, int incr );
|
||||||
#ifdef _WIN64
|
#if defined(__x86_64__) || defined(__aarch64__) || defined(_WIN64)
|
||||||
extern unsigned char interlocked_cmpxchg128( __int64 *dest, __int64 xchg_high,
|
extern unsigned char interlocked_cmpxchg128( __int64 *dest, __int64 xchg_high,
|
||||||
__int64 xchg_low, __int64 *compare );
|
__int64 xchg_low, __int64 *compare );
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -343,9 +343,9 @@ int interlocked_xchg_add( int *dest, int incr )
|
||||||
return retv;
|
return retv;
|
||||||
}
|
}
|
||||||
|
|
||||||
int interlocked_cmpxchg128( __int64 *dest, __int64 xchg_high, __int64 xchg_low, __int64 *compare )
|
unsigned char interlocked_cmpxchg128( __int64 *dest, __int64 xchg_high, __int64 xchg_low, __int64 *compare )
|
||||||
{
|
{
|
||||||
int retv;
|
unsigned char retv;
|
||||||
pthread_mutex_lock( &interlocked_mutex );
|
pthread_mutex_lock( &interlocked_mutex );
|
||||||
if (dest[0] == compare[0] && dest[1] == compare[1])
|
if (dest[0] == compare[0] && dest[1] == compare[1])
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue