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

信息检索与抽取

开发平台:

Unix_Linux

  1. #include "asmmips.h"
  2. .file 1 "avcall-mips.c"
  3. .set nobopt
  4. .text
  5. .align 2
  6. .globl __builtin_avcall
  7. DECLARE_FUNCTION(__builtin_avcall)
  8. .text
  9. .text
  10. .ent __builtin_avcall
  11. __builtin_avcall:
  12. .frame $fp,32,$31
  13. .mask 0xc0010000,-8
  14. .fmask 0x00000000,0
  15. subu $sp,$sp,32
  16. sw $fp,20($sp)
  17. move $fp,$sp
  18. sw $31,24($sp)
  19. sw $16,16($sp)
  20. addu $sp,$sp,-1024
  21. move $16,$4
  22. move $4,$sp
  23. lw $3,20($16)
  24. lw $2,4($16)
  25. addu $3,$3,-48
  26. subu $3,$3,$16
  27. andi $2,$2,0x400
  28. .set noreorder
  29. .set nomacro
  30. beq $2,$0,$L3
  31. sra $3,$3,2
  32. .set macro
  33. .set reorder
  34.  
  35. l.d $f12,32($16)
  36.  
  37. lw $2,4($16)
  38. andi $2,$2,0x800
  39. .set noreorder
  40. .set nomacro
  41. beq $2,$0,$L65
  42. li $6,4
  43. .set macro
  44. .set reorder
  45.  
  46. l.d $f14,40($16)
  47.  
  48. $L3:
  49. li $6,4
  50. $L65:
  51. slt $2,$6,$3
  52. .set noreorder
  53. .set nomacro
  54. beq $2,$0,$L6
  55. addu $5,$4,16
  56. .set macro
  57. .set reorder
  58. addu $4,$16,64
  59. addu $6,$3,-4
  60. $L8:
  61. lw $2,0($4)
  62. addu $4,$4,4
  63. addu $6,$6,-1
  64. sw $2,0($5)
  65. .set noreorder
  66. .set nomacro
  67. bne $6,$0,$L8
  68. addu $5,$5,4
  69. .set macro
  70. .set reorder
  71. $L6:
  72. lw $25,0($16)
  73. lw $4,48($16)
  74. lw $5,52($16)
  75. lw $6,56($16)
  76. lw $7,60($16)
  77. jal $31,$25
  78. move $6,$2
  79. lw $4,12($16)
  80. li $2,1
  81. .set noreorder
  82. .set nomacro
  83. beq $4,$2,$L64
  84. move $2,$0
  85. .set macro
  86. .set reorder
  87. .set noreorder
  88. .set nomacro
  89. beq $4,$0,$L61
  90. li $2,2
  91. .set macro
  92. .set reorder
  93. .set noreorder
  94. .set nomacro
  95. beq $4,$2,$L62
  96. li $2,3
  97. .set macro
  98. .set reorder
  99. .set noreorder
  100. .set nomacro
  101. beq $4,$2,$L62
  102. li $2,4
  103. .set macro
  104. .set reorder
  105. .set noreorder
  106. .set nomacro
  107. beq $4,$2,$L62
  108. li $2,5
  109. .set macro
  110. .set reorder
  111. .set noreorder
  112. .set nomacro
  113. beq $4,$2,$L63
  114. li $2,6
  115. .set macro
  116. .set reorder
  117. .set noreorder
  118. .set nomacro
  119. beq $4,$2,$L63
  120. li $2,7
  121. .set macro
  122. .set reorder
  123. .set noreorder
  124. .set nomacro
  125. beq $4,$2,$L61
  126. li $2,8
  127. .set macro
  128. .set reorder
  129. .set noreorder
  130. .set nomacro
  131. beq $4,$2,$L61
  132. li $2,9
  133. .set macro
  134. .set reorder
  135. .set noreorder
  136. .set nomacro
  137. beq $4,$2,$L61
  138. li $2,10
  139. .set macro
  140. .set reorder
  141. .set noreorder
  142. .set nomacro
  143. beq $4,$2,$L61
  144. addu $2,$4,-11
  145. .set macro
  146. .set reorder
  147. sltu $2,$2,2
  148. .set noreorder
  149. .set nomacro
  150. beq $2,$0,$L32
  151. li $2,13
  152. .set macro
  153. .set reorder
  154. lw $2,8($16)
  155. sw $6,0($2)
  156. lw $4,8($16)
  157. .set noreorder
  158. .set nomacro
  159. j $L11
  160. sw $3,4($4)
  161. .set macro
  162. .set reorder
  163. $L32:
  164. .set noreorder
  165. .set nomacro
  166. bne $4,$2,$L34
  167. li $2,14
  168. .set macro
  169. .set reorder
  170. lw $2,8($16)
  171. .set noreorder
  172. .set nomacro
  173. j $L11
  174. s.s $f0,0($2)
  175. .set macro
  176. .set reorder
  177. $L34:
  178. .set noreorder
  179. .set nomacro
  180. bne $4,$2,$L36
  181. li $2,15
  182. .set macro
  183. .set reorder
  184. lw $2,8($16)
  185. s.d $f0,0($2)
  186. .set noreorder
  187. .set nomacro
  188. j $L64
  189. move $2,$0
  190. .set macro
  191. .set reorder
  192. $L36:
  193. .set noreorder
  194. .set nomacro
  195. beq $4,$2,$L61
  196. li $2,16
  197. .set macro
  198. .set reorder
  199. .set noreorder
  200. .set nomacro
  201. bne $4,$2,$L64
  202. move $2,$0
  203. .set macro
  204. .set reorder
  205. lw $3,4($16)
  206. andi $2,$3,0x1
  207. .set noreorder
  208. .set nomacro
  209. beq $2,$0,$L41
  210. li $2,1
  211. .set macro
  212. .set reorder
  213. lw $3,16($16)
  214. .set noreorder
  215. .set nomacro
  216. bne $3,$2,$L42
  217. li $2,2
  218. .set macro
  219. .set reorder
  220. lw $3,8($16)
  221. lbu $2,0($6)
  222. .set noreorder
  223. .set nomacro
  224. j $L11
  225. sb $2,0($3)
  226. .set macro
  227. .set reorder
  228. $L42:
  229. .set noreorder
  230. .set nomacro
  231. bne $3,$2,$L44
  232. li $2,4
  233. .set macro
  234. .set reorder
  235. lw $3,8($16)
  236. lhu $2,0($6)
  237. .set noreorder
  238. .set nomacro
  239. j $L11
  240. sh $2,0($3)
  241. .set macro
  242. .set reorder
  243. $L44:
  244. .set noreorder
  245. .set nomacro
  246. bne $3,$2,$L46
  247. li $2,8
  248. .set macro
  249. .set reorder
  250. lw $3,8($16)
  251. lw $2,0($6)
  252. .set noreorder
  253. .set nomacro
  254. j $L11
  255. sw $2,0($3)
  256. .set macro
  257. .set reorder
  258. $L46:
  259. .set noreorder
  260. .set nomacro
  261. bne $3,$2,$L48
  262. addu $2,$3,3
  263. .set macro
  264. .set reorder
  265. lw $3,8($16)
  266. lw $2,0($6)
  267. sw $2,0($3)
  268. lw $4,8($16)
  269. lw $2,4($6)
  270. .set noreorder
  271. .set nomacro
  272. j $L11
  273. sw $2,4($4)
  274. .set macro
  275. .set reorder
  276. $L48:
  277. srl $5,$2,2
  278. addu $5,$5,-1
  279. .set noreorder
  280. .set nomacro
  281. bltz $5,$L11
  282. sll $2,$5,2
  283. .set macro
  284. .set reorder
  285. addu $6,$2,$6
  286. $L52:
  287. lw $2,0($6)
  288. addu $6,$6,-4
  289. sll $3,$5,2
  290. lw $4,8($16)
  291. addu $5,$5,-1
  292. addu $3,$3,$4
  293. .set noreorder
  294. .set nomacro
  295. bgez $5,$L52
  296. sw $2,0($3)
  297. .set macro
  298. .set reorder
  299. .set noreorder
  300. .set nomacro
  301. j $L64
  302. move $2,$0
  303. .set macro
  304. .set reorder
  305. $L41:
  306. andi $2,$3,0x2
  307. .set noreorder
  308. .set nomacro
  309. beq $2,$0,$L11
  310. li $2,1
  311. .set macro
  312. .set reorder
  313. lw $3,16($16)
  314. .set noreorder
  315. .set nomacro
  316. bne $3,$2,$L56
  317. li $2,2
  318. .set macro
  319. .set reorder
  320. $L62:
  321. lw $2,8($16)
  322. .set noreorder
  323. .set nomacro
  324. j $L11
  325. sb $6,0($2)
  326. .set macro
  327. .set reorder
  328. $L56:
  329. .set noreorder
  330. .set nomacro
  331. bne $3,$2,$L58
  332. li $2,4
  333. .set macro
  334. .set reorder
  335. $L63:
  336. lw $2,8($16)
  337. .set noreorder
  338. .set nomacro
  339. j $L11
  340. sh $6,0($2)
  341. .set macro
  342. .set reorder
  343. $L58:
  344. .set noreorder
  345. .set nomacro
  346. bne $3,$2,$L64
  347. move $2,$0
  348. .set macro
  349. .set reorder
  350. $L61:
  351. lw $2,8($16)
  352. sw $6,0($2)
  353. $L11:
  354. move $2,$0
  355. $L64:
  356. move $sp,$fp
  357. lw $31,24($sp)
  358. lw $fp,20($sp)
  359. lw $16,16($sp)
  360. .set noreorder
  361. .set nomacro
  362. j $31
  363. addu $sp,$sp,32
  364. .set macro
  365. .set reorder
  366. .end __builtin_avcall