[InstCombine] Signed saturation patterns
[llvm-core.git] / test / MC / Mips / elf-tls.s
blob23a52e1ef0537d5080ae9d536a927de13d6fe477
1 // RUN: llvm-mc -filetype=obj -triple mipsel-unknown-linux %s -o - | llvm-readobj -r | FileCheck %s
3 // Check that the appropriate relocations were created.
5 // CHECK: Relocations [
6 // CHECK: Section {{.*}} .rel.text {
7 // CHECK: R_MIPS_TLS_LDM
8 // CHECK: R_MIPS_TLS_DTPREL_HI16
9 // CHECK: R_MIPS_TLS_DTPREL_LO16
10 // CHECK: }
11 // CHECK: ]
13 .text
14 .abicalls
15 .section .mdebug.abi32,"",@progbits
16 .file "/home/espindola/llvm/llvm/test/MC/Mips/elf-tls.ll"
17 .text
18 .globl f1
19 .align 2
20 .type f1,@function
21 .set nomips16
22 .ent f1
23 f1: # @f1
24 .frame $sp,24,$ra
25 .mask 0x80000000,-4
26 .fmask 0x00000000,0
27 .set noreorder
28 .set nomacro
29 .set noat
30 # %bb.0: # %entry
31 lui $2, %hi(_gp_disp)
32 addiu $2, $2, %lo(_gp_disp)
33 addiu $sp, $sp, -24
34 sw $ra, 20($sp) # 4-byte Folded Spill
35 addu $gp, $2, $25
36 lw $25, %call16(__tls_get_addr)($gp)
37 jalr $25
38 addiu $4, $gp, %tlsgd(t1)
39 lw $2, 0($2)
40 lw $ra, 20($sp) # 4-byte Folded Reload
41 jr $ra
42 addiu $sp, $sp, 24
43 .set at
44 .set macro
45 .set reorder
46 .end f1
47 $tmp0:
48 .size f1, ($tmp0)-f1
50 .globl f2
51 .align 2
52 .type f2,@function
53 .set nomips16
54 .ent f2
55 f2: # @f2
56 .frame $sp,24,$ra
57 .mask 0x80000000,-4
58 .fmask 0x00000000,0
59 .set noreorder
60 .set nomacro
61 .set noat
62 # %bb.0: # %entry
63 lui $2, %hi(_gp_disp)
64 addiu $2, $2, %lo(_gp_disp)
65 addiu $sp, $sp, -24
66 sw $ra, 20($sp) # 4-byte Folded Spill
67 addu $gp, $2, $25
68 lw $25, %call16(__tls_get_addr)($gp)
69 jalr $25
70 addiu $4, $gp, %tlsgd(t2)
71 lw $2, 0($2)
72 lw $ra, 20($sp) # 4-byte Folded Reload
73 jr $ra
74 addiu $sp, $sp, 24
75 .set at
76 .set macro
77 .set reorder
78 .end f2
79 $tmp1:
80 .size f2, ($tmp1)-f2
82 .globl f3
83 .align 2
84 .type f3,@function
85 .set nomips16
86 .ent f3
87 f3: # @f3
88 .frame $sp,24,$ra
89 .mask 0x80000000,-4
90 .fmask 0x00000000,0
91 .set noreorder
92 .set nomacro
93 .set noat
94 # %bb.0: # %entry
95 lui $2, %hi(_gp_disp)
96 addiu $2, $2, %lo(_gp_disp)
97 addiu $sp, $sp, -24
98 sw $ra, 20($sp) # 4-byte Folded Spill
99 addu $gp, $2, $25
100 lw $25, %call16(__tls_get_addr)($gp)
101 jalr $25
102 addiu $4, $gp, %tlsldm(f3.i)
103 lui $1, %dtprel_hi(f3.i)
104 addu $1, $1, $2
105 lw $2, %dtprel_lo(f3.i)($1)
106 addiu $2, $2, 1
107 sw $2, %dtprel_lo(f3.i)($1)
108 lw $ra, 20($sp) # 4-byte Folded Reload
109 jr $ra
110 addiu $sp, $sp, 24
111 .set at
112 .set macro
113 .set reorder
114 .end f3
115 $tmp2:
116 .size f3, ($tmp2)-f3
118 .type t1,@object # @t1
119 .section .tbss,"awT",@nobits
120 .globl t1
121 .align 2
123 .4byte 0 # 0x0
124 .size t1, 4
126 .type f3.i,@object # @f3.i
127 .section .tdata,"awT",@progbits
128 .align 2
129 f3.i:
130 .4byte 1 # 0x1
131 .size f3.i, 4
134 .text