1 #ifndef _X86INTRIN_H_INCLUDED
2 #error "Never use <wbnoinvdintrin.h> directly; include <x86intrin.h> instead."
3 #endif
4 
5 #ifndef _WBNOINVDINTRIN_H_INCLUDED
6 #define _WBNOINVDINTRIN_H_INCLUDED
7 
8 #ifndef __WBNOINVD__
9 #pragma GCC push_options
10 #pragma GCC target("wbnoinvd")
11 #define __DISABLE_WBNOINVD__
12 #endif /* __WBNOINVD__ */
13 
14 extern __inline void
15 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
16 _wbnoinvd (void)
17 {
18   __builtin_ia32_wbnoinvd ();
19 }
20 
21 #ifdef __DISABLE_WBNOINVD__
22 #undef __DISABLE_WBNOINVD__
23 #pragma GCC pop_options
24 #endif /* __DISABLE_WBNOINVD__ */
25 
26 #endif /* _WBNOINVDINTRIN_H_INCLUDED */
27