i386: Move Intel intrinsics head files to <immintrin.h>
[gcc.git] / gcc / config / i386 / wbnoinvdintrin.h
1 #ifndef _IMMINTRIN_H_INCLUDED
2 #error "Never use <wbnoinvdintrin.h> directly; include <immintrin.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 */