Advertisement
Guest User

Sin Optimization clang++_O3

a guest
Feb 4th, 2014
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.99 KB | None | 0 0
  1. clang++_O3: file format elf64-x86-64
  2.  
  3. 0000000000400a70 <sin1(double)>:
  4. 400a70: 0f 28 c8 movaps %xmm0,%xmm1
  5. 400a73: f2 0f 59 c0 mulsd %xmm0,%xmm0
  6. 400a77: f2 0f 59 c1 mulsd %xmm1,%xmm0
  7. 400a7b: f2 0f 10 15 45 10 00 movsd 0x1045(%rip),%xmm2 # 401ac8 <_IO_stdin_used+0x8>
  8. 400a82: 00
  9. 400a83: f2 0f 59 d0 mulsd %xmm0,%xmm2
  10. 400a87: f2 0f 58 d1 addsd %xmm1,%xmm2
  11. 400a8b: f2 0f 59 c1 mulsd %xmm1,%xmm0
  12. 400a8f: f2 0f 59 c1 mulsd %xmm1,%xmm0
  13. 400a93: f2 0f 10 1d 35 10 00 movsd 0x1035(%rip),%xmm3 # 401ad0 <_IO_stdin_used+0x10>
  14. 400a9a: 00
  15. 400a9b: f2 0f 59 d8 mulsd %xmm0,%xmm3
  16. 400a9f: f2 0f 58 da addsd %xmm2,%xmm3
  17. 400aa3: f2 0f 59 c1 mulsd %xmm1,%xmm0
  18. 400aa7: f2 0f 59 c1 mulsd %xmm1,%xmm0
  19. 400aab: f2 0f 10 15 25 10 00 movsd 0x1025(%rip),%xmm2 # 401ad8 <_IO_stdin_used+0x18>
  20. 400ab2: 00
  21. 400ab3: f2 0f 59 d0 mulsd %xmm0,%xmm2
  22. 400ab7: f2 0f 58 d3 addsd %xmm3,%xmm2
  23. 400abb: f2 0f 59 c1 mulsd %xmm1,%xmm0
  24. 400abf: f2 0f 59 c1 mulsd %xmm1,%xmm0
  25. 400ac3: f2 0f 10 1d 15 10 00 movsd 0x1015(%rip),%xmm3 # 401ae0 <_IO_stdin_used+0x20>
  26. 400aca: 00
  27. 400acb: f2 0f 59 d8 mulsd %xmm0,%xmm3
  28. 400acf: f2 0f 58 da addsd %xmm2,%xmm3
  29. 400ad3: f2 0f 59 c1 mulsd %xmm1,%xmm0
  30. 400ad7: f2 0f 59 c1 mulsd %xmm1,%xmm0
  31. 400adb: f2 0f 10 15 05 10 00 movsd 0x1005(%rip),%xmm2 # 401ae8 <_IO_stdin_used+0x28>
  32. 400ae2: 00
  33. 400ae3: f2 0f 59 d0 mulsd %xmm0,%xmm2
  34. 400ae7: f2 0f 58 d3 addsd %xmm3,%xmm2
  35. 400aeb: f2 0f 59 c1 mulsd %xmm1,%xmm0
  36. 400aef: f2 0f 59 c1 mulsd %xmm1,%xmm0
  37. 400af3: f2 0f 10 1d f5 0f 00 movsd 0xff5(%rip),%xmm3 # 401af0 <_IO_stdin_used+0x30>
  38. 400afa: 00
  39. 400afb: f2 0f 59 d8 mulsd %xmm0,%xmm3
  40. 400aff: f2 0f 58 da addsd %xmm2,%xmm3
  41. 400b03: f2 0f 59 c1 mulsd %xmm1,%xmm0
  42. 400b07: f2 0f 59 c1 mulsd %xmm1,%xmm0
  43. 400b0b: f2 0f 59 05 e5 0f 00 mulsd 0xfe5(%rip),%xmm0 # 401af8 <_IO_stdin_used+0x38>
  44. 400b12: 00
  45. 400b13: f2 0f 58 c3 addsd %xmm3,%xmm0
  46. 400b17: c3 retq
  47. 400b18: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1)
  48. 400b1f: 00
  49.  
  50. 0000000000400b20 <sin2(double)>:
  51. 400b20: 0f 28 c8 movaps %xmm0,%xmm1
  52. 400b23: 0f 57 db xorps %xmm3,%xmm3
  53. 400b26: f2 0f 58 d9 addsd %xmm1,%xmm3
  54. 400b2a: f2 0f 59 c0 mulsd %xmm0,%xmm0
  55. 400b2e: f2 0f 59 c8 mulsd %xmm0,%xmm1
  56. 400b32: 0f 28 d0 movaps %xmm0,%xmm2
  57. 400b35: f2 0f 59 d1 mulsd %xmm1,%xmm2
  58. 400b39: f2 0f 59 0d 87 0f 00 mulsd 0xf87(%rip),%xmm1 # 401ac8 <_IO_stdin_used+0x8>
  59. 400b40: 00
  60. 400b41: f2 0f 58 cb addsd %xmm3,%xmm1
  61. 400b45: 0f 28 d8 movaps %xmm0,%xmm3
  62. 400b48: f2 0f 59 da mulsd %xmm2,%xmm3
  63. 400b4c: f2 0f 59 15 7c 0f 00 mulsd 0xf7c(%rip),%xmm2 # 401ad0 <_IO_stdin_used+0x10>
  64. 400b53: 00
  65. 400b54: f2 0f 58 d1 addsd %xmm1,%xmm2
  66. 400b58: 0f 28 c8 movaps %xmm0,%xmm1
  67. 400b5b: f2 0f 59 cb mulsd %xmm3,%xmm1
  68. 400b5f: f2 0f 59 1d 71 0f 00 mulsd 0xf71(%rip),%xmm3 # 401ad8 <_IO_stdin_used+0x18>
  69. 400b66: 00
  70. 400b67: f2 0f 58 da addsd %xmm2,%xmm3
  71. 400b6b: 0f 28 d0 movaps %xmm0,%xmm2
  72. 400b6e: f2 0f 59 d1 mulsd %xmm1,%xmm2
  73. 400b72: f2 0f 59 0d 66 0f 00 mulsd 0xf66(%rip),%xmm1 # 401ae0 <_IO_stdin_used+0x20>
  74. 400b79: 00
  75. 400b7a: f2 0f 58 cb addsd %xmm3,%xmm1
  76. 400b7e: 0f 28 d8 movaps %xmm0,%xmm3
  77. 400b81: f2 0f 59 da mulsd %xmm2,%xmm3
  78. 400b85: f2 0f 59 15 5b 0f 00 mulsd 0xf5b(%rip),%xmm2 # 401ae8 <_IO_stdin_used+0x28>
  79. 400b8c: 00
  80. 400b8d: f2 0f 58 d1 addsd %xmm1,%xmm2
  81. 400b91: f2 0f 59 c3 mulsd %xmm3,%xmm0
  82. 400b95: f2 0f 59 1d 53 0f 00 mulsd 0xf53(%rip),%xmm3 # 401af0 <_IO_stdin_used+0x30>
  83. 400b9c: 00
  84. 400b9d: f2 0f 58 da addsd %xmm2,%xmm3
  85. 400ba1: f2 0f 59 05 4f 0f 00 mulsd 0xf4f(%rip),%xmm0 # 401af8 <_IO_stdin_used+0x38>
  86. 400ba8: 00
  87. 400ba9: f2 0f 58 c3 addsd %xmm3,%xmm0
  88. 400bad: c3 retq
  89. 400bae: 66 90 xchg %ax,%ax
  90.  
  91. 0000000000400bb0 <sin3(double)>:
  92. 400bb0: 0f 28 d0 movaps %xmm0,%xmm2
  93. 400bb3: f2 0f 59 d2 mulsd %xmm2,%xmm2
  94. 400bb7: f2 0f 10 0d 39 0f 00 movsd 0xf39(%rip),%xmm1 # 401af8 <_IO_stdin_used+0x38>
  95. 400bbe: 00
  96. 400bbf: f2 0f 59 ca mulsd %xmm2,%xmm1
  97. 400bc3: f2 0f 58 0d 25 0f 00 addsd 0xf25(%rip),%xmm1 # 401af0 <_IO_stdin_used+0x30>
  98. 400bca: 00
  99. 400bcb: f2 0f 59 ca mulsd %xmm2,%xmm1
  100. 400bcf: f2 0f 58 0d 11 0f 00 addsd 0xf11(%rip),%xmm1 # 401ae8 <_IO_stdin_used+0x28>
  101. 400bd6: 00
  102. 400bd7: f2 0f 59 ca mulsd %xmm2,%xmm1
  103. 400bdb: f2 0f 58 0d fd 0e 00 addsd 0xefd(%rip),%xmm1 # 401ae0 <_IO_stdin_used+0x20>
  104. 400be2: 00
  105. 400be3: f2 0f 59 ca mulsd %xmm2,%xmm1
  106. 400be7: f2 0f 58 0d e9 0e 00 addsd 0xee9(%rip),%xmm1 # 401ad8 <_IO_stdin_used+0x18>
  107. 400bee: 00
  108. 400bef: f2 0f 59 ca mulsd %xmm2,%xmm1
  109. 400bf3: f2 0f 58 0d d5 0e 00 addsd 0xed5(%rip),%xmm1 # 401ad0 <_IO_stdin_used+0x10>
  110. 400bfa: 00
  111. 400bfb: f2 0f 59 ca mulsd %xmm2,%xmm1
  112. 400bff: f2 0f 58 0d c1 0e 00 addsd 0xec1(%rip),%xmm1 # 401ac8 <_IO_stdin_used+0x8>
  113. 400c06: 00
  114. 400c07: f2 0f 59 ca mulsd %xmm2,%xmm1
  115. 400c0b: f2 0f 58 0d ed 0e 00 addsd 0xeed(%rip),%xmm1 # 401b00 <_IO_stdin_used+0x40>
  116. 400c12: 00
  117. 400c13: f2 0f 59 c8 mulsd %xmm0,%xmm1
  118. 400c17: 0f 28 c1 movaps %xmm1,%xmm0
  119. 400c1a: c3 retq
  120. 400c1b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
  121.  
  122. 0000000000400c20 <sin4(double)>:
  123. 400c20: 0f 28 c8 movaps %xmm0,%xmm1
  124. 400c23: f2 0f 59 c9 mulsd %xmm1,%xmm1
  125. 400c27: 0f 28 d9 movaps %xmm1,%xmm3
  126. 400c2a: f2 0f 59 db mulsd %xmm3,%xmm3
  127. 400c2e: f2 0f 10 15 c2 0e 00 movsd 0xec2(%rip),%xmm2 # 401af8 <_IO_stdin_used+0x38>
  128. 400c35: 00
  129. 400c36: f2 0f 59 d3 mulsd %xmm3,%xmm2
  130. 400c3a: f2 0f 58 15 a6 0e 00 addsd 0xea6(%rip),%xmm2 # 401ae8 <_IO_stdin_used+0x28>
  131. 400c41: 00
  132. 400c42: f2 0f 59 d3 mulsd %xmm3,%xmm2
  133. 400c46: f2 0f 58 15 8a 0e 00 addsd 0xe8a(%rip),%xmm2 # 401ad8 <_IO_stdin_used+0x18>
  134. 400c4d: 00
  135. 400c4e: f2 0f 59 d3 mulsd %xmm3,%xmm2
  136. 400c52: f2 0f 58 15 6e 0e 00 addsd 0xe6e(%rip),%xmm2 # 401ac8 <_IO_stdin_used+0x8>
  137. 400c59: 00
  138. 400c5a: f2 0f 59 d1 mulsd %xmm1,%xmm2
  139. 400c5e: f2 0f 10 0d 8a 0e 00 movsd 0xe8a(%rip),%xmm1 # 401af0 <_IO_stdin_used+0x30>
  140. 400c65: 00
  141. 400c66: f2 0f 59 cb mulsd %xmm3,%xmm1
  142. 400c6a: f2 0f 58 0d 6e 0e 00 addsd 0xe6e(%rip),%xmm1 # 401ae0 <_IO_stdin_used+0x20>
  143. 400c71: 00
  144. 400c72: f2 0f 59 cb mulsd %xmm3,%xmm1
  145. 400c76: f2 0f 58 0d 52 0e 00 addsd 0xe52(%rip),%xmm1 # 401ad0 <_IO_stdin_used+0x10>
  146. 400c7d: 00
  147. 400c7e: f2 0f 59 cb mulsd %xmm3,%xmm1
  148. 400c82: f2 0f 58 0d 76 0e 00 addsd 0xe76(%rip),%xmm1 # 401b00 <_IO_stdin_used+0x40>
  149. 400c89: 00
  150. 400c8a: f2 0f 58 ca addsd %xmm2,%xmm1
  151. 400c8e: f2 0f 59 c8 mulsd %xmm0,%xmm1
  152. 400c92: 0f 28 c1 movaps %xmm1,%xmm0
  153. 400c95: c3 retq
  154. 400c96: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
  155. 400c9d: 00 00 00
  156.  
  157. 0000000000400ca0 <sin5(double)>:
  158. 400ca0: 0f 28 e0 movaps %xmm0,%xmm4
  159. 400ca3: f2 0f 59 e4 mulsd %xmm4,%xmm4
  160. 400ca7: 0f 28 d4 movaps %xmm4,%xmm2
  161. 400caa: f2 0f 59 d2 mulsd %xmm2,%xmm2
  162. 400cae: 0f 28 cc movaps %xmm4,%xmm1
  163. 400cb1: f2 0f 59 ca mulsd %xmm2,%xmm1
  164. 400cb5: f2 0f 10 1d 3b 0e 00 movsd 0xe3b(%rip),%xmm3 # 401af8 <_IO_stdin_used+0x38>
  165. 400cbc: 00
  166. 400cbd: f2 0f 59 d9 mulsd %xmm1,%xmm3
  167. 400cc1: f2 0f 58 1d 17 0e 00 addsd 0xe17(%rip),%xmm3 # 401ae0 <_IO_stdin_used+0x20>
  168. 400cc8: 00
  169. 400cc9: f2 0f 59 d9 mulsd %xmm1,%xmm3
  170. 400ccd: f2 0f 58 1d f3 0d 00 addsd 0xdf3(%rip),%xmm3 # 401ac8 <_IO_stdin_used+0x8>
  171. 400cd4: 00
  172. 400cd5: f2 0f 59 dc mulsd %xmm4,%xmm3
  173. 400cd9: f2 0f 10 25 0f 0e 00 movsd 0xe0f(%rip),%xmm4 # 401af0 <_IO_stdin_used+0x30>
  174. 400ce0: 00
  175. 400ce1: f2 0f 59 e1 mulsd %xmm1,%xmm4
  176. 400ce5: f2 0f 58 25 eb 0d 00 addsd 0xdeb(%rip),%xmm4 # 401ad8 <_IO_stdin_used+0x18>
  177. 400cec: 00
  178. 400ced: f2 0f 59 e1 mulsd %xmm1,%xmm4
  179. 400cf1: f2 0f 58 25 07 0e 00 addsd 0xe07(%rip),%xmm4 # 401b00 <_IO_stdin_used+0x40>
  180. 400cf8: 00
  181. 400cf9: f2 0f 58 e3 addsd %xmm3,%xmm4
  182. 400cfd: f2 0f 59 0d e3 0d 00 mulsd 0xde3(%rip),%xmm1 # 401ae8 <_IO_stdin_used+0x28>
  183. 400d04: 00
  184. 400d05: f2 0f 58 0d c3 0d 00 addsd 0xdc3(%rip),%xmm1 # 401ad0 <_IO_stdin_used+0x10>
  185. 400d0c: 00
  186. 400d0d: f2 0f 59 ca mulsd %xmm2,%xmm1
  187. 400d11: f2 0f 58 cc addsd %xmm4,%xmm1
  188. 400d15: f2 0f 59 c8 mulsd %xmm0,%xmm1
  189. 400d19: 0f 28 c1 movaps %xmm1,%xmm0
  190. 400d1c: c3 retq
  191. 400d1d: 0f 1f 00 nopl (%rax)
  192.  
  193. 0000000000400d20 <sin6(double)>:
  194. 400d20: 0f 28 d0 movaps %xmm0,%xmm2
  195. 400d23: f2 0f 59 d2 mulsd %xmm2,%xmm2
  196. 400d27: f2 0f 10 0d c9 0d 00 movsd 0xdc9(%rip),%xmm1 # 401af8 <_IO_stdin_used+0x38>
  197. 400d2e: 00
  198. 400d2f: f2 0f 59 ca mulsd %xmm2,%xmm1
  199. 400d33: f2 0f 58 0d b5 0d 00 addsd 0xdb5(%rip),%xmm1 # 401af0 <_IO_stdin_used+0x30>
  200. 400d3a: 00
  201. 400d3b: f2 0f 59 ca mulsd %xmm2,%xmm1
  202. 400d3f: f2 0f 58 0d a1 0d 00 addsd 0xda1(%rip),%xmm1 # 401ae8 <_IO_stdin_used+0x28>
  203. 400d46: 00
  204. 400d47: f2 0f 59 ca mulsd %xmm2,%xmm1
  205. 400d4b: f2 0f 58 0d 8d 0d 00 addsd 0xd8d(%rip),%xmm1 # 401ae0 <_IO_stdin_used+0x20>
  206. 400d52: 00
  207. 400d53: 0f 28 da movaps %xmm2,%xmm3
  208. 400d56: f2 0f 59 db mulsd %xmm3,%xmm3
  209. 400d5a: f2 0f 59 db mulsd %xmm3,%xmm3
  210. 400d5e: f2 0f 59 d9 mulsd %xmm1,%xmm3
  211. 400d62: f2 0f 10 0d 6e 0d 00 movsd 0xd6e(%rip),%xmm1 # 401ad8 <_IO_stdin_used+0x18>
  212. 400d69: 00
  213. 400d6a: f2 0f 59 ca mulsd %xmm2,%xmm1
  214. 400d6e: f2 0f 58 0d 5a 0d 00 addsd 0xd5a(%rip),%xmm1 # 401ad0 <_IO_stdin_used+0x10>
  215. 400d75: 00
  216. 400d76: f2 0f 59 ca mulsd %xmm2,%xmm1
  217. 400d7a: f2 0f 58 0d 46 0d 00 addsd 0xd46(%rip),%xmm1 # 401ac8 <_IO_stdin_used+0x8>
  218. 400d81: 00
  219. 400d82: f2 0f 59 ca mulsd %xmm2,%xmm1
  220. 400d86: f2 0f 58 0d 72 0d 00 addsd 0xd72(%rip),%xmm1 # 401b00 <_IO_stdin_used+0x40>
  221. 400d8d: 00
  222. 400d8e: f2 0f 58 cb addsd %xmm3,%xmm1
  223. 400d92: f2 0f 59 c8 mulsd %xmm0,%xmm1
  224. 400d96: 0f 28 c1 movaps %xmm1,%xmm0
  225. 400d99: c3 retq
  226. 400d9a: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)
  227.  
  228. 0000000000400da0 <sin7(double)>:
  229. 400da0: 0f 28 c8 movaps %xmm0,%xmm1
  230. 400da3: f2 0f 59 c9 mulsd %xmm1,%xmm1
  231. 400da7: 0f 28 e1 movaps %xmm1,%xmm4
  232. 400daa: f2 0f 59 e0 mulsd %xmm0,%xmm4
  233. 400dae: 0f 28 d9 movaps %xmm1,%xmm3
  234. 400db1: f2 0f 59 db mulsd %xmm3,%xmm3
  235. 400db5: 0f 28 eb movaps %xmm3,%xmm5
  236. 400db8: f2 0f 59 ed mulsd %xmm5,%xmm5
  237. 400dbc: 0f 28 d5 movaps %xmm5,%xmm2
  238. 400dbf: f2 0f 59 d0 mulsd %xmm0,%xmm2
  239. 400dc3: f2 0f 10 1d 0d 0d 00 movsd 0xd0d(%rip),%xmm3 # 401ad8 <_IO_stdin_used+0x18>
  240. 400dca: 00
  241. 400dcb: f2 0f 59 d9 mulsd %xmm1,%xmm3
  242. 400dcf: f2 0f 58 1d f9 0c 00 addsd 0xcf9(%rip),%xmm3 # 401ad0 <_IO_stdin_used+0x10>
  243. 400dd6: 00
  244. 400dd7: f2 0f 59 d9 mulsd %xmm1,%xmm3
  245. 400ddb: f2 0f 58 1d e5 0c 00 addsd 0xce5(%rip),%xmm3 # 401ac8 <_IO_stdin_used+0x8>
  246. 400de2: 00
  247. 400de3: f2 0f 59 dc mulsd %xmm4,%xmm3
  248. 400de7: f2 0f 58 d8 addsd %xmm0,%xmm3
  249. 400deb: f2 0f 10 05 05 0d 00 movsd 0xd05(%rip),%xmm0 # 401af8 <_IO_stdin_used+0x38>
  250. 400df2: 00
  251. 400df3: f2 0f 59 c1 mulsd %xmm1,%xmm0
  252. 400df7: f2 0f 58 05 f1 0c 00 addsd 0xcf1(%rip),%xmm0 # 401af0 <_IO_stdin_used+0x30>
  253. 400dfe: 00
  254. 400dff: f2 0f 59 c1 mulsd %xmm1,%xmm0
  255. 400e03: f2 0f 58 05 dd 0c 00 addsd 0xcdd(%rip),%xmm0 # 401ae8 <_IO_stdin_used+0x28>
  256. 400e0a: 00
  257. 400e0b: f2 0f 59 c1 mulsd %xmm1,%xmm0
  258. 400e0f: f2 0f 58 05 c9 0c 00 addsd 0xcc9(%rip),%xmm0 # 401ae0 <_IO_stdin_used+0x20>
  259. 400e16: 00
  260. 400e17: f2 0f 59 c2 mulsd %xmm2,%xmm0
  261. 400e1b: f2 0f 58 c3 addsd %xmm3,%xmm0
  262. 400e1f: c3 retq
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement