PAPI 7.1.0.0
Loading...
Searching...
No Matches
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_load_acquire
 
#define AO_HAVE_store_release
 

Functions

AO_INLINE AO_t AO_load_acquire (const volatile AO_t *addr)
 
AO_INLINE void AO_store_release (volatile AO_t *addr, AO_t new_val)
 

Macro Definition Documentation

◆ AO_GCC_BARRIER

#define AO_GCC_BARRIER ( )    (void)0

Definition at line 39 of file acquire_release_volatile.h.

◆ AO_HAVE_GCC_BARRIER

#define AO_HAVE_GCC_BARRIER

Definition at line 41 of file acquire_release_volatile.h.

◆ AO_HAVE_load_acquire

#define AO_HAVE_load_acquire

Definition at line 53 of file acquire_release_volatile.h.

◆ AO_HAVE_store_release

#define AO_HAVE_store_release

Definition at line 62 of file acquire_release_volatile.h.

Function Documentation

◆ AO_load_acquire()

AO_INLINE AO_t AO_load_acquire ( const volatile AO_t addr)

Definition at line 45 of file acquire_release_volatile.h.

46{
47 AO_t 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()
#define AO_t
Definition: atomic_ops.h:156

◆ AO_store_release()

AO_INLINE void AO_store_release ( volatile AO_t addr,
AO_t  new_val 
)

Definition at line 56 of file acquire_release_volatile.h.

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