blob: 3a636d82533f437e145b3b89f79364dbb83bc442 [file] [log] [blame]
Akira Hatanakacf9a61b2012-12-13 03:17:29 +00001; RUN: llc -march=mipsel -disable-mips-delay-filler < %s | FileCheck %s
2
3@g = external global i32
4
Akira Hatanakac7828352013-03-04 22:25:01 +00005; CHECK: move $gp
Akira Hatanakacf9a61b2012-12-13 03:17:29 +00006; CHECK: jalr $25
7; CHECK: nop
Akira Hatanakac7828352013-03-04 22:25:01 +00008; CHECK-NOT: move $gp
Akira Hatanakacf9a61b2012-12-13 03:17:29 +00009; CHECK: jalr $25
10
11define void @f0() nounwind {
12entry:
13 tail call void @externalFunc() nounwind
14 tail call fastcc void @internalFunc()
15 ret void
16}
17
18declare void @externalFunc()
19
20define internal fastcc void @internalFunc() nounwind noinline {
21entry:
22 %0 = load i32* @g, align 4
23 %inc = add nsw i32 %0, 1
24 store i32 %inc, i32* @g, align 4
25 ret void
26}
27
Sasa Stankovic7072a792014-10-01 08:22:21 +000028define void @no_lazy(void (i32)* %pf) {
29
30; CHECK-LABEL: no_lazy
31; CHECK-NOT: gp_disp
32
33 tail call void %pf(i32 1)
34 ret void
35}