blob: 9645ca8d31f3c5a3c28903e72fb8ecc268e7c540 [file] [log] [blame]
Hal Finkelb074a602016-08-30 00:59:23 +00001; RUN: llc < %s | FileCheck %s
2target datalayout = "E-m:e-i64:64-n32:64"
3target triple = "powerpc64-unknown-linux-gnu"
4
5; Function Attrs: nounwind
6define void @bar() local_unnamed_addr #0 {
7entry:
8 tail call void @foo() #1
9 ret void
10
11; CHECK-LABEL: @bar
12; CHECK: ld [[FD:[0-9]+]], .LC0@toc@l({{[0-9]+}})
13; CHECK: ld [[ADDR:[0-9]+]], 0([[FD]])
14; CHECK: mtctr [[ADDR]]
15; CHECK: bctrl
16; CHECK-NOT: bl foo
17; CHECK: blr
18}
19
20; CHECK: .tc foo
21
22declare void @foo() local_unnamed_addr
23
24attributes #0 = { nounwind "target-cpu"="ppc64" "target-features"="+longcall" }
25attributes #1 = { nounwind }
26