clang  14.0.0git
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_rsrf(sysreg)   __builtin_bit_cast(float, __arm_rsr(sysreg))
 
#define __arm_rsrf64(sysreg)   __builtin_bit_cast(double, __arm_rsr64(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)
 
#define __arm_wsrf(sysreg, v)   __arm_wsr(sysreg, __builtin_bit_cast(uint32_t, v))
 
#define __arm_wsrf64(sysreg, v)   __arm_wsr64(sysreg, __builtin_bit_cast(uint64_t, 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 712 of file arm_acle.h.

◆ __arm_rsr64

#define __arm_rsr64 (   sysreg)    __builtin_arm_rsr64(sysreg)

Definition at line 713 of file arm_acle.h.

◆ __arm_rsrf

#define __arm_rsrf (   sysreg)    __builtin_bit_cast(float, __arm_rsr(sysreg))

Definition at line 715 of file arm_acle.h.

◆ __arm_rsrf64

#define __arm_rsrf64 (   sysreg)    __builtin_bit_cast(double, __arm_rsr64(sysreg))

Definition at line 716 of file arm_acle.h.

◆ __arm_rsrp

#define __arm_rsrp (   sysreg)    __builtin_arm_rsrp(sysreg)

Definition at line 714 of file arm_acle.h.

◆ __arm_wsr

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

Definition at line 717 of file arm_acle.h.

◆ __arm_wsr64

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

Definition at line 718 of file arm_acle.h.

◆ __arm_wsrf

#define __arm_wsrf (   sysreg,
  v 
)    __arm_wsr(sysreg, __builtin_bit_cast(uint32_t, v))

Definition at line 720 of file arm_acle.h.

◆ __arm_wsrf64

#define __arm_wsrf64 (   sysreg,
  v 
)    __arm_wsr64(sysreg, __builtin_bit_cast(uint64_t, v))

Definition at line 721 of file arm_acle.h.

◆ __arm_wsrp

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

Definition at line 719 of file arm_acle.h.

◆ __dmb

#define __dmb (   i)    __builtin_arm_dmb(i)

Definition at line 26 of file arm_acle.h.

◆ __dsb

#define __dsb (   i)    __builtin_arm_dsb(i)

Definition at line 29 of file arm_acle.h.

◆ __isb

#define __isb (   i)    __builtin_arm_isb(i)

Definition at line 32 of file arm_acle.h.

◆ __pld

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

Definition at line 83 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 89 of file arm_acle.h.

◆ __pli

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

Definition at line 94 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 100 of file arm_acle.h.

Function Documentation

◆ __attribute__()

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

Definition at line 38 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

Definition at line 73 of file arm_acle.h.

◆ __y

__inline__ unsigned long uint32_t __y
Initial value:
{
__y %= 32

Definition at line 115 of file arm_acle.h.

◆ v

return v = __builtin_arm_ldrex(__p)
__y
static __inline__ uint32_t uint32_t __y
Definition: arm_acle.h:115
v
do v
Definition: arm_acle.h:76