PAPI 7.1.0.0
Loading...
Searching...
No Matches
generic-small.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_HAVE_char_load
 
#define AO_HAVE_char_load_acquire
 
#define AO_HAVE_char_store
 
#define AO_HAVE_char_store_release
 
#define AO_HAVE_short_load
 
#define AO_HAVE_short_load_acquire
 
#define AO_HAVE_short_store
 
#define AO_HAVE_short_store_release
 
#define AO_HAVE_int_load
 
#define AO_HAVE_int_load_acquire
 
#define AO_HAVE_int_store
 
#define AO_HAVE_int_store_release
 
#define AO_HAVE_load
 
#define AO_HAVE_load_acquire
 
#define AO_HAVE_store
 
#define AO_HAVE_store_release
 

Functions

AO_INLINE unsigned char AO_char_load (const volatile unsignedchar *addr)
 
AO_INLINE unsigned char AO_char_load_acquire (const volatile unsignedchar *addr)
 
AO_INLINE void AO_char_store (volatile unsignedchar *addr, unsignedchar value)
 
AO_INLINE void AO_char_store_release (volatile unsignedchar *addr, unsignedchar value)
 
AO_INLINE unsigned short AO_short_load (const volatile unsignedshort *addr)
 
AO_INLINE unsigned short AO_short_load_acquire (const volatile unsignedshort *addr)
 
AO_INLINE void AO_short_store (volatile unsignedshort *addr, unsignedshort value)
 
AO_INLINE void AO_short_store_release (volatile unsignedshort *addr, unsignedshort value)
 
AO_INLINE unsigned AO_int_load (const volatile unsigned *addr)
 
AO_INLINE unsigned AO_int_load_acquire (const volatile unsigned *addr)
 
AO_INLINE void AO_int_store (volatile unsigned *addr, unsigned value)
 
AO_INLINE void AO_int_store_release (volatile unsigned *addr, unsigned value)
 
AO_INLINE AO_t AO_load (const volatile AO_t *addr)
 
AO_INLINE AO_t AO_load_acquire (const volatile AO_t *addr)
 
AO_INLINE void AO_store (volatile AO_t *addr, AO_t value)
 
AO_INLINE void AO_store_release (volatile AO_t *addr, AO_t value)
 

Macro Definition Documentation

◆ AO_HAVE_char_load

#define AO_HAVE_char_load

Definition at line 25 of file generic-small.h.

◆ AO_HAVE_char_load_acquire

#define AO_HAVE_char_load_acquire

Definition at line 32 of file generic-small.h.

◆ AO_HAVE_char_store

#define AO_HAVE_char_store

Definition at line 55 of file generic-small.h.

◆ AO_HAVE_char_store_release

#define AO_HAVE_char_store_release

Definition at line 64 of file generic-small.h.

◆ AO_HAVE_int_load

#define AO_HAVE_int_load

Definition at line 341 of file generic-small.h.

◆ AO_HAVE_int_load_acquire

#define AO_HAVE_int_load_acquire

Definition at line 348 of file generic-small.h.

◆ AO_HAVE_int_store

#define AO_HAVE_int_store

Definition at line 371 of file generic-small.h.

◆ AO_HAVE_int_store_release

#define AO_HAVE_int_store_release

Definition at line 380 of file generic-small.h.

◆ AO_HAVE_load

#define AO_HAVE_load

Definition at line 499 of file generic-small.h.

◆ AO_HAVE_load_acquire

#define AO_HAVE_load_acquire

Definition at line 506 of file generic-small.h.

◆ AO_HAVE_short_load

#define AO_HAVE_short_load

Definition at line 183 of file generic-small.h.

◆ AO_HAVE_short_load_acquire

#define AO_HAVE_short_load_acquire

Definition at line 190 of file generic-small.h.

◆ AO_HAVE_short_store

#define AO_HAVE_short_store

Definition at line 213 of file generic-small.h.

◆ AO_HAVE_short_store_release

#define AO_HAVE_short_store_release

Definition at line 222 of file generic-small.h.

◆ AO_HAVE_store

#define AO_HAVE_store

Definition at line 529 of file generic-small.h.

◆ AO_HAVE_store_release

#define AO_HAVE_store_release

