17 #if !defined(__TBB_machine_H) || defined(__TBB_machine_windows_ia32_H)
18 #error Do not #include this internal file directly; use public TBB headers instead.
21 #define __TBB_machine_windows_ia32_H
23 #if defined(_MSC_VER) && !defined(__INTEL_COMPILER)
25 #pragma warning (push)
26 #pragma warning (disable: 4244 4267)
31 #define __TBB_WORDSIZE 4
32 #define __TBB_ENDIANNESS __TBB_ENDIAN_LITTLE
42 #if !__TBB_MSVC_PART_WORD_INTERLOCKED_INTRINSICS_PRESENT
44 #define __TBB_MACHINE_DEFINE_ATOMICS(S,T,U,A,C) \
45 static inline T __TBB_machine_cmpswp##S ( volatile void * ptr, U value, U comparand ) { \
47 volatile T *p = (T *)ptr; \
52 __asm mov A , comparand \
53 __asm lock cmpxchg [edx], C \
59 static inline T __TBB_machine_fetchadd##S ( volatile void * ptr, U addend ) { \
61 volatile T *p = (T *)ptr; \
66 __asm lock xadd [edx], A \
72 static inline T __TBB_machine_fetchstore##S ( volatile void * ptr, U value ) { \
74 volatile T *p = (T *)ptr; \
79 __asm lock xchg [edx], A \
90 #undef __TBB_MACHINE_DEFINE_ATOMICS
97 #define __TBB_USE_FETCHSTORE_AS_FULL_FENCED_STORE 1
98 #define __TBB_USE_GENERIC_HALF_FENCED_LOAD_STORE 1
99 #define __TBB_USE_GENERIC_RELAXED_LOAD_STORE 1
100 #define __TBB_USE_GENERIC_SEQUENTIAL_CONSISTENCY_LOAD_STORE 1
103 #if defined(_MSC_VER) && !defined(__INTEL_COMPILER)
104 #pragma warning (pop)
void __TBB_EXPORTED_FUNC __TBB_machine_store8(volatile void *ptr, __int64 value)
#define __TBB_MACHINE_DEFINE_ATOMICS(S, T, U, A, C)
__int64 __TBB_EXPORTED_FUNC __TBB_machine_fetchstore8(volatile void *ptr, __int64 value)
__int64 __TBB_EXPORTED_FUNC __TBB_machine_load8(const volatile void *ptr)
__int64 __TBB_EXPORTED_FUNC __TBB_machine_fetchadd8(volatile void *ptr, __int64 addend)
__int64 __TBB_EXPORTED_FUNC __TBB_machine_cmpswp8(volatile void *ptr, __int64 value, __int64 comparand)
#define __TBB_EXPORTED_FUNC
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