#include <stdint.h>
#include <unistd.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.
|
|
◆ __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.
77 __asm__ __volatile__(
"sync\n"
79 "lwarx %[res],0,%[ptr]\n\t"
80 "cmpw %[res],%[cmp]\n\t"
82 "stwcx. %[val],0,%[ptr]\n\t"
87 ,
"+m"(* (int32_t*) ptr)
References value.
Referenced by __TBB_machine_trylockbyte().
◆ __TBB_machine_lg()
static intptr_t __TBB_machine_lg |
( |
uintptr_t |
x | ) |
|
|
inlinestatic |
Definition at line 289 of file mac_ppc.h.
292 #if __TBB_WORDSIZE==8
293 __asm__ __volatile__ (
"cntlzd %0,%0" :
"+r"(x));
294 return 63-
static_cast<intptr_t
>(x);
296 __asm__ __volatile__ (
"cntlzw %0,%0" :
"+r"(x));
297 return 31-
static_cast<intptr_t
>(x);
References __TBB_ASSERT.
◆ __TBB_machine_trylockbyte()