test case for revision 160084: Alignment filling between Mips function units
[oota-llvm.git] / test / MC / Mips / elf-tls.ll
1 ; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux %s -o - | elf-dump --dump-section-data  | FileCheck %s
2
3 ; Check that the appropriate relocations were created.
4
5 ; CHECK:     ('r_type', 0x2b)
6 ; CHECK:     ('r_type', 0x2c)
7 ; CHECK:     ('r_type', 0x2d)
8
9 @t1 = thread_local global i32 0, align 4
10
11 define i32 @f1() nounwind {
12 entry:
13   %tmp = load i32* @t1, align 4
14   ret i32 %tmp
15
16 }
17
18
19 @t2 = external thread_local global i32
20
21 define i32 @f2() nounwind {
22 entry:
23   %tmp = load i32* @t2, align 4
24   ret i32 %tmp
25
26 }
27
28 @f3.i = internal thread_local unnamed_addr global i32 1, align 4
29
30 define i32 @f3() nounwind {
31 entry:
32   %0 = load i32* @f3.i, align 4
33   %inc = add nsw i32 %0, 1
34   store i32 %inc, i32* @f3.i, align 4
35   ret i32 %inc
36 }