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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [binutils-2.20.1/] [ld/] [testsuite/] [ld-xtensa/] [tlspic1.s] - Blame information for rev 859

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

Line No. Rev Author Line
1 205 julius
        .section ".tdata", "awT", @progbits
2
        .global sg1, sg2, sg3, sg4, sg5, sg6, sg7, sg8
3
        .global sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8
4
        .hidden sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8
5
        .align  4
6
sg1:    .long   17
7
sg2:    .long   18
8
sg3:    .long   19
9
sg4:    .long   20
10
sg5:    .long   21
11
sg6:    .long   22
12
sg7:    .long   23
13
sg8:    .long   24
14
sl1:    .long   65
15
sl2:    .long   66
16
sl3:    .long   67
17
sl4:    .long   68
18
sl5:    .long   69
19
sl6:    .long   70
20
sl7:    .long   71
21
sl8:    .long   72
22
sh1:    .long   157
23
sh2:    .long   158
24
sh3:    .long   159
25
sh4:    .long   160
26
sh5:    .long   161
27
sh6:    .long   162
28
sh7:    .long   163
29
sh8:    .long   164
30
 
31
        .text
32
        .global _start
33
        .type   _start, @function
34
_start:
35
        entry   sp, 32
36
 
37
        /* GD */
38
        movi    a8, sg1@tlsfunc
39
        movi    a10, sg1@tlsarg
40
        callx8.tls a8, sg1@tlscall
41
 
42
        /* GD -> IE because variable is referenced through IE too */
43
        movi    a8, sg2@tlsfunc
44
        movi    a10, sg2@tlsarg
45
        callx8.tls a8, sg2@tlscall
46
 
47
        /* GD against local variable */
48
        movi    a8, sl1@tlsfunc
49
        movi    a10, sl1@tlsarg
50
        callx8.tls a8, sl1@tlscall
51
 
52
        /* GD -> IE against local variable referenced through IE too */
53
        movi    a8, sl2@tlsfunc
54
        movi    a10, sl2@tlsarg
55
        callx8.tls a8, sl2@tlscall
56
 
57
        /* GD against hidden and local variable */
58
        movi    a8, sh1@tlsfunc
59
        movi    a10, sh1@tlsarg
60
        callx8.tls a8, sh1@tlscall
61
 
62
        /* GD -> IE against hidden and local variable referenced through
63
           IE too */
64
        movi    a8, sh2@tlsfunc
65
        movi    a10, sh2@tlsarg
66
        callx8.tls a8, sh2@tlscall
67
 
68
        /* GD against hidden but not local variable */
69
        movi    a8, sH1@tlsfunc
70
        movi    a10, sH1@tlsarg
71
        callx8.tls a8, sH1@tlscall
72
 
73
        /* GD -> IE against hidden but not local variable referenced through
74
           IE too */
75
        movi    a8, sH2@tlsfunc
76
        movi    a10, sH2@tlsarg
77
        callx8.tls a8, sH2@tlscall
78
 
79
        /* LD */
80
        movi   a8, _TLS_MODULE_BASE_@tlsfunc
81
        movi   a10, _TLS_MODULE_BASE_@tlsarg
82
        callx8.tls a8, _TLS_MODULE_BASE_@tlscall
83
        movi   a12, sl1@dtpoff
84
        add    a12, a12, a10
85
        movi   a13, 2+sl2@dtpoff
86
        add    a13, a13, a10
87
 
88
        /* LD against hidden and local variables */
89
        movi   a12, sh1@dtpoff
90
        add    a12, a12, a10
91
        movi   a13, sh2@dtpoff+3
92
        add    a13, a13, a10
93
 
94
        /* LD against hidden but not local variables */
95
        movi   a12, sH1@dtpoff
96
        add    a12, a12, a10
97
        movi   a13, sH2@dtpoff+1
98
        add    a13, a13, a10
99
 
100
        /* IE against global var */
101
        rur     a2, THREADPTR
102
        movi    a3, sg2@tpoff
103
        add     a3, a3, a2
104
 
105
        /* IE against local var  */
106
        rur     a4, THREADPTR
107
        movi    a5, sl2@tpoff
108
        add     a5, a5, a4
109
 
110
        /* IE against hidden and local var  */
111
        rur     a6, THREADPTR
112
        movi    a7, sh2@tpoff
113
        add     a7, a7, a6
114
 
115
        /* IE against hidden but not local var  */
116
        rur     a8, THREADPTR
117
        movi    a9, sH2@tpoff
118
        add     a9, a9, a8
119
 
120
        retw

powered by: WebSVN 2.1.0

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