clang 20.0.0git
Macros | Functions | Variables
arm_acle.h File Reference
#include <stdint.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_rsr128(sysreg)   __builtin_arm_rsr128(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_wsr128(sysreg, v)   __builtin_arm_wsr128(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 746 of file arm_acle.h.

◆ __arm_rsr128

#define __arm_rsr128 (   sysreg)    __builtin_arm_rsr128(sysreg)

Definition at line 748 of file arm_acle.h.

◆ __arm_rsr64

#define __arm_rsr64 (   sysreg)    __builtin_arm_rsr64(sysreg)

Definition at line 747 of file arm_acle.h.

◆ __arm_rsrf

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

Definition at line 750 of file arm_acle.h.

◆ __arm_rsrf64

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

Definition at line 751 of file arm_acle.h.

◆ __arm_rsrp

#define __arm_rsrp (   sysreg)    __builtin_arm_rsrp(sysreg)

Definition at line 749 of file arm_acle.h.

◆ __arm_wsr

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

Definition at line 752 of file arm_acle.h.

◆ __arm_wsr128

#define __arm_wsr128 (   sysreg,
  v 
)    __builtin_arm_wsr128(sysreg, v)

Definition at line 754 of file arm_acle.h.

◆ __arm_wsr64

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

Definition at line 753 of file arm_acle.h.

◆ __arm_wsrf

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

Definition at line 756 of file arm_acle.h.

◆ __arm_wsrf64

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

Definition at line 757 of file arm_acle.h.

◆ __arm_wsrp

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

Definition at line 755 of file arm_acle.h.

◆ __dmb

#define __dmb (   i)    __builtin_arm_dmb(i)

Definition at line 33 of file arm_acle.h.

◆ __dsb

#define __dsb (   i)    __builtin_arm_dsb(i)

Definition at line 36 of file arm_acle.h.

◆ __isb

#define __isb (   i)    __builtin_arm_isb(i)

Definition at line 39 of file arm_acle.h.

◆ __pld

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

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

◆ __pli

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

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

Function Documentation

◆ __attribute__()

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

Definition at line 45 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:91

Definition at line 88 of file arm_acle.h.

Referenced by __attribute__(), __dAtomicAdd(), __dAtomicAdd_block(), __dAtomicAdd_system(), __fAtomicAdd(), __fAtomicAdd_block(), __fAtomicAdd_system(), __fAtomicExch(), __fAtomicExch_block(), __fAtomicExch_system(), __iAtomicAdd(), __iAtomicAdd_block(), __iAtomicAdd_system(), __iAtomicAnd(), __iAtomicAnd_block(), __iAtomicAnd_system(), __iAtomicCAS(), __iAtomicCAS_block(), __iAtomicCAS_system(), __iAtomicExch(), __iAtomicExch_block(), __iAtomicExch_system(), __iAtomicMax(), __iAtomicMax_block(), __iAtomicMax_system(), __iAtomicMin(), __iAtomicMin_block(), __iAtomicMin_system(), __iAtomicOr(), __iAtomicOr_block(), __iAtomicOr_system(), __iAtomicXor(), __iAtomicXor_block(), __iAtomicXor_system(), __illAtomicMax(), __illAtomicMax_block(), __illAtomicMax_system(), __illAtomicMin(), __illAtomicMin_block(), __illAtomicMin_system(), __llAtomicAnd(), __llAtomicAnd_block(), __llAtomicAnd_system(), __llAtomicOr(), __llAtomicOr_block(), __llAtomicOr_system(), __llAtomicXor(), __llAtomicXor_block(), __llAtomicXor_system(), __uAtomicAdd(), __uAtomicAdd_block(), __uAtomicAdd_system(), __uAtomicAnd(), __uAtomicAnd_block(), __uAtomicAnd_system(), __uAtomicCAS(), __uAtomicCAS_block(), __uAtomicCAS_system(), __uAtomicDec(), __uAtomicDec_block(), __uAtomicDec_system(), __uAtomicExch(), __uAtomicExch_block(), __uAtomicExch_system(), __uAtomicInc(), __uAtomicInc_block(), __uAtomicInc_system(), __uAtomicMax(), __uAtomicMax_block(), __uAtomicMax_system(), __uAtomicMin(), __uAtomicMin_block(), __uAtomicMin_system(), __uAtomicOr(), __uAtomicOr_block(), __uAtomicOr_system(), __uAtomicXor(), __uAtomicXor_block(), __uAtomicXor_system(), __ullAtomicAdd(), __ullAtomicAdd_block(), __ullAtomicAdd_system(), __ullAtomicAnd(), __ullAtomicAnd_block(), __ullAtomicAnd_system(), __ullAtomicCAS(), __ullAtomicCAS_block(), __ullAtomicCAS_system(), __ullAtomicExch(), __ullAtomicExch_block(), __ullAtomicExch_system(), __ullAtomicMax(), __ullAtomicMax_block(), __ullAtomicMax_system(), __ullAtomicMin(), __ullAtomicMin_block(), __ullAtomicMin_system(), __ullAtomicOr(), __ullAtomicOr_block(), __ullAtomicOr_system(), __ullAtomicXor(), __ullAtomicXor_block(), __ullAtomicXor_system(), _addcarry_u32(), _addcarryx_u32(), _clrssbsy(), _fxrstor(), _fxsave(), _mm256_lddqu_si256(), _mm256_load_pd(), _mm256_load_ps(), _mm256_load_si256(), _mm256_loadu_pd(), _mm256_loadu_ps(), _mm256_loadu_si256(), _mm256_maskload_pd(), _mm256_maskload_ps(), _mm256_maskstore_pd(), _mm256_maskstore_ps(), _mm256_store_pd(), _mm256_store_ps(), _mm256_store_si256(), _mm256_storeu_pd(), _mm256_storeu_ps(), _mm256_storeu_si256(), _mm256_stream_ps(), _mm512_load_pd(), _mm512_load_ps(), _mm512_loadu_pd(), _mm512_loadu_ps(), _mm_clwb(), _mm_lddqu_si128(), _mm_load1_ps(), _mm_load_ps(), _mm_load_si128(), _mm_load_ss(), _mm_loadh_pi(), _mm_loadl_epi64(), _mm_loadl_pi(), _mm_loadr_ps(), _mm_loadu_ps(), _mm_loadu_si128(), _mm_maskload_pd(), _mm_maskload_ps(), _mm_maskmove_si64(), _mm_maskmoveu_si128(), _mm_maskstore_pd(), _mm_maskstore_ps(), _mm_monitor(), _mm_monitorx(), _mm_store1_ps(), _mm_store_ps(), _mm_store_ps1(), _mm_store_si128(), _mm_store_ss(), _mm_storeh_pi(), _mm_storel_epi64(), _mm_storel_pi(), _mm_storer_ps(), _mm_storeu_ps(), _mm_storeu_si128(), _mm_storeu_si16(), _mm_storeu_si32(), _mm_storeu_si64(), _mm_stream_pd(), _mm_stream_pi(), _mm_stream_ps(), _mm_stream_sd(), _mm_stream_si128(), _mm_stream_ss(), _rdseed16_step(), _rdseed32_step(), _rstorssp(), _subborrow_u32(), _wrssd(), _wrussd(), _xrstor(), _xrstors(), _xsave(), _xsavec(), _xsaveopt(), _xsaves(), and operator new().

◆ __y

static __inline__ unsigned long uint32_t __y

◆ v

return v = __builtin_arm_ldrex(__p)