md5-586.S 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685
  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 _md5_block_asm_data_order
  9. .private_extern _md5_block_asm_data_order
  10. .align 4
  11. _md5_block_asm_data_order:
  12. L_md5_block_asm_data_order_begin:
  13. pushl %esi
  14. pushl %edi
  15. movl 12(%esp),%edi
  16. movl 16(%esp),%esi
  17. movl 20(%esp),%ecx
  18. pushl %ebp
  19. shll $6,%ecx
  20. pushl %ebx
  21. addl %esi,%ecx
  22. subl $64,%ecx
  23. movl (%edi),%eax
  24. pushl %ecx
  25. movl 4(%edi),%ebx
  26. movl 8(%edi),%ecx
  27. movl 12(%edi),%edx
  28. L000start:
  29. # R0 section
  30. movl %ecx,%edi
  31. movl (%esi),%ebp
  32. # R0 0
  33. xorl %edx,%edi
  34. andl %ebx,%edi
  35. leal 3614090360(%eax,%ebp,1),%eax
  36. xorl %edx,%edi
  37. addl %edi,%eax
  38. movl %ebx,%edi
  39. roll $7,%eax
  40. movl 4(%esi),%ebp
  41. addl %ebx,%eax
  42. # R0 1
  43. xorl %ecx,%edi
  44. andl %eax,%edi
  45. leal 3905402710(%edx,%ebp,1),%edx
  46. xorl %ecx,%edi
  47. addl %edi,%edx
  48. movl %eax,%edi
  49. roll $12,%edx
  50. movl 8(%esi),%ebp
  51. addl %eax,%edx
  52. # R0 2
  53. xorl %ebx,%edi
  54. andl %edx,%edi
  55. leal 606105819(%ecx,%ebp,1),%ecx
  56. xorl %ebx,%edi
  57. addl %edi,%ecx
  58. movl %edx,%edi
  59. roll $17,%ecx
  60. movl 12(%esi),%ebp
  61. addl %edx,%ecx
  62. # R0 3
  63. xorl %eax,%edi
  64. andl %ecx,%edi
  65. leal 3250441966(%ebx,%ebp,1),%ebx
  66. xorl %eax,%edi
  67. addl %edi,%ebx
  68. movl %ecx,%edi
  69. roll $22,%ebx
  70. movl 16(%esi),%ebp
  71. addl %ecx,%ebx
  72. # R0 4
  73. xorl %edx,%edi
  74. andl %ebx,%edi
  75. leal 4118548399(%eax,%ebp,1),%eax
  76. xorl %edx,%edi
  77. addl %edi,%eax
  78. movl %ebx,%edi
  79. roll $7,%eax
  80. movl 20(%esi),%ebp
  81. addl %ebx,%eax
  82. # R0 5
  83. xorl %ecx,%edi
  84. andl %eax,%edi
  85. leal 1200080426(%edx,%ebp,1),%edx
  86. xorl %ecx,%edi
  87. addl %edi,%edx
  88. movl %eax,%edi
  89. roll $12,%edx
  90. movl 24(%esi),%ebp
  91. addl %eax,%edx
  92. # R0 6
  93. xorl %ebx,%edi
  94. andl %edx,%edi
  95. leal 2821735955(%ecx,%ebp,1),%ecx
  96. xorl %ebx,%edi
  97. addl %edi,%ecx
  98. movl %edx,%edi
  99. roll $17,%ecx
  100. movl 28(%esi),%ebp
  101. addl %edx,%ecx
  102. # R0 7
  103. xorl %eax,%edi
  104. andl %ecx,%edi
  105. leal 4249261313(%ebx,%ebp,1),%ebx
  106. xorl %eax,%edi
  107. addl %edi,%ebx
  108. movl %ecx,%edi
  109. roll $22,%ebx
  110. movl 32(%esi),%ebp
  111. addl %ecx,%ebx
  112. # R0 8
  113. xorl %edx,%edi
  114. andl %ebx,%edi
  115. leal 1770035416(%eax,%ebp,1),%eax
  116. xorl %edx,%edi
  117. addl %edi,%eax
  118. movl %ebx,%edi
  119. roll $7,%eax
  120. movl 36(%esi),%ebp
  121. addl %ebx,%eax
  122. # R0 9
  123. xorl %ecx,%edi
  124. andl %eax,%edi
  125. leal 2336552879(%edx,%ebp,1),%edx
  126. xorl %ecx,%edi
  127. addl %edi,%edx
  128. movl %eax,%edi
  129. roll $12,%edx
  130. movl 40(%esi),%ebp
  131. addl %eax,%edx
  132. # R0 10
  133. xorl %ebx,%edi
  134. andl %edx,%edi
  135. leal 4294925233(%ecx,%ebp,1),%ecx
  136. xorl %ebx,%edi
  137. addl %edi,%ecx
  138. movl %edx,%edi
  139. roll $17,%ecx
  140. movl 44(%esi),%ebp
  141. addl %edx,%ecx
  142. # R0 11
  143. xorl %eax,%edi
  144. andl %ecx,%edi
  145. leal 2304563134(%ebx,%ebp,1),%ebx
  146. xorl %eax,%edi
  147. addl %edi,%ebx
  148. movl %ecx,%edi
  149. roll $22,%ebx
  150. movl 48(%esi),%ebp
  151. addl %ecx,%ebx
  152. # R0 12
  153. xorl %edx,%edi
  154. andl %ebx,%edi
  155. leal 1804603682(%eax,%ebp,1),%eax
  156. xorl %edx,%edi
  157. addl %edi,%eax
  158. movl %ebx,%edi
  159. roll $7,%eax
  160. movl 52(%esi),%ebp
  161. addl %ebx,%eax
  162. # R0 13
  163. xorl %ecx,%edi
  164. andl %eax,%edi
  165. leal 4254626195(%edx,%ebp,1),%edx
  166. xorl %ecx,%edi
  167. addl %edi,%edx
  168. movl %eax,%edi
  169. roll $12,%edx
  170. movl 56(%esi),%ebp
  171. addl %eax,%edx
  172. # R0 14
  173. xorl %ebx,%edi
  174. andl %edx,%edi
  175. leal 2792965006(%ecx,%ebp,1),%ecx
  176. xorl %ebx,%edi
  177. addl %edi,%ecx
  178. movl %edx,%edi
  179. roll $17,%ecx
  180. movl 60(%esi),%ebp
  181. addl %edx,%ecx
  182. # R0 15
  183. xorl %eax,%edi
  184. andl %ecx,%edi
  185. leal 1236535329(%ebx,%ebp,1),%ebx
  186. xorl %eax,%edi
  187. addl %edi,%ebx
  188. movl %ecx,%edi
  189. roll $22,%ebx
  190. movl 4(%esi),%ebp
  191. addl %ecx,%ebx
  192. # R1 section
  193. # R1 16
  194. leal 4129170786(%eax,%ebp,1),%eax
  195. xorl %ebx,%edi
  196. andl %edx,%edi
  197. movl 24(%esi),%ebp
  198. xorl %ecx,%edi
  199. addl %edi,%eax
  200. movl %ebx,%edi
  201. roll $5,%eax
  202. addl %ebx,%eax
  203. # R1 17
  204. leal 3225465664(%edx,%ebp,1),%edx
  205. xorl %eax,%edi
  206. andl %ecx,%edi
  207. movl 44(%esi),%ebp
  208. xorl %ebx,%edi
  209. addl %edi,%edx
  210. movl %eax,%edi
  211. roll $9,%edx
  212. addl %eax,%edx
  213. # R1 18
  214. leal 643717713(%ecx,%ebp,1),%ecx
  215. xorl %edx,%edi
  216. andl %ebx,%edi
  217. movl (%esi),%ebp
  218. xorl %eax,%edi
  219. addl %edi,%ecx
  220. movl %edx,%edi
  221. roll $14,%ecx
  222. addl %edx,%ecx
  223. # R1 19
  224. leal 3921069994(%ebx,%ebp,1),%ebx
  225. xorl %ecx,%edi
  226. andl %eax,%edi
  227. movl 20(%esi),%ebp
  228. xorl %edx,%edi
  229. addl %edi,%ebx
  230. movl %ecx,%edi
  231. roll $20,%ebx
  232. addl %ecx,%ebx
  233. # R1 20
  234. leal 3593408605(%eax,%ebp,1),%eax
  235. xorl %ebx,%edi
  236. andl %edx,%edi
  237. movl 40(%esi),%ebp
  238. xorl %ecx,%edi
  239. addl %edi,%eax
  240. movl %ebx,%edi
  241. roll $5,%eax
  242. addl %ebx,%eax
  243. # R1 21
  244. leal 38016083(%edx,%ebp,1),%edx
  245. xorl %eax,%edi
  246. andl %ecx,%edi
  247. movl 60(%esi),%ebp
  248. xorl %ebx,%edi
  249. addl %edi,%edx
  250. movl %eax,%edi
  251. roll $9,%edx
  252. addl %eax,%edx
  253. # R1 22
  254. leal 3634488961(%ecx,%ebp,1),%ecx
  255. xorl %edx,%edi
  256. andl %ebx,%edi
  257. movl 16(%esi),%ebp
  258. xorl %eax,%edi
  259. addl %edi,%ecx
  260. movl %edx,%edi
  261. roll $14,%ecx
  262. addl %edx,%ecx
  263. # R1 23
  264. leal 3889429448(%ebx,%ebp,1),%ebx
  265. xorl %ecx,%edi
  266. andl %eax,%edi
  267. movl 36(%esi),%ebp
  268. xorl %edx,%edi
  269. addl %edi,%ebx
  270. movl %ecx,%edi
  271. roll $20,%ebx
  272. addl %ecx,%ebx
  273. # R1 24
  274. leal 568446438(%eax,%ebp,1),%eax
  275. xorl %ebx,%edi
  276. andl %edx,%edi
  277. movl 56(%esi),%ebp
  278. xorl %ecx,%edi
  279. addl %edi,%eax
  280. movl %ebx,%edi
  281. roll $5,%eax
  282. addl %ebx,%eax
  283. # R1 25
  284. leal 3275163606(%edx,%ebp,1),%edx
  285. xorl %eax,%edi
  286. andl %ecx,%edi
  287. movl 12(%esi),%ebp
  288. xorl %ebx,%edi
  289. addl %edi,%edx
  290. movl %eax,%edi
  291. roll $9,%edx
  292. addl %eax,%edx
  293. # R1 26
  294. leal 4107603335(%ecx,%ebp,1),%ecx
  295. xorl %edx,%edi
  296. andl %ebx,%edi
  297. movl 32(%esi),%ebp
  298. xorl %eax,%edi
  299. addl %edi,%ecx
  300. movl %edx,%edi
  301. roll $14,%ecx
  302. addl %edx,%ecx
  303. # R1 27
  304. leal 1163531501(%ebx,%ebp,1),%ebx
  305. xorl %ecx,%edi
  306. andl %eax,%edi
  307. movl 52(%esi),%ebp
  308. xorl %edx,%edi
  309. addl %edi,%ebx
  310. movl %ecx,%edi
  311. roll $20,%ebx
  312. addl %ecx,%ebx
  313. # R1 28
  314. leal 2850285829(%eax,%ebp,1),%eax
  315. xorl %ebx,%edi
  316. andl %edx,%edi
  317. movl 8(%esi),%ebp
  318. xorl %ecx,%edi
  319. addl %edi,%eax
  320. movl %ebx,%edi
  321. roll $5,%eax
  322. addl %ebx,%eax
  323. # R1 29
  324. leal 4243563512(%edx,%ebp,1),%edx
  325. xorl %eax,%edi
  326. andl %ecx,%edi
  327. movl 28(%esi),%ebp
  328. xorl %ebx,%edi
  329. addl %edi,%edx
  330. movl %eax,%edi
  331. roll $9,%edx
  332. addl %eax,%edx
  333. # R1 30
  334. leal 1735328473(%ecx,%ebp,1),%ecx
  335. xorl %edx,%edi
  336. andl %ebx,%edi
  337. movl 48(%esi),%ebp
  338. xorl %eax,%edi
  339. addl %edi,%ecx
  340. movl %edx,%edi
  341. roll $14,%ecx
  342. addl %edx,%ecx
  343. # R1 31
  344. leal 2368359562(%ebx,%ebp,1),%ebx
  345. xorl %ecx,%edi
  346. andl %eax,%edi
  347. movl 20(%esi),%ebp
  348. xorl %edx,%edi
  349. addl %edi,%ebx
  350. movl %ecx,%edi
  351. roll $20,%ebx
  352. addl %ecx,%ebx
  353. # R2 section
  354. # R2 32
  355. xorl %edx,%edi
  356. xorl %ebx,%edi
  357. leal 4294588738(%eax,%ebp,1),%eax
  358. addl %edi,%eax
  359. roll $4,%eax
  360. movl 32(%esi),%ebp
  361. movl %ebx,%edi
  362. # R2 33
  363. leal 2272392833(%edx,%ebp,1),%edx
  364. addl %ebx,%eax
  365. xorl %ecx,%edi
  366. xorl %eax,%edi
  367. movl 44(%esi),%ebp
  368. addl %edi,%edx
  369. movl %eax,%edi
  370. roll $11,%edx
  371. addl %eax,%edx
  372. # R2 34
  373. xorl %ebx,%edi
  374. xorl %edx,%edi
  375. leal 1839030562(%ecx,%ebp,1),%ecx
  376. addl %edi,%ecx
  377. roll $16,%ecx
  378. movl 56(%esi),%ebp
  379. movl %edx,%edi
  380. # R2 35
  381. leal 4259657740(%ebx,%ebp,1),%ebx
  382. addl %edx,%ecx
  383. xorl %eax,%edi
  384. xorl %ecx,%edi
  385. movl 4(%esi),%ebp
  386. addl %edi,%ebx
  387. movl %ecx,%edi
  388. roll $23,%ebx
  389. addl %ecx,%ebx
  390. # R2 36
  391. xorl %edx,%edi
  392. xorl %ebx,%edi
  393. leal 2763975236(%eax,%ebp,1),%eax
  394. addl %edi,%eax
  395. roll $4,%eax
  396. movl 16(%esi),%ebp
  397. movl %ebx,%edi
  398. # R2 37
  399. leal 1272893353(%edx,%ebp,1),%edx
  400. addl %ebx,%eax
  401. xorl %ecx,%edi
  402. xorl %eax,%edi
  403. movl 28(%esi),%ebp
  404. addl %edi,%edx
  405. movl %eax,%edi
  406. roll $11,%edx
  407. addl %eax,%edx
  408. # R2 38
  409. xorl %ebx,%edi
  410. xorl %edx,%edi
  411. leal 4139469664(%ecx,%ebp,1),%ecx
  412. addl %edi,%ecx
  413. roll $16,%ecx
  414. movl 40(%esi),%ebp
  415. movl %edx,%edi
  416. # R2 39
  417. leal 3200236656(%ebx,%ebp,1),%ebx
  418. addl %edx,%ecx
  419. xorl %eax,%edi
  420. xorl %ecx,%edi
  421. movl 52(%esi),%ebp
  422. addl %edi,%ebx
  423. movl %ecx,%edi
  424. roll $23,%ebx
  425. addl %ecx,%ebx
  426. # R2 40
  427. xorl %edx,%edi
  428. xorl %ebx,%edi
  429. leal 681279174(%eax,%ebp,1),%eax
  430. addl %edi,%eax
  431. roll $4,%eax
  432. movl (%esi),%ebp
  433. movl %ebx,%edi
  434. # R2 41
  435. leal 3936430074(%edx,%ebp,1),%edx
  436. addl %ebx,%eax
  437. xorl %ecx,%edi
  438. xorl %eax,%edi
  439. movl 12(%esi),%ebp
  440. addl %edi,%edx
  441. movl %eax,%edi
  442. roll $11,%edx
  443. addl %eax,%edx
  444. # R2 42
  445. xorl %ebx,%edi
  446. xorl %edx,%edi
  447. leal 3572445317(%ecx,%ebp,1),%ecx
  448. addl %edi,%ecx
  449. roll $16,%ecx
  450. movl 24(%esi),%ebp
  451. movl %edx,%edi
  452. # R2 43
  453. leal 76029189(%ebx,%ebp,1),%ebx
  454. addl %edx,%ecx
  455. xorl %eax,%edi
  456. xorl %ecx,%edi
  457. movl 36(%esi),%ebp
  458. addl %edi,%ebx
  459. movl %ecx,%edi
  460. roll $23,%ebx
  461. addl %ecx,%ebx
  462. # R2 44
  463. xorl %edx,%edi
  464. xorl %ebx,%edi
  465. leal 3654602809(%eax,%ebp,1),%eax
  466. addl %edi,%eax
  467. roll $4,%eax
  468. movl 48(%esi),%ebp
  469. movl %ebx,%edi
  470. # R2 45
  471. leal 3873151461(%edx,%ebp,1),%edx
  472. addl %ebx,%eax
  473. xorl %ecx,%edi
  474. xorl %eax,%edi
  475. movl 60(%esi),%ebp
  476. addl %edi,%edx
  477. movl %eax,%edi
  478. roll $11,%edx
  479. addl %eax,%edx
  480. # R2 46
  481. xorl %ebx,%edi
  482. xorl %edx,%edi
  483. leal 530742520(%ecx,%ebp,1),%ecx
  484. addl %edi,%ecx
  485. roll $16,%ecx
  486. movl 8(%esi),%ebp
  487. movl %edx,%edi
  488. # R2 47
  489. leal 3299628645(%ebx,%ebp,1),%ebx
  490. addl %edx,%ecx
  491. xorl %eax,%edi
  492. xorl %ecx,%edi
  493. movl (%esi),%ebp
  494. addl %edi,%ebx
  495. movl $-1,%edi
  496. roll $23,%ebx
  497. addl %ecx,%ebx
  498. # R3 section
  499. # R3 48
  500. xorl %edx,%edi
  501. orl %ebx,%edi
  502. leal 4096336452(%eax,%ebp,1),%eax
  503. xorl %ecx,%edi
  504. movl 28(%esi),%ebp
  505. addl %edi,%eax
  506. movl $-1,%edi
  507. roll $6,%eax
  508. xorl %ecx,%edi
  509. addl %ebx,%eax
  510. # R3 49
  511. orl %eax,%edi
  512. leal 1126891415(%edx,%ebp,1),%edx
  513. xorl %ebx,%edi
  514. movl 56(%esi),%ebp
  515. addl %edi,%edx
  516. movl $-1,%edi
  517. roll $10,%edx
  518. xorl %ebx,%edi
  519. addl %eax,%edx
  520. # R3 50
  521. orl %edx,%edi
  522. leal 2878612391(%ecx,%ebp,1),%ecx
  523. xorl %eax,%edi
  524. movl 20(%esi),%ebp
  525. addl %edi,%ecx
  526. movl $-1,%edi
  527. roll $15,%ecx
  528. xorl %eax,%edi
  529. addl %edx,%ecx
  530. # R3 51
  531. orl %ecx,%edi
  532. leal 4237533241(%ebx,%ebp,1),%ebx
  533. xorl %edx,%edi
  534. movl 48(%esi),%ebp
  535. addl %edi,%ebx
  536. movl $-1,%edi
  537. roll $21,%ebx
  538. xorl %edx,%edi
  539. addl %ecx,%ebx
  540. # R3 52
  541. orl %ebx,%edi
  542. leal 1700485571(%eax,%ebp,1),%eax
  543. xorl %ecx,%edi
  544. movl 12(%esi),%ebp
  545. addl %edi,%eax
  546. movl $-1,%edi
  547. roll $6,%eax
  548. xorl %ecx,%edi
  549. addl %ebx,%eax
  550. # R3 53
  551. orl %eax,%edi
  552. leal 2399980690(%edx,%ebp,1),%edx
  553. xorl %ebx,%edi
  554. movl 40(%esi),%ebp
  555. addl %edi,%edx
  556. movl $-1,%edi
  557. roll $10,%edx
  558. xorl %ebx,%edi
  559. addl %eax,%edx
  560. # R3 54
  561. orl %edx,%edi
  562. leal 4293915773(%ecx,%ebp,1),%ecx
  563. xorl %eax,%edi
  564. movl 4(%esi),%ebp
  565. addl %edi,%ecx
  566. movl $-1,%edi
  567. roll $15,%ecx
  568. xorl %eax,%edi
  569. addl %edx,%ecx
  570. # R3 55
  571. orl %ecx,%edi
  572. leal 2240044497(%ebx,%ebp,1),%ebx
  573. xorl %edx,%edi
  574. movl 32(%esi),%ebp
  575. addl %edi,%ebx
  576. movl $-1,%edi
  577. roll $21,%ebx
  578. xorl %edx,%edi
  579. addl %ecx,%ebx
  580. # R3 56
  581. orl %ebx,%edi
  582. leal 1873313359(%eax,%ebp,1),%eax
  583. xorl %ecx,%edi
  584. movl 60(%esi),%ebp
  585. addl %edi,%eax
  586. movl $-1,%edi
  587. roll $6,%eax
  588. xorl %ecx,%edi
  589. addl %ebx,%eax
  590. # R3 57
  591. orl %eax,%edi
  592. leal 4264355552(%edx,%ebp,1),%edx
  593. xorl %ebx,%edi
  594. movl 24(%esi),%ebp
  595. addl %edi,%edx
  596. movl $-1,%edi
  597. roll $10,%edx
  598. xorl %ebx,%edi
  599. addl %eax,%edx
  600. # R3 58
  601. orl %edx,%edi
  602. leal 2734768916(%ecx,%ebp,1),%ecx
  603. xorl %eax,%edi
  604. movl 52(%esi),%ebp
  605. addl %edi,%ecx
  606. movl $-1,%edi
  607. roll $15,%ecx
  608. xorl %eax,%edi
  609. addl %edx,%ecx
  610. # R3 59
  611. orl %ecx,%edi
  612. leal 1309151649(%ebx,%ebp,1),%ebx
  613. xorl %edx,%edi
  614. movl 16(%esi),%ebp
  615. addl %edi,%ebx
  616. movl $-1,%edi
  617. roll $21,%ebx
  618. xorl %edx,%edi
  619. addl %ecx,%ebx
  620. # R3 60
  621. orl %ebx,%edi
  622. leal 4149444226(%eax,%ebp,1),%eax
  623. xorl %ecx,%edi
  624. movl 44(%esi),%ebp
  625. addl %edi,%eax
  626. movl $-1,%edi
  627. roll $6,%eax
  628. xorl %ecx,%edi
  629. addl %ebx,%eax
  630. # R3 61
  631. orl %eax,%edi
  632. leal 3174756917(%edx,%ebp,1),%edx
  633. xorl %ebx,%edi
  634. movl 8(%esi),%ebp
  635. addl %edi,%edx
  636. movl $-1,%edi
  637. roll $10,%edx
  638. xorl %ebx,%edi
  639. addl %eax,%edx
  640. # R3 62
  641. orl %edx,%edi
  642. leal 718787259(%ecx,%ebp,1),%ecx
  643. xorl %eax,%edi
  644. movl 36(%esi),%ebp
  645. addl %edi,%ecx
  646. movl $-1,%edi
  647. roll $15,%ecx
  648. xorl %eax,%edi
  649. addl %edx,%ecx
  650. # R3 63
  651. orl %ecx,%edi
  652. leal 3951481745(%ebx,%ebp,1),%ebx
  653. xorl %edx,%edi
  654. movl 24(%esp),%ebp
  655. addl %edi,%ebx
  656. addl $64,%esi
  657. roll $21,%ebx
  658. movl (%ebp),%edi
  659. addl %ecx,%ebx
  660. addl %edi,%eax
  661. movl 4(%ebp),%edi
  662. addl %edi,%ebx
  663. movl 8(%ebp),%edi
  664. addl %edi,%ecx
  665. movl 12(%ebp),%edi
  666. addl %edi,%edx
  667. movl %eax,(%ebp)
  668. movl %ebx,4(%ebp)
  669. movl (%esp),%edi
  670. movl %ecx,8(%ebp)
  671. movl %edx,12(%ebp)
  672. cmpl %esi,%edi
  673. jae L000start
  674. popl %eax
  675. popl %ebx
  676. popl %ebp
  677. popl %edi
  678. popl %esi
  679. ret
  680. #endif