2004-10-01 H.J. Lu <hongjiu.lu@intel.com>
[binutils-gdb.git] / ld / testsuite / ld-s390 / tlsbin_64.s
1 .section ".tbss", "awT", @nobits
2 .globl bg1, bg2, bg3, bg4, bg5, bg6, bg7, bg8
3 bg1: .space 4
4 bg2: .space 4
5 bg3: .space 4
6 bg4: .space 4
7 bg5: .space 4
8 bg6: .space 4
9 bg7: .space 4
10 bg8: .space 4
11 bl1: .space 4
12 bl2: .space 4
13 bl3: .space 4
14 bl4: .space 4
15 bl5: .space 4
16 bl6: .space 4
17 bl7: .space 4
18 bl8: .space 4
19 .text
20 .globl _start
21 .type _start,@function
22 _start:
23 /* Function prolog */
24 stm %r6,%r14,24(%r15)
25 bras %r13,.LTN1
26 /* Literal pool */
27 .LT1:
28 .LC0:
29 .quad sG6@indntpoff
30 .LC1:
31 .quad bg6@indntpoff
32 .LC2:
33 .quad bl6@indntpoff
34 .LC3:
35 .quad sh6@indntpoff
36 .LC4:
37 .quad sg3@indntpoff
38 .LTN1:
39 /* Function prolog */
40 lgr %r14,%r15
41 aghi %r15,-160
42 stg %r14,0(%r14)
43
44 /* Extract TCB */
45 ear %r9,%a0
46 sllg %r9,%r4,32
47 ear %r9,%a1
48
49 /* IE against global var */
50 lg %r3,.LC0-.LT1(%r13)
51 lg %r3,0(%r3,%r12):tls_load:sG6
52 la %r3,0(%r3,%r9)
53
54 /* IE -> LE against global var defined in exec */
55 lg %r3,.LC1-.LT1(%r13)
56 lg %r4,0(%r3,%r12):tls_load:bg6
57 la %r5,0(%r4,%r9)
58
59 /* IE -> LE against local var */
60 lg %r3,.LC2-.LT1(%r13)
61 lg %r4,0(%r3,%r12):tls_load:bl6
62 la %r5,0(%r4,%r9)
63
64 /* IE -> LE against hidden but not local var */
65 lg %r3,.LC3-.LT1(%r13)
66 lg %r4,0(%r3,%r12):tls_load:sh6
67 la %r5,0(%r4,%r9)
68
69 /* LE, global var defined in exec */
70 lg %r4,.LC4-.LT1(%r13)
71 la %r5,0(%r4,%r9)
72
73 /* Function epilog */
74 lmg %r6,%r14,208(%r15)
75 br %r14