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

Subversion Repositories openrisc

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

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

Line No. Rev Author Line
1 38 julius
        .data
2
        .align  4096
3
        .section ".tbss"
4
        .align  4
5
bl1:    .word 0
6
bl2:    .word 0
7
bl3:    .word 0
8
bl4:    .word 0
9
bl5:    .word 0
10
        .text
11
        .align  4096
12
        .globl  fn3
13
        .type   fn3,#function
14
        .proc   04
15
fn3:
16
        save    %sp, -160, %sp
17
        .hidden _GLOBAL_OFFSET_TABLE_
18
        sethi   %hh(_GLOBAL_OFFSET_TABLE_), %l1
19
        sethi   %lm(_GLOBAL_OFFSET_TABLE_), %l2
20
        or      %l1, %hm(_GLOBAL_OFFSET_TABLE_), %l1
21
        or      %l2, %lo(_GLOBAL_OFFSET_TABLE_), %l2
22
        sllx    %l1, 32, %l1
23
        add     %l1, %l2, %l1
24
        nop;nop;nop;nop
25
 
26
        /* IE against global var  */
27
        sethi   %tie_hi22(sg1), %o3
28
        add     %o3, %tie_lo10(sg1), %o3
29
        ldx     [%l1 + %o3], %o2, %tie_ldx(sg1)
30
        add     %g7, %o2, %o4, %tie_add(sg1)
31
        nop;nop;nop;nop
32
 
33
        /* direct %g7 access IE against global var  */
34
        sethi   %tie_hi22(sg2), %o0
35
        add     %o0, %tie_lo10(sg2), %o0
36
        ldx     [%l1 + %o0], %o0, %tie_ldx(sg2)
37
        lduw [%g7 + %o0], %o0, %tie_add(sg2)
38
        nop;nop;nop;nop
39
 
40
        /* IE against hidden var */
41
        sethi   %tie_hi22(sh1), %o0
42
        add     %o0, %tie_lo10(sh1), %o0
43
        ldx     [%l1 + %o0], %o0, %tie_ldx(sh1)
44
        add     %g7, %o0, %o0, %tie_add(sh1)
45
        nop;nop;nop;nop
46
 
47
        /* direct %g7 access IE against hidden var */
48
        sethi   %tie_hi22(sh2), %o5
49
        add     %o5, %tie_lo10(sh2), %o1
50
        ldx     [%l1 + %o1], %o2, %tie_ldx(sh2)
51
        stb     %o3, [%g7 + %o2], %tie_add(sh2)
52
        nop;nop;nop;nop
53
 
54
        /* IE against local var  */
55
        sethi   %tie_hi22(bl1), %o0
56
        add     %o0, %tie_lo10(bl1), %o0
57
        ldx     [%l1 + %o0], %o0, %tie_ldx(bl1)
58
        add     %g7, %o0, %o0, %tie_add(bl1)
59
        nop;nop;nop;nop
60
 
61
        /* direct %g7 access IE against local var  */
62
        sethi   %tie_hi22(bl2), %o5
63
        add     %o5, %tie_lo10(bl2), %o1
64
        ldx     [%l1 + %o1], %o2, %tie_ldx(bl2)
65
        stb     %o3, [%g7 + %o2], %tie_add(bl2)
66
        nop;nop;nop;nop
67
 
68
        /* LE, local var  */
69
        sethi   %tle_hix22(bl3+1), %o2
70
        xor     %o2, %tle_lox10(bl3+1), %o4
71
        add     %g7, %o4, %o0
72
        nop;nop;nop;nop
73
 
74
        /* LE, hidden var, direct %g7 access  */
75
        sethi   %tle_hix22(sh3), %o2
76
        xor     %o2, %tle_lox10(sh3), %o2
77
        ld      [%g7 + %o2], %o2
78
        nop;nop;nop;nop
79
 
80
        return  %i7 + 8
81
        nop

powered by: WebSVN 2.1.0

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