Akira Hatanaka | 1da1cdf | 2012-05-12 03:25:16 +0000 | [diff] [blame] | 1 | ; DISABLE: llc -march=mips < %s | FileCheck %s |
| 2 | ; RUN: false |
| 3 | ; XFAIL: * |
Akira Hatanaka | 6b7588e | 2011-05-04 17:54:27 +0000 | [diff] [blame] | 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 |
Akira Hatanaka | 921c58b | 2011-05-04 18:28:36 +0000 | [diff] [blame] | 21 | %tmp = load i32* @p, align 4 |
Akira Hatanaka | 6b7588e | 2011-05-04 17:54:27 +0000 | [diff] [blame] | 22 | tail call void @f2(i32 %tmp) nounwind |
Akira Hatanaka | 921c58b | 2011-05-04 18:28:36 +0000 | [diff] [blame] | 23 | %tmp1 = load i32* @q, align 4 |
| 24 | %tmp2 = load i32* @r, align 4 |
Akira Hatanaka | 6b7588e | 2011-05-04 17:54:27 +0000 | [diff] [blame] | 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 | |