Upload Tizen:Base source
[external/binutils.git] / ld / testsuite / ld-powerpc / tocopt.s
1  .section .toc,"aw"
2 x4t:
3  .quad x4
4 x5t:
5  .quad x5
6 x6t:
7  .quad x6
8
9  .section .sdata,"aw"
10 x1:
11  .byte 1
12 x2:
13  .byte 2
14 x3:
15  .byte 3
16 x4:
17  .byte 4
18 x5:
19  .byte 5
20 x6:
21  .byte 6
22
23  .globl _start
24  .text
25 _start:
26 # no need for got entry, optimise to nop,addi
27 # note: ld doesn't yet do got optimisation, so we get nop,ld
28  addis 9,2,x1@got@ha
29  ld 9,x1@got@l(9)
30 # must keep got entry, optimise to nop,addi,ld
31  addis 4,2,x2@got@ha
32  addi 5,4,x2@got@l
33  ld 6,0(5)
34 # must keep got entry, optimise to nop,li,ldx
35  lis 29,x3@got@ha
36  addi 29,29,x3@got@l
37  ldx 3,2,29
38
39 # no need for toc entry, optimise to nop,addi
40  addis 9,2,x4t@toc@ha
41  ld 9,x4t@toc@l(9)
42 # must keep toc entry, optimise to nop,addi,ld
43 # if we had a reloc tying the ld to x5/x5t then we could throw away
44 # the toc entry and optimise to nop,nop,addi
45  addis 4,2,x5t@toc@ha
46  addi 5,4,x5t@toc@l
47  ld 6,0(5)
48 # must keep toc entry, optimise to nop,li,ldx
49  lis 29,x6t@toc@ha
50  addi 29,29,x6t@toc@l
51  ldx 3,2,29