Available on x86 or x86-64 only.
Expand description
Intel’s Restricted Transactional Memory (RTM).
This CPU feature is available on Intel Broadwell or later CPUs (and some Haswell).
The reference is Intel 64 and IA-32 Architectures Software Developer’s Manual Volume 2: Instruction Set Reference, A-Z.
Wikipedia provides a quick overview of the assembly instructions, and Intel’s programming considerations details what sorts of instructions within a transaction are likely to cause an abort.
Constants§
- _XABORT_
CAPACITY Experimental - Transaction abort due to the transaction using too much memory.
- _XABORT_
CONFLICT Experimental - Transaction abort due to a memory conflict with another thread.
- _XABORT_
DEBUG Experimental - Transaction abort due to a debug trap.
- _XABORT_
EXPLICIT Experimental - Transaction explicitly aborted with xabort. The parameter passed to xabort is available with
_xabort_code(status)
. - _XABORT_
NESTED Experimental - Transaction abort in a inner nested transaction.
- _XABORT_
RETRY Experimental - Transaction retry is possible.
- _XBEGIN_
STARTED Experimental - Transaction successfully started.
Functions§
- x86_
xabort 🔒 ⚠ - x86_
xbegin 🔒 ⚠ - x86_
xend 🔒 ⚠ - x86_
xtest 🔒 ⚠ - _xabort⚠
Experimental rtm
- Forces a restricted transactional memory (RTM) region to abort.
- _xabort_
code Experimental - Retrieves the parameter passed to
_xabort
when_xbegin
’s status has the_XABORT_EXPLICIT
flag set. - _xbegin⚠
Experimental rtm
- Specifies the start of a restricted transactional memory (RTM) code region and returns a value indicating status.
- _xend⚠
Experimental rtm
- Specifies the end of a restricted transactional memory (RTM) code region.
- _xtest⚠
Experimental rtm
- Queries whether the processor is executing in a transactional region identified by restricted transactional memory (RTM) or hardware lock elision (HLE).