24 #ifndef _X86INTRIN_H_INCLUDED
25 # error "Never use <lwpintrin.h> directly; include <x86intrin.h> instead."
28 #ifndef _LWPINTRIN_H_INCLUDED
29 #define _LWPINTRIN_H_INCLUDED
32 # error "LWP instruction set not enabled"
35 extern __inline
void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
36 __llwpcb (
void *pcbAddress)
38 __builtin_ia32_llwpcb (pcbAddress);
41 extern __inline
void *
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
44 return __builtin_ia32_slwpcb ();
48 extern __inline
void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
49 __lwpval32 (
unsigned int data2,
unsigned int data1,
unsigned int flags)
51 __builtin_ia32_lwpval32 (data2, data1, flags);
55 extern __inline
void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
56 __lwpval64 (
unsigned long long data2,
unsigned int data1,
unsigned int flags)
58 __builtin_ia32_lwpval64 (data2, data1, flags);
62 #define __lwpval32(D2, D1, F) \
63 (__builtin_ia32_lwpval32 ((unsigned int) (D2), (unsigned int) (D1), \
66 #define __lwpval64(D2, D1, F) \
67 (__builtin_ia32_lwpval64 ((unsigned long long) (D2), (unsigned int) (D1), \
74 extern __inline
unsigned char __attribute__((__gnu_inline__, __always_inline__, __artificial__))
75 __lwpins32 (
unsigned int data2,
unsigned int data1,
unsigned int flags)
77 return __builtin_ia32_lwpins32 (data2, data1, flags);
81 extern __inline
unsigned char __attribute__((__gnu_inline__, __always_inline__, __artificial__))
82 __lwpins64 (
unsigned long long data2,
unsigned int data1,
unsigned int flags)
84 return __builtin_ia32_lwpins64 (data2, data1, flags);
88 #define __lwpins32(D2, D1, F) \
89 (__builtin_ia32_lwpins32 ((unsigned int) (D2), (unsigned int) (D1), \
92 #define __lwpins64(D2, D1, F) \
93 (__builtin_ia32_lwpins64 ((unsigned long long) (D2), (unsigned int) (D1), \
double __v4df __attribute__((__vector_size__(32)))
Definition: avxintrin.h:32