1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00
llvm-mirror/test/CodeGen/X86/rtm.ll
Michael Liao 59114df23b Add support of RTM from TSX extension
- Add RTM code generation support throught 3 X86 intrinsics:
  xbegin()/xend() to start/end a transaction region, and xabort() to abort a
  tranaction region

llvm-svn: 167573
2012-11-08 07:28:54 +00:00

31 lines
689 B
LLVM

; RUN: llc < %s -mattr=+rtm -mtriple=x86_64-unknown-unknown | FileCheck %s
declare i32 @llvm.x86.xbegin() nounwind
declare void @llvm.x86.xend() nounwind
declare void @llvm.x86.xabort(i8) noreturn nounwind
define i32 @test_xbegin() nounwind uwtable {
entry:
%0 = tail call i32 @llvm.x86.xbegin() nounwind
ret i32 %0
; CHECK: test_xbegin
; CHECK: xbegin [[LABEL:.*BB.*]]
; CHECK: [[LABEL]]:
}
define void @test_xend() nounwind uwtable {
entry:
tail call void @llvm.x86.xend() nounwind
ret void
; CHECK: test_xend
; CHECK: xend
}
define void @test_xabort() nounwind uwtable {
entry:
tail call void @llvm.x86.xabort(i8 2)
unreachable
; CHECK: test_xabort
; CHECK: xabort $2
}