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