-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add FSGSBASE intrinsics to x86 intrinsic headers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221130 91177308-0d34-0410-b5e6-96231b3b80d8
- Loading branch information
Showing
6 changed files
with
142 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
// RUN: %clang_cc1 %s -O3 -triple=x86_64-apple-darwin -target-feature +fsgsbase -emit-llvm -o - | FileCheck %s | ||
|
||
// Don't include mm_malloc.h, it's system specific. | ||
#define __MM_MALLOC_H | ||
|
||
#include <x86intrin.h> | ||
|
||
unsigned int test_readfsbase_u32() | ||
{ | ||
// CHECK: @llvm.x86.rdfsbase.32 | ||
return _readfsbase_u32(); | ||
} | ||
|
||
unsigned long long test_readfsbase_u64() | ||
{ | ||
// CHECK: @llvm.x86.rdfsbase.64 | ||
return _readfsbase_u64(); | ||
} | ||
|
||
unsigned int test_readgsbase_u32() | ||
{ | ||
// CHECK: @llvm.x86.rdgsbase.32 | ||
return _readgsbase_u32(); | ||
} | ||
|
||
unsigned long long test_readgsbase_u64() | ||
{ | ||
// CHECK: @llvm.x86.rdgsbase.64 | ||
return _readgsbase_u64(); | ||
} | ||
|
||
void test_writefsbase_u32(unsigned int __X) | ||
{ | ||
// CHECK: @llvm.x86.wrfsbase.32 | ||
_writefsbase_u32(__X); | ||
} | ||
|
||
void test_writefsbase_u64(unsigned long long __X) | ||
{ | ||
// CHECK: @llvm.x86.wrfsbase.64 | ||
_writefsbase_u64(__X); | ||
} | ||
|
||
void test_writegsbase_u32(unsigned int __X) | ||
{ | ||
// CHECK: @llvm.x86.wrgsbase.32 | ||
_writegsbase_u32(__X); | ||
} | ||
|
||
void test_writegsbase_u64(unsigned long long __X) | ||
{ | ||
// CHECK: @llvm.x86.wrgsbase.64 | ||
_writegsbase_u64(__X); | ||
} |