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