blob: 800a74f5358f4df13398adc397834e29865d1a2e [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:
David Blaikiea79ac142015-02-27 21:17:42 +000022 %0 = load i32, i32* @g, align 4
Akira Hatanakacf9a61b2012-12-13 03:17:29 +000023 %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}