xsusldtrk
TSX Load Tracking
TSXLDTRK
Suspends/Resumes tracking of load operations in TSX.
Details
Suspends or resumes tracking of load operations within a TSX (Transactional Synchronization Extensions) transaction. Requires TSX support and TSX_LDTRK feature flag. Does not modify any flags. This instruction helps fine-tune transaction conflict detection by toggling whether loads are monitored for abort conditions.
Pseudocode Operation
if (in_transaction) {
TSX_load_tracking_enabled ← !TSX_load_tracking_enabled
}
Example
TSXLDTRK
Encoding
Binary Layout
F2
+0
0F
+1
01
+2
E8
+3
Operands
Reference (Intel® SDM)
Instruction Forms
| Opcode | Instruction | Op/En | 64/32-bit Mode | CPUID | Description |
|---|---|---|---|---|---|
| F2 0F 01 E8 | XSUSLDTRK | ZO | V/V | TSXLDTRK | Specifies the start of an Intel TSX suspend read address tracking region. |
Description
The instruction marks the start of an Intel TSX (RTM) suspend load address tracking region. If the instruction is used inside a transactional region, subsequent loads are not added to the read set of the transaction. If the instruction is used inside a suspend load address tracking region it will cause transaction abort.
If the instruction is used outside of a transactional region it behaves like a NOP.
Chapter 16, “Programming with Intel® Transactional Synchronization Extensions‚” in the Intel® 64 and IA-32
Architectures Software Developer’s Manual, Volume 1 provides additional information on Intel® TSX Suspend Load
Address Tracking.
Operation
XSUSLDTRK IF RTM_ACTIVE = 1: IF SUSLDTRK_ACTIVE = 0: SUSLDTRK_ACTIVE := 1 ELSE: RTM_ABORT ELSE: NOP
Intel C/C++ Compiler Intrinsic Equivalent
XSUSLDTRK void _xsusldtrk(void);
Flags Affected
None.
Exceptions
SIMD Floating-Point Exceptions
None.
Other Exceptions
#UD If CPUID.07H.00H:EDX.TSXLDTRK[16] = 0.
If the LOCK prefix is used.
XSUSLDTRK—Suspend Tracking Load Addresses Vol. 2D 6-71