18 #if !defined(__TBB_machine_H) || defined(__TBB_machine_sunos_sparc_H)    19 #error Do not #include this internal file directly; use public TBB headers instead.    22 #define __TBB_machine_sunos_sparc_H    27 #define __TBB_WORDSIZE 8    30 #define __TBB_ENDIANNESS __TBB_ENDIAN_BIG    34 #define __TBB_compiler_fence()             __asm__ __volatile__ ("": : :"memory")    35 #define __TBB_control_consistency_helper() __TBB_compiler_fence()    36 #define __TBB_acquire_consistency_helper() __TBB_compiler_fence()    37 #define __TBB_release_consistency_helper() __TBB_compiler_fence()    38 #define __TBB_full_memory_fence()          __asm__ __volatile__("membar #LoadLoad|#LoadStore|#StoreStore|#StoreLoad": : : "memory")    55                        : 
"=m"(*(int32_t *)ptr), 
"=r"(result)
    56                        : 
"m"(*(int32_t *)ptr), 
"1"(
value), 
"r"(comparand), 
"r"(ptr)
    72                : 
"=m"(*(int64_t *)ptr), 
"=r"(result)
    73                : 
"m"(*(int64_t *)ptr), 
"1"(
value), 
"r"(comparand), 
"r"(ptr)
    90   __asm__ __volatile__ (
    91                         "0:\t add\t %3, %4, %0\n"               92                         "\t cas\t [%2], %3, %0\n"               94                         "\t bne,a,pn\t %%icc, 0b\n"             96                : 
"=&r"(result), 
"=m"(*(int32_t *)ptr)
    97                : 
"r"(ptr), 
"r"(*(int32_t *)ptr), 
"r"(addend), 
"m"(*(int32_t *)ptr)
   110   __asm__ __volatile__ (
   111                         "0:\t add\t %3, %4, %0\n"              112                         "\t casx\t [%2], %3, %0\n"             114                         "\t bne,a,pn\t %%xcc, 0b\n"            116                 : 
"=&r"(result), 
"=m"(*(int64_t *)ptr)
   117                 : 
"r"(ptr), 
"r"(*(int64_t *)ptr), 
"r"(addend), 
"m"(*(int64_t *)ptr)
   137     __asm__ (
"popc %1, %0" : 
"=r"(
count) : 
"r"(x) );
   144   __asm__ __volatile__ (
   145                         "0:\t or\t %2, %3, %%g1\n"             146                         "\t casx\t [%1], %2, %%g1\n"           147                         "\t cmp\t %2, %%g1\n"                  148                         "\t bne,a,pn\t %%xcc, 0b\n"            150                 : 
"=m"(*(int64_t *)ptr)
   151                 : 
"r"(ptr), 
"r"(*(int64_t *)ptr), 
"r"(
value), 
"m"(*(int64_t *)ptr)
   152                 : 
"ccr", 
"g1", 
"memory");
   156   __asm__ __volatile__ (
   157                         "0:\t and\t %2, %3, %%g1\n"            158                         "\t casx\t [%1], %2, %%g1\n"           159                         "\t cmp\t %2, %%g1\n"                  160                         "\t bne,a,pn\t %%xcc, 0b\n"            162                 : 
"=m"(*(int64_t *)ptr)
   163                 : 
"r"(ptr), 
"r"(*(int64_t *)ptr), 
"r"(
value), 
"m"(*(int64_t *)ptr)
   164                 : 
"ccr", 
"g1", 
"memory");
   176     unsigned char result;
   177     __asm__ __volatile__ (
   178             "ldstub\t [%2], %0\n"   179         : 
"=r"(result), 
"=m"(flag)
   180         : 
"r"(&flag), 
"m"(flag)
   185 #define __TBB_USE_GENERIC_PART_WORD_CAS                     1   186 #define __TBB_USE_GENERIC_PART_WORD_FETCH_ADD               1   187 #define __TBB_USE_GENERIC_FETCH_STORE                       1   188 #define __TBB_USE_GENERIC_HALF_FENCED_LOAD_STORE            1   189 #define __TBB_USE_GENERIC_RELAXED_LOAD_STORE                1   190 #define __TBB_USE_GENERIC_SEQUENTIAL_CONSISTENCY_LOAD_STORE 1   192 #define __TBB_AtomicOR(P,V) __TBB_machine_or(P,V)   193 #define __TBB_AtomicAND(P,V) __TBB_machine_and(P,V)   196 #define __TBB_Pause(V) __TBB_machine_pause(V)   197 #define __TBB_Log2(V)  __TBB_machine_lg(V)   199 #define __TBB_TryLockByte(P) __TBB_machine_trylockbyte(P) static int64_t __TBB_machine_fetchadd8(volatile void *ptr, int64_t addend)
 
static void __TBB_machine_pause(int32_t delay)
 
static int32_t __TBB_machine_cmpswp4(volatile void *ptr, int32_t value, int32_t comparand)
 
static void __TBB_machine_or(volatile void *ptr, uint64_t value)
 
static void __TBB_machine_and(volatile void *ptr, uint64_t value)
 
static int64_t __TBB_machine_cmpswp8(volatile void *ptr, int64_t value, int64_t comparand)
 
#define __TBB_ASSERT(predicate, comment)
No-op version of __TBB_ASSERT.
 
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 count
 
static int64_t __TBB_machine_lg(uint64_t x)
 
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
 
static bool __TBB_machine_trylockbyte(unsigned char &flag)
 
static int32_t __TBB_machine_fetchadd4(volatile void *ptr, int32_t addend)