Upload Tizen:Base source
[external/binutils.git] / ld / testsuite / ld-frv / tls-2.s
1         .section        .tbss,"awT",@nobits
2         .align 4
3         .type   l, @object
4         .size   l, 4
5 l:
6         .zero   4
7         .align 4
8         .globl i
9         .type   i, @object
10         .size   i, 4
11 i:
12         .zero   4
13         .text
14         .globl  _start
15 _start:
16         call    #gettlsoff(l+1)
17         call    #gettlsoff(l+1+4096)
18         call    #gettlsoff(l+1+65536)
19
20         sethi.p #gottlsdeschi(l+2), gr14
21         setlo   #gottlsdesclo(l+2), gr14
22         ldd     #tlsdesc(l+2)@(gr15, gr14), gr8
23         calll   #gettlsoff(l+2)@(gr8, gr0)
24
25         sethi.p #gottlsdeschi(l+2+4096), gr14
26         setlo   #gottlsdesclo(l+2+4096), gr14
27         ldd     #tlsdesc(l+2+4096)@(gr15, gr14), gr8
28         calll   #gettlsoff(l+2+4096)@(gr8, gr0)
29
30         sethi.p #gottlsdeschi(l+2+65536), gr14
31         setlo   #gottlsdesclo(l+2+65536), gr14
32         ldd     #tlsdesc(l+2+65536)@(gr15, gr14), gr8
33         calll   #gettlsoff(l+2+65536)@(gr8, gr0)
34
35         lddi.p  @(gr15, #gottlsdesc12(l+3)), gr8
36         setlos  #gottlsdesclo(l+3), gr14
37         calll   #gettlsoff(l+3)@(gr8, gr0)
38
39         lddi.p  @(gr15, #gottlsdesc12(l+3+4096)), gr8
40         setlos  #gottlsdesclo(l+3+4096), gr14
41         calll   #gettlsoff(l+3+4096)@(gr8, gr0)
42
43         lddi.p  @(gr15, #gottlsdesc12(l+3+65536)), gr8
44         setlos  #gottlsdesclo(l+3+65536), gr14
45         calll   #gettlsoff(l+3+65536)@(gr8, gr0)
46
47         sethi   #tlsmoffhi(l+4), gr9
48         setlo   #tlsmofflo(l+4), gr9
49
50         sethi   #tlsmoffhi(l+4+4096), gr9
51         setlo   #tlsmofflo(l+4+4096), gr9
52
53         sethi   #tlsmoffhi(l+4+65536), gr9
54         setlo   #tlsmofflo(l+4+65536), gr9
55
56         call    #gettlsoff(i+1)
57         call    #gettlsoff(i+1+4096)
58         call    #gettlsoff(i+1+65536)
59
60         sethi.p #gottlsdeschi(i+2), gr14
61         setlo   #gottlsdesclo(i+2), gr14
62         ldd     #tlsdesc(i+2)@(gr15, gr14), gr8
63         calll   #gettlsoff(i+2)@(gr8, gr0)
64
65         sethi.p #gottlsdeschi(i+2+4096), gr14
66         setlo   #gottlsdesclo(i+2+4096), gr14
67         ldd     #tlsdesc(i+2+4096)@(gr15, gr14), gr8
68         calll   #gettlsoff(i+2+4096)@(gr8, gr0)
69
70         sethi.p #gottlsdeschi(i+2+65536), gr14
71         setlo   #gottlsdesclo(i+2+65536), gr14
72         ldd     #tlsdesc(i+2+65536)@(gr15, gr14), gr8
73         calll   #gettlsoff(i+2+65536)@(gr8, gr0)
74
75         lddi.p  @(gr15, #gottlsdesc12(i+3)), gr8
76         setlos  #gottlsdesclo(i+3), gr14
77         calll   #gettlsoff(i+3)@(gr8, gr0)
78
79         lddi.p  @(gr15, #gottlsdesc12(i+3+4096)), gr8
80         setlos  #gottlsdesclo(i+3+4096), gr14
81         calll   #gettlsoff(i+3+4096)@(gr8, gr0)
82
83         lddi.p  @(gr15, #gottlsdesc12(i+3+65536)), gr8
84         setlos  #gottlsdesclo(i+3+65536), gr14
85         calll   #gettlsoff(i+3+65536)@(gr8, gr0)
86
87         sethi   #tlsmoffhi(i+4), gr9
88         setlo   #tlsmofflo(i+4), gr9
89
90         sethi   #tlsmoffhi(i+4+4096), gr9
91         setlo   #tlsmofflo(i+4+4096), gr9
92
93         sethi   #tlsmoffhi(i+4+65536), gr9
94         setlo   #tlsmofflo(i+4+65536), gr9
95
96         call    #gettlsoff(0+1)
97         call    #gettlsoff(0+1+4096)
98         call    #gettlsoff(0+1+65536)
99
100         sethi.p #gottlsdeschi(0+2), gr14
101         setlo   #gottlsdesclo(0+2), gr14
102         ldd     #tlsdesc(0+2)@(gr15, gr14), gr8
103         calll   #gettlsoff(0+2)@(gr8, gr0)
104
105         sethi.p #gottlsdeschi(0+2+4096), gr14
106         setlo   #gottlsdesclo(0+2+4096), gr14
107         ldd     #tlsdesc(0+2+4096)@(gr15, gr14), gr8
108         calll   #gettlsoff(0+2+4096)@(gr8, gr0)
109
110         sethi.p #gottlsdeschi(0+2+65536), gr14
111         setlo   #gottlsdesclo(0+2+65536), gr14
112         ldd     #tlsdesc(0+2+65536)@(gr15, gr14), gr8
113         calll   #gettlsoff(0+2+65536)@(gr8, gr0)
114
115         lddi.p  @(gr15, #gottlsdesc12(0+3)), gr8
116         setlos  #gottlsdesclo(0+3), gr14
117         calll   #gettlsoff(0+3)@(gr8, gr0)
118
119         lddi.p  @(gr15, #gottlsdesc12(0+3+4096)), gr8
120         setlos  #gottlsdesclo(0+3+4096), gr14
121         calll   #gettlsoff(0+3+4096)@(gr8, gr0)
122
123         lddi.p  @(gr15, #gottlsdesc12(0+3+65536)), gr8
124         setlos  #gottlsdesclo(0+3+65536), gr14
125         calll   #gettlsoff(0+3+65536)@(gr8, gr0)
126
127         sethi   #tlsmoffhi(0+4), gr9
128         setlo   #tlsmofflo(0+4), gr9
129
130         sethi   #tlsmoffhi(0+4+4096), gr9
131         setlo   #tlsmofflo(0+4+4096), gr9
132
133         sethi   #tlsmoffhi(0+4+65536), gr9
134         setlo   #tlsmofflo(0+4+65536), gr9
135
136         call    #gettlsoff(x+1)
137         call    #gettlsoff(x+1+4096)
138         call    #gettlsoff(x+1+65536)
139
140         sethi.p #gottlsdeschi(x+2), gr14
141         setlo   #gottlsdesclo(x+2), gr14
142         ldd     #tlsdesc(x+2)@(gr15, gr14), gr8
143         calll   #gettlsoff(x+2)@(gr8, gr0)
144
145         sethi.p #gottlsdeschi(x+2+4096), gr14
146         setlo   #gottlsdesclo(x+2+4096), gr14
147         ldd     #tlsdesc(x+2+4096)@(gr15, gr14), gr8
148         calll   #gettlsoff(x+2+4096)@(gr8, gr0)
149
150         sethi.p #gottlsdeschi(x+2+65536), gr14
151         setlo   #gottlsdesclo(x+2+65536), gr14
152         ldd     #tlsdesc(x+2+65536)@(gr15, gr14), gr8
153         calll   #gettlsoff(x+2+65536)@(gr8, gr0)
154
155         lddi.p  @(gr15, #gottlsdesc12(x+3)), gr8
156         setlos  #gottlsdesclo(x+3), gr14
157         calll   #gettlsoff(x+3)@(gr8, gr0)
158
159         lddi.p  @(gr15, #gottlsdesc12(x+3+4096)), gr8
160         setlos  #gottlsdesclo(x+3+4096), gr14
161         calll   #gettlsoff(x+3+4096)@(gr8, gr0)
162
163         lddi.p  @(gr15, #gottlsdesc12(x+3+65536)), gr8
164         setlos  #gottlsdesclo(x+3+65536), gr14
165         calll   #gettlsoff(x+3+65536)@(gr8, gr0)
166
167 .ifdef  static_tls
168         ldi     @(gr15, #gottlsoff12(l+1)), gr9
169         ldi     @(gr15, #gottlsoff12(l+1+65536)), gr9
170         ldi     @(gr15, #gottlsoff12(i+1)), gr9
171         ldi     @(gr15, #gottlsoff12(i+1+65536)), gr9
172         ldi     @(gr15, #gottlsoff12(0+1)), gr9
173         ldi     @(gr15, #gottlsoff12(0+1+65536)), gr9
174         ldi     @(gr15, #gottlsoff12(x+1)), gr9
175         ldi     @(gr15, #gottlsoff12(x+1+65536)), gr9
176         
177         setlos  #gottlsofflo(l+1+4096), gr8
178         ld      #tlsoff(l+1+4096)@(gr15, gr8), gr9
179         
180         sethi   #gottlsoffhi(i+1+4096), gr8
181         setlo   #gottlsofflo(i+1+4096), gr8
182         ld      #tlsoff(i+1+4096)@(gr15, gr8), gr9
183 .endif