[opaque pointer type] Add textual IR support for explicit type parameter to the call...
[oota-llvm.git] / test / CodeGen / Mips / gprestore.ll
1 ; DISABLE: llc -march=mips < %s | FileCheck %s
2 ; RUN: false
3 ; XFAIL: *
4
5 @p = external global i32
6 @q = external global i32
7 @r = external global i32
8
9 define void @f0() nounwind {
10 entry:
11 ; CHECK: jalr
12 ; CHECK-NOT: got({{.*}})($gp)
13 ; CHECK: lw $gp
14 ; CHECK: jalr
15 ; CHECK-NOT: got({{.*}})($gp)
16 ; CHECK: lw $gp
17 ; CHECK: jalr
18 ; CHECK-NOT: got({{.*}})($gp)
19 ; CHECK: lw $gp
20   tail call void (...) @f1() nounwind
21   %tmp = load i32, i32* @p, align 4
22   tail call void @f2(i32 %tmp) nounwind
23   %tmp1 = load i32, i32* @q, align 4
24   %tmp2 = load i32, i32* @r, align 4
25   tail call void @f3(i32 %tmp1, i32 %tmp2) nounwind
26   ret void
27 }
28
29 declare void @f1(...)
30
31 declare void @f2(i32)
32
33 declare void @f3(i32, i32)
34