Macros | Typedefs | Functions
xccmem.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define aabar()   xcc_aabar()
 
#define albar()   xcc_albar()
 
#define asbar()   xcc_asbar()
 
#define atomic_read_char(loc)   xcc_atomic_read_char(&(loc))
 
#define atomic_read_double(loc)   xcc_atomic_read_double(&(loc))
 
#define atomic_read_float(loc)   xcc_atomic_read_float(&(loc))
 
#define atomic_read_int(loc)   xcc_atomic_read_int(&(loc))
 
#define atomic_read_long(loc)   xcc_atomic_read_long(&(loc))
 
#define atomic_read_long_long(loc)   xcc_atomic_read_long_long(&(loc))
 
#define atomic_read_ptr(loc)   xcc_atomic_read_ptr(&(loc))
 
#define atomic_read_short(loc)   xcc_atomic_read_short(&(loc))
 
#define atomic_read_volatile_char(loc)   atomic_read_char(loc)
 
#define atomic_read_volatile_double(loc)   atomic_read_double(loc)
 
#define atomic_read_volatile_float(loc)   atomic_read_float(loc)
 
#define atomic_read_volatile_int(loc)   atomic_read_int(loc)
 
#define atomic_read_volatile_long(loc)   atomic_read_long(loc)
 
#define atomic_read_volatile_long_long(loc)   atomic_read_long_long(loc)
 
#define atomic_read_volatile_ptr(loc)   atomic_read_ptr(loc)
 
#define atomic_read_volatile_short(loc)   atomic_read_short(loc)
 
#define atomic_swap(loc, v)   xcc_atomic_swap(&(loc),(v))
 
#define atomic_swap_char(loc, v)   xcc_atomic_swap_char(&(loc),(v))
 
#define atomic_swap_double(loc, v)   xcc_atomic_swap_double(&(loc),(v))
 
#define atomic_swap_float(loc, v)   xcc_atomic_swap_float(&(loc),(v))
 
#define atomic_swap_int(loc, v)   xcc_atomic_swap_int(&(loc),(v))
 
#define atomic_swap_long(loc, v)   xcc_atomic_swap_long(&(loc),(v))
 
#define atomic_swap_long_long(loc, v)   xcc_atomic_swap_long_long(&(loc),(v))
 
#define atomic_swap_ptr(loc, v)   xcc_atomic_swap_ptr(&(loc),(v))
 
#define atomic_swap_short(loc, v)   xcc_atomic_swap_short(&(loc),(v))
 
#define atomic_write_char(loc, v)   xcc_atomic_write_char(&(loc),(v))
 
#define atomic_write_double(loc, v)   xcc_atomic_write_double(&(loc),(v))
 
#define atomic_write_float(loc, v)   xcc_atomic_write_float(&(loc),(v))
 
#define atomic_write_int(loc, v)   xcc_atomic_write_int(&(loc),(v))
 
#define atomic_write_long(loc, v)   xcc_atomic_write_long(&(loc),(v))
 
#define atomic_write_long_long(loc, v)   xcc_atomic_write_long_long(&(loc),(v))
 
#define atomic_write_ptr(loc, v)   xcc_atomic_write_ptr(&(loc),(v))
 
#define atomic_write_short(loc, v)   xcc_atomic_write_short(&(loc),(v))
 
#define atomic_write_volatile_char(loc, v)   atomic_write_char((loc), (v))
 
#define atomic_write_volatile_double(loc, v)   atomic_write_double((loc), (v))
 
#define atomic_write_volatile_float(loc, v)   atomic_write_float((loc), (v))
 
#define atomic_write_volatile_int(loc, v)   atomic_write_int((loc), (v))
 
#define atomic_write_volatile_long(loc, v)   atomic_write_long((loc), (v))
 
#define atomic_write_volatile_long_long(loc, v)   atomic_write_long_long((loc), (v))
 
#define atomic_write_volatile_ptr(loc, v)   atomic_write_ptr((loc), (v))
 
#define atomic_write_volatile_short(loc, v)   atomic_write_short((loc), (v))
 
#define cas_char(loc, ov, nv)   xcc_cas_char(&(loc),(ov),(nv))
 
#define cas_double(loc, ov, nv)   xcc_cas_double(&(loc),(ov),(nv))
 
#define cas_float(loc, ov, nv)   xcc_cas_float(&(loc),(ov),(nv))
 
#define cas_int(loc, ov, nv)   xcc_cas_int(&(loc),(ov),(nv))
 
#define cas_long(loc, ov, nv)   xcc_cas_long(&(loc),(ov),(nv))
 
#define cas_long_long(loc, ov, nv)   xcc_cas_long_long(&(loc),(ov),(nv))
 
#define cas_ptr(loc, ov, nv)   xcc_cas_ptr(&(loc),(ov),(nv))
 
#define cas_short(loc, ov, nv)   xcc_cas_short(&(loc),(ov),(nv))
 
#define finish_access_before_read()   xcc_finish_access_before_read()
 
#define finish_access_before_unlock()   xcc_finish_access_before_unlock()
 
#define finish_access_before_write()   xcc_finish_access_before_write()
 
#define finish_read_before_read()   xcc_finish_read_before_read()
 
#define finish_read_before_unlock()   xcc_finish_read_before_unlock()
 
#define finish_read_before_write()   xcc_finish_read_before_write()
 
#define finish_write_before_read()   xcc_finish_write_before_read()
 
#define finish_write_before_unlock()   xcc_finish_write_before_unlock()
 
#define finish_write_before_write()   xcc_finish_write_before_write()
 
#define FORCE_TYPE(TP, x)   ({ union { TP x1; typeof(x) x2; } _u ; _u.x2 = (x); _u.x1; })
 
#define labar()   xcc_labar()
 
#define llbar()   xcc_llbar()
 
#define LOCK_INITIALIZER   xcc_LOCK_INITIALIZER
 
#define lock_t   xcc_lock_t
 
#define lsbar()   xcc_lsbar()
 
#define read_volatile_char(loc)   atomic_read_char(loc)
 
#define read_volatile_double(loc)   atomic_read_double(loc)
 
#define read_volatile_float(loc)   atomic_read_float(loc)
 
#define read_volatile_int(loc)   atomic_read_int(loc)
 
#define read_volatile_long(loc)   atomic_read_long(loc)
 
#define read_volatile_long_long(loc)   atomic_read_long_long(loc)
 
#define read_volatile_ptr(loc)   atomic_read_ptr(loc)
 
#define read_volatile_short(loc)   atomic_read_short(loc)
 
#define release_lock(loc)   xcc_release_lock(&(loc))
 
#define release_rlock(loc)   xcc_release_rlock(&(loc))
 
#define release_wlock(loc)   xcc_release_wlock(&(loc))
 
#define RWLOCK_INITIALIZER   xcc_RWLOCK_INITIALIZER
 
#define sabar()   xcc_sabar()
 
#define slbar()   xcc_slbar()
 
#define spin_lock(loc)   xcc_spin_lock(&(loc))
 
#define spin_rlock(loc)   xcc_spin_rlock(&(loc))
 
#define spin_wlock(loc)   xcc_spin_wlock(&(loc))
 
#define ssbar()   xcc_ssbar()
 
#define start_access_after_lock()   xcc_start_access_after_lock()
 
#define start_access_after_read()   xcc_start_access_after_read()
 
#define start_access_after_write()   xcc_start_access_after_write()
 
#define start_read_after_lock()   xcc_start_read_after_lock()
 
#define start_read_after_read()   xcc_start_read_after_read()
 
#define start_read_after_write()   xcc_start_read_after_write()
 
#define start_write_after_lock()   xcc_start_write_after_lock()
 
#define start_write_after_read()   xcc_start_write_after_read()
 
#define start_write_after_write()   xcc_start_write_after_write()
 
#define try_lock(loc)   xcc_try_lock(&(loc))
 
#define try_rlock(loc)   xcc_try_rlock(&(loc))
 
#define try_wlock(loc)   xcc_try_wlock(&(loc))
 
