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-01-24 01:23:41 +0400
committerIvan Maidanski <ivmai@mail.ru>2013-01-24 01:23:41 +0400
commitda37b2c2e56291d54ff16fa24df1498783ed881a (patch)
tree78a09f3ad5ae9b2768a09e469273f9316412a187
parentded4ad9d02d11f876a6c84c05927a4746cc6f7dd (diff)
Add TODO items to gcc/aarch64.h
* src/atomic_ops/sysdeps/gcc/aarch64.h: Add TODO items. * src/atomic_ops/sysdeps/gcc/arm.h: Remove FIXME for 64-bit ARM.
-rw-r--r--src/atomic_ops/sysdeps/gcc/aarch64.h10
-rw-r--r--src/atomic_ops/sysdeps/gcc/arm.h1
2 files changed, 10 insertions, 1 deletions
diff --git a/src/atomic_ops/sysdeps/gcc/aarch64.h b/src/atomic_ops/sysdeps/gcc/aarch64.h
index b3e9a6c..56bff37 100644
--- a/src/atomic_ops/sysdeps/gcc/aarch64.h
+++ b/src/atomic_ops/sysdeps/gcc/aarch64.h
@@ -19,6 +19,8 @@
#include "../test_and_set_t_is_ao_t.h"
+/* TODO: The rest (platform-neutral) should be moved to gcc/builtin.h. */
+
AO_INLINE void
AO_nop_full(void)
{
@@ -28,6 +30,8 @@ AO_nop_full(void)
}
#define AO_HAVE_nop_full
+/* TODO: Add AO_nop_write. */
+
AO_INLINE AO_t
AO_load(const volatile AO_t *addr)
{
@@ -112,6 +116,8 @@ AO_fetch_and_add_full(volatile AO_t *addr, AO_t incr)
}
#define AO_HAVE_fetch_and_add_full
+/* TODO: Remove add1/sub1 primitives (as they could be generalized). */
+
AO_INLINE AO_t
AO_fetch_and_add1(volatile AO_t *addr)
{
@@ -181,3 +187,7 @@ AO_fetch_compare_and_swap(volatile AO_t *addr, AO_t old_val, AO_t new_val)
return __sync_val_compare_and_swap(addr, old_val, new_val);
}
#define AO_HAVE_fetch_compare_and_swap
+
+/* TODO: Add AO_and/or/xor primitives. */
+/* TODO: Add AO_int_ primitives. */
+/* TODO: Add double-wide primitives. */
diff --git a/src/atomic_ops/sysdeps/gcc/arm.h b/src/atomic_ops/sysdeps/gcc/arm.h
index 324f4a5..a8d7288 100644
--- a/src/atomic_ops/sysdeps/gcc/arm.h
+++ b/src/atomic_ops/sysdeps/gcc/arm.h
@@ -389,5 +389,4 @@ AO_fetch_compare_and_swap(volatile AO_t *addr, AO_t old_val, AO_t new_val)
# define AO_HAVE_test_and_set_full
#endif /* !AO_HAVE_test_and_set[_full] && AO_ARM_HAVE_SWP */
-/* FIXME: 32-bit ABI is assumed. */
#define AO_T_IS_INT