Commit | Line | Data |
---|---|---|
b3808325 AM |
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 |