#define write_volatile_char(loc, v)   atomic_write_char((loc), (v))
 
#define write_volatile_double(loc, v)   atomic_write_double((loc), (v))
 
#define write_volatile_float(loc, v)   atomic_write_float((loc), (v))
 
#define write_volatile_int(loc, v)   atomic_write_int((loc), (v))
 
#define write_volatile_long(loc, v)   atomic_write_long((loc), (v))
 
#define write_volatile_long_long(loc, v)   atomic_write_long_long((loc), (v))
 
#define write_volatile_ptr(loc, v)   atomic_write_ptr((loc), (v))
 
#define write_volatile_short(loc, v)   atomic_write_short((loc), (v))
 
#define xcc_aabar()   xcc_defaultbar_VOID()
 
#define xcc_albar()   xcc_defaultbar_VOID()
 
#define xcc_asbar()   xcc_defaultbar_VOID()
 
#define XCC_ASSERT(cond, msg)   ({char msg[(cond)?1:(-1)]; 0;})
 
#define xcc_atomic_read_char(loc)   (*(volatile char *)(loc))
 
#define xcc_atomic_read_double(loc)   (*(volatile double *)(loc))
 
#define xcc_atomic_read_float(loc)   (*(volatile float *)(loc))
 
#define xcc_atomic_read_int(loc)   (*(volatile int *)(loc))
 
#define xcc_atomic_read_long(loc)   (*(volatile long *)(loc))
 
#define xcc_atomic_read_long_long(loc)   (*(volatile long long *)(loc))
 
#define xcc_atomic_read_ptr(loc)   (*(void * volatile *)(loc))
 
#define xcc_atomic_read_short(loc)   (*(volatile short *)(loc))
 
#define xcc_atomic_swap(loc, v)
 
#define xcc_atomic_swap_char(loc, v)
 
#define xcc_atomic_swap_DF(loc, v)   __xcc_atomic_swap_DF((loc),(v))
 
#define xcc_atomic_swap_DI(loc, v)   __xcc_atomic_swap_DI((loc),(v))
 
#define xcc_atomic_swap_double(loc, v)
 
#define xcc_atomic_swap_float(loc, v)
 
#define xcc_atomic_swap_HI(loc, v)   __xcc_atomic_swap_HI((loc),(v))
 
#define xcc_atomic_swap_int(loc, v)
 
#define xcc_atomic_swap_long(loc, v)
 
#define xcc_atomic_swap_long_long(loc, v)
 
#define xcc_atomic_swap_ptr(loc, v)
 
#define xcc_atomic_swap_QI(loc, v)   __xcc_atomic_swap_QI((loc),(v))
 
#define xcc_atomic_swap_SF(loc, v)   __xcc_atomic_swap_SF((loc),(v))
 
#define xcc_atomic_swap_short(loc, v)
 
#define xcc_atomic_swap_SI(loc, v)   __xcc_atomic_swap_SI((loc),(v))
 
#define xcc_atomic_write_char(loc, v)   do{*(volatile char *)(loc)=(v);}while(0)
 
#define xcc_atomic_write_double(loc, v)   do{*(volatile double *)(loc)=(v);}while(0)
 
#define xcc_atomic_write_float(loc, v)   do{*(volatile float *)(loc)=(v);}while(0)
 
#define xcc_atomic_write_int(loc, v)   do{*(volatile int *)(loc)=(v);}while(0)
 
#define xcc_atomic_write_long(loc, v)   do{*(volatile long *)(loc)=(v);}while(0)
 
#define xcc_atomic_write_long_long(loc, v)   do{*(volatile long long *)(loc)=(v);}while(0)
 
#define xcc_atomic_write_ptr(loc, v)   do{*(void * volatile *)(loc)=(v);}while(0)
 
#define xcc_atomic_write_short(loc, v)   do{*(volatile short *)(loc)=(v);}while(0)
 
#define xcc_cas_char(loc, ov, nv)
 
#define xcc_cas_DF(loc, ov, nv)   __xcc_cas_DF((loc),(ov),(nv))
 
#define xcc_cas_DI(loc, ov, nv)   __xcc_cas_DI((loc),(ov),(nv))
 
#define xcc_cas_double(loc, ov, nv)
 
#define xcc_cas_float(loc, ov, nv)
 
#define xcc_cas_HI(loc, ov, nv)   __xcc_cas_HI((loc),(ov),(nv))
 
#define xcc_cas_int(loc, ov, nv)
 
#define xcc_cas_long(loc, ov, nv)
 
#define xcc_cas_long_long(loc, ov, nv)
 
#define xcc_cas_ptr(loc, ov, nv)
 
#define xcc_cas_QI(loc, ov, nv)   __xcc_cas_QI((loc),(ov),(nv))
 
#define xcc_cas_SF(loc, ov, nv)   __xcc_cas_SF((loc),(ov),(nv))
 
#define xcc_cas_short(loc, ov, nv)
 
#define xcc_cas_SI(loc, ov, nv)   __xcc_cas_SI((loc),(ov),(nv))
 
#define XCC_CHAR_TYPE_SIZE   1
 
#define xcc_defaultbar_VOID()   xcc_nnbar_VOID()
 
#define XCC_DOUBLE_TYPE_SIZE   8
 
#define xcc_finish_access_before_read()   xcc_albar()
 
#define xcc_finish_access_before_unlock()   xcc_asbar()
 
#define xcc_finish_access_before_write()   xcc_asbar()
 
#define xcc_finish_read_before_read()   xcc_llbar()
 
#define xcc_finish_read_before_unlock()   xcc_lsbar()
 
#define xcc_finish_read_before_write()   xcc_lsbar()
 
#define xcc_finish_write_before_read()   xcc_slbar()
 
#define xcc_finish_write_before_unlock()   xcc_ssbar()
 
#define xcc_finish_write_before_write()   xcc_ssbar()
 
#define XCC_FLOAT_TYPE_SIZE   4
 
#define XCC_INT_TYPE_SIZE   4
 
#define xcc_labar()   xcc_defaultbar_VOID()
 
#define xcc_llbar()   xcc_defaultbar_VOID()
 
#define xcc_LOCK_INITIALIZER   0
 
#define xcc_lock_t   int
 
#define XCC_LONG_LONG_TYPE_SIZE   8
 
#define XCC_LONG_TYPE_SIZE   4
 
#define xcc_lsbar()   xcc_defaultbar_VOID()
 
#define xcc_nnbar_VOID()   __asm__ __volatile__("":::"memory")
 
#define XCC_PTR_TYPE_SIZE   4
 
#define xcc_rawcas_int(loc, ov, nv)
 
#define xcc_release_lock(loc)   xcc_atomic_write_int((loc),0)
 
#define xcc_release_rlock(loc)   __xcc_release_rlock(loc)
 
#define xcc_release_wlock(loc)   xcc_atomic_write_int((loc),0)
 
#define xcc_RWLOCK_INITIALIZER   0
 
#define xcc_rwlock_t   int
 
#define xcc_sabar()   xcc_defaultbar_VOID()
 
#define XCC_SHORT_TYPE_SIZE   2
 
#define xcc_slbar()   xcc_defaultbar_VOID()
 
#define xcc_spin_lock(loc)   __xcc_spin_lock(loc)
 
#define xcc_spin_rlock(loc)   __xcc_spin_rlock(loc)
 
#define xcc_spin_wlock(loc)   __xcc_spin_wlock(loc)
 
#define xcc_ssbar()   xcc_defaultbar_VOID()
 
#define xcc_start_access_after_lock()   xcc_aabar()
 
#define xcc_start_access_after_read()   xcc_labar()
 
#define xcc_start_access_after_write()   xcc_sabar()
 
#define xcc_start_read_after_lock()   xcc_albar()
 
#define xcc_start_read_after_read()   xcc_llbar()
 
#define xcc_start_read_after_write()   xcc_slbar()
 
#define xcc_start_write_after_lock()   xcc_asbar()
 
#define xcc_start_write_after_read()   xcc_lsbar()
 
#define xcc_start_write_after_write()   xcc_ssbar()
 
