Add TODO items to gcc/aarch64.h
authorIvan Maidanski <ivmai@mail.ru>
Wed, 23 Jan 2013 21:23:41 +0000 (01:23 +0400)
committerIvan Maidanski <ivmai@mail.ru>
Wed, 23 Jan 2013 21:23:41 +0000 (01:23 +0400)
* src/atomic_ops/sysdeps/gcc/aarch64.h: Add TODO items.
* src/atomic_ops/sysdeps/gcc/arm.h: Remove FIXME for 64-bit ARM.

src/atomic_ops/sysdeps/gcc/aarch64.h
src/atomic_ops/sysdeps/gcc/arm.h

index b3e9a6c..56bff37 100644 (file)
@@ -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. */
index 324f4a5..a8d7288 100644 (file)
@@ -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