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