#define xcc_try_lock(loc)   xcc_cas_int((loc),0,1)
 
#define xcc_try_rlock(loc)   __xcc_try_rlock(loc)
 
#define xcc_try_wlock(loc)   xcc_cas_int((loc),0,-1)
 

Typedefs

typedef int xcc_DItype __attribute__((mode(DI)))
 

Functions

__inline__ xcc_DFtype __xcc_atomic_swap_DF (xcc_DFtype *loc, xcc_DFtype val)
 
__inline__ xcc_DItype __xcc_atomic_swap_DI (xcc_DItype *loc, xcc_DItype val)
 
__inline__ xcc_HItype __xcc_atomic_swap_HI (xcc_HItype *loc, xcc_HItype val)
 
__inline__ xcc_QItype __xcc_atomic_swap_QI (xcc_QItype *loc, xcc_QItype val)
 
__inline__ xcc_SFtype __xcc_atomic_swap_SF (xcc_SFtype *loc, xcc_SFtype val)
 
__inline__ xcc_SItype __xcc_atomic_swap_SI (xcc_SItype *loc, xcc_SItype val)
 
__inline__ int __xcc_cas_DF (xcc_DFtype *loc, xcc_DFtype ov, xcc_DFtype nv)
 
__inline__ int __xcc_cas_DI (xcc_DItype *loc, xcc_DItype ov, xcc_DItype nv)
 
__inline__ int __xcc_cas_HI (xcc_HItype *loc, xcc_HItype ov, xcc_HItype nv)
 
__inline__ int __xcc_cas_QI (xcc_QItype *loc, xcc_QItype ov, xcc_QItype nv)
 
__inline__ int __xcc_cas_SF (xcc_SFtype *loc, xcc_SFtype ov, xcc_SFtype nv)
 
__inline__ int __xcc_cas_SI (xcc_SItype *loc, xcc_SItype ov, xcc_SItype nv)
 
__inline__ void __xcc_release_rlock (int *loc)
 
__inline__ void __xcc_spin_lock (int *loc)
 
__inline__ void __xcc_spin_rlock (int *loc)
 
__inline__ void __xcc_spin_wlock (int *loc)
 
__inline__ int __xcc_try_rlock (int *loc)
 

Macro Definition Documentation

◆ aabar

#define aabar ( )    xcc_aabar()

Definition at line 1102 of file xccmem.h.

◆ albar

#define albar ( )    xcc_albar()

Definition at line 1101 of file xccmem.h.

◆ asbar

#define asbar ( )    xcc_asbar()

Definition at line 1100 of file xccmem.h.

◆ atomic_read_char

#define atomic_read_char (   loc)    xcc_atomic_read_char(&(loc))

Definition at line 1019 of file xccmem.h.

◆ atomic_read_double

#define atomic_read_double (   loc)    xcc_atomic_read_double(&(loc))

Definition at line 1025 of file xccmem.h.

◆ atomic_read_float

#define atomic_read_float (   loc)    xcc_atomic_read_float(&(loc))

Definition at line 1024 of file xccmem.h.

◆ atomic_read_int

#define atomic_read_int (   loc)    xcc_atomic_read_int(&(loc))

Definition at line 1021 of file xccmem.h.

◆ atomic_read_long

#define atomic_read_long (   loc)    xcc_atomic_read_long(&(loc))

Definition at line 1022 of file xccmem.h.

◆ atomic_read_long_long

#define atomic_read_long_long (   loc)    xcc_atomic_read_long_long(&(loc))

Definition at line 1023 of file xccmem.h.

◆ atomic_read_ptr

#define atomic_read_ptr (   loc)    xcc_atomic_read_ptr(&(loc))

Definition at line 1026 of file xccmem.h.

◆ atomic_read_short

#define atomic_read_short (   loc)    xcc_atomic_read_short(&(loc))

Definition at line 1020 of file xccmem.h.

◆ atomic_read_volatile_char

#define atomic_read_volatile_char (   loc)    atomic_read_char(loc)

Definition at line 1028 of file xccmem.h.

◆ atomic_read_volatile_double

#define atomic_read_volatile_double (   loc)    atomic_read_double(loc)

Definition at line 1034 of file xccmem.h.

◆ atomic_read_volatile_float

#define atomic_read_volatile_float (   loc)    atomic_read_float(loc)

Definition at line 1033 of file xccmem.h.

◆ atomic_read_volatile_int

#define atomic_read_volatile_int (   loc)    atomic_read_int(loc)

Definition at line 1030 of file xccmem.h.

◆ atomic_read_volatile_long

#define atomic_read_volatile_long (   loc)    atomic_read_long(loc)

Definition at line 1031 of file xccmem.h.

◆ atomic_read_volatile_long_long

#define atomic_read_volatile_long_long (   loc)    atomic_read_long_long(loc)

Definition at line 1032 of file xccmem.h.

◆ atomic_read_volatile_ptr

#define atomic_read_volatile_ptr (   loc)    atomic_read_ptr(loc)

Definition at line 1035 of file xccmem.h.

◆ atomic_read_volatile_short

#define atomic_read_volatile_short (   loc)    atomic_read_short(loc)

Definition at line 1029 of file xccmem.h.

◆ atomic_swap

#define atomic_swap (   loc,
  v 
)    xcc_atomic_swap(&(loc),(v))

Definition at line 1083 of file xccmem.h.

◆ atomic_swap_char

#define atomic_swap_char (   loc,
  v 
)    xcc_atomic_swap_char(&(loc),(v))

Definition at line 1074 of file xccmem.h.

◆ atomic_swap_double

#define atomic_swap_double (   loc,
  v 
)    xcc_atomic_swap_double(&(loc),(v))

Definition at line 1080 of file xccmem.h.

◆ atomic_swap_float

#define atomic_swap_float (   loc,
  v 
)    xcc_atomic_swap_float(&(loc),(v))

Definition at line 1079 of file xccmem.h.

◆ atomic_swap_int

#define atomic_swap_int (   loc,
  v 
)    xcc_atomic_swap_int(&(loc),(v))

Definition at line 1076 of file xccmem.h.

◆ atomic_swap_long

#define atomic_swap_long (   loc,
  v 
)    xcc_atomic_swap_long(&(loc),(v))

Definition at line 1077 of file xccmem.h.

◆ atomic_swap_long_long

#define atomic_swap_long_long (   loc,
  v 
)    xcc_atomic_swap_long_long(&(loc),(v))

Definition at line 1078 of file xccmem.h.

◆ atomic_swap_ptr

#define atomic_swap_ptr (   loc,
  v 
)    xcc_atomic_swap_ptr(&(loc),(v))

Definition at line 1081 of file xccmem.h.

◆ atomic_swap_short

#define atomic_swap_short (   loc,
  v 
)    xcc_atomic_swap_short(&(loc),(v))

Definition at line 1075 of file xccmem.h.

◆ atomic_write_char

#define atomic_write_char (   loc,
  v 
)    xcc_atomic_write_char(&(loc),(v))

Definition at line 1046 of file xccmem.h.

◆ atomic_write_double

#define atomic_write_double (   loc,
  v 
)    xcc_atomic_write_double(&(loc),(v))

Definition at line 1052 of file xccmem.h.

◆ atomic_write_float

#define atomic_write_float (   loc,
  v 
)    xcc_atomic_write_float(&(loc),(v))

Definition at line 1051 of file xccmem.h.

◆ atomic_write_int

#define atomic_write_int (   loc,
  v 
)    xcc_atomic_write_int(&(loc),(v))

Definition at line 1048 of file xccmem.h.

◆ atomic_write_long

#define atomic_write_long (   loc,
  v 
)    xcc_atomic_write_long(&(loc),(v))

Definition at line 1049 of file xccmem.h.

◆ atomic_write_long_long

#define atomic_write_long_long (   loc,
  v 
)    xcc_atomic_write_long_long(&(loc),(v))

Definition at line 1050 of file xccmem.h.

◆ atomic_write_ptr

