blob: 0c22e3c7db29b4204c6376da195927cd10d34e10 [file] [log] [blame]
Craig Topper593c1d92011-10-31 02:15:47 +00001; RUN: llc < %s -mtriple=x86_64-apple-darwin -march=x86-64 -mcpu=core-avx-i -mattr=fsgsbase | FileCheck %s
2
3define i32 @test_x86_rdfsbase_32() {
4 ; CHECK: rdfsbasel
5 %res = call i32 @llvm.x86.rdfsbase.32()
6 ret i32 %res
7}
8declare i32 @llvm.x86.rdfsbase.32() nounwind readnone
9
10define i32 @test_x86_rdgsbase_32() {
11 ; CHECK: rdgsbasel
12 %res = call i32 @llvm.x86.rdgsbase.32()
13 ret i32 %res
14}
15declare i32 @llvm.x86.rdgsbase.32() nounwind readnone
16
17define i64 @test_x86_rdfsbase_64() {
18 ; CHECK: rdfsbaseq
19 %res = call i64 @llvm.x86.rdfsbase.64()
20 ret i64 %res
21}
22declare i64 @llvm.x86.rdfsbase.64() nounwind readnone
23
24define i64 @test_x86_rdgsbase_64() {
25 ; CHECK: rdgsbaseq
26 %res = call i64 @llvm.x86.rdgsbase.64()
27 ret i64 %res
28}
29declare i64 @llvm.x86.rdgsbase.64() nounwind readnone
30
31define void @test_x86_wrfsbase_32(i32 %x) {
32 ; CHECK: wrfsbasel
33 call void @llvm.x86.wrfsbase.32(i32 %x)
34 ret void
35}
36declare void @llvm.x86.wrfsbase.32(i32) nounwind readnone
37
38define void @test_x86_wrgsbase_32(i32 %x) {
39 ; CHECK: wrgsbasel
40 call void @llvm.x86.wrgsbase.32(i32 %x)
41 ret void
42}
43declare void @llvm.x86.wrgsbase.32(i32) nounwind readnone
44
45define void @test_x86_wrfsbase_64(i64 %x) {
46 ; CHECK: wrfsbaseq
47 call void @llvm.x86.wrfsbase.64(i64 %x)
48 ret void
49}
50declare void @llvm.x86.wrfsbase.64(i64) nounwind readnone
51
52define void @test_x86_wrgsbase_64(i64 %x) {
53 ; CHECK: wrgsbaseq
54 call void @llvm.x86.wrgsbase.64(i64 %x)
55 ret void
56}
57declare void @llvm.x86.wrgsbase.64(i64) nounwind readnone