PAPI 7.1.0.0
Loading...
Searching...
No Matches
gcc/hppa.h File Reference
Include dependency graph for gcc/hppa.h:

Go to the source code of this file.

Data Structures

struct  AO_pa_clearable_loc
 

Macros

#define AO_TS_t   struct AO_pa_clearable_loc
 
#define AO_TS_INITIALIZER   { { 1, 1, 1, 1 } }
 
#define AO_TS_VAL_t   AO_PA_TS_val
 
#define AO_TS_CLEAR   AO_PA_TS_clear
 
#define AO_TS_SET   AO_PA_TS_set
 
#define AO_ldcw(a, ret)
 
#define AO_PA_LDCW_ALIGNMENT   16
 
#define AO_ldcw_align(addr)
 
#define AO_HAVE_test_and_set_full
 
#define AO_CLEAR(addr)   AO_pa_clear(addr)
 
#define AO_HAVE_CLEAR
 

Enumerations

enum  AO_PA_TS_val { AO_PA_TS_set = 0 , AO_PA_TS_clear = 1 , AO_PA_TS_set = 0 , AO_PA_TS_clear = 1 }
 

Functions

AO_INLINE AO_TS_VAL_t AO_test_and_set_full (volatile AO_TS_t *addr)
 
AO_INLINE void AO_pa_clear (volatile AO_TS_t *addr)
 

Macro Definition Documentation

◆ AO_CLEAR

#define AO_CLEAR (   addr)    AO_pa_clear(addr)

Definition at line 89 of file gcc/hppa.h.

◆ AO_HAVE_CLEAR

#define AO_HAVE_CLEAR

Definition at line 90 of file gcc/hppa.h.

◆ AO_HAVE_test_and_set_full

#define AO_HAVE_test_and_set_full

Definition at line 79 of file gcc/hppa.h.

◆ AO_ldcw

#define AO_ldcw (   a,
  ret 
)
Value:
__asm__ __volatile__("ldcw 0(%2), %0" \
: "=r" (ret), "=m" (*(a)) : "r" (a))
static double a[MATRIX_SIZE][MATRIX_SIZE]
Definition: libmsr_basic.c:38

Definition at line 52 of file gcc/hppa.h.

◆ AO_ldcw_align

#define AO_ldcw_align (   addr)
Value:
((volatile unsigned *)(((unsigned long)(addr) \
#define AO_PA_LDCW_ALIGNMENT
Definition: gcc/hppa.h:63

Definition at line 64 of file gcc/hppa.h.

◆ AO_PA_LDCW_ALIGNMENT

#define AO_PA_LDCW_ALIGNMENT   16

Definition at line 63 of file gcc/hppa.h.

◆ AO_TS_CLEAR

#define AO_TS_CLEAR   AO_PA_TS_clear

Definition at line 45 of file gcc/hppa.h.

◆ AO_TS_INITIALIZER

#define AO_TS_INITIALIZER   { { 1, 1, 1, 1 } }

Definition at line 40 of file gcc/hppa.h.

◆ AO_TS_SET

#define AO_TS_SET   AO_PA_TS_set

Definition at line 46 of file gcc/hppa.h.

◆ AO_TS_t

#define AO_TS_t   struct AO_pa_clearable_loc

Definition at line 39 of file gcc/hppa.h.

◆ AO_TS_VAL_t

#define AO_TS_VAL_t   AO_PA_TS_val

Definition at line 44 of file gcc/hppa.h.

Enumeration Type Documentation

◆ AO_PA_TS_val

Enumerator
AO_PA_TS_set 
AO_PA_TS_clear 
AO_PA_TS_set 
AO_PA_TS_clear 

Definition at line 43 of file gcc/hppa.h.

AO_PA_TS_val
Definition: gcc/hppa.h:43
@ AO_PA_TS_clear
Definition: gcc/hppa.h:43
@ AO_PA_TS_set
Definition: gcc/hppa.h:43

Function Documentation

◆ AO_pa_clear()

AO_INLINE void AO_pa_clear ( volatile AO_TS_t addr)

Definition at line 82 of file gcc/hppa.h.

83{
84 volatile unsigned *a = AO_ldcw_align(addr);
85
87 *a = 1;
88}
#define AO_compiler_barrier()
Definition: atomic_ops.h:305
#define AO_ldcw_align(addr)
Definition: gcc/hppa.h:64

◆ AO_test_and_set_full()

AO_INLINE AO_TS_VAL_t AO_test_and_set_full ( volatile AO_TS_t addr)

Definition at line 71 of file gcc/hppa.h.

72{
73 volatile unsigned int ret;
74 volatile unsigned *a = AO_ldcw_align(addr);
75
76 AO_ldcw(a, ret);
77 return (AO_TS_VAL_t)ret;
78}
#define AO_ldcw(a, ret)
Definition: gcc/hppa.h:52
#define AO_TS_VAL_t
Definition: gcc/hppa.h:44