~ubuntu-branches/ubuntu/utopic/binutils-arm64-cross/utopic

« back to all changes in this revision

Viewing changes to binutils-2.23.52.20130611/ld/testsuite/ld-sparc/tlssunnopic64.s

  • Committer: Package Import Robot
  • Author(s): Matthias Klose
  • Date: 2013-06-20 17:38:09 UTC
  • Revision ID: package-import@ubuntu.com-20130620173809-app8lzgvymy5fg6c
Tags: 0.7
Build-depend on binutils-source (>= 2.23.52.20130620-1~).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
        .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