diff options
author | Ivan Maidanski <ivmai@mail.ru> | 2013-01-24 01:23:41 +0400 |
---|---|---|
committer | Ivan Maidanski <ivmai@mail.ru> | 2013-01-24 01:23:41 +0400 |
commit | da37b2c2e56291d54ff16fa24df1498783ed881a (patch) | |
tree | 78a09f3ad5ae9b2768a09e469273f9316412a187 | |
parent | ded4ad9d02d11f876a6c84c05927a4746cc6f7dd (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.h | 10 | ||||
-rw-r--r-- | src/atomic_ops/sysdeps/gcc/arm.h | 1 |
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 |