wbnoinvdintrin.h 616 B

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