11 #error "Never use <lwpintrin.h> directly; include <x86intrin.h> instead."
18 #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("lwp")))
34 __builtin_ia32_llwpcb(__addr);
49 return __builtin_ia32_slwpcb();
69 #define __lwpins32(DATA2, DATA1, FLAGS) \
70 (__builtin_ia32_lwpins32((unsigned int) (DATA2), (unsigned int) (DATA1), \
71 (unsigned int) (FLAGS)))
87 #define __lwpval32(DATA2, DATA1, FLAGS) \
88 (__builtin_ia32_lwpval32((unsigned int) (DATA2), (unsigned int) (DATA1), \
89 (unsigned int) (FLAGS)))
110 #define __lwpins64(DATA2, DATA1, FLAGS) \
111 (__builtin_ia32_lwpins64((unsigned long long) (DATA2), (unsigned int) (DATA1), \
112 (unsigned int) (FLAGS)))
128 #define __lwpval64(DATA2, DATA1, FLAGS) \
129 (__builtin_ia32_lwpval64((unsigned long long) (DATA2), (unsigned int) (DATA1), \
130 (unsigned int) (FLAGS)))
134 #undef __DEFAULT_FN_ATTRS
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
static __inline__ void __DEFAULT_FN_ATTRS __llwpcb(void *__addr)
Parses the LWPCB at the specified address and enables profiling if valid.