17 #if !defined(__TBB_machine_H) || defined(__TBB_machine_gcc_itsx_H) 18 #error Do not #include this internal file directly; use public TBB headers instead. 21 #define __TBB_machine_gcc_itsx_H 23 #define __TBB_OP_XACQUIRE 0xF2 24 #define __TBB_OP_XRELEASE 0xF3 25 #define __TBB_OP_LOCK 0xF0 27 #define __TBB_STRINGIZE_INTERNAL(arg) #arg 28 #define __TBB_STRINGIZE(arg) __TBB_STRINGIZE_INTERNAL(arg) 31 #define __TBB_r_out "=r" 33 #define __TBB_r_out "=q" 41 return uint8_t(
value^1);
47 __asm__
volatile (
"pause\n" : : :
"memory" );
53 :
"=m"(*lk) :
"m"(*lk) :
"memory" );
56 #if __TBB_TSX_INTRINSICS_PRESENT 57 #include <immintrin.h> 59 #define __TBB_machine_is_in_transaction _xtest 60 #define __TBB_machine_begin_transaction _xbegin 61 #define __TBB_machine_end_transaction _xend 62 #define __TBB_machine_transaction_conflict_abort() _xabort(0xff) 73 __asm__
volatile (
".byte 0x0F; .byte 0x01; .byte 0xD6;\n" 74 "setz %0" :
"=q"(res) : :
"memory" );
76 __asm__
volatile (
".byte 0x0F; .byte 0x01; .byte 0xD6;\n" 77 "setz %0" :
"=r"(res) : :
"memory" );
89 uint32_t res = ~uint32_t(0);
90 __asm__
volatile (
"1: .byte 0xC7; .byte 0xF8;\n" 99 :
"=r"(res):
"0"(res):
"memory",
"%eax");
108 __asm__
volatile (
".byte 0x0F; .byte 0x01; .byte 0xD5" :::
"memory");
116 __asm__
volatile (
".byte 0xC6; .byte 0xF8; .byte 0xFF" :::
"memory");
#define __TBB_OP_XACQUIRE
static bool __TBB_machine_is_in_transaction()
#define __TBB_STRINGIZE(arg)
static void __TBB_machine_unlock_elided(volatile uint8_t *lk)
static uint8_t __TBB_machine_try_lock_elided(volatile uint8_t *lk)
static void __TBB_machine_try_lock_elided_cancel()
static uint32_t __TBB_machine_begin_transaction()
static void __TBB_machine_transaction_conflict_abort()
static void __TBB_machine_end_transaction()
#define __TBB_OP_XRELEASE
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