#include <intrin.h>
#include <float.h>
Go to the source code of this file.
|
| tbb |
| The graph class.
|
|
| tbb::internal |
| Identifiers declared inside namespace internal should never be used directly by client code.
|
|
|
#define | __TBB_WORDSIZE 4 |
|
#define | __TBB_ENDIANNESS __TBB_ENDIAN_UNSUPPORTED |
|
#define | __TBB_compiler_fence() __dmb(_ARM_BARRIER_SY) |
|
#define | __TBB_full_memory_fence() __dmb(_ARM_BARRIER_SY) |
|
#define | __TBB_control_consistency_helper() __TBB_compiler_fence() |
|
#define | __TBB_acquire_consistency_helper() __TBB_full_memory_fence() |
|
#define | __TBB_release_consistency_helper() __TBB_full_memory_fence() |
|
#define | __TBB_MACHINE_DEFINE_ATOMICS_CMPSWP(S, T, F) |
|
#define | __TBB_MACHINE_DEFINE_ATOMICS_FETCHADD(S, T, F) |
|
#define | __TBB_CPU_CTL_ENV_PRESENT 1 |
|
#define | __TBB_CompareAndSwap4(P, V, C) __TBB_machine_cmpswp4(P,V,C) |
|
#define | __TBB_CompareAndSwap8(P, V, C) __TBB_machine_cmpswp8(P,V,C) |
|
#define | __TBB_Pause(V) __TBB_machine_pause(V) |
|
#define | __TBB_USE_FETCHSTORE_AS_FULL_FENCED_STORE 1 |
|
#define | __TBB_USE_GENERIC_HALF_FENCED_LOAD_STORE 1 |
|
#define | __TBB_USE_GENERIC_PART_WORD_FETCH_ADD 1 |
|
#define | __TBB_USE_GENERIC_PART_WORD_FETCH_STORE 1 |
|
#define | __TBB_USE_GENERIC_FETCH_STORE 1 |
|
#define | __TBB_USE_GENERIC_DWORD_LOAD_STORE 1 |
|
#define | __TBB_USE_GENERIC_SEQUENTIAL_CONSISTENCY_LOAD_STORE 1 |
|
#define | __TBB_Yield() __yield() |
|
#define | __TBB_AtomicOR(P, V) __TBB_machine_OR(P,V) |
|
#define | __TBB_AtomicAND(P, V) __TBB_machine_AND(P,V) |
|
◆ __TBB_acquire_consistency_helper
◆ __TBB_AtomicAND
◆ __TBB_AtomicOR
◆ __TBB_CompareAndSwap4
◆ __TBB_CompareAndSwap8
◆ __TBB_compiler_fence
#define __TBB_compiler_fence |
( |
| ) |
__dmb(_ARM_BARRIER_SY) |
◆ __TBB_control_consistency_helper
◆ __TBB_CPU_CTL_ENV_PRESENT
#define __TBB_CPU_CTL_ENV_PRESENT 1 |
◆ __TBB_ENDIANNESS
◆ __TBB_full_memory_fence
#define __TBB_full_memory_fence |
( |
| ) |
__dmb(_ARM_BARRIER_SY) |
◆ __TBB_MACHINE_DEFINE_ATOMICS_CMPSWP
#define __TBB_MACHINE_DEFINE_ATOMICS_CMPSWP |
( |
|
S, |
|
|
|
T, |
|
|
|
F |
|
) |
| |
Value:inline T __TBB_machine_cmpswp##
S(
volatile void *ptr, T
value, T comparand ) { \
return _InterlockedCompareExchange##F(reinterpret_cast<volatile T *>(ptr),
value,comparand); \
} \
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t int ITT_FORMAT d no args no args unsigned int ITT_FORMAT u const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain __itt_id ITT_FORMAT p const __itt_domain __itt_id __itt_timestamp __itt_timestamp ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain ITT_FORMAT p const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_id __itt_string_handle __itt_metadata_type size_t void ITT_FORMAT p const __itt_domain __itt_id __itt_string_handle const wchar_t size_t ITT_FORMAT lu const __itt_domain __itt_id __itt_relation __itt_id ITT_FORMAT p const wchar_t int ITT_FORMAT __itt_group_mark S
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t int ITT_FORMAT d no args no args unsigned int ITT_FORMAT u const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain __itt_id ITT_FORMAT p const __itt_domain __itt_id __itt_timestamp __itt_timestamp ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain ITT_FORMAT p const __itt_domain __itt_string_handle unsigned long long value
Atomic CAS for 32 bit values, if *ptr==comparand, then *ptr=value, returns *ptr
- Parameters
-
ptr | pointer to value in memory to be swapped with value if *ptr==comparand |
value | value to assign *ptr to if *ptr==comparand |
comparand | value to compare with *ptr |
- Returns
- value originally in memory at ptr, regardless of success
Definition at line 61 of file msvc_armv7.h.
◆ __TBB_MACHINE_DEFINE_ATOMICS_FETCHADD
#define __TBB_MACHINE_DEFINE_ATOMICS_FETCHADD |
( |
|
S, |
|
|
|
T, |
|
|
|
F |
|
) |
| |
Value:inline T __TBB_machine_fetchadd##
S(
volatile void *ptr, T
value ) { \
return _InterlockedExchangeAdd##F(reinterpret_cast<volatile T *>(ptr),
value); \
} \
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t int ITT_FORMAT d no args no args unsigned int ITT_FORMAT u const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain __itt_id ITT_FORMAT p const __itt_domain __itt_id __itt_timestamp __itt_timestamp ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain ITT_FORMAT p const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_id __itt_string_handle __itt_metadata_type size_t void ITT_FORMAT p const __itt_domain __itt_id __itt_string_handle const wchar_t size_t ITT_FORMAT lu const __itt_domain __itt_id __itt_relation __itt_id ITT_FORMAT p const wchar_t int ITT_FORMAT __itt_group_mark S
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t int ITT_FORMAT d no args no args unsigned int ITT_FORMAT u const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain __itt_id ITT_FORMAT p const __itt_domain __itt_id __itt_timestamp __itt_timestamp ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain ITT_FORMAT p const __itt_domain __itt_string_handle unsigned long long value
Definition at line 66 of file msvc_armv7.h.
◆ __TBB_Pause
◆ __TBB_release_consistency_helper
◆ __TBB_USE_FETCHSTORE_AS_FULL_FENCED_STORE
#define __TBB_USE_FETCHSTORE_AS_FULL_FENCED_STORE 1 |
◆ __TBB_USE_GENERIC_DWORD_LOAD_STORE
#define __TBB_USE_GENERIC_DWORD_LOAD_STORE 1 |
◆ __TBB_USE_GENERIC_FETCH_STORE
#define __TBB_USE_GENERIC_FETCH_STORE 1 |
◆ __TBB_USE_GENERIC_HALF_FENCED_LOAD_STORE
#define __TBB_USE_GENERIC_HALF_FENCED_LOAD_STORE 1 |
◆ __TBB_USE_GENERIC_PART_WORD_FETCH_ADD
#define __TBB_USE_GENERIC_PART_WORD_FETCH_ADD 1 |
◆ __TBB_USE_GENERIC_PART_WORD_FETCH_STORE
#define __TBB_USE_GENERIC_PART_WORD_FETCH_STORE 1 |
◆ __TBB_USE_GENERIC_SEQUENTIAL_CONSISTENCY_LOAD_STORE
#define __TBB_USE_GENERIC_SEQUENTIAL_CONSISTENCY_LOAD_STORE 1 |
◆ __TBB_WORDSIZE
◆ __TBB_Yield
#define __TBB_Yield |
( |
| ) |
__yield() |
◆ __TBB_machine_AND()
template<typename T1 , typename T2 >
void __TBB_machine_AND |
( |
T1 * |
operand, |
|
|
T2 |
addend |
|
) |
| |
|
inline |
Definition at line 164 of file msvc_armv7.h.
165 _InterlockedAnd((
long volatile *)operand, (
long)addend);
◆ __TBB_machine_OR()
template<typename T1 , typename T2 >
void __TBB_machine_OR |
( |
T1 * |
operand, |
|
|
T2 |
addend |
|
) |
| |
|
inline |
Definition at line 159 of file msvc_armv7.h.
160 _InterlockedOr((
long volatile *)operand, (
long)addend);
◆ __TBB_machine_pause()
void __TBB_machine_pause |
( |
int32_t |
delay | ) |
|
|
inline |