#define atomic_write_ptr (   loc,
  v 
)    xcc_atomic_write_ptr(&(loc),(v))

Definition at line 1053 of file xccmem.h.

◆ atomic_write_short

#define atomic_write_short (   loc,
  v 
)    xcc_atomic_write_short(&(loc),(v))

Definition at line 1047 of file xccmem.h.

◆ atomic_write_volatile_char

#define atomic_write_volatile_char (   loc,
  v 
)    atomic_write_char((loc), (v))

Definition at line 1055 of file xccmem.h.

◆ atomic_write_volatile_double

#define atomic_write_volatile_double (   loc,
  v 
)    atomic_write_double((loc), (v))

Definition at line 1062 of file xccmem.h.

◆ atomic_write_volatile_float

#define atomic_write_volatile_float (   loc,
  v 
)    atomic_write_float((loc), (v))

Definition at line 1061 of file xccmem.h.

◆ atomic_write_volatile_int

#define atomic_write_volatile_int (   loc,
  v 
)    atomic_write_int((loc), (v))

Definition at line 1057 of file xccmem.h.

◆ atomic_write_volatile_long

#define atomic_write_volatile_long (   loc,
  v 
)    atomic_write_long((loc), (v))

Definition at line 1058 of file xccmem.h.

◆ atomic_write_volatile_long_long

#define atomic_write_volatile_long_long (   loc,
  v 
)    atomic_write_long_long((loc), (v))

Definition at line 1059 of file xccmem.h.

◆ atomic_write_volatile_ptr

#define atomic_write_volatile_ptr (   loc,
  v 
)    atomic_write_ptr((loc), (v))

Definition at line 1063 of file xccmem.h.

◆ atomic_write_volatile_short

#define atomic_write_volatile_short (   loc,
  v 
)    atomic_write_short((loc), (v))

Definition at line 1056 of file xccmem.h.

◆ cas_char

#define cas_char (   loc,
  ov,
  nv 
)    xcc_cas_char(&(loc),(ov),(nv))

Definition at line 1085 of file xccmem.h.

◆ cas_double

#define cas_double (   loc,
  ov,
  nv 
)    xcc_cas_double(&(loc),(ov),(nv))

Definition at line 1091 of file xccmem.h.

◆ cas_float

#define cas_float (   loc,
  ov,
  nv 
)    xcc_cas_float(&(loc),(ov),(nv))

Definition at line 1090 of file xccmem.h.

◆ cas_int

#define cas_int (   loc,
  ov,
  nv 
)    xcc_cas_int(&(loc),(ov),(nv))

Definition at line 1087 of file xccmem.h.

◆ cas_long

#define cas_long (   loc,
  ov,
  nv 
)    xcc_cas_long(&(loc),(ov),(nv))

Definition at line 1088 of file xccmem.h.

◆ cas_long_long

#define cas_long_long (   loc,
  ov,
  nv 
)    xcc_cas_long_long(&(loc),(ov),(nv))

Definition at line 1089 of file xccmem.h.

◆ cas_ptr

#define cas_ptr (   loc,
  ov,
  nv 
)    xcc_cas_ptr(&(loc),(ov),(nv))

Definition at line 1092 of file xccmem.h.

◆ cas_short

#define cas_short (   loc,
  ov,
  nv 
)    xcc_cas_short(&(loc),(ov),(nv))

Definition at line 1086 of file xccmem.h.

◆ finish_access_before_read

#define finish_access_before_read ( )    xcc_finish_access_before_read()

Definition at line 1115 of file xccmem.h.

◆ finish_access_before_unlock

#define finish_access_before_unlock ( )    xcc_finish_access_before_unlock()

Definition at line 1114 of file xccmem.h.

◆ finish_access_before_write

#define finish_access_before_write ( )    xcc_finish_access_before_write()

Definition at line 1116 of file xccmem.h.

◆ finish_read_before_read

#define finish_read_before_read ( )    xcc_finish_read_before_read()

Definition at line 1118 of file xccmem.h.

◆ finish_read_before_unlock

#define finish_read_before_unlock ( )    xcc_finish_read_before_unlock()

Definition at line 1117 of file xccmem.h.

◆ finish_read_before_write

#define finish_read_before_write ( )    xcc_finish_read_before_write()

Definition at line 1119 of file xccmem.h.

◆ finish_write_before_read

#define finish_write_before_read ( )    xcc_finish_write_before_read()

Definition at line 1121 of file xccmem.h.

◆ finish_write_before_unlock

#define finish_write_before_unlock ( )    xcc_finish_write_before_unlock()

Definition at line 1120 of file xccmem.h.

◆ finish_write_before_write

#define finish_write_before_write ( )    xcc_finish_write_before_write()

Definition at line 1122 of file xccmem.h.

◆ FORCE_TYPE

#define FORCE_TYPE (   TP,
 
)    ({ union { TP x1; typeof(x) x2; } _u ; _u.x2 = (x); _u.x1; })

Definition at line 38 of file xccmem.h.

◆ labar

#define labar ( )    xcc_labar()

Definition at line 1099 of file xccmem.h.

◆ llbar

#define llbar ( )    xcc_llbar()

Definition at line 1098 of file xccmem.h.

◆ LOCK_INITIALIZER

#define LOCK_INITIALIZER   xcc_LOCK_INITIALIZER

Definition at line 1124 of file xccmem.h.

◆ lock_t

#define lock_t   xcc_lock_t

Definition at line 1125 of file xccmem.h.

◆ lsbar

#define lsbar ( )    xcc_lsbar()

Definition at line 1097 of file xccmem.h.

◆ read_volatile_char

#define read_volatile_char (   loc)    atomic_read_char(loc)

Definition at line 1037 of file xccmem.h.

◆ read_volatile_double

#define read_volatile_double (   loc)    atomic_read_double(loc)

Definition at line 1043 of file xccmem.h.

◆ read_volatile_float

#define read_volatile_float (   loc)    atomic_read_float(loc)

Definition at line 1042 of file xccmem.h.

◆ read_volatile_int

#define read_volatile_int (   loc)    atomic_read_int(loc)

Definition at line 1039 of file xccmem.h.

◆ read_volatile_long

#define read_volatile_long (   loc)    atomic_read_long(loc)

Definition at line 1040 of file xccmem.h.

◆ read_volatile_long_long

#define read_volatile_long_long (   loc)    atomic_read_long_long(loc)

Definition at line 1041 of file xccmem.h.

◆ read_volatile_ptr

#define read_volatile_ptr (   loc)    atomic_read_ptr(loc)

Definition at line 1044 of file xccmem.h.

◆ read_volatile_short

#define read_volatile_short (   loc)    atomic_read_short(loc)

Definition at line 1038 of file xccmem.h.

◆ release_lock

#define release_lock (   loc)    xcc_release_lock(&(loc))

Definition at line 1128 of file xccmem.h.

◆ release_rlock

#define release_rlock (   loc)    xcc_release_rlock(&(loc))

Definition at line 1134 of file xccmem.h.

◆ release_wlock

#define release_wlock (   loc)    xcc_release_wlock(&(loc))

Definition at line 1137 of file xccmem.h.

◆ RWLOCK_INITIALIZER

#define RWLOCK_INITIALIZER   xcc_RWLOCK_INITIALIZER

Definition at line 1130 of file xccmem.h.

◆ sabar

#define sabar ( )    xcc_sabar()

Definition at line 1096 of file xccmem.h.

◆ slbar

#define slbar ( )    xcc_slbar()

Definition at line 1095 of file xccmem.h.

◆ spin_lock

#define spin_lock (   loc)    xcc_spin_lock(&(loc))

Definition at line 1127 of file xccmem.h.

◆ spin_rlock

#define spin_rlock (   loc)    xcc_spin_rlock(&(loc))

Definition at line 1133 of file xccmem.h.

◆ spin_wlock

#define spin_wlock (   loc)    xcc_spin_wlock(&(loc))

Definition at line 1136 of file xccmem.h.

◆ ssbar

#define ssbar ( )    xcc_ssbar()

Definition at line 1094 of file xccmem.h.

