clang  6.0.0svn
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

◆ __arm_rsr

#define __arm_rsr (   sysreg)    __builtin_arm_rsr(sysreg)

Definition at line 615 of file arm_acle.h.

◆ __arm_rsr64

#define __arm_rsr64 (   sysreg)    __builtin_arm_rsr64(sysreg)

Definition at line 616 of file arm_acle.h.

◆ __arm_rsrp

#define __arm_rsrp (   sysreg)    __builtin_arm_rsrp(sysreg)

Definition at line 617 of file arm_acle.h.

◆ __arm_wsr

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

Definition at line 618 of file arm_acle.h.

◆ __arm_wsr64

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

Definition at line 619 of file arm_acle.h.

◆ __arm_wsrp

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

Definition at line 620 of file arm_acle.h.

◆ __dmb

#define __dmb (   i)    __builtin_arm_dmb(i)

Definition at line 40 of file arm_acle.h.

◆ __dsb

#define __dsb (   i)    __builtin_arm_dsb(i)

Definition at line 41 of file arm_acle.h.

◆ __isb

#define __isb (   i)    __builtin_arm_isb(i)

Definition at line 42 of file arm_acle.h.

◆ __pld

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

Definition at line 85 of file arm_acle.h.

◆ __pldx

#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.

◆ __pli

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

Definition at line 96 of file arm_acle.h.

◆ __plix

#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

◆ __attribute__()

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

Definition at line 48 of file arm_acle.h.

◆ if()

if ( __y  = =0)

◆ return()

return ( __x >>  __y)

◆ while()

while ( __builtin_arm_strex(__x, __p )

Variable Documentation

◆ __p

__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.

◆ __y

__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.

◆ v

return v = __builtin_arm_ldrex(__p)