/* { dg-do compile { target { ! ia32 } } } */ /* { dg-options "-O2 -musermsr" } */ /* { dg-final { scan-assembler-times "urdmsr\[ \\t\]\\%r\[a-z\]x, \\%r\[a-z\]x" 1 } } */ /* { dg-final { scan-assembler-times "uwrmsr\[ \\t\]\\%r\[a-z\]x, \\%r\[a-z\]x" 1 } } */ /* { dg-final { scan-assembler-times "movabsq\[ \\t\]\\\$20018842566655, \\%r\[a-z\]x" 1 } } */ #include volatile unsigned long long x; void extern user_msr_test (void) { x = _urdmsr(0x1234ffffffffULL); _uwrmsr(0x1234ffffffffULL, x); }