◆ start_access_after_lock

#define start_access_after_lock ( )    xcc_start_access_after_lock()

Definition at line 1104 of file xccmem.h.

◆ start_access_after_read

#define start_access_after_read ( )    xcc_start_access_after_read()

Definition at line 1105 of file xccmem.h.

◆ start_access_after_write

#define start_access_after_write ( )    xcc_start_access_after_write()

Definition at line 1106 of file xccmem.h.

◆ start_read_after_lock

#define start_read_after_lock ( )    xcc_start_read_after_lock()

Definition at line 1107 of file xccmem.h.

◆ start_read_after_read

#define start_read_after_read ( )    xcc_start_read_after_read()

Definition at line 1108 of file xccmem.h.

◆ start_read_after_write

#define start_read_after_write ( )    xcc_start_read_after_write()

Definition at line 1109 of file xccmem.h.

◆ start_write_after_lock

#define start_write_after_lock ( )    xcc_start_write_after_lock()

Definition at line 1110 of file xccmem.h.

◆ start_write_after_read

#define start_write_after_read ( )    xcc_start_write_after_read()

Definition at line 1111 of file xccmem.h.

◆ start_write_after_write

#define start_write_after_write ( )    xcc_start_write_after_write()

Definition at line 1112 of file xccmem.h.

◆ try_lock

#define try_lock (   loc)    xcc_try_lock(&(loc))

Definition at line 1126 of file xccmem.h.

◆ try_rlock

#define try_rlock (   loc)    xcc_try_rlock(&(loc))

Definition at line 1132 of file xccmem.h.

◆ try_wlock

#define try_wlock (   loc)    xcc_try_wlock(&(loc))

Definition at line 1135 of file xccmem.h.

◆ write_volatile_char

#define write_volatile_char (   loc,
  v 
)    atomic_write_char((loc), (v))

Definition at line 1065 of file xccmem.h.

◆ write_volatile_double

#define write_volatile_double (   loc,
  v 
)    atomic_write_double((loc), (v))

Definition at line 1071 of file xccmem.h.

◆ write_volatile_float

#define write_volatile_float (   loc,
  v 
)    atomic_write_float((loc), (v))

Definition at line 1070 of file xccmem.h.

◆ write_volatile_int

#define write_volatile_int (   loc,
  v 
)    atomic_write_int((loc), (v))

Definition at line 1067 of file xccmem.h.

◆ write_volatile_long

#define write_volatile_long (   loc,
  v 
)    atomic_write_long((loc), (v))

Definition at line 1068 of file xccmem.h.

◆ write_volatile_long_long

#define write_volatile_long_long (   loc,
  v 
)    atomic_write_long_long((loc), (v))

Definition at line 1069 of file xccmem.h.

◆ write_volatile_ptr

#define write_volatile_ptr (   loc,
  v 
)    atomic_write_ptr((loc), (v))

Definition at line 1072 of file xccmem.h.

◆ write_volatile_short

#define write_volatile_short (   loc,
  v 
)    atomic_write_short((loc), (v))

Definition at line 1066 of file xccmem.h.

◆ xcc_aabar

#define xcc_aabar ( )    xcc_defaultbar_VOID()

Definition at line 897 of file xccmem.h.

◆ xcc_albar

#define xcc_albar ( )    xcc_defaultbar_VOID()

Definition at line 894 of file xccmem.h.

◆ xcc_asbar

#define xcc_asbar ( )    xcc_defaultbar_VOID()

Definition at line 891 of file xccmem.h.

◆ XCC_ASSERT

#define XCC_ASSERT (   cond,
  msg 
)    ({char msg[(cond)?1:(-1)]; 0;})

Definition at line 24 of file xccmem.h.

◆ xcc_atomic_read_char

#define xcc_atomic_read_char (   loc)    (*(volatile char *)(loc))

Definition at line 637 of file xccmem.h.

◆ xcc_atomic_read_double

#define xcc_atomic_read_double (   loc)    (*(volatile double *)(loc))

Definition at line 656 of file xccmem.h.

◆ xcc_atomic_read_float

#define xcc_atomic_read_float (   loc)    (*(volatile float *)(loc))

Definition at line 653 of file xccmem.h.

◆ xcc_atomic_read_int

#define xcc_atomic_read_int (   loc)    (*(volatile int *)(loc))

Definition at line 643 of file xccmem.h.

◆ xcc_atomic_read_long

#define xcc_atomic_read_long (   loc)    (*(volatile long *)(loc))

Definition at line 646 of file xccmem.h.

◆ xcc_atomic_read_long_long

#define xcc_atomic_read_long_long (   loc)    (*(volatile long long *)(loc))

Definition at line 650 of file xccmem.h.

◆ xcc_atomic_read_ptr

#define xcc_atomic_read_ptr (   loc)    (*(void * volatile *)(loc))

Definition at line 659 of file xccmem.h.

◆ xcc_atomic_read_short

#define xcc_atomic_read_short (   loc)    (*(volatile short *)(loc))

Definition at line 640 of file xccmem.h.

◆ xcc_atomic_swap

#define xcc_atomic_swap (   loc,
  v 
)
Value:
(sizeof(*(loc))==1 ? xcc_atomic_swap_QI((xcc_QItype *)(loc),(v)) :\
sizeof(*(loc))==2 ? xcc_atomic_swap_HI((xcc_HItype *)(loc),(v)) :\
sizeof(*(loc))==4 ? xcc_atomic_swap_SI((xcc_SItype *)(loc),(v)) :\
sizeof(*(loc))==8 ? xcc_atomic_swap_DI((xcc_DItype *)(loc),(v)) :\
XCC_ASSERT(((sizeof(*(loc))==1) && (__alignof__(*(loc))==1) ||\
(sizeof(*(loc))==2) && (__alignof__(*(loc))==2) ||\
(sizeof(*(loc))==4) && (__alignof__(*(loc))==4) ||\
(sizeof(*(loc))==8) && (__alignof__(*(loc))==8)),\
#define xcc_atomic_swap_QI(loc, v)
Definition: xccmem.h:482
#define xcc_atomic_swap_HI(loc, v)
Definition: xccmem.h:469
#define xcc_atomic_swap_DI(loc, v)
Definition: xccmem.h:449
#define xcc_atomic_swap_SI(loc, v)
Definition: xccmem.h:459
#define XCC_ASSERT(cond, msg)
Definition: xccmem.h:24
GLfloat v[8][3]
Definition: cube.c:21
#define atomic_swap(loc, v)
Definition: xccmem.h:1083

Definition at line 739 of file xccmem.h.

◆ xcc_atomic_swap_char

#define xcc_atomic_swap_char (   loc,
  v 
)
Value:
(sizeof(*(loc))==1 ? xcc_atomic_swap_QI((xcc_QItype *)(loc),(v)) :\
XCC_ASSERT((sizeof(*(loc))==1), atomic_swap_char))
#define xcc_atomic_swap_QI(loc, v)
Definition: xccmem.h:482
#define XCC_ASSERT(cond, msg)
Definition: xccmem.h:24
#define atomic_swap_char(loc, v)
Definition: xccmem.h:1074
GLfloat v[8][3]
Definition: cube.c:21

Definition at line 693 of file xccmem.h.

◆ xcc_atomic_swap_DF

#define xcc_atomic_swap_DF (   loc,
  v 
)    __xcc_atomic_swap_DF((loc),(v))

Definition at line 495 of file xccmem.h.

◆ xcc_atomic_swap_DI

#define xcc_atomic_swap_DI (   loc,
  v 
)    __xcc_atomic_swap_DI((loc),(v))

Definition at line 449 of file xccmem.h.

◆ xcc_atomic_swap_double

#define xcc_atomic_swap_double (   loc,
  v 
)
Value:
(sizeof(*(loc))==8 ? xcc_atomic_swap_DF((xcc_DFtype *)(loc),(v)) :\
XCC_ASSERT((sizeof(*(loc))==8), atomic_swap_double))
#define xcc_atomic_swap_DF(loc, v)
Definition: xccmem.h:495
#define XCC_ASSERT(cond, msg)
Definition: xccmem.h:24
GLfloat v[8][3]
Definition: cube.c:21
#define atomic_swap_double(loc, v)
Definition: xccmem.h:1080

