#include <stdint.h>
#include <unistd.h>
Go to the source code of this file.
|
namespace | tbb |
| The graph class.
|
|
namespace | tbb::internal |
| Identifiers declared inside namespace internal should never be used directly by client code.
|
|
◆ __TBB_64BIT_ATOMICS
#define __TBB_64BIT_ATOMICS 0 |
◆ __TBB_control_consistency_helper
#define __TBB_control_consistency_helper |
( |
| ) |
__asm__ __volatile__("isync": : :"memory") |
◆ __TBB_ENDIANNESS
◆ __TBB_Flag
◆ __TBB_full_memory_fence
#define __TBB_full_memory_fence |
( |
| ) |
__asm__ __volatile__( "sync": : :"memory") |
◆ __TBB_Log2
◆ __TBB_MACHINE_DEFINE_LOAD_STORE
#define __TBB_MACHINE_DEFINE_LOAD_STORE |
( |
|
S, |
|
|
|
ldx, |
|
|
|
stx, |
|
|
|
cmpx |
|
) |
| |
◆ __TBB_TryLockByte
◆ __TBB_USE_GENERIC_FETCH_ADD
#define __TBB_USE_GENERIC_FETCH_ADD 1 |
◆ __TBB_USE_GENERIC_FETCH_STORE
#define __TBB_USE_GENERIC_FETCH_STORE 1 |
◆ __TBB_USE_GENERIC_PART_WORD_CAS
#define __TBB_USE_GENERIC_PART_WORD_CAS 1 |
◆ __TBB_USE_GENERIC_SEQUENTIAL_CONSISTENCY_LOAD_STORE
#define __TBB_USE_GENERIC_SEQUENTIAL_CONSISTENCY_LOAD_STORE 1 |
◆ __TBB_WORDSIZE
◆ __TBB_Flag
◆ __TBB_machine_cmpswp4()
int32_t __TBB_machine_cmpswp4 |
( |
volatile void * |
ptr, |
|
|
int32_t |
value, |
|
|
int32_t |
comparand |
|
) |
| |
|
inline |
Definition at line 73 of file mac_ppc.h.
74{
75 int32_t result;
76
77 __asm__ __volatile__("sync\n"
78 "0:\n\t"
79 "lwarx %[res],0,%[ptr]\n\t"
80 "cmpw %[res],%[cmp]\n\t"
81 "bne- 1f\n\t"
82 "stwcx. %[val],0,%[ptr]\n\t"
83 "bne- 0b\n"
84 "1:\n\t"
85 "isync"
86 : [res]"=&r"(result)
87 , "+m"(* (int32_t*) ptr)
88 : [ptr]"r"(ptr)
90 , [cmp]"r"(comparand)
91 : "memory"
92 , "cr0"
93 );
94 return result;
95}
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
References value.
◆ __TBB_machine_lg()
static intptr_t __TBB_machine_lg |
( |
uintptr_t |
x | ) |
|
|
inlinestatic |
Definition at line 289 of file mac_ppc.h.
289 {
291
292#if __TBB_WORDSIZE==8
293 __asm__ __volatile__ ("cntlzd %0,%0" : "+r"(x));
294 return 63-static_cast<intptr_t>(x);
295#else
296 __asm__ __volatile__ ("cntlzw %0,%0" : "+r"(x));
297 return 31-static_cast<intptr_t>(x);
298#endif
299}
#define __TBB_ASSERT(predicate, comment)
No-op version of __TBB_ASSERT.
References __TBB_ASSERT.
◆ __TBB_machine_trylockbyte()