co-586.S 17 KB

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