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

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [binutils-2.20.1/] [ld/] [testsuite/] [ld-ia64/] [tlsbinpic.s] - Blame information for rev 206

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

Line No. Rev Author Line
1 205 julius
        /* Force .data aligned to 4K, so that .got very likely gets at
2
           0x60000000000031b0 (0x60 bytes .tdata and 0x150 bytes
3
           .dynamic).  */
4
        .data
5
        .balign 4096
6
        .section ".tdata", "awT", @progbits
7
        .globl sg1, sg2, sg3, sg4, sg5, sg6, sg7, sg8
8
        .globl sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8
9
        .hidden sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8
10
sg1:    .long 17
11
sg2:    .long 18
12
sg3:    .long 19
13
sg4:    .long 20
14
sg5:    .long 21
15
sg6:    .long 22
16
sg7:    .long 23
17
sg8:    .long 24
18
sl1:    .long 65
19
sl2:    .long 66
20
sl3:    .long 67
21
sl4:    .long 68
22
sl5:    .long 69
23
sl6:    .long 70
24
sl7:    .long 71
25
sl8:    .long 72
26
sh1:    .long 257
27
sh2:    .long 258
28
sh3:    .long 259
29
sh4:    .long 260
30
sh5:    .long 261
31
sh6:    .long 262
32
sh7:    .long 263
33
sh8:    .long 264
34
        .explicit
35
        .pred.safe_across_calls p1-p5,p16-p63
36
        /* Force .text aligned to 4K, so it very likely gets at
37
           0x4000000000001000.  */
38
        .text
39
        .balign 4096
40
        .globl  fn2#
41
        .proc   fn2#
42
fn2:
43
        .prologue 12, 33
44
        .mib
45
        .save   ar.pfs, r34
46
        alloc   r34 = ar.pfs, 0, 3, 2, 0
47
        .save   rp, r33
48
        mov     r33 = b0
49
 
50
        /* GD */
51
        addl    r14 = @ltoff(@dtpmod(sG1#)), gp
52
        addl    r15 = @ltoff(@dtprel(sG1#)), gp
53
        ;;
54
        ld8     out0 = [r14]
55
        ld8     out1 = [r15]
56
        br.call.sptk.many b0 = __tls_get_addr#
57
        ;;
58
 
59
        /* GD against local symbol */
60
        addl    r14 = @ltoff(@dtpmod(sl2#)), gp
61
        addl    r15 = @ltoff(@dtprel(sl2#)), gp
62
        ;;
63
        ld8     out0 = [r14]
64
        ld8     out1 = [r15]
65
        br.call.sptk.many b0 = __tls_get_addr#
66
        ;;
67
 
68
        /* LD */
69
        addl    r14 = @ltoff(@dtpmod(sl1#)), gp
70
        addl    out1 = @dtprel(sl1#) + 1, r0
71
        ;;
72
        ld8     out0 = [r14]
73
        br.call.sptk.many b0 = __tls_get_addr#
74
        ;;
75
 
76
        /* LD with 4 variables variables */
77
        addl    r14 = @ltoff(@dtpmod(sh1#)), gp
78
        mov     out1 = r0
79
        ;;
80
        ld8     out0 = [r14]
81
        br.call.sptk.many b0 = __tls_get_addr#
82
        ;;
83
        mov     r2 = r8
84
        ;;
85
        addl    r14 = @dtprel(sh1#), r2
86
        addl    r15 = @dtprel(sh2#) + 2, r2
87
        ;;
88
        adds    r14 = @dtprel(sh3#) + 3, r8
89
        movl    r15 = @dtprel(sh4#) + 1
90
        ;;
91
        add     r15 = r15, r8
92
        ;;
93
 
94
        mov     ar.pfs = r34
95
        mov     b0 = r33
96
        br.ret.sptk.many b0
97
        .endp   fn2#

powered by: WebSVN 2.1.0

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