spill.sbk 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. .global main
  2. .section ".text"
  3. .align 4
  4. main:
  5. mov %g0,%o0
  6. .L1:
  7. retl; nop
  8. .type main,#function
  9. .size main,.-main
  10. .global f
  11. .align 4
  12. f:
  13. save %sp,-96,%sp
  14. call f; nop
  15. mov %o0,%i5
  16. call f; nop
  17. add %i5,%o0,%i0
  18. mov %g0,%i0
  19. .L2:
  20. ret; restore
  21. .type f,#function
  22. .size f,.-f
  23. .global f2
  24. .align 4
  25. f2:
  26. save %sp,-96,%sp
  27. call f; nop
  28. mov %o0,%i4
  29. cmp %i0,0; be .L5; nop
  30. call f; nop
  31. mov %o0,%i3
  32. mov %i3,%i5
  33. ba .L6; nop
  34. .L5:
  35. set 1,%i5
  36. .L6:
  37. add %i4,%i5,%i0
  38. mov %g0,%i0
  39. .L3:
  40. ret; restore
  41. .type f2,#function
  42. .size f2,.-f2
  43. .global f3
  44. .align 4
  45. f3:
  46. save %sp,-104,%sp
  47. mov %g0,%i5
  48. mov %g0,%i4
  49. mov %g0,%i3
  50. mov %g0,%i2
  51. mov %g0,%l7
  52. mov %g0,%l6
  53. mov %g0,%l5
  54. mov %g0,%l4
  55. st %g0,[%fp+-4]
  56. st %g0,[%fp+-8]
  57. mov %i1,%l3
  58. add %l3,4,%i1
  59. cmp %i0,0; be .L9; nop
  60. call f; nop
  61. mov %o0,%l2
  62. st %l2,[%fp+-12]
  63. ba .L10; nop
  64. .L9:
  65. st %g0,[%fp+-12]
  66. .L10:
  67. ld [%fp+-12],%l2
  68. st %l2,[%l3]
  69. mov %g0,%i0
  70. .L7:
  71. ret; restore
  72. .type f3,#function
  73. .size f3,.-f3
  74. .global f4
  75. .align 4
  76. f4:
  77. save %sp,-96,%sp
  78. mov %g0,%i5
  79. mov %g0,%i4
  80. mov %g0,%i3
  81. mov %g0,%i2
  82. mov %g0,%i1
  83. mov %g0,%i0
  84. set i,%l6
  85. ld [%l6],%l6
  86. sll %l6,3,%l5
  87. set a,%l4
  88. add %l5,%l4,%l4
  89. ld2 [%l4],%f30
  90. set b,%l4
  91. add %l5,%l4,%l5
  92. ld2 [%l5],%f28
  93. set .L15,%l5
  94. ld2 [%l5],%f26
  95. faddd %f30,%f28,%f24
  96. fcmped %f24,%f26; nop; fbue .L13; nop
  97. cmp %l6,0; be .L13; nop
  98. fsubd %f30,%f28,%f30
  99. fcmped %f30,%f26; nop; fbue .L13; nop
  100. set 1,%l7
  101. ba .L14; nop
  102. .L13:
  103. mov %g0,%l7
  104. .L14:
  105. set i,%l6
  106. st %l7,[%l6]
  107. mov %g0,%i0
  108. .L11:
  109. ret; restore
  110. .type f4,#function
  111. .size f4,.-f4
  112. .global f5
  113. .align 4
  114. f5:
  115. save %sp,-96,%sp
  116. set x,%i5
  117. set k,%i4
  118. ld [%i4],%i4
  119. set m,%i3
  120. ld [%i3],%i3
  121. set A,%i2
  122. ld [%i2],%i2
  123. smul %i3,%i4,%i1
  124. sll %i1,3,%i1
  125. add %i1,%i2,%i1
  126. set j,%i0
  127. ld [%i0],%i0
  128. smul %i3,%i0,%i3
  129. sll %i3,3,%i3
  130. add %i3,%i2,%i3
  131. set n,%i2
  132. ld [%i2],%i2
  133. set B,%l7
  134. ld [%l7],%l7
  135. smul %i2,%i4,%i4
  136. sll %i4,3,%i4
  137. add %i4,%l7,%i4
  138. smul %i2,%i0,%i2
  139. sll %i2,3,%i2
  140. add %i2,%l7,%i2
  141. ld2 [%i1],%f30
  142. ld2 [%i3],%f28
  143. fmuld %f30,%f28,%f30
  144. ld2 [%i4],%f28
  145. ld2 [%i2],%f26
  146. fmuld %f28,%f26,%f28
  147. faddd %f30,%f28,%f30
  148. st2 %f30,[%i5]
  149. ld2 [%i1],%f30
  150. ld2 [%i2],%f28
  151. fmuld %f30,%f28,%f30
  152. ld2 [%i4],%f28
  153. ld2 [%i3],%f26
  154. fmuld %f28,%f26,%f28
  155. fsubd %f30,%f28,%f30
  156. st2 %f30,[%i5]
  157. mov %g0,%i0
  158. .L16:
  159. ret; restore
  160. .type f5,#function
  161. .size f5,.-f5
  162. .section ".bss"
  163. .global x
  164. .type x,#object
  165. .size x,8
  166. .common x,8,8
  167. .global B
  168. .type B,#object
  169. .size B,4
  170. .common B,4,4
  171. .global A
  172. .type A,#object
  173. .size A,4
  174. .common A,4,4
  175. .global n
  176. .type n,#object
  177. .size n,4
  178. .common n,4,4
  179. .global m
  180. .type m,#object
  181. .size m,4
  182. .common m,4,4
  183. .global k
  184. .type k,#object
  185. .size k,4
  186. .common k,4,4
  187. .global j
  188. .type j,#object
  189. .size j,4
  190. .common j,4,4
  191. .global i
  192. .type i,#object
  193. .size i,4
  194. .common i,4,4
  195. .global b
  196. .type b,#object
  197. .size b,80
  198. .common b,80,8
  199. .global a
  200. .type a,#object
  201. .size a,80
  202. .common a,80,8
  203. .section ".rodata"
  204. .align 8
  205. .L15:
  206. .word 0x0
  207. .word 0x0