avcall-x86_64.s
上传用户:shenzhenrh
上传日期:2013-05-12
资源大小:2904k
文件大小:6k
源码类别:

信息检索与抽取

开发平台:

Unix_Linux

  1. .file "avcall-x86_64.c"
  2. .text
  3. .p2align 4,,15
  4. .globl __builtin_avcall
  5. .type __builtin_avcall,@function
  6. __builtin_avcall:
  7. .LFB1:
  8. pushq %r12
  9. .LCFI0:
  10. xorl %r11d, %r11d
  11. pushq %rbp
  12. .LCFI1:
  13. pushq %rbx
  14. .LCFI2:
  15. movq 104(%rdi), %rax
  16. movq 40(%rdi), %r10
  17. subq $2048, %rsp
  18. movq %rdi, %rbx
  19. movq %rsp, %rbp
  20. subq %rdi, %r10
  21. subq %rdi, %rax
  22. subq $176, %r10
  23. subq $112, %rax
  24. shrq $3, %r10
  25. movq %rax, %r12
  26. movslq %r10d,%r10
  27. shrq $3, %r12
  28. cmpq %r10, %r11
  29. jge .L113
  30. .p2align 4,,7
  31. .L6:
  32. movq 176(%rbx,%r11,8), %rax
  33. movq %rax, (%rbp,%r11,8)
  34. incq %r11
  35. cmpq %r10, %r11
  36. jl .L6
  37. .L113:
  38. movl 24(%rbx), %eax
  39. movq 56(%rbx), %rdi
  40. movq 64(%rbx), %rsi
  41. movq 72(%rbx), %rdx
  42. movq 80(%rbx), %rcx
  43. movq 88(%rbx), %r8
  44. cmpl $13, %eax
  45. movq 96(%rbx), %r9
  46. je .L119
  47. cmpl $14, %eax
  48. je .L120
  49. cmpl $7, %r12d
  50. xorpd %xmm15, %xmm15
  51. jle .L44
  52. movlpd 168(%rbx), %xmm15
  53. .L44:
  54. cmpl $6, %r12d
  55. xorpd %xmm14, %xmm14
  56. jle .L46
  57. movlpd 160(%rbx), %xmm14
  58. .L46:
  59. cmpl $5, %r12d
  60. xorpd %xmm13, %xmm13
  61. jle .L48
  62. movlpd 152(%rbx), %xmm13
  63. .L48:
  64. cmpl $4, %r12d
  65. xorpd %xmm12, %xmm12
  66. jle .L50
  67. movlpd 144(%rbx), %xmm12
  68. .L50:
  69. cmpl $3, %r12d
  70. xorpd %xmm11, %xmm11
  71. jle .L52
  72. movlpd 136(%rbx), %xmm11
  73. .L52:
  74. cmpl $2, %r12d
  75. xorpd %xmm10, %xmm10
  76. jle .L54
  77. movlpd 128(%rbx), %xmm10
  78. .L54:
  79. cmpl $1, %r12d
  80. xorpd %xmm9, %xmm9
  81. jle .L56
  82. movlpd 120(%rbx), %xmm9
  83. .L56:
  84. testl %r12d, %r12d
  85. xorpd %xmm8, %xmm8
  86. jle .L58
  87. movlpd 112(%rbx), %xmm8
  88. .L58:
  89. movsd %xmm15, %xmm7
  90. movsd %xmm14, %xmm6
  91. movsd %xmm13, %xmm5
  92. movsd %xmm12, %xmm4
  93. movsd %xmm11, %xmm3
  94. movsd %xmm10, %xmm2
  95. movsd %xmm9, %xmm1
  96. movsd %xmm8, %xmm0
  97. movl $8, %eax
  98. call *(%rbx)
  99. movq %rax, %r11
  100. movl 24(%rbx), %eax
  101. cmpl $1, %eax
  102. je .L24
  103. testl %eax, %eax
  104. je .L115
  105. cmpl $2, %eax
  106. je .L118
  107. cmpl $3, %eax
  108. je .L118
  109. cmpl $4, %eax
  110. je .L118
  111. cmpl $5, %eax
  112. je .L117
  113. cmpl $6, %eax
  114. je .L117
  115. cmpl $7, %eax
  116. je .L116
  117. cmpl $8, %eax
  118. je .L116
  119. cmpl $9, %eax
  120. je .L115
  121. cmpl $10, %eax
  122. je .L115
  123. cmpl $11, %eax
  124. je .L115
  125. cmpl $12, %eax
  126. je .L115
  127. cmpl $15, %eax
  128. je .L115
  129. cmpl $16, %eax
  130. je .L121
  131. .p2align 4,,7
  132. .L24:
  133. addq $2048, %rsp
  134. xorl %eax, %eax
  135. popq %rbx
  136. popq %rbp
  137. popq %r12
  138. ret
  139. .L121:
  140. movl 8(%rbx), %eax
  141. testl $1, %eax
  142. je .L88
  143. movq 32(%rbx), %rax
  144. cmpq $1, %rax
  145. je .L122
  146. cmpq $2, %rax
  147. je .L123
  148. cmpq $4, %rax
  149. je .L124
  150. cmpq $8, %rax
  151. je .L125
  152. addq $7, %rax
  153. movq %rax, %rbp
  154. shrq $3, %rbp
  155. decl %ebp
  156. js .L24
  157. movq 16(%rbx), %rbx
  158. .L100:
  159. movslq %ebp,%r10
  160. decl %ebp
  161. movq (%r11,%r10,8), %rax
  162. movq %rax, (%rbx,%r10,8)
  163. jns .L100
  164. jmp .L24
  165. .L125:
  166. movq 16(%rbx), %r10
  167. movq (%r11), %rax
  168. movq %rax, (%r10)
  169. jmp .L24
  170. .L124:
  171. movq 16(%rbx), %r10
  172. movl (%r11), %eax
  173. movl %eax, (%r10)
  174. jmp .L24
  175. .L123:
  176. movzwl (%r11), %eax
  177. movq 16(%rbx), %r10
  178. movw %ax, (%r10)
  179. jmp .L24
  180. .L122:
  181. movzbl (%r11), %eax
  182. movq 16(%rbx), %r10
  183. movb %al, (%r10)
  184. jmp .L24
  185. .p2align 4,,7
  186. .L88:
  187. testl $512, %eax
  188. je .L24
  189. movq 32(%rbx), %rax
  190. cmpq $1, %rax
  191. je .L118
  192. cmpq $2, %rax
  193. je .L117
  194. cmpq $4, %rax
  195. je .L116
  196. cmpq $8, %rax
  197. je .L115
  198. cmpq $16, %rax
  199. jne .L24
  200. movq 16(%rbx), %rax
  201. movq %r11, (%rax)
  202. movq %rdx, 8(%rax)
  203. jmp .L24
  204. .p2align 4,,7
  205. .L115:
  206. movq 16(%rbx), %rax
  207. movq %r11, (%rax)
  208. jmp .L24
  209. .L116:
  210. movq 16(%rbx), %rax
  211. movl %r11d, (%rax)
  212. jmp .L24
  213. .L117:
  214. movq 16(%rbx), %rax
  215. movw %r11w, (%rax)
  216. jmp .L24
  217. .L118:
  218. movq 16(%rbx), %rax
  219. movb %r11b, (%rax)
  220. jmp .L24
  221. .L120:
  222. cmpl $7, %r12d
  223. xorpd %xmm15, %xmm15
  224. jle .L27
  225. movlpd 168(%rbx), %xmm15
  226. .L27:
  227. cmpl $6, %r12d
  228. xorpd %xmm14, %xmm14
  229. jle .L29
  230. movlpd 160(%rbx), %xmm14
  231. .L29:
  232. cmpl $5, %r12d
  233. xorpd %xmm13, %xmm13
  234. jle .L31
  235. movlpd 152(%rbx), %xmm13
  236. .L31:
  237. cmpl $4, %r12d
  238. xorpd %xmm12, %xmm12
  239. jle .L33
  240. movlpd 144(%rbx), %xmm12
  241. .L33:
  242. cmpl $3, %r12d
  243. xorpd %xmm11, %xmm11
  244. jle .L35
  245. movlpd 136(%rbx), %xmm11
  246. .L35:
  247. cmpl $2, %r12d
  248. xorpd %xmm10, %xmm10
  249. jle .L37
  250. movlpd 128(%rbx), %xmm10
  251. .L37:
  252. cmpl $1, %r12d
  253. xorpd %xmm9, %xmm9
  254. jle .L39
  255. movlpd 120(%rbx), %xmm9
  256. .L39:
  257. testl %r12d, %r12d
  258. xorpd %xmm8, %xmm8
  259. jle .L41
  260. movlpd 112(%rbx), %xmm8
  261. .L41:
  262. movl $8, %eax
  263. movsd %xmm15, %xmm7
  264. movsd %xmm14, %xmm6
  265. movsd %xmm13, %xmm5
  266. movsd %xmm12, %xmm4
  267. movsd %xmm11, %xmm3
  268. movsd %xmm10, %xmm2
  269. movsd %xmm9, %xmm1
  270. movsd %xmm8, %xmm0
  271. call *(%rbx)
  272. movq 16(%rbx), %rax
  273. movsd %xmm0, (%rax)
  274. jmp .L24
  275. .L119:
  276. cmpl $7, %r12d
  277. xorpd %xmm15, %xmm15
  278. jle .L9
  279. movlpd 168(%rbx), %xmm15
  280. .L9:
  281. cmpl $6, %r12d
  282. xorpd %xmm14, %xmm14
  283. jle .L11
  284. movlpd 160(%rbx), %xmm14
  285. .L11:
  286. cmpl $5, %r12d
  287. xorpd %xmm13, %xmm13
  288. jle .L13
  289. movlpd 152(%rbx), %xmm13
  290. .L13:
  291. cmpl $4, %r12d
  292. xorpd %xmm12, %xmm12
  293. jle .L15
  294. movlpd 144(%rbx), %xmm12
  295. .L15:
  296. cmpl $3, %r12d
  297. xorpd %xmm11, %xmm11
  298. jle .L17
  299. movlpd 136(%rbx), %xmm11
  300. .L17:
  301. cmpl $2, %r12d
  302. xorpd %xmm10, %xmm10
  303. jle .L19
  304. movlpd 128(%rbx), %xmm10
  305. .L19:
  306. cmpl $1, %r12d
  307. xorpd %xmm9, %xmm9
  308. jle .L21
  309. movlpd 120(%rbx), %xmm9
  310. .L21:
  311. testl %r12d, %r12d
  312. xorpd %xmm8, %xmm8
  313. jle .L23
  314. movlpd 112(%rbx), %xmm8
  315. .L23:
  316. movl $8, %eax
  317. movsd %xmm15, %xmm7
  318. movsd %xmm14, %xmm6
  319. movsd %xmm13, %xmm5
  320. movsd %xmm12, %xmm4
  321. movsd %xmm11, %xmm3
  322. movsd %xmm10, %xmm2
  323. movsd %xmm9, %xmm1
  324. movsd %xmm8, %xmm0
  325. call *(%rbx)
  326. movq 16(%rbx), %rax
  327. movss %xmm0, (%rax)
  328. jmp .L24
  329. .LFE1:
  330. .Lfe1:
  331. .size __builtin_avcall,.Lfe1-__builtin_avcall
  332. .section .eh_frame,"aw",@progbits
  333. .Lframe1:
  334. .long .LECIE1-.LSCIE1
  335. .LSCIE1:
  336. .long 0x0
  337. .byte 0x1
  338. .string ""
  339. .uleb128 0x1
  340. .sleb128 -8
  341. .byte 0x10
  342. .byte 0xc
  343. .uleb128 0x7
  344. .uleb128 0x8
  345. .byte 0x90
  346. .uleb128 0x1
  347. .align 8
  348. .LECIE1:
  349. .LSFDE1:
  350. .long .LEFDE1-.LASFDE1
  351. .LASFDE1:
  352. .long .LASFDE1-.Lframe1
  353. .quad .LFB1
  354. .quad .LFE1-.LFB1
  355. .byte 0x4
  356. .long .LCFI0-.LFB1
  357. .byte 0xe
  358. .uleb128 0x10
  359. .byte 0x4
  360. .long .LCFI1-.LCFI0
  361. .byte 0xe
  362. .uleb128 0x18
  363. .byte 0x4
  364. .long .LCFI2-.LCFI1
  365. .byte 0xe
  366. .uleb128 0x20
  367. .byte 0x83
  368. .uleb128 0x4
  369. .byte 0x86
  370. .uleb128 0x3
  371. .byte 0x8c
  372. .uleb128 0x2
  373. .align 8
  374. .LEFDE1:
  375. .ident "GCC: (GNU) 3.2.2 (SuSE Linux)"