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_CPU_CTL_ENV_PRESENT
#define __TBB_CPU_CTL_ENV_PRESENT 1 |
◆ __TBB_Log2
◆ __TBB_Pause
◆ __TBB_time_stamp
◆ __TBB_machine_lg()
template<typename T >
static intptr_t __TBB_machine_lg |
( |
T |
x | ) |
|
|
inlinestatic |
Definition at line 25 of file gcc_ia32_common.h.
25 {
26 __TBB_ASSERT(x>0,
"The logarithm of a non-positive value is undefined.");
27 uintptr_t j, i = x;
28 __asm__("bsr %1,%0" : "=r"(j) : "r"(i));
29 return j;
30}
#define __TBB_ASSERT(predicate, comment)
No-op version of __TBB_ASSERT.
References __TBB_ASSERT.
◆ __TBB_machine_pause()
static void __TBB_machine_pause |
( |
int32_t |
delay | ) |
|
|
inlinestatic |
Definition at line 44 of file gcc_ia32_common.h.
44 {
45 for (int32_t i = 0; i < delay; i++) {
46 __asm__ __volatile__("pause;");
47 }
48 return;
49}
◆ __TBB_machine_time_stamp()
Definition at line 54 of file gcc_ia32_common.h.
54 {
55#if __INTEL_COMPILER
56 return _rdtsc();
57#else
58 tbb::internal::uint32_t hi, lo;
59 __asm__ __volatile__("rdtsc" : "=d"(hi), "=a"(lo));
61#endif
62}