Revert "Fix the test for PR 18963 so that it will work on 16-bit targets."
[deliverable/binutils-gdb.git] / ld / testsuite / ld-sparc / tlssunbin32.s
CommitLineData
b9734f35
JJ
1 .section ".tbss"
2 .align 4
3 .globl bg1, bg2, bg3, bg4, bg5, bg6, bg7, bg8
4bg1: .word 0
5bg2: .word 0
6bg3: .word 0
7bg4: .word 0
8bg5: .word 0
9bg6: .word 0
10bg7: .word 0
11bg8: .word 0
12bl1: .word 0
13bl2: .word 0
14bl3: .word 0
15bl4: .word 0
16bl5: .word 0
17bl6: .word 0
18bl7: .word 0
19bl8: .word 0
20 .text
21 .globl _start
22 .type _start,#function
23 .proc 04
24_start:
25 save %sp, -104, %sp
26 .hidden _GLOBAL_OFFSET_TABLE_
27 sethi %hi(_GLOBAL_OFFSET_TABLE_), %l4
28 or %l4, %lo(_GLOBAL_OFFSET_TABLE_), %l4
29 nop;nop;nop;nop
30
31 /* IE against global var */
32 sethi %tie_hi22(sG6), %o3
33 add %o3, %tie_lo10(sG6), %o3
34 ld [%l4 + %o3], %o2, %tie_ld(sG6)
35 add %g7, %o2, %o4, %tie_add(sG6)
36 nop;nop;nop;nop
37
38 /* IE -> LE against global var defined in exec */
39 sethi %tie_hi22(bg6), %o3
40 add %o3, %tie_lo10(bg6), %o5
41 ld [%l4 + %o5], %o2, %tie_ld(bg6)
42 add %g7, %o2, %o4, %tie_add(bg6)
43 nop;nop;nop;nop
44
45 /* IE -> LE against local var */
46 sethi %tie_hi22(bl6), %o3
47 add %o3, %tie_lo10(bl6), %o5
48 ld [%l4 + %o5], %l2, %tie_ld(bl6)
49 add %g7, %l2, %l2, %tie_add(bl6)
50 nop;nop;nop;nop
51
52 /* direct %g7 access IE -> LE against local var */
53 sethi %tie_hi22(bl8), %o3
54 add %o3, %tie_lo10(bl8), %o5
55 ld [%l4 + %o5], %l2, %tie_ld(bl8)
56 ld [%g7 + %l2], %l2, %tie_add(bl8)
57 nop;nop;nop;nop
58
59 /* IE -> LE against hidden but not local var */
60 sethi %tie_hi22(sh6), %o3
61 add %o3, %tie_lo10(sh6), %o5
62 ld [%l4 + %o5], %l2, %tie_ld(sh6)
63 add %g7, %l2, %l2, %tie_add(sh6)
64 nop;nop;nop;nop
65
66 /* direct %g7 access IE -> LE against hidden but not local var */
67 sethi %tie_hi22(bl8), %o3
68 add %o3, %tie_lo10(bl8), %o5
69 ld [%l4 + %o5], %l2, %tie_ld(bl8)
70 stb %l1, [%g7 + %l2], %tie_add(bl8)
71 nop;nop;nop;nop
72
73 /* LE, global var defined in exec */
74 sethi %tle_hix22(sg2), %l1
75 nop
76 xor %l1, %tle_lox10(sg2), %l2
77 nop
78 add %g7, %l2, %l3
79 nop;nop;nop;nop
80
81 /* LE, local var */
82 sethi %tle_hix22(bl2+2), %o0
83 xor %o0, %tle_lox10(bl2+2), %o0
84 add %g7, %o0, %o0
85 nop;nop;nop;nop
86
87 /* LE, hidden var defined in exec */
88 sethi %tle_hix22(sh2+1), %l1
89 xor %l1, %tle_lox10(sh2+1), %o5
90 add %g7, %o5, %o1
91 nop;nop;nop;nop
92
93 /* Direct %g7 access */
94
95 /* LE, global var defined in exec */
96 sethi %tle_hix22(sg3), %l1
97 xor %l1, %tle_lox10(sg3), %o5
98 ld [%g7 + %o5], %o1
99 nop;nop;nop;nop
100
101 /* LE, local var */
102 sethi %tle_hix22(bl3 + 3), %o0
103 xor %o0, %tle_lox10(bl3 + 3), %o0
104 stb %o1, [%g7 + %o0]
105 nop;nop;nop;nop
106
107 /* LE, hidden var defined in exec */
108 sethi %tle_hix22(sh3 + 3), %o2
109 xor %o2, %tle_lox10(sh3 + 3), %o4
110 ldstub [%g7 + %o4], %o5
111 nop;nop;nop;nop
112
113 ret
114 restore
This page took 0.79566 seconds and 4 git commands to generate.