Definition at line 538 of file generic-small.h.

Function Documentation

◆ AO_char_load()

AO_INLINE unsigned char AO_char_load ( const volatile unsignedchar *  addr)

Definition at line 21 of file generic-small.h.

22{
23 return __atomic_load_n(addr, __ATOMIC_RELAXED);
24}

◆ AO_char_load_acquire()

AO_INLINE unsigned char AO_char_load_acquire ( const volatile unsignedchar *  addr)

Definition at line 28 of file generic-small.h.

29{
30 return __atomic_load_n(addr, __ATOMIC_ACQUIRE);
31}

◆ AO_char_store()

AO_INLINE void AO_char_store ( volatile unsignedchar *  addr,
unsignedchar  value 
)

Definition at line 51 of file generic-small.h.

52 {
53 __atomic_store_n(addr, value, __ATOMIC_RELAXED);
54 }

◆ AO_char_store_release()

AO_INLINE void AO_char_store_release ( volatile unsignedchar *  addr,
unsignedchar  value 
)

Definition at line 60 of file generic-small.h.

61 {
62 __atomic_store_n(addr, value, __ATOMIC_RELEASE);
63 }

◆ AO_int_load()

AO_INLINE unsigned AO_int_load ( const volatile unsigned *  addr)

Definition at line 337 of file generic-small.h.

338{
339 return __atomic_load_n(addr, __ATOMIC_RELAXED);
340}

◆ AO_int_load_acquire()

AO_INLINE unsigned AO_int_load_acquire ( const volatile unsigned *  addr)

Definition at line 344 of file generic-small.h.

345{
346 return __atomic_load_n(addr, __ATOMIC_ACQUIRE);
347}

◆ AO_int_store()

AO_INLINE void AO_int_store ( volatile unsigned *  addr,
unsigned  value 
)

Definition at line 367 of file generic-small.h.

368 {
369 __atomic_store_n(addr, value, __ATOMIC_RELAXED);
370 }

◆ AO_int_store_release()

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

Definition at line 376 of file generic-small.h.

377 {
378 __atomic_store_n(addr, value, __ATOMIC_RELEASE);
379 }

◆ AO_load()

AO_INLINE AO_t AO_load ( const volatile AO_t addr)

Definition at line 495 of file generic-small.h.

496{
497 return __atomic_load_n(addr, __ATOMIC_RELAXED);
498}

◆ AO_load_acquire()

AO_INLINE AO_t AO_load_acquire ( const volatile AO_t addr)

Definition at line 502 of file generic-small.h.

503{
504 return __atomic_load_n(addr, __ATOMIC_ACQUIRE);
505}

◆ AO_short_load()

AO_INLINE unsigned short AO_short_load ( const volatile unsignedshort *  addr)

Definition at line 179 of file generic-small.h.

180{
181 return __atomic_load_n(addr, __ATOMIC_RELAXED);
182}

◆ AO_short_load_acquire()

AO_INLINE unsigned short AO_short_load_acquire ( const volatile unsignedshort *  addr)

Definition at line 186 of file generic-small.h.

187{
188 return __atomic_load_n(addr, __ATOMIC_ACQUIRE);
189}

◆ AO_short_store()

AO_INLINE void AO_short_store ( volatile unsignedshort *  addr,
unsignedshort  value 
)

Definition at line 209 of file generic-small.h.

210 {
211 __atomic_store_n(addr, value, __ATOMIC_RELAXED);
212 }

◆ AO_short_store_release()

AO_INLINE void AO_short_store_release ( volatile unsignedshort *  addr,
unsignedshort  value 
)

Definition at line 218 of file generic-small.h.

219 {
220 __atomic_store_n(addr, value, __ATOMIC_RELEASE);
221 }

◆ AO_store()

AO_INLINE void AO_store ( volatile AO_t addr,
AO_t  value 
)

Definition at line 525 of file generic-small.h.

526 {
527 __atomic_store_n(addr, value, __ATOMIC_RELAXED);
528 }

◆ AO_store_release()

AO_INLINE void AO_store_release ( volatile AO_t addr,
AO_t  value 
)

Definition at line 534 of file generic-small.h.

535 {
536 __atomic_store_n(addr, value, __ATOMIC_RELEASE);
537 }