54#define AO_HAVE_nop_full
65#define AO_HAVE_load_full
74#define AO_HAVE_store_full
85#define AO_HAVE_char_load_full
94#define AO_HAVE_char_store_full
105#define AO_HAVE_short_load_full
114#define AO_HAVE_short_store_full
125#define AO_HAVE_int_load_full
134#define AO_HAVE_int_store_full
147#define AO_HAVE_test_and_set_full
160#define AO_HAVE_fetch_and_add_full
165 unsigned char old_val;
173#define AO_HAVE_char_fetch_and_add_full
178 unsigned short old_val;
186#define AO_HAVE_short_fetch_and_add_full
191 unsigned int old_val;
199#define AO_HAVE_int_fetch_and_add_full
208#define AO_HAVE_and_full
217#define AO_HAVE_or_full
226#define AO_HAVE_xor_full
235#define AO_HAVE_char_and_full
244#define AO_HAVE_char_or_full
253#define AO_HAVE_char_xor_full
262#define AO_HAVE_short_and_full
271#define AO_HAVE_short_or_full
280#define AO_HAVE_short_xor_full
289#define AO_HAVE_int_and_full
298#define AO_HAVE_int_or_full
307#define AO_HAVE_int_xor_full
317 if (fetched_val == old_val)
322#define AO_HAVE_fetch_compare_and_swap_full
326 unsigned char old_val,
327 unsigned char new_val)
329 unsigned char fetched_val;
333 if (fetched_val == old_val)
338#define AO_HAVE_char_fetch_compare_and_swap_full
342 unsigned short old_val,
343 unsigned short new_val)
345 unsigned short fetched_val;
349 if (fetched_val == old_val)
354#define AO_HAVE_short_fetch_compare_and_swap_full
360 unsigned fetched_val;
364 if (fetched_val == old_val)
369#define AO_HAVE_int_fetch_compare_and_swap_full
377#define AO_HAVE_double_t
379#define AO_DOUBLE_T_INITIALIZER { (AO_t)0, (AO_t)0 }
392#define AO_HAVE_double_load_full
402#define AO_HAVE_double_store_full
421#define AO_HAVE_compare_double_and_swap_double_full
439#define AO_HAVE_compare_and_swap_double_full
#define AO_store_full(addr, val)
#define AO_compare_double_and_swap_double_full(addr, old1, old2, newval1, newval2)
#define AO_fetch_compare_and_swap_full(addr, old, newval)
AO_INLINE unsigned char AO_char_fetch_and_add_full(volatile unsigned char *p, unsigned char incr)
AO_INLINE void AO_double_store_full(volatile AO_double_t *addr, AO_double_t value)
AO_INLINE unsigned short AO_short_load_full(const volatile unsigned short *addr)
AO_INLINE void AO_int_store_full(volatile unsigned int *addr, unsigned int val)
AO_INLINE unsigned int AO_int_fetch_and_add_full(volatile unsigned int *p, unsigned int incr)
AO_INLINE unsigned int AO_int_load_full(const volatile unsigned int *addr)
AO_INLINE void AO_xor_full(volatile AO_t *p, AO_t value)
AO_INLINE void AO_short_and_full(volatile unsigned short *p, unsigned short value)
AO_INLINE unsigned short AO_short_fetch_compare_and_swap_full(volatile unsigned short *addr, unsigned short old_val, unsigned short new_val)
AO_INLINE void AO_or_full(volatile AO_t *p, AO_t value)
AO_INLINE void AO_char_and_full(volatile unsigned char *p, unsigned char value)
AO_INLINE void AO_short_store_full(volatile unsigned short *addr, unsigned short val)
AO_INLINE void AO_int_and_full(volatile unsigned *p, unsigned value)
AO_INLINE AO_t AO_fetch_and_add_full(volatile AO_t *p, AO_t incr)
AO_API pthread_mutex_t AO_pt_lock
AO_INLINE void AO_int_xor_full(volatile unsigned *p, unsigned value)
AO_INLINE void AO_char_or_full(volatile unsigned char *p, unsigned char value)
AO_INLINE unsigned short AO_short_fetch_and_add_full(volatile unsigned short *p, unsigned short incr)
AO_INLINE unsigned char AO_char_fetch_compare_and_swap_full(volatile unsigned char *addr, unsigned char old_val, unsigned char new_val)
AO_INLINE AO_TS_VAL_t AO_test_and_set_full(volatile AO_TS_t *addr)
AO_INLINE void AO_char_xor_full(volatile unsigned char *p, unsigned char value)
AO_INLINE void AO_char_store_full(volatile unsigned char *addr, unsigned char val)
AO_INLINE void AO_short_xor_full(volatile unsigned short *p, unsigned short value)
AO_INLINE AO_double_t AO_double_load_full(const volatile AO_double_t *addr)
AO_INLINE unsigned AO_int_fetch_compare_and_swap_full(volatile unsigned *addr, unsigned old_val, unsigned new_val)
AO_INLINE unsigned char AO_char_load_full(const volatile unsigned char *addr)
AO_INLINE void AO_short_or_full(volatile unsigned short *p, unsigned short value)
AO_INLINE int AO_compare_and_swap_double_full(volatile AO_double_t *addr, AO_t old1, AO_t new1, AO_t new2)
AO_INLINE void AO_int_or_full(volatile unsigned *p, unsigned value)
AO_INLINE void AO_and_full(volatile AO_t *p, AO_t value)
AO_INLINE AO_t AO_load_full(const volatile AO_t *addr)
AO_INLINE void AO_nop_full(void)