30 lines · c
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 %s3 4#include <x86gprintrin.h>5 6unsigned 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 12unsigned 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 18void 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 24void 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