blob: ee7e1315df0ed3b5785f06ac9dc44ec91d9f2eae [file] [log] [blame]
Akira Hatanaka6b7588e2011-05-04 17:54:27 +00001; RUN: llc -march=mips < %s | FileCheck %s
2
3@p = external global i32
4@q = external global i32
5@r = external global i32
6
7define void @f0() nounwind {
8entry:
9; CHECK: jalr
10; CHECK-NOT: got({{.*}})($gp)
11; CHECK: lw $gp
12; CHECK: jalr
13; CHECK-NOT: got({{.*}})($gp)
14; CHECK: lw $gp
15; CHECK: jalr
16; CHECK-NOT: got({{.*}})($gp)
17; CHECK: lw $gp
18 tail call void (...)* @f1() nounwind
Akira Hatanaka921c58b2011-05-04 18:28:36 +000019 %tmp = load i32* @p, align 4
Akira Hatanaka6b7588e2011-05-04 17:54:27 +000020 tail call void @f2(i32 %tmp) nounwind
Akira Hatanaka921c58b2011-05-04 18:28:36 +000021 %tmp1 = load i32* @q, align 4
22 %tmp2 = load i32* @r, align 4
Akira Hatanaka6b7588e2011-05-04 17:54:27 +000023 tail call void @f3(i32 %tmp1, i32 %tmp2) nounwind
24 ret void
25}
26
27declare void @f1(...)
28
29declare void @f2(i32)
30
31declare void @f3(i32, i32)
32