Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Unity-Technologies/libatomic_ops.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2013-02-09 11:43:54 +0400
committerIvan Maidanski <ivmai@mail.ru>2013-02-09 11:43:54 +0400
commitb9cb166fc8211743c7e644f9a3f90b09c9c36e7a (patch)
tree754d55f77f7b08beb020756deafd6dee07e74c75
parent1e6c8b10532c25cea75c6507974611b789358172 (diff)
Fix AO_load_acquire for AArch64
* src/atomic_ops/sysdeps/gcc/aarch64.h: Add TODO for AO_nop_read; uncomment AO_load_acquire definition and remove include of read_ordered.h file (because AO_load_acquire requires "release" barrier, AO_load_read is defined in generalize-small.h using AO_nop_read).
-rw-r--r--src/atomic_ops/sysdeps/gcc/aarch64.h6
1 files changed, 1 insertions, 5 deletions
diff --git a/src/atomic_ops/sysdeps/gcc/aarch64.h b/src/atomic_ops/sysdeps/gcc/aarch64.h
index 1e8c076..b20ac86 100644
--- a/src/atomic_ops/sysdeps/gcc/aarch64.h
+++ b/src/atomic_ops/sysdeps/gcc/aarch64.h
@@ -30,7 +30,7 @@ AO_nop_full(void)
}
#define AO_HAVE_nop_full
-/* TODO: Add AO_nop_write. */
+/* TODO: Add AO_nop_write/read. */
AO_INLINE AO_t
AO_load(const volatile AO_t *addr)
@@ -39,14 +39,12 @@ AO_load(const volatile AO_t *addr)
}
#define AO_HAVE_load
-/* FIXME: AO_load_acquire is defined by read_ordered.h: which is better?
AO_INLINE AO_t
AO_load_acquire(const volatile AO_t *addr)
{
return __atomic_load_n(addr, __ATOMIC_ACQUIRE);
}
#define AO_HAVE_load_acquire
-*/
AO_INLINE void
AO_store(volatile AO_t *addr, AO_t value)
@@ -135,5 +133,3 @@ AO_fetch_compare_and_swap(volatile AO_t *addr, AO_t old_val, AO_t new_val)
/* TODO: Add AO_and/or/xor primitives. */
/* TODO: Add AO_int_ primitives. */
/* TODO: Add double-wide primitives. */
-
-#include "../read_ordered.h"