25#include "../loadstore/atomic_load.h"
26#include "../loadstore/atomic_store.h"
35#include "../ordered.h"
37#include <machine/inline.h>
46#undef AO_TS_INITIALIZER
47#define AO_TS_t struct AO_pa_clearable_loc
48#define AO_TS_INITIALIZER {1,1,1,1}
52#define AO_TS_VAL_t AO_PA_TS_val
53#define AO_TS_CLEAR AO_PA_TS_clear
54#define AO_TS_SET AO_PA_TS_set
60#define AO_ldcw(a, ret) \
61 _LDCWX(0 , 0 , a , ret)
70#define AO_PA_LDCW_ALIGNMENT 16
71#define AO_ldcw_align(addr) \
72 ((volatile unsigned *)(((unsigned long)(addr) \
73 + (AO_PA_LDCW_ALIGNMENT - 1)) \
74 & ~(AO_PA_LDCW_ALIGNMENT - 1)))
80 register unsigned int ret;
89#define AO_HAVE_test_and_set_full
99#define AO_CLEAR(addr) AO_pa_clear(addr)
102#undef AO_PA_LDCW_ALIGNMENT
#define AO_compiler_barrier()
AO_INLINE AO_TS_VAL_t AO_test_and_set_full(volatile AO_TS_t *addr)
#define AO_ldcw_align(addr)
AO_INLINE void AO_pa_clear(volatile AO_TS_t *addr)
static double a[MATRIX_SIZE][MATRIX_SIZE]