void fun() { _mm_monitor(lock,0,0); _mm_mwait(0,0); std::cout << "hi " << lock[0] << std::endl; }
void __attribute__((__target__("sse3"))) mm_mwait_wrap(int a) { _mm_mwait(0, 0); }
int __attribute__((__target__(("sse3")))) foo(int a) { _mm_mwait(0, 0); return 4; }
void foo (char *p, int x, int y, int z) { _mm_monitor (p, y, x); _mm_mwait (z, y); }
void foo1 (char *p) { _mm_monitor (p, 0, 0); _mm_mwait (0, 0); }
void bar (char *p, long x, long y, long z) { _mm_monitor (p, y, x); _mm_mwait (z, y); }