1 ; RUN: llc %s -verify-machineinstrs -o - | FileCheck %s
3 target triple = "aarch64"
5 define i64 @test_tstart() #0 {
6 %r = tail call i64 @llvm.aarch64.tstart()
9 declare i64 @llvm.aarch64.tstart() #1
10 ; CHECK-LABEL: test_tstart
13 define i64 @test_ttest() #0 {
14 %r = tail call i64 @llvm.aarch64.ttest()
17 declare i64 @llvm.aarch64.ttest() #1
18 ; CHECK-LABEL: test_ttest
21 define void @test_tcommit() #0 {
22 tail call void @llvm.aarch64.tcommit()
25 declare void @llvm.aarch64.tcommit() #1
26 ; CHECK-LABEL: test_tcommit
29 define void @test_tcancel() #0 {
30 tail call void @llvm.aarch64.tcancel(i64 0) #1
31 tail call void @llvm.aarch64.tcancel(i64 1) #1
32 tail call void @llvm.aarch64.tcancel(i64 65534) #1
33 tail call void @llvm.aarch64.tcancel(i64 65535) #1
36 declare void @llvm.aarch64.tcancel(i64 immarg) #1
37 ; CHECK-LABEL: test_tcancel
40 ; CHECK: tcancel #0xfffe
41 ; CHECK: tcancel #0xffff
43 attributes #0 = { "target-features"="+tme" }
44 attributes #1 = { nounwind }