🔬This is a nightly-only experimental API. (
stdsimd
#48556)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_CAPACITYExperimentalTransaction abort due to the transaction using too much memory.
- _XABORT_CONFLICTExperimentalTransaction abort due to a memory conflict with another thread.
- _XABORT_DEBUGExperimentalTransaction abort due to a debug trap.
- _XABORT_EXPLICITExperimentalTransaction explicitly aborted with xabort. The parameter passed to xabort is available with
_xabort_code(status)
. - _XABORT_NESTEDExperimentalTransaction abort in a inner nested transaction.
- _XABORT_RETRYExperimentalTransaction retry is possible.
- _XBEGIN_STARTEDExperimentalTransaction successfully started.
Functions
- Forces a restricted transactional memory (RTM) region to abort.
- _xabort_codeExperimental
- Specifies the start of a restricted transactional memory (RTM) code region and returns a value indicating status.
- Specifies the end of a restricted transactional memory (RTM) code region.
- Queries whether the processor is executing in a transactional region identified by restricted transactional memory (RTM) or hardware lock elision (HLE).