#include <stdint.h>
#include <unistd.h>
Go to the source code of this file.
◆ __TBB_acquire_consistency_helper
      
        
          | #define __TBB_acquire_consistency_helper | 
          ( | 
           | ) | 
             __sync_synchronize() | 
        
      
 
As this generic implementation has absolutely no information about underlying hardware, its performance most likely will be sub-optimal because of full memory fence usages where a more lightweight synchronization means (or none at all) could suffice. Thus if you use this header to enable TBB on a new platform, consider forking it and relaxing below helpers as appropriate. 
Definition at line 57 of file gcc_generic.h.
 
 
◆ __TBB_AtomicAND
◆ __TBB_AtomicOR
◆ __TBB_control_consistency_helper
      
        
          | #define __TBB_control_consistency_helper | 
          ( | 
           | ) | 
             __sync_synchronize() | 
        
      
 
 
◆ __TBB_ENDIANNESS
FPU control setting not available for non-Intel architectures on Android 
Definition at line 46 of file gcc_generic.h.
 
 
◆ __TBB_full_memory_fence
      
        
          | #define __TBB_full_memory_fence | 
          ( | 
           | ) | 
             __sync_synchronize() | 
        
      
 
 
◆ __TBB_Log2
◆ __TBB_MACHINE_DEFINE_ATOMICS
      
        
          | #define __TBB_MACHINE_DEFINE_ATOMICS | 
          ( | 
            | 
          S,  | 
        
        
           | 
           | 
            | 
          T  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:inline T __TBB_machine_cmpswp##
S( 
volatile void *ptr, T 
value, T comparand ) {                    \
     return __sync_val_compare_and_swap(reinterpret_cast<volatile T *>(ptr),comparand,
value);      \
}                                                                                                 \
inline T __TBB_machine_fetchadd##
S( 
volatile void *ptr, T 
value ) {                               \
    return __sync_fetch_and_add(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 62 of file gcc_generic.h.
 
 
◆ __TBB_release_consistency_helper
      
        
          | #define __TBB_release_consistency_helper | 
          ( | 
           | ) | 
             __sync_synchronize() | 
        
      
 
 
◆ __TBB_TryLockByte
◆ __TBB_UnlockByte
◆ __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_RELAXED_LOAD_STORE
      
        
          | #define __TBB_USE_GENERIC_RELAXED_LOAD_STORE   1 | 
        
      
 
 
◆ __TBB_USE_GENERIC_SEQUENTIAL_CONSISTENCY_LOAD_STORE
      
        
          | #define __TBB_USE_GENERIC_SEQUENTIAL_CONSISTENCY_LOAD_STORE   1 | 
        
      
 
 
◆ __TBB_WORDSIZE
      
        
          | #define __TBB_WORDSIZE   __SIZEOF_POINTER__ | 
        
      
 
 
◆ __TBB_atomic_flag
◆ __TBB_Flag
◆ __TBB_machine_and()
  
  
      
        
          | static void __TBB_machine_and  | 
          ( | 
          volatile void *  | 
          ptr,  | 
         
        
           | 
           | 
          uintptr_t  | 
          addend  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inlinestatic   | 
  
 
Definition at line 120 of file gcc_generic.h.
  121     __sync_fetch_and_and(reinterpret_cast<volatile uintptr_t *>(ptr),addend);
  
 
 
◆ __TBB_machine_lg()
  
  
      
        
          | static intptr_t __TBB_machine_lg  | 
          ( | 
          uintptr_t  | 
          x | ) | 
           | 
         
       
   | 
  
inlinestatic   | 
  
 
 
◆ __TBB_machine_or()
  
  
      
        
          | static void __TBB_machine_or  | 
          ( | 
          volatile void *  | 
          ptr,  | 
         
        
           | 
           | 
          uintptr_t  | 
          addend  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inlinestatic   | 
  
 
Definition at line 116 of file gcc_generic.h.
  117     __sync_fetch_and_or(reinterpret_cast<volatile uintptr_t *>(ptr),addend);
  
 
 
◆ __TBB_machine_try_lock_byte()
Definition at line 124 of file gcc_generic.h.
  125     return __sync_lock_test_and_set(&flag,1)==0;
  
 
 
◆ __TBB_machine_unlock_byte()