Guest User

Untitled

a guest
Nov 26th, 2014
511
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.12 KB | None | 0 0
  1. $ g++ main.cpp -O3 -S -o -
  2. .file "main.cpp"
  3. .section .text.unlikely,"ax",@progbits
  4. .LCOLDB0:
  5. .text
  6. .LHOTB0:
  7. .p2align 4,,15
  8. .globl _Z12testFunctionPil
  9. .type _Z12testFunctionPil, @function
  10. _Z12testFunctionPil:
  11. .LFB0:
  12. .cfi_startproc
  13. testq %rsi, %rsi
  14. jle .L14
  15. movq %rdi, %rdx
  16. andl $15, %edx
  17. shrq $2, %rdx
  18. negq %rdx
  19. andl $3, %edx
  20. cmpq %rsi, %rdx
  21. cmova %rsi, %rdx
  22. cmpq $8, %rsi
  23. jg .L28
  24. movq %rsi, %rdx
  25. .L13:
  26. cmpq $1, %rdx
  27. movl (%rdi), %eax
  28. je .L16
  29. addl 4(%rdi), %eax
  30. cmpq $2, %rdx
  31. je .L17
  32. addl 8(%rdi), %eax
  33. cmpq $3, %rdx
  34. je .L18
  35. addl 12(%rdi), %eax
  36. cmpq $4, %rdx
  37. je .L19
  38. addl 16(%rdi), %eax
  39. cmpq $5, %rdx
  40. je .L20
  41. addl 20(%rdi), %eax
  42. cmpq $6, %rdx
  43. je .L21
  44. addl 24(%rdi), %eax
  45. cmpq $8, %rdx
  46. jne .L22
  47. addl 28(%rdi), %eax
  48. movl $8, %r8d
  49. .L5:
  50. cmpq %rdx, %rsi
  51. je .L29
  52. .L4:
  53. movq %rsi, %r10
  54. leaq -1(%rsi), %r9
  55. subq %rdx, %r10
  56. leaq -4(%r10), %rcx
  57. subq %rdx, %r9
  58. shrq $2, %rcx
  59. addq $1, %rcx
  60. cmpq $2, %r9
  61. leaq 0(,%rcx,4), %r11
  62. jbe .L7
  63. pxor %xmm0, %xmm0
  64. leaq (%rdi,%rdx,4), %r9
  65. xorl %edx, %edx
  66. .L8:
  67. addq $1, %rdx
  68. paddd (%r9), %xmm0
  69. addq $16, %r9
  70. cmpq %rdx, %rcx
  71. ja .L8
  72. movdqa %xmm0, %xmm1
  73. addq %r11, %r8
  74. psrldq $8, %xmm1
  75. paddd %xmm1, %xmm0
  76. movdqa %xmm0, %xmm1
  77. psrldq $4, %xmm1
  78. paddd %xmm1, %xmm0
  79. movd %xmm0, %edx
  80. addl %edx, %eax
  81. cmpq %r11, %r10
  82. je .L23
  83. .L7:
  84. leaq 1(%r8), %rcx
  85. addl (%rdi,%r8,4), %eax
  86. leaq 0(,%r8,4), %rdx
  87. cmpq %rcx, %rsi
  88. jle .L23
  89. addq $2, %r8
  90. addl 4(%rdi,%rdx), %eax
  91. cmpq %r8, %rsi
  92. jle .L30
  93. addl 8(%rdi,%rdx), %eax
  94. ret
  95. .p2align 4,,10
  96. .p2align 3
  97. .L23:
  98. rep ret
  99. .p2align 4,,10
  100. .p2align 3
  101. .L29:
  102. rep ret
  103. .p2align 4,,10
  104. .p2align 3
  105. .L28:
  106. testq %rdx, %rdx
  107. jne .L13
  108. xorl %r8d, %r8d
  109. xorl %eax, %eax
  110. jmp .L4
  111. .p2align 4,,10
  112. .p2align 3
  113. .L22:
  114. movl $7, %r8d
  115. jmp .L5
  116. .p2align 4,,10
  117. .p2align 3
  118. .L17:
  119. movl $2, %r8d
  120. jmp .L5
  121. .p2align 4,,10
  122. .p2align 3
  123. .L18:
  124. movl $3, %r8d
  125. jmp .L5
  126. .p2align 4,,10
  127. .p2align 3
  128. .L19:
  129. movl $4, %r8d
  130. jmp .L5
  131. .p2align 4,,10
  132. .p2align 3
  133. .L20:
  134. movl $5, %r8d
  135. jmp .L5
  136. .p2align 4,,10
  137. .p2align 3
  138. .L21:
  139. movl $6, %r8d
  140. jmp .L5
  141. .p2align 4,,10
  142. .p2align 3
  143. .L30:
  144. rep ret
  145. .p2align 4,,10
  146. .p2align 3
  147. .L14:
  148. xorl %eax, %eax
  149. ret
  150. .p2align 4,,10
  151. .p2align 3
  152. .L16:
  153. movl $1, %r8d
  154. jmp .L5
  155. .cfi_endproc
  156. .LFE0:
  157. .size _Z12testFunctionPil, .-_Z12testFunctionPil
  158. .section .text.unlikely
  159. .LCOLDE0:
  160. .text
  161. .LHOTE0:
  162. .section .text.unlikely
  163. .LCOLDB1:
  164. .section .text.startup,"ax",@progbits
  165. .LHOTB1:
  166. .p2align 4,,15
  167. .globl main
  168. .type main, @function
  169. main:
  170. .LFB1061:
  171. .cfi_startproc
  172. subq $8, %rsp
  173. .cfi_def_cfa_offset 16
  174. movl $4096, %edi
  175. call _Znam
  176. leaq 1(%rax), %rdx
  177. andl $15, %edx
  178. shrq $2, %rdx
  179. negq %rdx
  180. andl $3, %edx
  181. je .L39
  182. cmpq $1, %rdx
  183. movl 1(%rax), %esi
  184. je .L40
  185. addl 5(%rax), %esi
  186. cmpq $3, %rdx
  187. jne .L41
  188. addl 9(%rax), %esi
  189. movl $1020, %r9d
  190. movl $3, %edi
  191. .L33:
  192. movl $1023, %r8d
  193. subq %rdx, %r8
  194. .L32:
  195. pxor %xmm0, %xmm0
  196. leaq 1(%rax,%rdx,4), %rcx
  197. xorl %edx, %edx
  198. .p2align 4,,10
  199. .p2align 3
  200. .L34:
  201. addq $1, %rdx
  202. paddd (%rcx), %xmm0
  203. addq $16, %rcx
  204. cmpq $254, %rdx
  205. jbe .L34
  206. movdqa %xmm0, %xmm1
  207. leaq -1020(%r9), %rcx
  208. psrldq $8, %xmm1
  209. paddd %xmm1, %xmm0
  210. movdqa %xmm0, %xmm1
  211. psrldq $4, %xmm1
  212. paddd %xmm1, %xmm0
  213. movd %xmm0, %edx
  214. addl %edx, %esi
  215. cmpq $1020, %r8
  216. leaq 1020(%rdi), %rdx
  217. je .L37
  218. salq $2, %rdx
  219. addl 1(%rax,%rdx), %esi
  220. cmpq $1021, %r9
  221. je .L37
  222. addl 5(%rax,%rdx), %esi
  223. cmpq $2, %rcx
  224. je .L37
  225. addl 9(%rax,%rdx), %esi
  226. .L37:
  227. movl $_ZSt4cout, %edi
  228. call _ZNSolsEi
  229. xorl %eax, %eax
  230. addq $8, %rsp
  231. .cfi_remember_state
  232. .cfi_def_cfa_offset 8
  233. ret
  234. .L39:
  235. .cfi_restore_state
  236. movl $1023, %r8d
  237. movl $1023, %r9d
  238. xorl %esi, %esi
  239. xorl %edi, %edi
  240. jmp .L32
  241. .L41:
  242. movl $1021, %r9d
  243. movl $2, %edi
  244. jmp .L33
  245. .L40:
  246. movl $1022, %r9d
  247. movl $1, %edi
  248. jmp .L33
  249. .cfi_endproc
  250. .LFE1061:
  251. .size main, .-main
  252. .section .text.unlikely
  253. .LCOLDE1:
  254. .section .text.startup
  255. .LHOTE1:
  256. .section .text.unlikely
  257. .LCOLDB2:
  258. .section .text.startup
  259. .LHOTB2:
  260. .p2align 4,,15
  261. .type _GLOBAL__sub_I__Z12testFunctionPil, @function
  262. _GLOBAL__sub_I__Z12testFunctionPil:
  263. .LFB1063:
  264. .cfi_startproc
  265. subq $8, %rsp
  266. .cfi_def_cfa_offset 16
  267. movl $_ZStL8__ioinit, %edi
  268. call _ZNSt8ios_base4InitC1Ev
  269. movl $__dso_handle, %edx
  270. movl $_ZStL8__ioinit, %esi
  271. movl $_ZNSt8ios_base4InitD1Ev, %edi
  272. addq $8, %rsp
  273. .cfi_def_cfa_offset 8
  274. jmp __cxa_atexit
  275. .cfi_endproc
  276. .LFE1063:
  277. .size _GLOBAL__sub_I__Z12testFunctionPil, .-_GLOBAL__sub_I__Z12testFunctionPil
  278. .section .text.unlikely
  279. .LCOLDE2:
  280. .section .text.startup
  281. .LHOTE2:
  282. .section .init_array,"aw"
  283. .align 8
  284. .quad _GLOBAL__sub_I__Z12testFunctionPil
  285. .local _ZStL8__ioinit
  286. .comm _ZStL8__ioinit,1,1
  287. .hidden __dso_handle
  288. .ident "GCC: (Gentoo 4.9.2 p1.0, pie-0.6.1) 4.9.2"
  289. .section .note.GNU-stack,"",@progbits
Advertisement
Add Comment
Please, Sign In to add comment