diff options
author | Ivan Maidanski <ivmai@mail.ru> | 2017-01-24 00:26:23 +0300 |
---|---|---|
committer | Ivan Maidanski <ivmai@mail.ru> | 2017-01-24 00:26:23 +0300 |
commit | cf9732e5e7e49e5409a8d80336a028046913e448 (patch) | |
tree | 8946d23462a91ee042e7eb2664a9f59a8d1fe56b | |
parent | 9182c620e181947df4a402322141b86ffdd0d4be (diff) | |
download | libatomic_ops-cf9732e5e7e49e5409a8d80336a028046913e448.tar.gz |
Really implement char and/or/xor and short CAS for msftc ARM (VS 2013+)
(fix commit 9182c62)
* src/atomic_ops/sysdeps/msftc/common32_defs.h [_M_ARM]
(_InterlockedAnd8, _InterlockedCompareExchange16, _InterlockedOr8,
_InterlockedXor8): Declare intrinsic if _MSC_VER>=1800.
* src/atomic_ops/sysdeps/msftc/common32_defs.h [_M_ARM]
(AO_char_and_full, AO_char_or_full, AO_char_xor_full,
AO_short_fetch_compare_and_swap_full): Implement (using intrinsic) if
_MSC_VER>=1800.
-rw-r--r-- | src/atomic_ops/sysdeps/msftc/common32_defs.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/atomic_ops/sysdeps/msftc/common32_defs.h b/src/atomic_ops/sysdeps/msftc/common32_defs.h index de55fef..dfb8cf6 100644 --- a/src/atomic_ops/sysdeps/msftc/common32_defs.h +++ b/src/atomic_ops/sysdeps/msftc/common32_defs.h @@ -117,7 +117,7 @@ AO_fetch_and_sub1_full(volatile AO_t *p) # define AO_HAVE_fetch_compare_and_swap_full #endif /* AO_ASSUME_WINDOWS98 */ -#if (_MSC_VER > 1400) && !defined(_M_ARM) +#if (_MSC_VER > 1400) && (!defined(_M_ARM) || _MSC_VER >= 1800) # pragma intrinsic (_InterlockedAnd8) # pragma intrinsic (_InterlockedCompareExchange16) |