co-586.s 17 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253
  1. .text
  2. .globl bn_mul_comba8
  3. .type bn_mul_comba8,@function
  4. .align 16
  5. bn_mul_comba8:
  6. .L_bn_mul_comba8_begin:
  7. pushl %esi
  8. movl 12(%esp),%esi
  9. pushl %edi
  10. movl 20(%esp),%edi
  11. pushl %ebp
  12. pushl %ebx
  13. xorl %ebx,%ebx
  14. movl (%esi),%eax
  15. xorl %ecx,%ecx
  16. movl (%edi),%edx
  17. xorl %ebp,%ebp
  18. mull %edx
  19. addl %eax,%ebx
  20. movl 20(%esp),%eax
  21. adcl %edx,%ecx
  22. movl (%edi),%edx
  23. adcl $0,%ebp
  24. movl %ebx,(%eax)
  25. movl 4(%esi),%eax
  26. xorl %ebx,%ebx
  27. mull %edx
  28. addl %eax,%ecx
  29. movl (%esi),%eax
  30. adcl %edx,%ebp
  31. movl 4(%edi),%edx
  32. adcl $0,%ebx
  33. mull %edx
  34. addl %eax,%ecx
  35. movl 20(%esp),%eax
  36. adcl %edx,%ebp
  37. movl (%edi),%edx
  38. adcl $0,%ebx
  39. movl %ecx,4(%eax)
  40. movl 8(%esi),%eax
  41. xorl %ecx,%ecx
  42. mull %edx
  43. addl %eax,%ebp
  44. movl 4(%esi),%eax
  45. adcl %edx,%ebx
  46. movl 4(%edi),%edx
  47. adcl $0,%ecx
  48. mull %edx
  49. addl %eax,%ebp
  50. movl (%esi),%eax
  51. adcl %edx,%ebx
  52. movl 8(%edi),%edx
  53. adcl $0,%ecx
  54. mull %edx
  55. addl %eax,%ebp
  56. movl 20(%esp),%eax
  57. adcl %edx,%ebx
  58. movl (%edi),%edx
  59. adcl $0,%ecx
  60. movl %ebp,8(%eax)
  61. movl 12(%esi),%eax
  62. xorl %ebp,%ebp
  63. mull %edx
  64. addl %eax,%ebx
  65. movl 8(%esi),%eax
  66. adcl %edx,%ecx
  67. movl 4(%edi),%edx
  68. adcl $0,%ebp
  69. mull %edx
  70. addl %eax,%ebx
  71. movl 4(%esi),%eax
  72. adcl %edx,%ecx
  73. movl 8(%edi),%edx
  74. adcl $0,%ebp
  75. mull %edx
  76. addl %eax,%ebx
  77. movl (%esi),%eax
  78. adcl %edx,%ecx
  79. movl 12(%edi),%edx
  80. adcl $0,%ebp
  81. mull %edx
  82. addl %eax,%ebx
  83. movl 20(%esp),%eax
  84. adcl %edx,%ecx
  85. movl (%edi),%edx
  86. adcl $0,%ebp
  87. movl %ebx,12(%eax)
  88. movl 16(%esi),%eax
  89. xorl %ebx,%ebx
  90. mull %edx
  91. addl %eax,%ecx
  92. movl 12(%esi),%eax
  93. adcl %edx,%ebp
  94. movl 4(%edi),%edx
  95. adcl $0,%ebx
  96. mull %edx
  97. addl %eax,%ecx
  98. movl 8(%esi),%eax
  99. adcl %edx,%ebp
  100. movl 8(%edi),%edx
  101. adcl $0,%ebx
  102. mull %edx
  103. addl %eax,%ecx
  104. movl 4(%esi),%eax
  105. adcl %edx,%ebp
  106. movl 12(%edi),%edx
  107. adcl $0,%ebx
  108. mull %edx
  109. addl %eax,%ecx
  110. movl (%esi),%eax
  111. adcl %edx,%ebp
  112. movl 16(%edi),%edx
  113. adcl $0,%ebx
  114. mull %edx
  115. addl %eax,%ecx
  116. movl 20(%esp),%eax
  117. adcl %edx,%ebp
  118. movl (%edi),%edx
  119. adcl $0,%ebx
  120. movl %ecx,16(%eax)
  121. movl 20(%esi),%eax
  122. xorl %ecx,%ecx
  123. mull %edx
  124. addl %eax,%ebp
  125. movl 16(%esi),%eax
  126. adcl %edx,%ebx
  127. movl 4(%edi),%edx
  128. adcl $0,%ecx
  129. mull %edx
  130. addl %eax,%ebp
  131. movl 12(%esi),%eax
  132. adcl %edx,%ebx
  133. movl 8(%edi),%edx
  134. adcl $0,%ecx
  135. mull %edx
  136. addl %eax,%ebp
  137. movl 8(%esi),%eax
  138. adcl %edx,%ebx
  139. movl 12(%edi),%edx
  140. adcl $0,%ecx
  141. mull %edx
  142. addl %eax,%ebp
  143. movl 4(%esi),%eax
  144. adcl %edx,%ebx
  145. movl 16(%edi),%edx
  146. adcl $0,%ecx
  147. mull %edx
  148. addl %eax,%ebp
  149. movl (%esi),%eax
  150. adcl %edx,%ebx
  151. movl 20(%edi),%edx
  152. adcl $0,%ecx
  153. mull %edx
  154. addl %eax,%ebp
  155. movl 20(%esp),%eax
  156. adcl %edx,%ebx
  157. movl (%edi),%edx
  158. adcl $0,%ecx
  159. movl %ebp,20(%eax)
  160. movl 24(%esi),%eax
  161. xorl %ebp,%ebp
  162. mull %edx
  163. addl %eax,%ebx
  164. movl 20(%esi),%eax
  165. adcl %edx,%ecx
  166. movl 4(%edi),%edx
  167. adcl $0,%ebp
  168. mull %edx
  169. addl %eax,%ebx
  170. movl 16(%esi),%eax
  171. adcl %edx,%ecx
  172. movl 8(%edi),%edx
  173. adcl $0,%ebp
  174. mull %edx
  175. addl %eax,%ebx
  176. movl 12(%esi),%eax
  177. adcl %edx,%ecx
  178. movl 12(%edi),%edx
  179. adcl $0,%ebp
  180. mull %edx
  181. addl %eax,%ebx
  182. movl 8(%esi),%eax
  183. adcl %edx,%ecx
  184. movl 16(%edi),%edx
  185. adcl $0,%ebp
  186. mull %edx
  187. addl %eax,%ebx
  188. movl 4(%esi),%eax
  189. adcl %edx,%ecx
  190. movl 20(%edi),%edx
  191. adcl $0,%ebp
  192. mull %edx
  193. addl %eax,%ebx
  194. movl (%esi),%eax
  195. adcl %edx,%ecx
  196. movl 24(%edi),%edx
  197. adcl $0,%ebp
  198. mull %edx
  199. addl %eax,%ebx
  200. movl 20(%esp),%eax
  201. adcl %edx,%ecx
  202. movl (%edi),%edx
  203. adcl $0,%ebp
  204. movl %ebx,24(%eax)
  205. movl 28(%esi),%eax
  206. xorl %ebx,%ebx
  207. mull %edx
  208. addl %eax,%ecx
  209. movl 24(%esi),%eax
  210. adcl %edx,%ebp
  211. movl 4(%edi),%edx
  212. adcl $0,%ebx
  213. mull %edx
  214. addl %eax,%ecx
  215. movl 20(%esi),%eax
  216. adcl %edx,%ebp
  217. movl 8(%edi),%edx
  218. adcl $0,%ebx
  219. mull %edx
  220. addl %eax,%ecx
  221. movl 16(%esi),%eax
  222. adcl %edx,%ebp
  223. movl 12(%edi),%edx
  224. adcl $0,%ebx
  225. mull %edx
  226. addl %eax,%ecx
  227. movl 12(%esi),%eax
  228. adcl %edx,%ebp
  229. movl 16(%edi),%edx
  230. adcl $0,%ebx
  231. mull %edx
  232. addl %eax,%ecx
  233. movl 8(%esi),%eax
  234. adcl %edx,%ebp
  235. movl 20(%edi),%edx
  236. adcl $0,%ebx
  237. mull %edx
  238. addl %eax,%ecx
  239. movl 4(%esi),%eax
  240. adcl %edx,%ebp
  241. movl 24(%edi),%edx
  242. adcl $0,%ebx
  243. mull %edx
  244. addl %eax,%ecx
  245. movl (%esi),%eax
  246. adcl %edx,%ebp
  247. movl 28(%edi),%edx
  248. adcl $0,%ebx
  249. mull %edx
  250. addl %eax,%ecx
  251. movl 20(%esp),%eax
  252. adcl %edx,%ebp
  253. movl 4(%edi),%edx
  254. adcl $0,%ebx
  255. movl %ecx,28(%eax)
  256. movl 28(%esi),%eax
  257. xorl %ecx,%ecx
  258. mull %edx
  259. addl %eax,%ebp
  260. movl 24(%esi),%eax
  261. adcl %edx,%ebx
  262. movl 8(%edi),%edx
  263. adcl $0,%ecx
  264. mull %edx
  265. addl %eax,%ebp
  266. movl 20(%esi),%eax
  267. adcl %edx,%ebx
  268. movl 12(%edi),%edx
  269. adcl $0,%ecx
  270. mull %edx
  271. addl %eax,%ebp
  272. movl 16(%esi),%eax
  273. adcl %edx,%ebx
  274. movl 16(%edi),%edx
  275. adcl $0,%ecx
  276. mull %edx
  277. addl %eax,%ebp
  278. movl 12(%esi),%eax
  279. adcl %edx,%ebx
  280. movl 20(%edi),%edx
  281. adcl $0,%ecx
  282. mull %edx
  283. addl %eax,%ebp
  284. movl 8(%esi),%eax
  285. adcl %edx,%ebx
  286. movl 24(%edi),%edx
  287. adcl $0,%ecx
  288. mull %edx
  289. addl %eax,%ebp
  290. movl 4(%esi),%eax
  291. adcl %edx,%ebx
  292. movl 28(%edi),%edx
  293. adcl $0,%ecx
  294. mull %edx
  295. addl %eax,%ebp
  296. movl 20(%esp),%eax
  297. adcl %edx,%ebx
  298. movl 8(%edi),%edx
  299. adcl $0,%ecx
  300. movl %ebp,32(%eax)
  301. movl 28(%esi),%eax
  302. xorl %ebp,%ebp
  303. mull %edx
  304. addl %eax,%ebx
  305. movl 24(%esi),%eax
  306. adcl %edx,%ecx
  307. movl 12(%edi),%edx
  308. adcl $0,%ebp
  309. mull %edx
  310. addl %eax,%ebx
  311. movl 20(%esi),%eax
  312. adcl %edx,%ecx
  313. movl 16(%edi),%edx
  314. adcl $0,%ebp
  315. mull %edx
  316. addl %eax,%ebx
  317. movl 16(%esi),%eax
  318. adcl %edx,%ecx
  319. movl 20(%edi),%edx
  320. adcl $0,%ebp
  321. mull %edx
  322. addl %eax,%ebx
  323. movl 12(%esi),%eax
  324. adcl %edx,%ecx
  325. movl 24(%edi),%edx
  326. adcl $0,%ebp
  327. mull %edx
  328. addl %eax,%ebx
  329. movl 8(%esi),%eax
  330. adcl %edx,%ecx
  331. movl 28(%edi),%edx
  332. adcl $0,%ebp
  333. mull %edx
  334. addl %eax,%ebx
  335. movl 20(%esp),%eax
  336. adcl %edx,%ecx
  337. movl 12(%edi),%edx
  338. adcl $0,%ebp
  339. movl %ebx,36(%eax)
  340. movl 28(%esi),%eax
  341. xorl %ebx,%ebx
  342. mull %edx
  343. addl %eax,%ecx
  344. movl 24(%esi),%eax
  345. adcl %edx,%ebp
  346. movl 16(%edi),%edx
  347. adcl $0,%ebx
  348. mull %edx
  349. addl %eax,%ecx
  350. movl 20(%esi),%eax
  351. adcl %edx,%ebp
  352. movl 20(%edi),%edx
  353. adcl $0,%ebx
  354. mull %edx
  355. addl %eax,%ecx
  356. movl 16(%esi),%eax
  357. adcl %edx,%ebp
  358. movl 24(%edi),%edx
  359. adcl $0,%ebx
  360. mull %edx
  361. addl %eax,%ecx
  362. movl 12(%esi),%eax
  363. adcl %edx,%ebp
  364. movl 28(%edi),%edx
  365. adcl $0,%ebx
  366. mull %edx
  367. addl %eax,%ecx
  368. movl 20(%esp),%eax
  369. adcl %edx,%ebp
  370. movl 16(%edi),%edx
  371. adcl $0,%ebx
  372. movl %ecx,40(%eax)
  373. movl 28(%esi),%eax
  374. xorl %ecx,%ecx
  375. mull %edx
  376. addl %eax,%ebp
  377. movl 24(%esi),%eax
  378. adcl %edx,%ebx
  379. movl 20(%edi),%edx
  380. adcl $0,%ecx
  381. mull %edx
  382. addl %eax,%ebp
  383. movl 20(%esi),%eax
  384. adcl %edx,%ebx
  385. movl 24(%edi),%edx
  386. adcl $0,%ecx
  387. mull %edx
  388. addl %eax,%ebp
  389. movl 16(%esi),%eax
  390. adcl %edx,%ebx
  391. movl 28(%edi),%edx
  392. adcl $0,%ecx
  393. mull %edx
  394. addl %eax,%ebp
  395. movl 20(%esp),%eax
  396. adcl %edx,%ebx
  397. movl 20(%edi),%edx
  398. adcl $0,%ecx
  399. movl %ebp,44(%eax)
  400. movl 28(%esi),%eax
  401. xorl %ebp,%ebp
  402. mull %edx
  403. addl %eax,%ebx
  404. movl 24(%esi),%eax
  405. adcl %edx,%ecx
  406. movl 24(%edi),%edx
  407. adcl $0,%ebp
  408. mull %edx
  409. addl %eax,%ebx
  410. movl 20(%esi),%eax
  411. adcl %edx,%ecx
  412. movl 28(%edi),%edx
  413. adcl $0,%ebp
  414. mull %edx
  415. addl %eax,%ebx
  416. movl 20(%esp),%eax
  417. adcl %edx,%ecx
  418. movl 24(%edi),%edx
  419. adcl $0,%ebp
  420. movl %ebx,48(%eax)
  421. movl 28(%esi),%eax
  422. xorl %ebx,%ebx
  423. mull %edx
  424. addl %eax,%ecx
  425. movl 24(%esi),%eax
  426. adcl %edx,%ebp
  427. movl 28(%edi),%edx
  428. adcl $0,%ebx
  429. mull %edx
  430. addl %eax,%ecx
  431. movl 20(%esp),%eax
  432. adcl %edx,%ebp
  433. movl 28(%edi),%edx
  434. adcl $0,%ebx
  435. movl %ecx,52(%eax)
  436. movl 28(%esi),%eax
  437. xorl %ecx,%ecx
  438. mull %edx
  439. addl %eax,%ebp
  440. movl 20(%esp),%eax
  441. adcl %edx,%ebx
  442. adcl $0,%ecx
  443. movl %ebp,56(%eax)
  444. movl %ebx,60(%eax)
  445. popl %ebx
  446. popl %ebp
  447. popl %edi
  448. popl %esi
  449. ret
  450. .size bn_mul_comba8,.-.L_bn_mul_comba8_begin
  451. .globl bn_mul_comba4
  452. .type bn_mul_comba4,@function
  453. .align 16
  454. bn_mul_comba4:
  455. .L_bn_mul_comba4_begin:
  456. pushl %esi
  457. movl 12(%esp),%esi
  458. pushl %edi
  459. movl 20(%esp),%edi
  460. pushl %ebp
  461. pushl %ebx
  462. xorl %ebx,%ebx
  463. movl (%esi),%eax
  464. xorl %ecx,%ecx
  465. movl (%edi),%edx
  466. xorl %ebp,%ebp
  467. mull %edx
  468. addl %eax,%ebx
  469. movl 20(%esp),%eax
  470. adcl %edx,%ecx
  471. movl (%edi),%edx
  472. adcl $0,%ebp
  473. movl %ebx,(%eax)
  474. movl 4(%esi),%eax
  475. xorl %ebx,%ebx
  476. mull %edx
  477. addl %eax,%ecx
  478. movl (%esi),%eax
  479. adcl %edx,%ebp
  480. movl 4(%edi),%edx
  481. adcl $0,%ebx
  482. mull %edx
  483. addl %eax,%ecx
  484. movl 20(%esp),%eax
  485. adcl %edx,%ebp
  486. movl (%edi),%edx
  487. adcl $0,%ebx
  488. movl %ecx,4(%eax)
  489. movl 8(%esi),%eax
  490. xorl %ecx,%ecx
  491. mull %edx
  492. addl %eax,%ebp
  493. movl 4(%esi),%eax
  494. adcl %edx,%ebx
  495. movl 4(%edi),%edx
  496. adcl $0,%ecx
  497. mull %edx
  498. addl %eax,%ebp
  499. movl (%esi),%eax
  500. adcl %edx,%ebx
  501. movl 8(%edi),%edx
  502. adcl $0,%ecx
  503. mull %edx
  504. addl %eax,%ebp
  505. movl 20(%esp),%eax
  506. adcl %edx,%ebx
  507. movl (%edi),%edx
  508. adcl $0,%ecx
  509. movl %ebp,8(%eax)
  510. movl 12(%esi),%eax
  511. xorl %ebp,%ebp
  512. mull %edx
  513. addl %eax,%ebx
  514. movl 8(%esi),%eax
  515. adcl %edx,%ecx
  516. movl 4(%edi),%edx
  517. adcl $0,%ebp
  518. mull %edx
  519. addl %eax,%ebx
  520. movl 4(%esi),%eax
  521. adcl %edx,%ecx
  522. movl 8(%edi),%edx
  523. adcl $0,%ebp
  524. mull %edx
  525. addl %eax,%ebx
  526. movl (%esi),%eax
  527. adcl %edx,%ecx
  528. movl 12(%edi),%edx
  529. adcl $0,%ebp
  530. mull %edx
  531. addl %eax,%ebx
  532. movl 20(%esp),%eax
  533. adcl %edx,%ecx
  534. movl 4(%edi),%edx
  535. adcl $0,%ebp
  536. movl %ebx,12(%eax)
  537. movl 12(%esi),%eax
  538. xorl %ebx,%ebx
  539. mull %edx
  540. addl %eax,%ecx
  541. movl 8(%esi),%eax
  542. adcl %edx,%ebp
  543. movl 8(%edi),%edx
  544. adcl $0,%ebx
  545. mull %edx
  546. addl %eax,%ecx
  547. movl 4(%esi),%eax
  548. adcl %edx,%ebp
  549. movl 12(%edi),%edx
  550. adcl $0,%ebx
  551. mull %edx
  552. addl %eax,%ecx
  553. movl 20(%esp),%eax
  554. adcl %edx,%ebp
  555. movl 8(%edi),%edx
  556. adcl $0,%ebx
  557. movl %ecx,16(%eax)
  558. movl 12(%esi),%eax
  559. xorl %ecx,%ecx
  560. mull %edx
  561. addl %eax,%ebp
  562. movl 8(%esi),%eax
  563. adcl %edx,%ebx
  564. movl 12(%edi),%edx
  565. adcl $0,%ecx
  566. mull %edx
  567. addl %eax,%ebp
  568. movl 20(%esp),%eax
  569. adcl %edx,%ebx
  570. movl 12(%edi),%edx
  571. adcl $0,%ecx
  572. movl %ebp,20(%eax)
  573. movl 12(%esi),%eax
  574. xorl %ebp,%ebp
  575. mull %edx
  576. addl %eax,%ebx
  577. movl 20(%esp),%eax
  578. adcl %edx,%ecx
  579. adcl $0,%ebp
  580. movl %ebx,24(%eax)
  581. movl %ecx,28(%eax)
  582. popl %ebx
  583. popl %ebp
  584. popl %edi
  585. popl %esi
  586. ret
  587. .size bn_mul_comba4,.-.L_bn_mul_comba4_begin
  588. .globl bn_sqr_comba8
  589. .type bn_sqr_comba8,@function
  590. .align 16
  591. bn_sqr_comba8:
  592. .L_bn_sqr_comba8_begin:
  593. pushl %esi
  594. pushl %edi
  595. pushl %ebp
  596. pushl %ebx
  597. movl 20(%esp),%edi
  598. movl 24(%esp),%esi
  599. xorl %ebx,%ebx
  600. xorl %ecx,%ecx
  601. movl (%esi),%eax
  602. xorl %ebp,%ebp
  603. mull %eax
  604. addl %eax,%ebx
  605. adcl %edx,%ecx
  606. movl (%esi),%edx
  607. adcl $0,%ebp
  608. movl %ebx,(%edi)
  609. movl 4(%esi),%eax
  610. xorl %ebx,%ebx
  611. mull %edx
  612. addl %eax,%eax
  613. adcl %edx,%edx
  614. adcl $0,%ebx
  615. addl %eax,%ecx
  616. adcl %edx,%ebp
  617. movl 8(%esi),%eax
  618. adcl $0,%ebx
  619. movl %ecx,4(%edi)
  620. movl (%esi),%edx
  621. xorl %ecx,%ecx
  622. mull %edx
  623. addl %eax,%eax
  624. adcl %edx,%edx
  625. adcl $0,%ecx
  626. addl %eax,%ebp
  627. adcl %edx,%ebx
  628. movl 4(%esi),%eax
  629. adcl $0,%ecx
  630. mull %eax
  631. addl %eax,%ebp
  632. adcl %edx,%ebx
  633. movl (%esi),%edx
  634. adcl $0,%ecx
  635. movl %ebp,8(%edi)
  636. movl 12(%esi),%eax
  637. xorl %ebp,%ebp
  638. mull %edx
  639. addl %eax,%eax
  640. adcl %edx,%edx
  641. adcl $0,%ebp
  642. addl %eax,%ebx
  643. adcl %edx,%ecx
  644. movl 8(%esi),%eax
  645. adcl $0,%ebp
  646. movl 4(%esi),%edx
  647. mull %edx
  648. addl %eax,%eax
  649. adcl %edx,%edx
  650. adcl $0,%ebp
  651. addl %eax,%ebx
  652. adcl %edx,%ecx
  653. movl 16(%esi),%eax
  654. adcl $0,%ebp
  655. movl %ebx,12(%edi)
  656. movl (%esi),%edx
  657. xorl %ebx,%ebx
  658. mull %edx
  659. addl %eax,%eax
  660. adcl %edx,%edx
  661. adcl $0,%ebx
  662. addl %eax,%ecx
  663. adcl %edx,%ebp
  664. movl 12(%esi),%eax
  665. adcl $0,%ebx
  666. movl 4(%esi),%edx
  667. mull %edx
  668. addl %eax,%eax
  669. adcl %edx,%edx
  670. adcl $0,%ebx
  671. addl %eax,%ecx
  672. adcl %edx,%ebp
  673. movl 8(%esi),%eax
  674. adcl $0,%ebx
  675. mull %eax
  676. addl %eax,%ecx
  677. adcl %edx,%ebp
  678. movl (%esi),%edx
  679. adcl $0,%ebx
  680. movl %ecx,16(%edi)
  681. movl 20(%esi),%eax
  682. xorl %ecx,%ecx
  683. mull %edx
  684. addl %eax,%eax
  685. adcl %edx,%edx
  686. adcl $0,%ecx
  687. addl %eax,%ebp
  688. adcl %edx,%ebx
  689. movl 16(%esi),%eax
  690. adcl $0,%ecx
  691. movl 4(%esi),%edx
  692. mull %edx
  693. addl %eax,%eax
  694. adcl %edx,%edx
  695. adcl $0,%ecx
  696. addl %eax,%ebp
  697. adcl %edx,%ebx
  698. movl 12(%esi),%eax
  699. adcl $0,%ecx
  700. movl 8(%esi),%edx
  701. mull %edx
  702. addl %eax,%eax
  703. adcl %edx,%edx
  704. adcl $0,%ecx
  705. addl %eax,%ebp
  706. adcl %edx,%ebx
  707. movl 24(%esi),%eax
  708. adcl $0,%ecx
  709. movl %ebp,20(%edi)
  710. movl (%esi),%edx
  711. xorl %ebp,%ebp
  712. mull %edx
  713. addl %eax,%eax
  714. adcl %edx,%edx
  715. adcl $0,%ebp
  716. addl %eax,%ebx
  717. adcl %edx,%ecx
  718. movl 20(%esi),%eax
  719. adcl $0,%ebp
  720. movl 4(%esi),%edx
  721. mull %edx
  722. addl %eax,%eax
  723. adcl %edx,%edx
  724. adcl $0,%ebp
  725. addl %eax,%ebx
  726. adcl %edx,%ecx
  727. movl 16(%esi),%eax
  728. adcl $0,%ebp
  729. movl 8(%esi),%edx
  730. mull %edx
  731. addl %eax,%eax
  732. adcl %edx,%edx
  733. adcl $0,%ebp
  734. addl %eax,%ebx
  735. adcl %edx,%ecx
  736. movl 12(%esi),%eax
  737. adcl $0,%ebp
  738. mull %eax
  739. addl %eax,%ebx
  740. adcl %edx,%ecx
  741. movl (%esi),%edx
  742. adcl $0,%ebp
  743. movl %ebx,24(%edi)
  744. movl 28(%esi),%eax
  745. xorl %ebx,%ebx
  746. mull %edx
  747. addl %eax,%eax
  748. adcl %edx,%edx
  749. adcl $0,%ebx
  750. addl %eax,%ecx
  751. adcl %edx,%ebp
  752. movl 24(%esi),%eax
  753. adcl $0,%ebx
  754. movl 4(%esi),%edx
  755. mull %edx
  756. addl %eax,%eax
  757. adcl %edx,%edx
  758. adcl $0,%ebx
  759. addl %eax,%ecx
  760. adcl %edx,%ebp
  761. movl 20(%esi),%eax
  762. adcl $0,%ebx
  763. movl 8(%esi),%edx
  764. mull %edx
  765. addl %eax,%eax
  766. adcl %edx,%edx
  767. adcl $0,%ebx
  768. addl %eax,%ecx
  769. adcl %edx,%ebp
  770. movl 16(%esi),%eax
  771. adcl $0,%ebx
  772. movl 12(%esi),%edx
  773. mull %edx
  774. addl %eax,%eax
  775. adcl %edx,%edx
  776. adcl $0,%ebx
  777. addl %eax,%ecx
  778. adcl %edx,%ebp
  779. movl 28(%esi),%eax
  780. adcl $0,%ebx
  781. movl %ecx,28(%edi)
  782. movl 4(%esi),%edx
  783. xorl %ecx,%ecx
  784. mull %edx
  785. addl %eax,%eax
  786. adcl %edx,%edx
  787. adcl $0,%ecx
  788. addl %eax,%ebp
  789. adcl %edx,%ebx
  790. movl 24(%esi),%eax
  791. adcl $0,%ecx
  792. movl 8(%esi),%edx
  793. mull %edx
  794. addl %eax,%eax
  795. adcl %edx,%edx
  796. adcl $0,%ecx
  797. addl %eax,%ebp
  798. adcl %edx,%ebx
  799. movl 20(%esi),%eax
  800. adcl $0,%ecx
  801. movl 12(%esi),%edx
  802. mull %edx
  803. addl %eax,%eax
  804. adcl %edx,%edx
  805. adcl $0,%ecx
  806. addl %eax,%ebp
  807. adcl %edx,%ebx
  808. movl 16(%esi),%eax
  809. adcl $0,%ecx
  810. mull %eax
  811. addl %eax,%ebp
  812. adcl %edx,%ebx
  813. movl 8(%esi),%edx
  814. adcl $0,%ecx
  815. movl %ebp,32(%edi)
  816. movl 28(%esi),%eax
  817. xorl %ebp,%ebp
  818. mull %edx
  819. addl %eax,%eax
  820. adcl %edx,%edx
  821. adcl $0,%ebp
  822. addl %eax,%ebx
  823. adcl %edx,%ecx
  824. movl 24(%esi),%eax
  825. adcl $0,%ebp
  826. movl 12(%esi),%edx
  827. mull %edx
  828. addl %eax,%eax
  829. adcl %edx,%edx
  830. adcl $0,%ebp
  831. addl %eax,%ebx
  832. adcl %edx,%ecx
  833. movl 20(%esi),%eax
  834. adcl $0,%ebp
  835. movl 16(%esi),%edx
  836. mull %edx
  837. addl %eax,%eax
  838. adcl %edx,%edx
  839. adcl $0,%ebp
  840. addl %eax,%ebx
  841. adcl %edx,%ecx
  842. movl 28(%esi),%eax
  843. adcl $0,%ebp
  844. movl %ebx,36(%edi)
  845. movl 12(%esi),%edx
  846. xorl %ebx,%ebx
  847. mull %edx
  848. addl %eax,%eax
  849. adcl %edx,%edx
  850. adcl $0,%ebx
  851. addl %eax,%ecx
  852. adcl %edx,%ebp
  853. movl 24(%esi),%eax
  854. adcl $0,%ebx
  855. movl 16(%esi),%edx
  856. mull %edx
  857. addl %eax,%eax
  858. adcl %edx,%edx
  859. adcl $0,%ebx
  860. addl %eax,%ecx
  861. adcl %edx,%ebp
  862. movl 20(%esi),%eax
  863. adcl $0,%ebx
  864. mull %eax
  865. addl %eax,%ecx
  866. adcl %edx,%ebp
  867. movl 16(%esi),%edx
  868. adcl $0,%ebx
  869. movl %ecx,40(%edi)
  870. movl 28(%esi),%eax
  871. xorl %ecx,%ecx
  872. mull %edx
  873. addl %eax,%eax
  874. adcl %edx,%edx
  875. adcl $0,%ecx
  876. addl %eax,%ebp
  877. adcl %edx,%ebx
  878. movl 24(%esi),%eax
  879. adcl $0,%ecx
  880. movl 20(%esi),%edx
  881. mull %edx
  882. addl %eax,%eax
  883. adcl %edx,%edx
  884. adcl $0,%ecx
  885. addl %eax,%ebp
  886. adcl %edx,%ebx
  887. movl 28(%esi),%eax
  888. adcl $0,%ecx
  889. movl %ebp,44(%edi)
  890. movl 20(%esi),%edx
  891. xorl %ebp,%ebp
  892. mull %edx
  893. addl %eax,%eax
  894. adcl %edx,%edx
  895. adcl $0,%ebp
  896. addl %eax,%ebx
  897. adcl %edx,%ecx
  898. movl 24(%esi),%eax
  899. adcl $0,%ebp
  900. mull %eax
  901. addl %eax,%ebx
  902. adcl %edx,%ecx
  903. movl 24(%esi),%edx
  904. adcl $0,%ebp
  905. movl %ebx,48(%edi)
  906. movl 28(%esi),%eax
  907. xorl %ebx,%ebx
  908. mull %edx
  909. addl %eax,%eax
  910. adcl %edx,%edx
  911. adcl $0,%ebx
  912. addl %eax,%ecx
  913. adcl %edx,%ebp
  914. movl 28(%esi),%eax
  915. adcl $0,%ebx
  916. movl %ecx,52(%edi)
  917. xorl %ecx,%ecx
  918. mull %eax
  919. addl %eax,%ebp
  920. adcl %edx,%ebx
  921. adcl $0,%ecx
  922. movl %ebp,56(%edi)
  923. movl %ebx,60(%edi)
  924. popl %ebx
  925. popl %ebp
  926. popl %edi
  927. popl %esi
  928. ret
  929. .size bn_sqr_comba8,.-.L_bn_sqr_comba8_begin
  930. .globl bn_sqr_comba4
  931. .type bn_sqr_comba4,@function
  932. .align 16
  933. bn_sqr_comba4:
  934. .L_bn_sqr_comba4_begin:
  935. pushl %esi
  936. pushl %edi
  937. pushl %ebp
  938. pushl %ebx
  939. movl 20(%esp),%edi
  940. movl 24(%esp),%esi
  941. xorl %ebx,%ebx
  942. xorl %ecx,%ecx
  943. movl (%esi),%eax
  944. xorl %ebp,%ebp
  945. mull %eax
  946. addl %eax,%ebx
  947. adcl %edx,%ecx
  948. movl (%esi),%edx
  949. adcl $0,%ebp
  950. movl %ebx,(%edi)
  951. movl 4(%esi),%eax
  952. xorl %ebx,%ebx
  953. mull %edx
  954. addl %eax,%eax
  955. adcl %edx,%edx
  956. adcl $0,%ebx
  957. addl %eax,%ecx
  958. adcl %edx,%ebp
  959. movl 8(%esi),%eax
  960. adcl $0,%ebx
  961. movl %ecx,4(%edi)
  962. movl (%esi),%edx
  963. xorl %ecx,%ecx
  964. mull %edx
  965. addl %eax,%eax
  966. adcl %edx,%edx
  967. adcl $0,%ecx
  968. addl %eax,%ebp
  969. adcl %edx,%ebx
  970. movl 4(%esi),%eax
  971. adcl $0,%ecx
  972. mull %eax
  973. addl %eax,%ebp
  974. adcl %edx,%ebx
  975. movl (%esi),%edx
  976. adcl $0,%ecx
  977. movl %ebp,8(%edi)
  978. movl 12(%esi),%eax
  979. xorl %ebp,%ebp
  980. mull %edx
  981. addl %eax,%eax
  982. adcl %edx,%edx
  983. adcl $0,%ebp
  984. addl %eax,%ebx
  985. adcl %edx,%ecx
  986. movl 8(%esi),%eax
  987. adcl $0,%ebp
  988. movl 4(%esi),%edx
  989. mull %edx
  990. addl %eax,%eax
  991. adcl %edx,%edx
  992. adcl $0,%ebp
  993. addl %eax,%ebx
  994. adcl %edx,%ecx
  995. movl 12(%esi),%eax
  996. adcl $0,%ebp
  997. movl %ebx,12(%edi)
  998. movl 4(%esi),%edx
  999. xorl %ebx,%ebx
  1000. mull %edx
  1001. addl %eax,%eax
  1002. adcl %edx,%edx
  1003. adcl $0,%ebx
  1004. addl %eax,%ecx
  1005. adcl %edx,%ebp
  1006. movl 8(%esi),%eax
  1007. adcl $0,%ebx
  1008. mull %eax
  1009. addl %eax,%ecx
  1010. adcl %edx,%ebp
  1011. movl 8(%esi),%edx
  1012. adcl $0,%ebx
  1013. movl %ecx,16(%edi)
  1014. movl 12(%esi),%eax
  1015. xorl %ecx,%ecx
  1016. mull %edx
  1017. addl %eax,%eax
  1018. adcl %edx,%edx
  1019. adcl $0,%ecx
  1020. addl %eax,%ebp
  1021. adcl %edx,%ebx
  1022. movl 12(%esi),%eax
  1023. adcl $0,%ecx
  1024. movl %ebp,20(%edi)
  1025. xorl %ebp,%ebp
  1026. mull %eax
  1027. addl %eax,%ebx
  1028. adcl %edx,%ecx
  1029. adcl $0,%ebp
  1030. movl %ebx,24(%edi)
  1031. movl %ecx,28(%edi)
  1032. popl %ebx
  1033. popl %ebp
  1034. popl %edi
  1035. popl %esi
  1036. ret
  1037. .size bn_sqr_comba4,.-.L_bn_sqr_comba4_begin