OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [binutils-2.18.50/] [ld/] [testsuite/] [ld-sparc/] [tlssunbin64.s] - Blame information for rev 825

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 38 julius
        .section ".tbss"
2
        .align  4
3
        .globl bg1, bg2, bg3, bg4, bg5, bg6, bg7, bg8
4
bg1:    .word 0
5
bg2:    .word 0
6
bg3:    .word 0
7
bg4:    .word 0
8
bg5:    .word 0
9
bg6:    .word 0
10
bg7:    .word 0
11
bg8:    .word 0
12
bl1:    .word 0
13
bl2:    .word 0
14
bl3:    .word 0
15
bl4:    .word 0
16
bl5:    .word 0
17
bl6:    .word 0
18
bl7:    .word 0
19
bl8:    .word 0
20
        .text
21
        .globl  _start
22
        .type   _start,#function
23
        .proc   04
24
_start:
25
        save    %sp, -160, %sp
26
        .hidden _GLOBAL_OFFSET_TABLE_
27
        sethi   %hh(_GLOBAL_OFFSET_TABLE_), %l1
28
        sethi   %lm(_GLOBAL_OFFSET_TABLE_), %l2
29
        or      %l1, %hm(_GLOBAL_OFFSET_TABLE_), %l1
30
        or      %l2, %lo(_GLOBAL_OFFSET_TABLE_), %l2
31
        sllx    %l1, 32, %l1
32
        add     %l1, %l2, %l4
33
        nop;nop;nop;nop
34
 
35
        /* IE against global var  */
36
        sethi   %tie_hi22(sG6), %o3
37
        add     %o3, %tie_lo10(sG6), %o3
38
        ldx     [%l4 + %o3], %o2, %tie_ldx(sG6)
39
        add     %g7, %o2, %o4, %tie_add(sG6)
40
        nop;nop;nop;nop
41
 
42
        /* IE -> LE against global var defined in exec  */
43
        sethi   %tie_hi22(bg6), %o3
44
        add     %o3, %tie_lo10(bg6), %o5
45
        ldx     [%l4 + %o5], %o2, %tie_ldx(bg6)
46
        add     %g7, %o2, %o4, %tie_add(bg6)
47
        nop;nop;nop;nop
48
 
49
        /* IE -> LE against local var  */
50
        sethi   %tie_hi22(bl6), %o3
51
        add     %o3, %tie_lo10(bl6), %o5
52
        ldx     [%l4 + %o5], %l2, %tie_ldx(bl6)
53
        add     %g7, %l2, %l2, %tie_add(bl6)
54
        nop;nop;nop;nop
55
 
56
        /* direct %g7 access IE -> LE against local var  */
57
        sethi   %tie_hi22(bl8), %o3
58
        add     %o3, %tie_lo10(bl8), %o5
59
        ldx     [%l4 + %o5], %l2, %tie_ldx(bl8)
60
        ldsw [%g7 + %l2], %l2, %tie_add(bl8)
61
        nop;nop;nop;nop
62
 
63
        /* IE -> LE against hidden but not local var  */
64
        sethi   %tie_hi22(sh6), %o3
65
        add     %o3, %tie_lo10(sh6), %o5
66
        ldx     [%l4 + %o5], %l2, %tie_ldx(sh6)
67
        add     %g7, %l2, %l2, %tie_add(sh6)
68
        nop;nop;nop;nop
69
 
70
        /* direct %g7 access IE -> LE against hidden but not local var  */
71
        sethi   %tie_hi22(bl8), %o3
72
        add     %o3, %tie_lo10(bl8), %o5
73
        ldx     [%l4 + %o5], %l2, %tie_ldx(bl8)
74
        stb     %l1, [%g7 + %l2], %tie_add(bl8)
75
        nop;nop;nop;nop
76
 
77
        /* LE, global var defined in exec  */
78
        sethi   %tle_hix22(sg2), %l1
79
        nop
80
        xor     %l1, %tle_lox10(sg2), %l2
81
        nop
82
        add     %g7, %l2, %l3
83
        nop;nop;nop;nop
84
 
85
        /* LE, local var  */
86
        sethi   %tle_hix22(bl2+2), %o0
87
        xor     %o0, %tle_lox10(bl2+2), %o0
88
        add     %g7, %o0, %o0
89
        nop;nop;nop;nop
90
 
91
        /* LE, hidden var defined in exec */
92
        sethi   %tle_hix22(sh2+1), %l1
93
        xor     %l1, %tle_lox10(sh2+1), %o5
94
        add     %g7, %o5, %o1
95
        nop;nop;nop;nop
96
 
97
        /* Direct %g7 access  */
98
 
99
        /* LE, global var defined in exec  */
100
        sethi   %tle_hix22(sg3), %l1
101
        xor     %l1, %tle_lox10(sg3), %o5
102
        ldx     [%g7 + %o5], %o1
103
        nop;nop;nop;nop
104
 
105
        /* LE, local var  */
106
        sethi   %tle_hix22(bl3 + 3), %o0
107
        xor     %o0, %tle_lox10(bl3 + 3), %o0
108
        stb     %o1, [%g7 + %o0]
109
        nop;nop;nop;nop
110
 
111
        /* LE, hidden var defined in exec  */
112
        sethi   %tle_hix22(sh3 + 3), %o2
113
        xor     %o2, %tle_lox10(sh3 + 3), %o4
114
        ldstub  [%g7 + %o4], %o5
115
        nop;nop;nop;nop
116
 
117
        ret
118
        restore

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.