Definition at line 758 of file xccmem.h.

◆ xcc_atomic_swap_float

#define xcc_atomic_swap_float (   loc,
  v 
)
Value:
(sizeof(*(loc))==4 ? xcc_atomic_swap_SF((xcc_SFtype *)(loc),(v)) :\
XCC_ASSERT((sizeof(*(loc))==4), atomic_swap_float))
#define XCC_ASSERT(cond, msg)
Definition: xccmem.h:24
GLfloat v[8][3]
Definition: cube.c:21
#define xcc_atomic_swap_SF(loc, v)
Definition: xccmem.h:505
#define atomic_swap_float(loc, v)
Definition: xccmem.h:1079

Definition at line 752 of file xccmem.h.

◆ xcc_atomic_swap_HI

#define xcc_atomic_swap_HI (   loc,
  v 
)    __xcc_atomic_swap_HI((loc),(v))

Definition at line 469 of file xccmem.h.

◆ xcc_atomic_swap_int

#define xcc_atomic_swap_int (   loc,
  v 
)
Value:
(sizeof(*(loc))==4 ? xcc_atomic_swap_SI((xcc_SItype *)(loc),(v)) :\
XCC_ASSERT((sizeof(*(loc))==4), atomic_swap_int))
#define atomic_swap_int(loc, v)
Definition: xccmem.h:1076
#define xcc_atomic_swap_SI(loc, v)
Definition: xccmem.h:459
#define XCC_ASSERT(cond, msg)
Definition: xccmem.h:24
GLfloat v[8][3]
Definition: cube.c:21

Definition at line 706 of file xccmem.h.

◆ xcc_atomic_swap_long

#define xcc_atomic_swap_long (   loc,
  v 
)
Value:
(sizeof(*(loc))==4 ? xcc_atomic_swap_SI((xcc_SItype *)(loc),(v)) :\
XCC_ASSERT((sizeof(*(loc))==4), atomic_swap_long))
#define atomic_swap_long(loc, v)
Definition: xccmem.h:1077
#define xcc_atomic_swap_SI(loc, v)
Definition: xccmem.h:459
#define XCC_ASSERT(cond, msg)
Definition: xccmem.h:24
GLfloat v[8][3]
Definition: cube.c:21

Definition at line 720 of file xccmem.h.

◆ xcc_atomic_swap_long_long

#define xcc_atomic_swap_long_long (   loc,
  v 
)
Value:
(sizeof(*(loc))==8 ? xcc_atomic_swap_DI((xcc_DItype *)(loc),(v)) :\
XCC_ASSERT((sizeof(*(loc))==8), atomic_swap_long_long))
#define atomic_swap_long_long(loc, v)
Definition: xccmem.h:1078
#define xcc_atomic_swap_DI(loc, v)
Definition: xccmem.h:449
#define XCC_ASSERT(cond, msg)
Definition: xccmem.h:24
GLfloat v[8][3]
Definition: cube.c:21

Definition at line 733 of file xccmem.h.

◆ xcc_atomic_swap_ptr

#define xcc_atomic_swap_ptr (   loc,
  v 
)
Value:
(sizeof(*(loc))==4 ? \
xcc_atomic_swap_SI((xcc_SItype *)(loc),(xcc_SItype)(v)) :\
XCC_ASSERT((sizeof(*(loc))==4), atomic_swap_ptr))
#define XCC_ASSERT(cond, msg)
Definition: xccmem.h:24
GLfloat v[8][3]
Definition: cube.c:21
#define atomic_swap_ptr(loc, v)
Definition: xccmem.h:1081

Definition at line 765 of file xccmem.h.

◆ xcc_atomic_swap_QI

#define xcc_atomic_swap_QI (   loc,
  v 
)    __xcc_atomic_swap_QI((loc),(v))

Definition at line 482 of file xccmem.h.

◆ xcc_atomic_swap_SF

#define xcc_atomic_swap_SF (   loc,
  v 
)    __xcc_atomic_swap_SF((loc),(v))

Definition at line 505 of file xccmem.h.

◆ xcc_atomic_swap_short

#define xcc_atomic_swap_short (   loc,
  v 
)
Value:
(sizeof(*(loc))==2 ? xcc_atomic_swap_HI((xcc_HItype *)(loc),(v)) :\
XCC_ASSERT((sizeof(*(loc))==2), atomic_swap_short))
#define xcc_atomic_swap_HI(loc, v)
Definition: xccmem.h:469
#define atomic_swap_short(loc, v)
Definition: xccmem.h:1075
#define XCC_ASSERT(cond, msg)
Definition: xccmem.h:24
GLfloat v[8][3]
Definition: cube.c:21

Definition at line 699 of file xccmem.h.

◆ xcc_atomic_swap_SI

#define xcc_atomic_swap_SI (   loc,
  v 
)    __xcc_atomic_swap_SI((loc),(v))

Definition at line 459 of file xccmem.h.

◆ xcc_atomic_write_char

#define xcc_atomic_write_char (   loc,
  v 
)    do{*(volatile char *)(loc)=(v);}while(0)

Definition at line 664 of file xccmem.h.

◆ xcc_atomic_write_double

#define xcc_atomic_write_double (   loc,
  v 
)    do{*(volatile double *)(loc)=(v);}while(0)

Definition at line 685 of file xccmem.h.

◆ xcc_atomic_write_float

#define xcc_atomic_write_float (   loc,
  v 
)    do{*(volatile float *)(loc)=(v);}while(0)

Definition at line 681 of file xccmem.h.

◆ xcc_atomic_write_int

#define xcc_atomic_write_int (   loc,
  v 
)    do{*(volatile int *)(loc)=(v);}while(0)

Definition at line 670 of file xccmem.h.

◆ xcc_atomic_write_long

#define xcc_atomic_write_long (   loc,
  v 
)    do{*(volatile long *)(loc)=(v);}while(0)

Definition at line 673 of file xccmem.h.

◆ xcc_atomic_write_long_long

#define xcc_atomic_write_long_long (   loc,
  v 
)    do{*(volatile long long *)(loc)=(v);}while(0)

Definition at line 677 of file xccmem.h.

◆ xcc_atomic_write_ptr

#define xcc_atomic_write_ptr (   loc,
  v 
)    do{*(void * volatile *)(loc)=(v);}while(0)

Definition at line 689 of file xccmem.h.

◆ xcc_atomic_write_short

#define xcc_atomic_write_short (   loc,
  v 
)    do{*(volatile short *)(loc)=(v);}while(0)

Definition at line 667 of file xccmem.h.

◆ xcc_cas_char

#define xcc_cas_char (   loc,
  ov,
  nv 
)
Value:
(sizeof(*(loc))==1 ? xcc_cas_QI((xcc_QItype *)(loc),(ov),(nv)) :\
XCC_ASSERT((sizeof(*(loc))==1), cas_char))
#define xcc_cas_QI(loc, ov, nv)
Definition: xccmem.h:415
#define XCC_ASSERT(cond, msg)
Definition: xccmem.h:24
#define cas_char(loc, ov, nv)
Definition: xccmem.h:1085

Definition at line 780 of file xccmem.h.

◆ xcc_cas_DF

#define xcc_cas_DF (   loc,
  ov,
  nv 
)    __xcc_cas_DF((loc),(ov),(nv))

Definition at line 429 of file xccmem.h.

◆ xcc_cas_DI

#define xcc_cas_DI (   loc,
  ov,
  nv 
)    __xcc_cas_DI((loc),(ov),(nv))

Definition at line 385 of file xccmem.h.

◆ xcc_cas_double

#define xcc_cas_double (   loc,
  ov,
  nv 
)
Value:
(sizeof(*(loc))==8 ? xcc_cas_DF((xcc_DFtype *)(loc),(ov),(nv)) :\
XCC_ASSERT((sizeof(*(loc))==8), cas_double))
#define cas_double(loc, ov, nv)
Definition: xccmem.h:1091
#define XCC_ASSERT(cond, msg)
Definition: xccmem.h:24
#define xcc_cas_DF(loc, ov, nv)
Definition: xccmem.h:429

