tocopt8.s 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. .section .toc,"aw"
  2. x4t:
  3. .quad x4
  4. x5t:
  5. .quad x5
  6. .section .sdata,"aw"
  7. .p2align 4
  8. x1:
  9. .quad 1
  10. x2:
  11. .quad 2
  12. x3:
  13. .quad 3
  14. x4:
  15. .quad 4
  16. x5:
  17. .quad 5
  18. x6:
  19. .quad 6
  20. .globl _start
  21. .text
  22. _start:
  23. # no need for got entry, optimise to nop,addi
  24. addis 9,2,x1@got@ha
  25. ld 9,x1@got@l(9)
  26. # must keep got entry, optimise to nop,addi,ld
  27. addis 4,2,x2@got@ha
  28. addi 5,4,x2@got@l
  29. ld 6,0(5)
  30. # no need for toc entry, optimise to nop,addi
  31. addis 9,2,x4t@toc@ha
  32. ld 9,x4t@toc@l(9)
  33. # must keep toc entry, optimise to nop,addi,ld
  34. # if we had a reloc tying the ld to x5/x5t then we could throw away
  35. # the toc entry and optimise to nop,nop,addi
  36. addis 4,2,x5t@toc@ha
  37. addi 5,4,x5t@toc@l
  38. ld 6,0(5)
  39. # keep toc entry due to other accesses to x5t, optimise to nop,ld
  40. addis 9,2,x5t@toc@ha
  41. ld 9,x5t@toc@l(9)
  42. addis 4,2,x2@got@ha
  43. addi 5,4,x2@got@l
  44. lwz 6,0(5)
  45. addis 9,2,x1@toc@ha
  46. lwz 9,x1@toc@l(9)
  47. addis 4,2,x5t@toc@ha
  48. addi 5,4,x5t@toc@l
  49. lwz 6,0(5)
  50. addis 4,2,x2@got@ha
  51. addi 5,4,x2@got@l
  52. lwa 6,0(5)
  53. addis 9,2,x1@toc@ha
  54. lwa 9,x1@toc@l(9)
  55. addis 4,2,x5t@toc@ha
  56. addi 5,4,x5t@toc@l
  57. lwa 6,0(5)
  58. addis 4,2,x2@got@ha
  59. addi 5,4,x2@got@l
  60. lhz 6,0(5)
  61. addis 9,2,x1@toc@ha
  62. lhz 9,x1@toc@l(9)
  63. addis 4,2,x5t@toc@ha
  64. addi 5,4,x5t@toc@l
  65. lhz 6,0(5)
  66. addis 4,2,x2@got@ha
  67. addi 5,4,x2@got@l
  68. lha 6,0(5)
  69. addis 9,2,x1@toc@ha
  70. lha 9,x1@toc@l(9)
  71. addis 4,2,x5t@toc@ha
  72. addi 5,4,x5t@toc@l
  73. lha 6,0(5)
  74. addis 4,2,x2@got@ha
  75. addi 5,4,x2@got@l
  76. lbz 6,0(5)
  77. addis 9,2,x1@toc@ha
  78. lbz 9,x1@toc@l(9)
  79. addis 4,2,x5t@toc@ha
  80. addi 5,4,x5t@toc@l
  81. lbz 6,0(5)
  82. addis 4,2,x2@got@ha
  83. addi 5,4,x2@got@l
  84. lfs 6,0(5)
  85. addis 9,2,x1@toc@ha
  86. lfs 9,x1@toc@l(9)
  87. addis 4,2,x5t@toc@ha
  88. addi 5,4,x5t@toc@l
  89. lfs 6,0(5)
  90. addis 4,2,x2@got@ha
  91. addi 5,4,x2@got@l
  92. lfd 6,0(5)
  93. addis 9,2,x1@toc@ha
  94. lfd 9,x1@toc@l(9)
  95. addis 4,2,x5t@toc@ha
  96. addi 5,4,x5t@toc@l
  97. lfd 6,0(5)
  98. addis 4,2,x2@got@ha
  99. addi 5,4,x2@got@l
  100. lxv 6,0(5)
  101. addis 9,2,x1@toc@ha
  102. lxv 9,x1@toc@l(9)
  103. addis 4,2,x1@toc@ha
  104. addi 5,4,x1@toc@l
  105. lxv 6,0(5)
  106. addis 4,2,x2@got@ha
  107. addi 5,4,x2@got@l
  108. lxsd 6,0(5)
  109. addis 9,2,x1@toc@ha
  110. lxsd 9,x1@toc@l(9)
  111. addis 4,2,x5t@toc@ha
  112. addi 5,4,x5t@toc@l
  113. lxsd 6,0(5)
  114. addis 4,2,x2@got@ha
  115. addi 5,4,x2@got@l
  116. lxssp 6,0(5)
  117. addis 9,2,x1@toc@ha
  118. lxssp 9,x1@toc@l(9)
  119. addis 4,2,x5t@toc@ha
  120. addi 5,4,x5t@toc@l
  121. lxssp 6,0(5)
  122. addis 9,2,x1@toc@ha
  123. std 9,x1@toc@l(9)
  124. addis 4,2,x5t@toc@ha
  125. addi 5,4,x5t@toc@l
  126. std 6,0(5)
  127. addis 9,2,x1@toc@ha
  128. stw 9,x1@toc@l(9)
  129. addis 4,2,x5t@toc@ha
  130. addi 5,4,x5t@toc@l
  131. stw 6,0(5)
  132. addis 9,2,x1@toc@ha
  133. sth 9,x1@toc@l(9)
  134. addis 4,2,x5t@toc@ha
  135. addi 5,4,x5t@toc@l
  136. sth 6,0(5)
  137. addis 9,2,x1@toc@ha
  138. stb 9,x1@toc@l(9)
  139. addis 4,2,x5t@toc@ha
  140. addi 5,4,x5t@toc@l
  141. stb 6,0(5)
  142. addis 9,2,x1@toc@ha
  143. stfs 9,x1@toc@l(9)
  144. addis 4,2,x5t@toc@ha
  145. addi 5,4,x5t@toc@l
  146. stfs 6,0(5)
  147. addis 9,2,x1@toc@ha
  148. stfd 9,x1@toc@l(9)
  149. addis 4,2,x5t@toc@ha
  150. addi 5,4,x5t@toc@l
  151. stfd 6,0(5)
  152. addis 9,2,x1@toc@ha
  153. stxv 9,x1@toc@l(9)
  154. addis 4,2,x1@toc@ha
  155. addi 5,4,x1@toc@l
  156. stxv 6,0(5)
  157. addis 9,2,x1@toc@ha
  158. stxsd 9,x1@toc@l(9)
  159. addis 4,2,x5t@toc@ha
  160. addi 5,4,x5t@toc@l
  161. stxsd 6,0(5)
  162. addis 9,2,x1@toc@ha
  163. stxssp 9,x1@toc@l(9)
  164. addis 4,2,x5t@toc@ha
  165. addi 5,4,x5t@toc@l
  166. stxssp 6,0(5)