]> granicus.if.org Git - libatomic_ops/commit
New macro AO_PREFER_BUILTIN_ATOMICS to rely on C11 atomics fully (AArch64)
authorIvan Maidanski <ivmai@mail.ru>
Fri, 1 Apr 2016 17:34:30 +0000 (20:34 +0300)
committerIvan Maidanski <ivmai@mail.ru>
Fri, 1 Apr 2016 17:34:30 +0000 (20:34 +0300)
commit03a0465f80632c408204eaa9272e6ec42d3d474f
treeb0652544803cc8a9283f5adaf7b58103b572a943
parent01d2509c13f3aa7e03cb4cbf50fda08f98725ce4
New macro AO_PREFER_BUILTIN_ATOMICS to rely on C11 atomics fully (AArch64)

If AO_PREFER_BUILTIN_ATOMICS is defined then inline assembly
implementation is not used.

* src/atomic_ops/sysdeps/gcc/aarch64.h (AO_SKIPATOMIC_double_load,
AO_SKIPATOMIC_double_load_acquire): Define if AO_PREFER_BUILTIN_ATOMICS.
* src/atomic_ops/sysdeps/gcc/aarch64.h (AO_nop_write, AO_double_load,
AO_double_load_acquire, AO_double_store, AO_double_store_release,
AO_double_compare_and_swap, AO_double_compare_and_swap_acquire,
AO_double_compare_and_swap_release, AO_double_compare_and_swap_full):
Do not define if AO_PREFER_BUILTIN_ATOMICS.
* src/atomic_ops/sysdeps/gcc/aarch64.h (AO_nop_write): Add comment;
remove TODO.
* src/atomic_ops/sysdeps/gcc/generic.h: Remove TODO about including
this header for other targets.
* src/atomic_ops/sysdeps/gcc/generic.h (AO_double_load): Do not define
if AO_SKIPATOMIC_double_load.
* src/atomic_ops/sysdeps/gcc/generic.h (AO_double_load_acquire): Do not
define if AO_SKIPATOMIC_double_load_acquire.
src/atomic_ops/sysdeps/gcc/aarch64.h
src/atomic_ops/sysdeps/gcc/generic.h