xref: /minix3/external/bsd/llvm/dist/llvm/test/CodeGen/PowerPC/2010-05-03-retaddr1.ll (revision f4a2713ac843a11c696ec80c0a5e3e5d80b4d338)
1*f4a2713aSLionel Sambuc; RUN: llc < %s -march=ppc32 -mtriple=powerpc-apple-darwin -mcpu=g5 | FileCheck %s
2*f4a2713aSLionel Sambuc; RUN: llc < %s -march=ppc32 -mtriple=powerpc-apple-darwin -mcpu=g5 -regalloc=basic | FileCheck %s
3*f4a2713aSLionel Sambuc
4*f4a2713aSLionel Sambucdeclare i8* @llvm.frameaddress(i32) nounwind readnone
5*f4a2713aSLionel Sambuc
6*f4a2713aSLionel Sambucdefine i8* @g2() nounwind readnone {
7*f4a2713aSLionel Sambucentry:
8*f4a2713aSLionel Sambuc; CHECK: _g2:
9*f4a2713aSLionel Sambuc; CHECK: lwz r3, 0(r1)
10*f4a2713aSLionel Sambuc  %0 = tail call i8* @llvm.frameaddress(i32 1)    ; <i8*> [#uses=1]
11*f4a2713aSLionel Sambuc  ret i8* %0
12*f4a2713aSLionel Sambuc}
13*f4a2713aSLionel Sambuc
14*f4a2713aSLionel Sambucdeclare i8* @llvm.returnaddress(i32) nounwind readnone
15*f4a2713aSLionel Sambuc
16*f4a2713aSLionel Sambucdefine i8* @g() nounwind readnone {
17*f4a2713aSLionel Sambucentry:
18*f4a2713aSLionel Sambuc; CHECK: _g:
19*f4a2713aSLionel Sambuc; CHECK:  mflr r0
20*f4a2713aSLionel Sambuc; CHECK:  stw r0, 8(r1)
21*f4a2713aSLionel Sambuc; CHECK:  lwz r2, 0(r1)
22*f4a2713aSLionel Sambuc; CHECK:  lwz r3, 8(r2)
23*f4a2713aSLionel Sambuc  %0 = tail call i8* @llvm.returnaddress(i32 1)   ; <i8*> [#uses=1]
24*f4a2713aSLionel Sambuc  ret i8* %0
25*f4a2713aSLionel Sambuc}
26