/* Copyright (c) 2018 ZAO "MCST". All rights reserved. */

#ifndef _MWAITXINTRIN_H_INCLUDED
#define _MWAITXINTRIN_H_INCLUDED

#ifdef __MWAITX__

/* Define the default attributes for the functions in this file */
#define __DEFAULT_FUNCS_ATTRS __attribute__((/*__gnu_inline__,*/ __always_inline__, __artificial__))

__E2K_INLINE void __DEFAULT_FUNCS_ATTRS
_mm_monitorx (void const * __P, unsigned int __E, unsigned int __H)
{
  __builtin_ia32_monitorx (__P, __E, __H);
}

__E2K_INLINE void __DEFAULT_FUNCS_ATTRS
_mm_mwaitx (unsigned int __E, unsigned int __H, unsigned int __C)
{
  __builtin_ia32_mwaitx (__E, __H, __C);
}

#undef __DEFAULT_FUNCS_ATTRS

#endif /* __MWAITX__ */

#endif /* _MWAITXINTRIN_H_INCLUDED */
