# XSUSLDTRK — Suspend Tracking Load Addresses

Opcode/Instruction | Op/En | 64/32 bit Mode Support | CPUID Feature Flag | Description
--- | --- | --- | --- | ---
F2 0F 01 E8 XSUSLDTRK | ZO | V/V | TSXLDTRK | Specifies the start of an Intel TSX suspend read address tracking region.

## Instruction Operand Encoding ¶

Op/En | Tuple | Operand 1 | Operand 2 | Operand 3 | Operand 4
--- | --- | --- | --- | --- | ---
ZO | N/A | N/A | N/A | N/A | N/A

### 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

### Flags Affected ¶

None.

### Intel C/C++ Compiler Intrinsic Equivalent ¶

    XSUSLDTRK void _xsusldtrk(void);

### SIMD Floating-Point Exceptions ¶

None.

### Other Exceptions ¶

#UD | If CPUID.(EAX=7, ECX=0):EDX.TSXLDTRK[bit 16] = 0.
If the LOCK prefix is used.