26#if ((defined(__x86_64__) && defined(AO_GCC_ATOMIC_TEST_AND_SET)) \
27 || defined(__aarch64__)) && !defined(__ILP32__)
29# if AO_GNUC_PREREQ(4, 7) || AO_CLANG_PREREQ(3, 6)
30# pragma GCC diagnostic push
32# if defined(__clang__) || AO_GNUC_PREREQ(6, 4)
33# pragma GCC diagnostic ignored "-Wpedantic"
36# pragma GCC diagnostic ignored "-pedantic"
39# pragma GCC diagnostic pop
43#elif defined(_M_ARM64) && defined(_MSC_VER)
46#elif ((defined(__x86_64__) && AO_GNUC_PREREQ(4, 0)) || defined(_WIN64)) \
47 && !defined(__ILP32__)
52# include <xmmintrin.h>
54#elif defined(_WIN32) && !defined(__GNUC__)
56#elif defined(__i386__) && defined(__GNUC__)
62# define AO_HAVE_DOUBLE_PTR_STORAGE
74#define AO_HAVE_double_t
86#define AO_DOUBLE_T_INITIALIZER { { (AO_t)0, (AO_t)0 } }
88#define AO_val1 AO_parts.AO_v1
89#define AO_val2 AO_parts.AO_v2
unsigned long AO_t __attribute__((__aligned__(4)))
unsigned long long double_ptr_storage
char dummy[sizeof(AO_double_t)==2 *sizeof(AO_t) ? 1 :-1]
double_ptr_storage AO_whole