PAPI 7.1.0.0
Loading...
Searching...
No Matches
int_acquire_release_volatile.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define AO_GCC_BARRIER()   (void)0
 
#define AO_HAVE_GCC_BARRIER
 
#define AO_HAVE_int_load_acquire
 
#define AO_HAVE_int_store_release
 

Functions

AO_INLINE unsigned AO_int_load_acquire (const volatile unsigned *addr)
 
AO_INLINE void AO_int_store_release (volatile unsigned *addr, unsigned new_val)
 

Macro Definition Documentation

◆ AO_GCC_BARRIER

#define AO_GCC_BARRIER ( )    (void)0

Definition at line 39 of file int_acquire_release_volatile.h.

◆ AO_HAVE_GCC_BARRIER

#define AO_HAVE_GCC_BARRIER

Definition at line 41 of file int_acquire_release_volatile.h.

◆ AO_HAVE_int_load_acquire

#define AO_HAVE_int_load_acquire

Definition at line 53 of file int_acquire_release_volatile.h.

◆ AO_HAVE_int_store_release

#define AO_HAVE_int_store_release

Definition at line 62 of file int_acquire_release_volatile.h.

Function Documentation

◆ AO_int_load_acquire()

AO_INLINE unsigned AO_int_load_acquire ( const volatile unsigned *  addr)

Definition at line 45 of file int_acquire_release_volatile.h.

46{
47 unsigned result = *addr;
48
49 /* A normal volatile load generates an ld.acq (on IA-64). */
51 return result;
52}
volatile int result
#define AO_GCC_BARRIER()

◆ AO_int_store_release()

AO_INLINE void AO_int_store_release ( volatile unsigned *  addr,
unsigned  new_val 
)

Definition at line 56 of file int_acquire_release_volatile.h.

57{
59 /* A normal volatile store generates an st.rel (on IA-64). */
60 *addr = new_val;
61}