md5-586.S 11 KB

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