Add GCC support to ENQCMD.
[official-gcc.git] / gcc / config / i386 / wbnoinvdintrin.h
blob5393698c6bb1a708856223b79e995ce61a388065
1 #ifndef _IMMINTRIN_H_INCLUDED
2 #error "Never use <wbnoinvdintrin.h> directly; include <immintrin.h> instead."
3 #endif
5 #ifndef _WBNOINVDINTRIN_H_INCLUDED
6 #define _WBNOINVDINTRIN_H_INCLUDED
8 #ifndef __WBNOINVD__
9 #pragma GCC push_options
10 #pragma GCC target("wbnoinvd")
11 #define __DISABLE_WBNOINVD__
12 #endif /* __WBNOINVD__ */
14 extern __inline void
15 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
16 _wbnoinvd (void)
18 __builtin_ia32_wbnoinvd ();
21 #ifdef __DISABLE_WBNOINVD__
22 #undef __DISABLE_WBNOINVD__
23 #pragma GCC pop_options
24 #endif /* __DISABLE_WBNOINVD__ */
26 #endif /* _WBNOINVDINTRIN_H_INCLUDED */