Definition at line 847 of file xccmem.h.

◆ xcc_cas_float

#define xcc_cas_float (   loc,
  ov,
  nv 
)
Value:
(sizeof(*(loc))==4 ? xcc_cas_SF((xcc_SFtype *)(loc),(ov),(nv)) :\
XCC_ASSERT((sizeof(*(loc))==4), cas_float))
#define cas_float(loc, ov, nv)
Definition: xccmem.h:1090
#define XCC_ASSERT(cond, msg)
Definition: xccmem.h:24
#define xcc_cas_SF(loc, ov, nv)
Definition: xccmem.h:439

Definition at line 841 of file xccmem.h.

◆ xcc_cas_HI

#define xcc_cas_HI (   loc,
  ov,
  nv 
)    __xcc_cas_HI((loc),(ov),(nv))

Definition at line 401 of file xccmem.h.

◆ xcc_cas_int

#define xcc_cas_int (   loc,
  ov,
  nv 
)
Value:
(sizeof(*(loc))==4 ? xcc_cas_SI((xcc_SItype *)(loc),(ov),(nv)) :\
XCC_ASSERT((sizeof(*(loc))==4), cas_int))
#define xcc_cas_SI(loc, ov, nv)
Definition: xccmem.h:393
#define cas_int(loc, ov, nv)
Definition: xccmem.h:1087
#define XCC_ASSERT(cond, msg)
Definition: xccmem.h:24

Definition at line 793 of file xccmem.h.

◆ xcc_cas_long

#define xcc_cas_long (   loc,
  ov,
  nv 
)
Value:
(sizeof(*(loc))==4 ? xcc_cas_SI((xcc_SItype *)(loc),(ov),(nv)) :\
XCC_ASSERT((sizeof(*(loc))==4), cas_long))
#define xcc_cas_SI(loc, ov, nv)
Definition: xccmem.h:393
#define cas_long(loc, ov, nv)
Definition: xccmem.h:1088
#define XCC_ASSERT(cond, msg)
Definition: xccmem.h:24

Definition at line 822 of file xccmem.h.

◆ xcc_cas_long_long

#define xcc_cas_long_long (   loc,
  ov,
  nv 
)
Value:
(sizeof(*(loc))==8 ? xcc_cas_DI((xcc_DItype *)(loc),(ov),(nv)) :\
XCC_ASSERT((sizeof(*(loc))==8), cas_long_long))
#define cas_long_long(loc, ov, nv)
Definition: xccmem.h:1089
#define xcc_cas_DI(loc, ov, nv)
Definition: xccmem.h:385
#define XCC_ASSERT(cond, msg)
Definition: xccmem.h:24

Definition at line 835 of file xccmem.h.

◆ xcc_cas_ptr

#define xcc_cas_ptr (   loc,
  ov,
  nv 
)
Value:
(sizeof(*(loc))==4 ? \
xcc_cas_SI((xcc_SItype *)(loc),(xcc_SItype)(ov),(xcc_SItype)(nv)) :\
XCC_ASSERT((sizeof(*(loc))==4), cas_ptr))
#define cas_ptr(loc, ov, nv)
Definition: xccmem.h:1092
#define XCC_ASSERT(cond, msg)
Definition: xccmem.h:24

Definition at line 854 of file xccmem.h.

◆ xcc_cas_QI

#define xcc_cas_QI (   loc,
  ov,
  nv 
)    __xcc_cas_QI((loc),(ov),(nv))

Definition at line 415 of file xccmem.h.

◆ xcc_cas_SF

#define xcc_cas_SF (   loc,
  ov,
  nv 
)    __xcc_cas_SF((loc),(ov),(nv))

Definition at line 439 of file xccmem.h.

◆ xcc_cas_short

#define xcc_cas_short (   loc,
  ov,
  nv 
)
Value:
(sizeof(*(loc))==2 ? xcc_cas_HI((xcc_HItype *)(loc),(ov),(nv)) :\
XCC_ASSERT((sizeof(*(loc))==2), cas_short))
#define xcc_cas_HI(loc, ov, nv)
Definition: xccmem.h:401
#define XCC_ASSERT(cond, msg)
Definition: xccmem.h:24
#define cas_short(loc, ov, nv)
Definition: xccmem.h:1086

Definition at line 786 of file xccmem.h.

◆ xcc_cas_SI

#define xcc_cas_SI (   loc,
  ov,
  nv 
)    __xcc_cas_SI((loc),(ov),(nv))

Definition at line 393 of file xccmem.h.

◆ XCC_CHAR_TYPE_SIZE

#define XCC_CHAR_TYPE_SIZE   1

Definition at line 612 of file xccmem.h.

◆ xcc_defaultbar_VOID

#define xcc_defaultbar_VOID ( )    xcc_nnbar_VOID()

Definition at line 869 of file xccmem.h.

◆ XCC_DOUBLE_TYPE_SIZE

#define XCC_DOUBLE_TYPE_SIZE   8

Definition at line 630 of file xccmem.h.

◆ xcc_finish_access_before_read

#define xcc_finish_access_before_read ( )    xcc_albar()

Definition at line 933 of file xccmem.h.

◆ xcc_finish_access_before_unlock

#define xcc_finish_access_before_unlock ( )    xcc_asbar()

Definition at line 930 of file xccmem.h.

◆ xcc_finish_access_before_write

#define xcc_finish_access_before_write ( )    xcc_asbar()

Definition at line 936 of file xccmem.h.

◆ xcc_finish_read_before_read

#define xcc_finish_read_before_read ( )    xcc_llbar()

Definition at line 942 of file xccmem.h.

◆ xcc_finish_read_before_unlock

#define xcc_finish_read_before_unlock ( )    xcc_lsbar()

Definition at line 939 of file xccmem.h.

◆ xcc_finish_read_before_write

#define xcc_finish_read_before_write ( )    xcc_lsbar()

Definition at line 945 of file xccmem.h.

◆ xcc_finish_write_before_read

#define xcc_finish_write_before_read ( )    xcc_slbar()

Definition at line 951 of file xccmem.h.

◆ xcc_finish_write_before_unlock

#define xcc_finish_write_before_unlock ( )    xcc_ssbar()

Definition at line 948 of file xccmem.h.

◆ xcc_finish_write_before_write

#define xcc_finish_write_before_write ( )    xcc_ssbar()

Definition at line 954 of file xccmem.h.

◆ XCC_FLOAT_TYPE_SIZE

#define XCC_FLOAT_TYPE_SIZE   4

Definition at line 627 of file xccmem.h.

◆ XCC_INT_TYPE_SIZE

#define XCC_INT_TYPE_SIZE   4

Definition at line 618 of file xccmem.h.

◆ xcc_labar

#define xcc_labar ( )    xcc_defaultbar_VOID()

Definition at line 888 of file xccmem.h.

◆ xcc_llbar

#define xcc_llbar ( )    xcc_defaultbar_VOID()

Definition at line 885 of file xccmem.h.

◆ xcc_LOCK_INITIALIZER

#define xcc_LOCK_INITIALIZER   0

Definition at line 958 of file xccmem.h.

◆ xcc_lock_t

#define xcc_lock_t   int

Definition at line 961 of file xccmem.h.

◆ XCC_LONG_LONG_TYPE_SIZE

#define XCC_LONG_LONG_TYPE_SIZE   8

Definition at line 624 of file xccmem.h.

◆ XCC_LONG_TYPE_SIZE

#define XCC_LONG_TYPE_SIZE   4

Definition at line 621 of file xccmem.h.

◆ xcc_lsbar

#define xcc_lsbar ( )    xcc_defaultbar_VOID()

Definition at line 882 of file xccmem.h.

◆ xcc_nnbar_VOID

#define xcc_nnbar_VOID ( )    __asm__ __volatile__("":::"memory")

