]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/CodeGen/fsgsbase-builtins.c
Vendor import of clang trunk r290819:
[FreeBSD/FreeBSD.git] / test / CodeGen / fsgsbase-builtins.c
1 // RUN: %clang_cc1 -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +fsgsbase -emit-llvm -o - | FileCheck %s
2
3
4 #include <x86intrin.h>
5
6 unsigned int test_readfsbase_u32()
7 {
8   // CHECK: @llvm.x86.rdfsbase.32
9   return _readfsbase_u32();
10 }
11
12 unsigned long long test_readfsbase_u64()
13 {
14   // CHECK: @llvm.x86.rdfsbase.64
15   return _readfsbase_u64();
16 }
17
18 unsigned int test_readgsbase_u32()
19 {
20   // CHECK: @llvm.x86.rdgsbase.32
21   return _readgsbase_u32();
22 }
23
24 unsigned long long test_readgsbase_u64()
25 {
26   // CHECK: @llvm.x86.rdgsbase.64
27   return _readgsbase_u64();
28 }
29
30 void test_writefsbase_u32(unsigned int __X)
31 {
32   // CHECK: @llvm.x86.wrfsbase.32
33   _writefsbase_u32(__X);
34 }
35
36 void test_writefsbase_u64(unsigned long long __X)
37 {
38   // CHECK: @llvm.x86.wrfsbase.64
39   _writefsbase_u64(__X);
40 }
41
42 void test_writegsbase_u32(unsigned int __X)
43 {
44   // CHECK: @llvm.x86.wrgsbase.32
45   _writegsbase_u32(__X);
46 }
47
48 void test_writegsbase_u64(unsigned long long __X)
49 {
50   // CHECK: @llvm.x86.wrgsbase.64
51   _writegsbase_u64(__X);
52 }