Go to the source code of this file.
◆ __TBB_OP_LOCK
#define __TBB_OP_LOCK 0xF0 |
◆ __TBB_OP_XACQUIRE
#define __TBB_OP_XACQUIRE 0xF2 |
◆ __TBB_OP_XRELEASE
#define __TBB_OP_XRELEASE 0xF3 |
◆ __TBB_r_out
◆ __TBB_STRINGIZE
◆ __TBB_STRINGIZE_INTERNAL
#define __TBB_STRINGIZE_INTERNAL |
( |
|
arg | ) |
#arg |
◆ __TBB_machine_begin_transaction()
static uint32_t __TBB_machine_begin_transaction |
( |
| ) |
|
|
inlinestatic |
Enter speculative execution mode.
- Returns
- -1 on success abort cause ( or 0 ) on abort
Definition at line 87 of file gcc_itsx.h.
89 uint32_t res = ~uint32_t(0);
90 __asm__
volatile (
"1: .byte 0xC7; .byte 0xF8;\n"
99 :
"=r"(res):
"0"(res):
"memory",
"%eax");
◆ __TBB_machine_end_transaction()
static void __TBB_machine_end_transaction |
( |
| ) |
|
|
inlinestatic |
Attempt to commit/end transaction
Definition at line 106 of file gcc_itsx.h.
108 __asm__
volatile (
".byte 0x0F; .byte 0x01; .byte 0xD5" :::
"memory");
◆ __TBB_machine_is_in_transaction()
static bool __TBB_machine_is_in_transaction |
( |
| ) |
|
|
inlinestatic |
Check if the instruction is executed in a transaction or not
Definition at line 69 of file gcc_itsx.h.
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" );
◆ __TBB_machine_transaction_conflict_abort()
static void __TBB_machine_transaction_conflict_abort |
( |
| ) |
|
|
inlinestatic |
Definition at line 114 of file gcc_itsx.h.
116 __asm__
volatile (
".byte 0xC6; .byte 0xF8; .byte 0xFF" :::
"memory");
◆ __TBB_machine_try_lock_elided()
static uint8_t __TBB_machine_try_lock_elided |
( |
volatile uint8_t * |
lk | ) |
|
|
inlinestatic |
◆ __TBB_machine_try_lock_elided_cancel()
static void __TBB_machine_try_lock_elided_cancel |
( |
| ) |
|
|
inlinestatic |
Definition at line 44 of file gcc_itsx.h.
47 __asm__
volatile (
"pause\n" : : :
"memory" );
◆ __TBB_machine_unlock_elided()
static void __TBB_machine_unlock_elided |
( |
volatile uint8_t * |
lk | ) |
|
|
inlinestatic |