llvm-6502/test/CodeGen/X86/rtm.ll
Michael Liao be02a90de1 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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167573 91177308-0d34-0410-b5e6-96231b3b80d8
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
}