1 /* { dg-do compile } */
2 /* { dg-options "-O2 -mmwaitx" } */
3 
4 /* Verify that they work in both 32bit and 64bit.  */
5 
6 #include <x86intrin.h>
7 
8 void
foo(char * p,int x,int y,int z,int c)9 foo (char *p, int x, int y, int z, int c)
10 {
11    _mm_monitorx (p, y, x);
12    _mm_mwaitx (z, y, c);
13 }
14 
15 void
bar(char * p,long x,long y,long z,long c)16 bar (char *p, long x, long y, long z, long c)
17 {
18    _mm_monitorx (p, y, x);
19    _mm_mwaitx (z, y, c);
20 }
21 
22 void
foo1(char * p)23 foo1 (char *p)
24 {
25    _mm_monitorx (p, 0, 0);
26    _mm_mwaitx (0, 0, 0);
27 }
28