clang 20.0.0git
Macros | Functions
tsxldtrkintrin.h File Reference

Go to the source code of this file.

Macros

#define _DEFAULT_FN_ATTRS    __attribute__((__always_inline__, __nodebug__, __target__("tsxldtrk")))
 

Functions

static __inline__ void _DEFAULT_FN_ATTRS _xsusldtrk (void)
 Marks the start of an TSX (RTM) suspend load address tracking region.
 
static __inline__ void _DEFAULT_FN_ATTRS _xresldtrk (void)
 Marks the end of an TSX (RTM) suspend load address tracking region.
 

Macro Definition Documentation

◆ _DEFAULT_FN_ATTRS

#define _DEFAULT_FN_ATTRS    __attribute__((__always_inline__, __nodebug__, __target__("tsxldtrk")))

Definition at line 18 of file tsxldtrkintrin.h.

Function Documentation

◆ _xresldtrk()

static __inline__ void _DEFAULT_FN_ATTRS _xresldtrk ( void  )
static

Marks the end of an TSX (RTM) suspend load address tracking region.

If this intrinsic is used inside a suspend load address tracking region it will end the suspend region and all following load addresses will be added to the transaction read set. If it's used inside an active transaction but not in a suspend region it will cause transaction abort. If it's used outside of a transactional region it behaves like a NOP.

This intrinsic corresponds to the XRESLDTRK instruction.

Definition at line 49 of file tsxldtrkintrin.h.

◆ _xsusldtrk()

static __inline__ void _DEFAULT_FN_ATTRS _xsusldtrk ( void  )
static

Marks the start of an TSX (RTM) suspend load address tracking region.

If this intrinsic is used inside a transactional region, subsequent loads are not added to the read set of the transaction. If it's used inside a suspend load address tracking region it will cause transaction abort. If it's used outside of a transactional region it behaves like a NOP.

This intrinsic corresponds to the XSUSLDTRK instruction.

Definition at line 32 of file tsxldtrkintrin.h.