Advertisement
bartekltg

asm logarithm

Jul 22nd, 2014
392
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.83 KB | None | 0 0
  1. 0000000000453dc0 <__log2>:
  2. 453dc0: 66 0f 57 c9 xorpd %xmm1,%xmm1
  3. 453dc4: 66 0f 2e c8 ucomisd %xmm0,%xmm1
  4. 453dc8: 73 05 jae 453dcf <__log2+0xf>
  5. 453dca: e9 b1 6c 00 00 jmpq 45aa80 <__ieee754_log2>
  6. 453dcf: 83 3d 02 d4 30 00 ff cmpl $0xffffffff,0x30d402(%rip) # 7611d8 <_LIB_VERSION_INTERNAL>
  7. 453dd6: 74 f2 je 453dca <__log2+0xa>
  8. 453dd8: 66 0f 2e c1 ucomisd %xmm1,%xmm0
  9. 453ddc: 7b 15 jnp 453df3 <__log2+0x33>
  10. 453dde: 0f 57 c9 xorps %xmm1,%xmm1
  11. 453de1: f3 0f 5e c9 divss %xmm1,%xmm1
  12. 453de5: 66 0f 28 c8 movapd %xmm0,%xmm1
  13. 453de9: bf 31 00 00 00 mov $0x31,%edi
  14. 453dee: e9 bd 00 00 00 jmpq 453eb0 <__kernel_standard>
  15. 453df3: 75 e9 jne 453dde <__log2+0x1e>
  16. 453df5: 0f 57 d2 xorps %xmm2,%xmm2
  17. 453df8: f3 0f 10 0d 18 31 0b movss 0xb3118(%rip),%xmm1 # 506f18 <_IO_stdin_used+0x58>
  18. 453dff: 00
  19. 453e00: f3 0f 5e ca divss %xmm2,%xmm1
  20. 453e04: 66 0f 28 c8 movapd %xmm0,%xmm1
  21. 453e08: bf 30 00 00 00 mov $0x30,%edi
  22. 453e0d: e9 9e 00 00 00 jmpq 453eb0 <__kernel_standard>
  23. 453e12: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
  24. 453e19: 00 00 00
  25. 453e1c: 0f 1f 40 00 nopl 0x0(%rax)
  26.  
  27. 000000000045aa80 <__ieee754_log2>:
  28. 45aa80: 48 ba ff ff ff ff ff movabs $0xfffffffffffff,%rdx
  29. 45aa87: ff 0f 00
  30. 45aa8a: 66 48 0f 7e c0 movq %xmm0,%rax
  31. 45aa8f: 48 39 d0 cmp %rdx,%rax
  32. 45aa92: 48 89 c6 mov %rax,%rsi
  33. 45aa95: 7f 39 jg 45aad0 <__ieee754_log2+0x50>
  34. 45aa97: 48 ba ff ff ff ff ff movabs $0x7fffffffffffffff,%rdx
  35. 45aa9e: ff ff 7f
  36. 45aaa1: 48 85 d0 test %rdx,%rax
  37. 45aaa4: 0f 84 fb 01 00 00 je 45aca5 <__ieee754_log2+0x225>
  38. 45aaaa: 48 85 c0 test %rax,%rax
  39. 45aaad: 0f 88 0c 02 00 00 js 45acbf <__ieee754_log2+0x23f>
  40. 45aab3: f2 0f 59 05 fd fd 0a mulsd 0xafdfd(%rip),%xmm0 # 50a8b8 <_ZTSSt14basic_iostreamIwSt11char_traitsIwEE+0xe78>
  41. 45aaba: 00
  42. 45aabb: 41 b8 cb fb ff ff mov $0xfffffbcb,%r8d
  43. 45aac1: 66 48 0f 7e c6 movq %xmm0,%rsi
  44. 45aac6: eb 0e jmp 45aad6 <__ieee754_log2+0x56>
  45. 45aac8: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1)
  46. 45aacf: 00
  47. 45aad0: 41 b8 01 fc ff ff mov $0xfffffc01,%r8d
  48. 45aad6: 48 b8 ff ff ff ff ff movabs $0x7fefffffffffffff,%rax
  49. 45aadd: ff ef 7f
  50. 45aae0: 48 39 c6 cmp %rax,%rsi
  51. 45aae3: 0f 87 d1 01 00 00 ja 45acba <__ieee754_log2+0x23a>
  52. 45aae9: 48 bf ff ff ff ff ff movabs $0xfffffffffffff,%rdi
  53. 45aaf0: ff 0f 00
  54. 45aaf3: 48 89 f1 mov %rsi,%rcx
  55. 45aaf6: 48 ba 00 00 00 00 64 movabs $0x95f6400000000,%rdx
  56. 45aafd: 5f 09 00
  57. 45ab00: 48 21 f9 and %rdi,%rcx
  58. 45ab03: 48 b8 00 00 00 00 00 movabs $0x10000000000000,%rax
  59. 45ab0a: 00 10 00
  60. 45ab0d: 48 c1 fe 34 sar $0x34,%rsi
  61. 45ab11: 48 01 ca add %rcx,%rdx
  62. 45ab14: 44 01 c6 add %r8d,%esi
  63. 45ab17: 48 21 c2 and %rax,%rdx
  64. 45ab1a: 48 b8 00 00 00 00 00 movabs $0x3ff0000000000000,%rax
  65. 45ab21: 00 f0 3f
  66. 45ab24: 48 31 d0 xor %rdx,%rax
  67. 45ab27: 48 c1 fa 34 sar $0x34,%rdx
  68. 45ab2b: 48 09 c8 or %rcx,%rax
  69. 45ab2e: 01 f2 add %esi,%edx
  70. 45ab30: 66 48 0f 6e c8 movq %rax,%xmm1
  71. 45ab35: 48 8d 41 02 lea 0x2(%rcx),%rax
  72. 45ab39: f2 0f 2a e2 cvtsi2sd %edx,%xmm4
  73. 45ab3d: f2 0f 5c 0d 83 fd 0a subsd 0xafd83(%rip),%xmm1 # 50a8c8 <_ZTSSt14basic_iostreamIwSt11char_traitsIwEE+0xe88>
  74. 45ab44: 00
  75. 45ab45: 48 21 f8 and %rdi,%rax
  76. 45ab48: 48 83 f8 02 cmp $0x2,%rax
  77. 45ab4c: 77 22 ja 45ab70 <__ieee754_log2+0xf0>
  78. 45ab4e: 66 0f 2e 0d 4a fd 0a ucomisd 0xafd4a(%rip),%xmm1 # 50a8a0 <_ZTSSt14basic_iostreamIwSt11char_traitsIwEE+0xe60>
  79. 45ab55: 00
  80. 45ab56: 0f 8a e4 00 00 00 jp 45ac40 <__ieee754_log2+0x1c0>
  81. 45ab5c: 66 0f 28 c4 movapd %xmm4,%xmm0
  82. 45ab60: 0f 85 da 00 00 00 jne 45ac40 <__ieee754_log2+0x1c0>
  83. 45ab66: f3 c3 repz retq
  84. 45ab68: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1)
  85. 45ab6f: 00
  86. 45ab70: f2 0f 10 05 70 fd 0a movsd 0xafd70(%rip),%xmm0 # 50a8e8 <_ZTSSt14basic_iostreamIwSt11char_traitsIwEE+0xea8>
  87. 45ab77: 00
  88. 45ab78: 48 ba 00 00 00 00 86 movabs $0xfff9eb8600000000,%rdx
  89. 45ab7f: eb f9 ff
  90. 45ab82: 66 0f 28 e9 movapd %xmm1,%xmm5
  91. 45ab86: 48 b8 00 00 00 00 51 movabs $0x6b85100000000,%rax
  92. 45ab8d: b8 06 00
  93. 45ab90: f2 0f 58 c1 addsd %xmm1,%xmm0
  94. 45ab94: 48 01 ca add %rcx,%rdx
  95. 45ab97: 48 29 c8 sub %rcx,%rax
  96. 45ab9a: 48 09 d0 or %rdx,%rax
  97. 45ab9d: f2 0f 5e e8 divsd %xmm0,%xmm5
  98. 45aba1: f2 0f 10 05 6f fd 0a movsd 0xafd6f(%rip),%xmm0 # 50a918 <_ZTSSt14basic_iostreamIwSt11char_traitsIwEE+0xed8>
  99. 45aba8: 00
  100. 45aba9: 66 0f 28 d5 movapd %xmm5,%xmm2
  101. 45abad: f2 0f 59 d5 mulsd %xmm5,%xmm2
  102. 45abb1: 66 0f 28 da movapd %xmm2,%xmm3
  103. 45abb5: f2 0f 59 da mulsd %xmm2,%xmm3
  104. 45abb9: f2 0f 59 c3 mulsd %xmm3,%xmm0
  105. 45abbd: f2 0f 58 05 43 fd 0a addsd 0xafd43(%rip),%xmm0 # 50a908 <_ZTSSt14basic_iostreamIwSt11char_traitsIwEE+0xec8>
  106. 45abc4: 00
  107. 45abc5: f2 0f 59 c3 mulsd %xmm3,%xmm0
  108. 45abc9: f2 0f 58 05 1f fd 0a addsd 0xafd1f(%rip),%xmm0 # 50a8f0 <_ZTSSt14basic_iostreamIwSt11char_traitsIwEE+0xeb0>
  109. 45abd0: 00
  110. 45abd1: f2 0f 59 c3 mulsd %xmm3,%xmm0
  111. 45abd5: f2 0f 58 05 23 fd 0a addsd 0xafd23(%rip),%xmm0 # 50a900 <_ZTSSt14basic_iostreamIwSt11char_traitsIwEE+0xec0>
  112. 45abdc: 00
  113. 45abdd: f2 0f 59 c2 mulsd %xmm2,%xmm0
  114. 45abe1: f2 0f 10 15 37 fd 0a movsd 0xafd37(%rip),%xmm2 # 50a920 <_ZTSSt14basic_iostreamIwSt11char_traitsIwEE+0xee0>
  115. 45abe8: 00
  116. 45abe9: f2 0f 59 d3 mulsd %xmm3,%xmm2
  117. 45abed: f2 0f 58 15 1b fd 0a addsd 0xafd1b(%rip),%xmm2 # 50a910 <_ZTSSt14basic_iostreamIwSt11char_traitsIwEE+0xed0>
  118. 45abf4: 00
  119. 45abf5: f2 0f 59 d3 mulsd %xmm3,%xmm2
  120. 45abf9: f2 0f 58 15 f7 fc 0a addsd 0xafcf7(%rip),%xmm2 # 50a8f8 <_ZTSSt14basic_iostreamIwSt11char_traitsIwEE+0xeb8>
  121. 45ac00: 00
  122. 45ac01: f2 0f 59 d3 mulsd %xmm3,%xmm2
  123. 45ac05: f2 0f 58 c2 addsd %xmm2,%xmm0
  124. 45ac09: 7e 75 jle 45ac80 <__ieee754_log2+0x200>
  125. 45ac0b: f2 0f 10 15 ad fc 0a movsd 0xafcad(%rip),%xmm2 # 50a8c0 <_ZTSSt14basic_iostreamIwSt11char_traitsIwEE+0xe80>
  126. 45ac12: 00
  127. 45ac13: f2 0f 59 d1 mulsd %xmm1,%xmm2
  128. 45ac17: f2 0f 59 d1 mulsd %xmm1,%xmm2
  129. 45ac1b: f2 0f 58 c2 addsd %xmm2,%xmm0
  130. 45ac1f: f2 0f 59 c5 mulsd %xmm5,%xmm0
  131. 45ac23: f2 0f 5c d0 subsd %xmm0,%xmm2
  132. 45ac27: 66 0f 28 c2 movapd %xmm2,%xmm0
  133. 45ac2b: f2 0f 5c c1 subsd %xmm1,%xmm0
  134. 45ac2f: f2 0f 5e 05 d9 c4 0a divsd 0xac4d9(%rip),%xmm0 # 507110 <_IO_stdin_used+0x250>
  135. 45ac36: 00
  136. 45ac37: f2 0f 5c e0 subsd %xmm0,%xmm4
  137. 45ac3b: 66 0f 28 c4 movapd %xmm4,%xmm0
  138. 45ac3f: c3 retq
  139. 45ac40: f2 0f 10 1d 30 47 0b movsd 0xb4730(%rip),%xmm3 # 50f378 <sqrt_2.2983+0x30>
  140. 45ac47: 00
  141. 45ac48: 66 0f 28 c1 movapd %xmm1,%xmm0
  142. 45ac4c: f2 0f 10 15 6c fc 0a movsd 0xafc6c(%rip),%xmm2 # 50a8c0 <_ZTSSt14basic_iostreamIwSt11char_traitsIwEE+0xe80>
  143. 45ac53: 00
  144. 45ac54: f2 0f 59 d9 mulsd %xmm1,%xmm3
  145. 45ac58: f2 0f 59 c1 mulsd %xmm1,%xmm0
  146. 45ac5c: f2 0f 5c d3 subsd %xmm3,%xmm2
  147. 45ac60: f2 0f 59 c2 mulsd %xmm2,%xmm0
  148. 45ac64: f2 0f 5c c1 subsd %xmm1,%xmm0
  149. 45ac68: f2 0f 5e 05 a0 c4 0a divsd 0xac4a0(%rip),%xmm0 # 507110 <_IO_stdin_used+0x250>
  150. 45ac6f: 00
  151. 45ac70: f2 0f 5c e0 subsd %xmm0,%xmm4
  152. 45ac74: 66 0f 28 c4 movapd %xmm4,%xmm0
  153. 45ac78: c3 retq
  154. 45ac79: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
  155. 45ac80: 66 0f 28 f1 movapd %xmm1,%xmm6
  156. 45ac84: f2 0f 5c f0 subsd %xmm0,%xmm6
  157. 45ac88: 66 0f 28 c6 movapd %xmm6,%xmm0
  158. 45ac8c: f2 0f 59 c5 mulsd %xmm5,%xmm0
  159. 45ac90: f2 0f 5c c1 subsd %xmm1,%xmm0
  160. 45ac94: f2 0f 5e 05 74 c4 0a divsd 0xac474(%rip),%xmm0 # 507110 <_IO_stdin_used+0x250>
  161. 45ac9b: 00
  162. 45ac9c: f2 0f 5c e0 subsd %xmm0,%xmm4
  163. 45aca0: 66 0f 28 c4 movapd %xmm4,%xmm0
  164. 45aca4: c3 retq
  165. 45aca5: 66 0f 28 c8 movapd %xmm0,%xmm1
  166. 45aca9: f2 0f 5c c8 subsd %xmm0,%xmm1
  167. 45acad: f2 0f 10 05 fb fb 0a movsd 0xafbfb(%rip),%xmm0 # 50a8b0 <_ZTSSt14basic_iostreamIwSt11char_traitsIwEE+0xe70>
  168. 45acb4: 00
  169. 45acb5: f2 0f 5e c1 divsd %xmm1,%xmm0
  170. 45acb9: c3 retq
  171. 45acba: f2 0f 58 c0 addsd %xmm0,%xmm0
  172. 45acbe: c3 retq
  173. 45acbf: f2 0f 5c c0 subsd %xmm0,%xmm0
  174. 45acc3: f2 0f 5e c0 divsd %xmm0,%xmm0
  175. 45acc7: c3 retq
  176. 45acc8: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1)
  177. 45accf: 00
  178.  
  179.  
  180. #-----------------------
  181. #xmm0 (potem okrojony [0.5-1] i przeniesiony xmm3) to argument,
  182. #xmm1 i xmm2 to licznik i mianownik.
  183.  
  184. 0000000000401f40 <_Z15mylog2_pade_7_6d>:
  185. 401f40: 66 0f 57 c9 xorpd %xmm1,%xmm1
  186. 401f44: 66 0f 2e c8 ucomisd %xmm0,%xmm1
  187. 401f48: 0f 87 d2 00 00 00 ja 402020 <_Z15mylog2_pade_7_6d+0xe0>
  188. 401f4e: 48 83 ec 18 sub $0x18,%rsp
  189. 401f52: 48 8d 7c 24 0c lea 0xc(%rsp),%rdi
  190. 401f57: e8 a4 1f 05 00 callq 453f00 <__frexp>
  191. 401f5c: f2 0f 10 0d 0c 52 10 movsd 0x10520c(%rip),%xmm1 # 507170 <_IO_stdin_used+0x1d0>
  192. 401f63: 00
  193. 401f64: 66 0f 28 d8 movapd %xmm0,%xmm3
  194. 401f68: f2 0f 10 15 40 52 10 movsd 0x105240(%rip),%xmm2 # 5071b0 <_IO_stdin_used+0x210>
  195. 401f6f: 00
  196. 401f70: 66 0f 6e 44 24 0c movd 0xc(%rsp),%xmm0
  197. 401f76: f3 0f e6 c0 cvtdq2pd %xmm0,%xmm0
  198. 401f7a: f2 0f 59 cb mulsd %xmm3,%xmm1
  199. 401f7e: f2 0f 58 d3 addsd %xmm3,%xmm2
  200. 401f82: f2 0f 58 0d ee 51 10 addsd 0x1051ee(%rip),%xmm1 # 507178 <_IO_stdin_used+0x1d8>
  201. 401f89: 00
  202. 401f8a: f2 0f 59 d3 mulsd %xmm3,%xmm2
  203. 401f8e: f2 0f 58 15 22 52 10 addsd 0x105222(%rip),%xmm2 # 5071b8 <_IO_stdin_used+0x218>
  204. 401f95: 00
  205. 401f96: f2 0f 59 cb mulsd %xmm3,%xmm1
  206. 401f9a: f2 0f 58 0d de 51 10 addsd 0x1051de(%rip),%xmm1 # 507180 <_IO_stdin_used+0x1e0>
  207. 401fa1: 00
  208. 401fa2: f2 0f 59 d3 mulsd %xmm3,%xmm2
  209. 401fa6: f2 0f 58 15 12 52 10 addsd 0x105212(%rip),%xmm2 # 5071c0 <_IO_stdin_used+0x220>
  210. 401fad: 00
  211. 401fae: f2 0f 59 cb mulsd %xmm3,%xmm1
  212. 401fb2: f2 0f 58 0d ce 51 10 addsd 0x1051ce(%rip),%xmm1 # 507188 <_IO_stdin_used+0x1e8>
  213. 401fb9: 00
  214. 401fba: f2 0f 59 d3 mulsd %xmm3,%xmm2
  215. 401fbe: f2 0f 58 15 02 52 10 addsd 0x105202(%rip),%xmm2 # 5071c8 <_IO_stdin_used+0x228>
  216. 401fc5: 00
  217. 401fc6: f2 0f 59 cb mulsd %xmm3,%xmm1
  218. 401fca: f2 0f 5c 0d be 51 10 subsd 0x1051be(%rip),%xmm1 # 507190 <_IO_stdin_used+0x1f0>
  219. 401fd1: 00
  220. 401fd2: f2 0f 59 d3 mulsd %xmm3,%xmm2
  221. 401fd6: f2 0f 58 15 f2 51 10 addsd 0x1051f2(%rip),%xmm2 # 5071d0 <_IO_stdin_used+0x230>
  222. 401fdd: 00
  223. 401fde: f2 0f 59 cb mulsd %xmm3,%xmm1
  224. 401fe2: f2 0f 5c 0d ae 51 10 subsd 0x1051ae(%rip),%xmm1 # 507198 <_IO_stdin_used+0x1f8>
  225. 401fe9: 00
  226. 401fea: f2 0f 59 d3 mulsd %xmm3,%xmm2
  227. 401fee: f2 0f 58 15 e2 51 10 addsd 0x1051e2(%rip),%xmm2 # 5071d8 <_IO_stdin_used+0x238>
  228. 401ff5: 00
  229. 401ff6: f2 0f 59 cb mulsd %xmm3,%xmm1
  230. 401ffa: f2 0f 5c 0d 9e 51 10 subsd 0x10519e(%rip),%xmm1 # 5071a0 <_IO_stdin_used+0x200>
  231. 402001: 00
  232. 402002: f2 0f 59 cb mulsd %xmm3,%xmm1
  233. 402006: f2 0f 5c 0d 9a 51 10 subsd 0x10519a(%rip),%xmm1 # 5071a8 <_IO_stdin_used+0x208>
  234. 40200d: 00
  235. 40200e: 48 83 c4 18 add $0x18,%rsp
  236. 402012: f2 0f 5e ca divsd %xmm2,%xmm1
  237. 402016: f2 0f 58 c1 addsd %xmm1,%xmm0
  238. 40201a: c3 retq
  239. 40201b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
  240. 402020: f2 0f 10 05 40 51 10 movsd 0x105140(%rip),%xmm0 # 507168 <_IO_stdin_used+0x1c8>
  241. 402027: 00
  242. 402028: c3 retq
  243. 402029: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
  244. 402030: 00 00 00
  245. 402033: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
  246. 40203a: 00 00 00
  247. 40203d: 0f 1f 00 nopl (%rax)
  248.  
  249. 0000000000453f00 <__frexp>:
  250. 453f00: 66 48 0f 7e c1 movq %xmm0,%rcx
  251. 453f05: 48 89 c8 mov %rcx,%rax
  252. 453f08: 48 c1 f8 34 sar $0x34,%rax
  253. 453f0c: 25 ff 07 00 00 and $0x7ff,%eax
  254. 453f11: 3d ff 07 00 00 cmp $0x7ff,%eax
  255. 453f16: 74 44 je 453f5c <__frexp+0x5c>
  256. 453f18: 66 0f 57 c9 xorpd %xmm1,%xmm1
  257. 453f1c: ba 01 00 00 00 mov $0x1,%edx
  258. 453f21: 66 0f 2e c1 ucomisd %xmm1,%xmm0
  259. 453f25: 40 0f 9a c6 setp %sil
  260. 453f29: 0f 44 d6 cmove %esi,%edx
  261. 453f2c: 84 d2 test %dl,%dl
  262. 453f2e: 74 2c je 453f5c <__frexp+0x5c>
  263. 453f30: 85 c0 test %eax,%eax
  264. 453f32: 8d 90 02 fc ff ff lea -0x3fe(%rax),%edx
  265. 453f38: 74 26 je 453f60 <__frexp+0x60>
  266. 453f3a: 48 b8 ff ff ff ff ff movabs $0x800fffffffffffff,%rax
  267. 453f41: ff 0f 80
  268. 453f44: 48 21 c8 and %rcx,%rax
  269. 453f47: 48 b9 00 00 00 00 00 movabs $0x3fe0000000000000,%rcx
  270. 453f4e: 00 e0 3f
  271. 453f51: 48 09 c8 or %rcx,%rax
  272. 453f54: 66 48 0f 6e c0 movq %rax,%xmm0
  273. 453f59: 89 17 mov %edx,(%rdi)
  274. 453f5b: c3 retq
  275. 453f5c: 31 d2 xor %edx,%edx
  276. 453f5e: eb f9 jmp 453f59 <__frexp+0x59>
  277. 453f60: f2 0f 59 05 50 6a 0b mulsd 0xb6a50(%rip),%xmm0 # 50a9b8 <_ZTSSt14basic_iostreamIwSt11char_traitsIwEE+0xe78>
  278. 453f67: 00
  279. 453f68: 66 48 0f 7e c1 movq %xmm0,%rcx
  280. 453f6d: 48 89 ca mov %rcx,%rdx
  281. 453f70: 48 c1 fa 34 sar $0x34,%rdx
  282. 453f74: 81 e2 ff 07 00 00 and $0x7ff,%edx
  283. 453f7a: 81 ea 34 04 00 00 sub $0x434,%edx
  284. 453f80: eb b8 jmp 453f3a <__frexp+0x3a>
  285. 453f82: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
  286. 453f89: 00 00 00
  287. 453f8c: 0f 1f 40 00 nopl 0x0(%rax)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement