(Code refactoring)
In case of GCC/C11 atomic intrinsics are used, AO_int_* are defined in
generic-arithm.h and generic-small.h files.
* src/atomic_ops/sysdeps/gcc/arm.h (AO_T_IS_INT): Do not define if
AO_GCC_ATOMIC_TEST_AND_SET.
* src/atomic_ops/sysdeps/gcc/mips.h (AO_T_IS_INT): Likewise.
* src/atomic_ops/sysdeps/gcc/nios2.h (AO_T_IS_INT): Do not define.
# define AO_HAVE_test_and_set_full
#endif /* !AO_HAVE_test_and_set[_full] && AO_ARM_HAVE_SWP */
+#define AO_T_IS_INT
+
#else /* AO_GCC_ATOMIC_TEST_AND_SET */
# if defined(__clang__) && !defined(AO_ARM_HAVE_LDREX)
# include "generic.h"
#endif /* AO_GCC_ATOMIC_TEST_AND_SET */
-
-#define AO_T_IS_INT
/* Data dependence does not imply read ordering. */
#define AO_NO_DD_ORDERING
-#if !defined(_ABI64) || _MIPS_SIM != _ABI64
-# define AO_T_IS_INT
-#endif
-
/* #include "../standard_ao_double_t.h" */
/* TODO: Implement double-wide operations if available. */
# include "../test_and_set_t_is_ao_t.h"
# include "../all_aligned_atomic_load_store.h"
-# ifdef AO_T_IS_INT
+# if !defined(_ABI64) || _MIPS_SIM != _ABI64
+# define AO_T_IS_INT
# define AO_MIPS_SET_ISA " .set mips2\n"
# define AO_MIPS_LL_1(args) " ll " args "\n"
# define AO_MIPS_SC(args) " sc " args "\n"
*/
#include "generic.h"
-
-#define AO_T_IS_INT