Definition at line 381 of file xccmem.h.

◆ XCC_PTR_TYPE_SIZE

#define XCC_PTR_TYPE_SIZE   4

Definition at line 633 of file xccmem.h.

◆ xcc_rawcas_int

#define xcc_rawcas_int (   loc,
  ov,
  nv 
)
Value:
(sizeof(*(loc))==4 ? xcc_rawcas_SI((xcc_SItype *)(loc),(ov),(nv)) :\
XCC_ASSERT((sizeof(*(loc))==4), rawcas_int))
#define XCC_ASSERT(cond, msg)
Definition: xccmem.h:24

Definition at line 808 of file xccmem.h.

◆ xcc_release_lock

#define xcc_release_lock (   loc)    xcc_atomic_write_int((loc),0)

Definition at line 972 of file xccmem.h.

◆ xcc_release_rlock

#define xcc_release_rlock (   loc)    __xcc_release_rlock(loc)

Definition at line 995 of file xccmem.h.

◆ xcc_release_wlock

#define xcc_release_wlock (   loc)    xcc_atomic_write_int((loc),0)

Definition at line 1010 of file xccmem.h.

◆ xcc_RWLOCK_INITIALIZER

#define xcc_RWLOCK_INITIALIZER   0

Definition at line 976 of file xccmem.h.

◆ xcc_rwlock_t

#define xcc_rwlock_t   int

Definition at line 979 of file xccmem.h.

◆ xcc_sabar

#define xcc_sabar ( )    xcc_defaultbar_VOID()

Definition at line 879 of file xccmem.h.

◆ XCC_SHORT_TYPE_SIZE

#define XCC_SHORT_TYPE_SIZE   2

Definition at line 615 of file xccmem.h.

◆ xcc_slbar

#define xcc_slbar ( )    xcc_defaultbar_VOID()

Definition at line 876 of file xccmem.h.

◆ xcc_spin_lock

#define xcc_spin_lock (   loc)    __xcc_spin_lock(loc)

Definition at line 967 of file xccmem.h.

◆ xcc_spin_rlock

#define xcc_spin_rlock (   loc)    __xcc_spin_rlock(loc)

Definition at line 990 of file xccmem.h.

◆ xcc_spin_wlock

#define xcc_spin_wlock (   loc)    __xcc_spin_wlock(loc)

Definition at line 1005 of file xccmem.h.

◆ xcc_ssbar

#define xcc_ssbar ( )    xcc_defaultbar_VOID()

Definition at line 873 of file xccmem.h.

◆ xcc_start_access_after_lock

#define xcc_start_access_after_lock ( )    xcc_aabar()

Definition at line 902 of file xccmem.h.

◆ xcc_start_access_after_read

#define xcc_start_access_after_read ( )    xcc_labar()

Definition at line 905 of file xccmem.h.

◆ xcc_start_access_after_write

#define xcc_start_access_after_write ( )    xcc_sabar()

Definition at line 908 of file xccmem.h.

◆ xcc_start_read_after_lock

#define xcc_start_read_after_lock ( )    xcc_albar()

Definition at line 911 of file xccmem.h.

◆ xcc_start_read_after_read

#define xcc_start_read_after_read ( )    xcc_llbar()

Definition at line 914 of file xccmem.h.

◆ xcc_start_read_after_write

#define xcc_start_read_after_write ( )    xcc_slbar()

Definition at line 917 of file xccmem.h.

◆ xcc_start_write_after_lock

#define xcc_start_write_after_lock ( )    xcc_asbar()

Definition at line 920 of file xccmem.h.

◆ xcc_start_write_after_read

#define xcc_start_write_after_read ( )    xcc_lsbar()

Definition at line 923 of file xccmem.h.

◆ xcc_start_write_after_write

#define xcc_start_write_after_write ( )    xcc_ssbar()

Definition at line 926 of file xccmem.h.

◆ xcc_try_lock

#define xcc_try_lock (   loc)    xcc_cas_int((loc),0,1)

Definition at line 964 of file xccmem.h.

◆ xcc_try_rlock

#define xcc_try_rlock (   loc)    __xcc_try_rlock(loc)

Definition at line 982 of file xccmem.h.

◆ xcc_try_wlock

#define xcc_try_wlock (   loc)    xcc_cas_int((loc),0,-1)

Definition at line 1002 of file xccmem.h.

Typedef Documentation

◆ __attribute__

typedef float xcc_DFtype __attribute__((mode(DF)))

Definition at line 30 of file xccmem.h.

Function Documentation

◆ __xcc_atomic_swap_DF()

__inline__ xcc_DFtype __xcc_atomic_swap_DF ( xcc_DFtype *  loc,
xcc_DFtype  val 
)

Definition at line 497 of file xccmem.h.

◆ __xcc_atomic_swap_DI()

__inline__ xcc_DItype __xcc_atomic_swap_DI ( xcc_DItype *  loc,
xcc_DItype  val 
)

Definition at line 451 of file xccmem.h.

◆ __xcc_atomic_swap_HI()

__inline__ xcc_HItype __xcc_atomic_swap_HI ( xcc_HItype *  loc,
xcc_HItype  val 
)

Definition at line 471 of file xccmem.h.

◆ __xcc_atomic_swap_QI()

__inline__ xcc_QItype __xcc_atomic_swap_QI ( xcc_QItype *  loc,
xcc_QItype  val 
)

Definition at line 484 of file xccmem.h.

◆ __xcc_atomic_swap_SF()

__inline__ xcc_SFtype __xcc_atomic_swap_SF ( xcc_SFtype *  loc,
xcc_SFtype  val 
)

Definition at line 507 of file xccmem.h.

◆ __xcc_atomic_swap_SI()

__inline__ xcc_SItype __xcc_atomic_swap_SI ( xcc_SItype *  loc,
xcc_SItype  val 
)

Definition at line 461 of file xccmem.h.

◆ __xcc_cas_DF()

__inline__ int __xcc_cas_DF ( xcc_DFtype *  loc,
xcc_DFtype  ov,
xcc_DFtype  nv 
)

Definition at line 431 of file xccmem.h.

◆ __xcc_cas_DI()

__inline__ int __xcc_cas_DI ( xcc_DItype *  loc,
xcc_DItype  ov,
xcc_DItype  nv 
)

Definition at line 387 of file xccmem.h.

◆ __xcc_cas_HI()

__inline__ int __xcc_cas_HI ( xcc_HItype *  loc,
xcc_HItype  ov,
xcc_HItype  nv 
)

Definition at line 403 of file xccmem.h.

◆ __xcc_cas_QI()

__inline__ int __xcc_cas_QI ( xcc_QItype *  loc,
xcc_QItype  ov,
xcc_QItype  nv 
)

Definition at line 417 of file xccmem.h.

◆ __xcc_cas_SF()

__inline__ int __xcc_cas_SF ( xcc_SFtype *  loc,
xcc_SFtype  ov,
xcc_SFtype  nv 
)

Definition at line 441 of file xccmem.h.

◆ __xcc_cas_SI()

__inline__ int __xcc_cas_SI ( xcc_SItype *  loc,
xcc_SItype  ov,
xcc_SItype  nv 
)

Definition at line 395 of file xccmem.h.

◆ __xcc_release_rlock()

__inline__ void __xcc_release_rlock ( int *  loc)

Definition at line 997 of file xccmem.h.

◆ __xcc_spin_lock()

__inline__ void __xcc_spin_lock ( int *  loc)

Definition at line 969 of file xccmem.h.

◆ __xcc_spin_rlock()

__inline__ void __xcc_spin_rlock ( int *  loc)

Definition at line 992 of file xccmem.h.

◆ __xcc_spin_wlock()

__inline__ void __xcc_spin_wlock ( int *  loc)

Definition at line 1007 of file xccmem.h.

◆ __xcc_try_rlock()

__inline__ int __xcc_try_rlock ( int *  loc)

Definition at line 984 of file xccmem.h.



euslisp
Author(s): Toshihiro Matsui
autogenerated on Mon Feb 28 2022 22:18:29