1 // RUN: %clang_cc1 %s -ffreestanding -triple=x86_64-unknown-unknown -target-feature +usermsr \
2 // RUN: -emit-llvm -o - -Wall -Werror -pedantic -Wno-gnu-statement-expression | FileCheck %s
3
4 #include <x86gprintrin.h>
5
test_urdmsr(unsigned long long __A)6 unsigned long long test_urdmsr(unsigned long long __A) {
7 // CHECK-LABEL: @test_urdmsr(
8 // CHECK: call i64 @llvm.x86.urdmsr(
9 return _urdmsr(__A);
10 }
11
test_urdmsr_const(unsigned long long __A)12 unsigned long long test_urdmsr_const(unsigned long long __A) {
13 // CHECK-LABEL: @test_urdmsr_const(
14 // CHECK: call i64 @llvm.x86.urdmsr(
15 return _urdmsr(123u);
16 }
17
test_uwrmsr(unsigned long long __A,unsigned long long __B)18 void test_uwrmsr(unsigned long long __A, unsigned long long __B) {
19 // CHECK-LABEL: @test_uwrmsr(
20 // CHECK: call void @llvm.x86.uwrmsr(
21 _uwrmsr(__A, __B);
22 }
23
test_uwrmsr_const(unsigned long long __A,unsigned long long __B)24 void test_uwrmsr_const(unsigned long long __A, unsigned long long __B) {
25 // CHECK-LABEL: @test_uwrmsr_const(
26 // CHECK: call void @llvm.x86.uwrmsr(
27 _uwrmsr(123u, __B);
28 }
29
30