clang 20.0.0git
|
Go to the source code of this file.
Macros | |
#define | __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("lwp"))) |
#define | __lwpins32(DATA2, DATA1, FLAGS) |
Inserts programmed event record into the LWP event ring buffer and advances the ring buffer pointer. | |
#define | __lwpval32(DATA2, DATA1, FLAGS) |
Decrements the LWP programmed value sample event counter. | |
Functions | |
static __inline__ void __DEFAULT_FN_ATTRS | __llwpcb (void *__addr) |
Parses the LWPCB at the specified address and enables profiling if valid. | |
static __inline__ void *__DEFAULT_FN_ATTRS | __slwpcb (void) |
Flushes the LWP state to memory and returns the address of the LWPCB. | |
#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("lwp"))) |
Definition at line 18 of file lwpintrin.h.
#define __lwpins32 | ( | DATA2, | |
DATA1, | |||
FLAGS | |||
) |
Inserts programmed event record into the LWP event ring buffer and advances the ring buffer pointer.
This intrinsic corresponds to the LWPINS
instruction.
DATA2 | A 32-bit value is zero-extended and inserted into the 64-bit Data2 field. |
DATA1 | A 32-bit value is inserted into the 32-bit Data1 field. |
FLAGS | A 32-bit immediate value is inserted into the 32-bit Flags field. |
Definition at line 69 of file lwpintrin.h.
#define __lwpval32 | ( | DATA2, | |
DATA1, | |||
FLAGS | |||
) |
Decrements the LWP programmed value sample event counter.
If the result is negative, inserts an event record into the LWP event ring buffer in memory and advances the ring buffer pointer.
This intrinsic corresponds to the LWPVAL
instruction.
DATA2 | A 32-bit value is zero-extended and inserted into the 64-bit Data2 field. |
DATA1 | A 32-bit value is inserted into the 32-bit Data1 field. |
FLAGS | A 32-bit immediate value is inserted into the 32-bit Flags field. |
Definition at line 87 of file lwpintrin.h.
|
static |
Parses the LWPCB at the specified address and enables profiling if valid.
This intrinsic corresponds to the LLWPCB
instruction.
__addr | Address to the new Lightweight Profiling Control Block (LWPCB). If the LWPCB is valid, writes the address into the LWP_CBADDR MSR and enables Lightweight Profiling. |
Definition at line 32 of file lwpintrin.h.
|
static |
Flushes the LWP state to memory and returns the address of the LWPCB.
This intrinsic corresponds to the SLWPCB
instruction.
Definition at line 47 of file lwpintrin.h.