clang  3.9.0
Macros | Functions | Variables
arm_acle.h File Reference
#include <stdint.h>
Include dependency graph for arm_acle.h:

Go to the source code of this file.

Macros

#define __dmb(i)   __builtin_arm_dmb(i)
 
#define __dsb(i)   __builtin_arm_dsb(i)
 
#define __isb(i)   __builtin_arm_isb(i)
 
#define __pld(addr)   __pldx(0, 0, 0, addr)
 
#define __pldx(access_kind, cache_level, retention_policy, addr)   __builtin_arm_prefetch(addr, access_kind, cache_level, retention_policy, 1)
 
#define __pli(addr)   __plix(0, 0, addr)
 
#define __plix(cache_level, retention_policy, addr)   __builtin_arm_prefetch(addr, 0, cache_level, retention_policy, 0)
 
#define __arm_rsr(sysreg)   __builtin_arm_rsr(sysreg)
 
#define __arm_rsr64(sysreg)   __builtin_arm_rsr64(sysreg)
 
#define __arm_rsrp(sysreg)   __builtin_arm_rsrp(sysreg)
 
#define __arm_wsr(sysreg, v)   __builtin_arm_wsr(sysreg, v)
 
#define __arm_wsr64(sysreg, v)   __builtin_arm_wsr64(sysreg, v)
 
#define __arm_wsrp(sysreg, v)   __builtin_arm_wsrp(sysreg, v)
 

Functions

static __inline__ void __attribute__ ((__always_inline__, __nodebug__)) __wfi(void)
 
 while (__builtin_arm_strex(__x, __p))
 
 if (__y==0) return __x
 
 return (__x >> __y)|(__x<< (32-__y))
 

Variables

static __inline__ uint32_t
volatile uint32_t * 
__p
 
do v = __builtin_arm_ldrex(__p)
 
static __inline__ uint32_t uint32_t __y
 

Macro Definition Documentation

#define __arm_rsr (   sysreg)    __builtin_arm_rsr(sysreg)

Definition at line 301 of file arm_acle.h.

#define __arm_rsr64 (   sysreg)    __builtin_arm_rsr64(sysreg)

Definition at line 302 of file arm_acle.h.

#define __arm_rsrp (   sysreg)    __builtin_arm_rsrp(sysreg)

Definition at line 303 of file arm_acle.h.

#define __arm_wsr (   sysreg,
  v 
)    __builtin_arm_wsr(sysreg, v)

Definition at line 304 of file arm_acle.h.

#define __arm_wsr64 (   sysreg,
  v 
)    __builtin_arm_wsr64(sysreg, v)

Definition at line 305 of file arm_acle.h.

#define __arm_wsrp (   sysreg,
  v 
)    __builtin_arm_wsrp(sysreg, v)

Definition at line 306 of file arm_acle.h.

#define __dmb (   i)    __builtin_arm_dmb(i)

Definition at line 40 of file arm_acle.h.

#define __dsb (   i)    __builtin_arm_dsb(i)

Definition at line 41 of file arm_acle.h.

#define __isb (   i)    __builtin_arm_isb(i)

Definition at line 42 of file arm_acle.h.

#define __pld (   addr)    __pldx(0, 0, 0, addr)

Definition at line 85 of file arm_acle.h.

#define __pldx (   access_kind,
  cache_level,
  retention_policy,
  addr 
)    __builtin_arm_prefetch(addr, access_kind, cache_level, retention_policy, 1)

Definition at line 91 of file arm_acle.h.

#define __pli (   addr)    __plix(0, 0, addr)

Definition at line 96 of file arm_acle.h.

#define __plix (   cache_level,
  retention_policy,
  addr 
)    __builtin_arm_prefetch(addr, 0, cache_level, retention_policy, 0)

Definition at line 102 of file arm_acle.h.

Function Documentation

static __inline__ void __attribute__ ( (__always_inline__, __nodebug__)  )
static

Definition at line 48 of file arm_acle.h.

if ( __y  = =0)
return ( __x >>  __y)
while ( __builtin_arm_strex(__x, __p )

Variable Documentation

__inline__ uint32_t volatile uint32_t* __p
Initial value:
{
uint32_t v
do v
Definition: arm_acle.h:78

Definition at line 75 of file arm_acle.h.

__inline__ unsigned long uint32_t __y
Initial value:
{
__y %= 32
static __inline__ uint32_t uint32_t __y
Definition: arm_acle.h:115

Definition at line 115 of file arm_acle.h.

return v = __builtin_arm_ldrex(__p)