md5-x86_64.s 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683
  1. .text
  2. .align 16
  3. .globl md5_block_asm_data_order
  4. .type md5_block_asm_data_order,@function
  5. md5_block_asm_data_order:
  6. .cfi_startproc
  7. pushq %rbp
  8. .cfi_adjust_cfa_offset 8
  9. .cfi_offset %rbp,-16
  10. pushq %rbx
  11. .cfi_adjust_cfa_offset 8
  12. .cfi_offset %rbx,-24
  13. pushq %r12
  14. .cfi_adjust_cfa_offset 8
  15. .cfi_offset %r12,-32
  16. pushq %r14
  17. .cfi_adjust_cfa_offset 8
  18. .cfi_offset %r14,-40
  19. pushq %r15
  20. .cfi_adjust_cfa_offset 8
  21. .cfi_offset %r15,-48
  22. .Lprologue:
  23. movq %rdi,%rbp
  24. shlq $6,%rdx
  25. leaq (%rsi,%rdx,1),%rdi
  26. movl 0(%rbp),%eax
  27. movl 4(%rbp),%ebx
  28. movl 8(%rbp),%ecx
  29. movl 12(%rbp),%edx
  30. cmpq %rdi,%rsi
  31. je .Lend
  32. .Lloop:
  33. movl %eax,%r8d
  34. movl %ebx,%r9d
  35. movl %ecx,%r14d
  36. movl %edx,%r15d
  37. movl 0(%rsi),%r10d
  38. movl %edx,%r11d
  39. xorl %ecx,%r11d
  40. leal -680876936(%rax,%r10,1),%eax
  41. andl %ebx,%r11d
  42. movl 4(%rsi),%r10d
  43. xorl %edx,%r11d
  44. addl %r11d,%eax
  45. roll $7,%eax
  46. movl %ecx,%r11d
  47. addl %ebx,%eax
  48. xorl %ebx,%r11d
  49. leal -389564586(%rdx,%r10,1),%edx
  50. andl %eax,%r11d
  51. movl 8(%rsi),%r10d
  52. xorl %ecx,%r11d
  53. addl %r11d,%edx
  54. roll $12,%edx
  55. movl %ebx,%r11d
  56. addl %eax,%edx
  57. xorl %eax,%r11d
  58. leal 606105819(%rcx,%r10,1),%ecx
  59. andl %edx,%r11d
  60. movl 12(%rsi),%r10d
  61. xorl %ebx,%r11d
  62. addl %r11d,%ecx
  63. roll $17,%ecx
  64. movl %eax,%r11d
  65. addl %edx,%ecx
  66. xorl %edx,%r11d
  67. leal -1044525330(%rbx,%r10,1),%ebx
  68. andl %ecx,%r11d
  69. movl 16(%rsi),%r10d
  70. xorl %eax,%r11d
  71. addl %r11d,%ebx
  72. roll $22,%ebx
  73. movl %edx,%r11d
  74. addl %ecx,%ebx
  75. xorl %ecx,%r11d
  76. leal -176418897(%rax,%r10,1),%eax
  77. andl %ebx,%r11d
  78. movl 20(%rsi),%r10d
  79. xorl %edx,%r11d
  80. addl %r11d,%eax
  81. roll $7,%eax
  82. movl %ecx,%r11d
  83. addl %ebx,%eax
  84. xorl %ebx,%r11d
  85. leal 1200080426(%rdx,%r10,1),%edx
  86. andl %eax,%r11d
  87. movl 24(%rsi),%r10d
  88. xorl %ecx,%r11d
  89. addl %r11d,%edx
  90. roll $12,%edx
  91. movl %ebx,%r11d
  92. addl %eax,%edx
  93. xorl %eax,%r11d
  94. leal -1473231341(%rcx,%r10,1),%ecx
  95. andl %edx,%r11d
  96. movl 28(%rsi),%r10d
  97. xorl %ebx,%r11d
  98. addl %r11d,%ecx
  99. roll $17,%ecx
  100. movl %eax,%r11d
  101. addl %edx,%ecx
  102. xorl %edx,%r11d
  103. leal -45705983(%rbx,%r10,1),%ebx
  104. andl %ecx,%r11d
  105. movl 32(%rsi),%r10d
  106. xorl %eax,%r11d
  107. addl %r11d,%ebx
  108. roll $22,%ebx
  109. movl %edx,%r11d
  110. addl %ecx,%ebx
  111. xorl %ecx,%r11d
  112. leal 1770035416(%rax,%r10,1),%eax
  113. andl %ebx,%r11d
  114. movl 36(%rsi),%r10d
  115. xorl %edx,%r11d
  116. addl %r11d,%eax
  117. roll $7,%eax
  118. movl %ecx,%r11d
  119. addl %ebx,%eax
  120. xorl %ebx,%r11d
  121. leal -1958414417(%rdx,%r10,1),%edx
  122. andl %eax,%r11d
  123. movl 40(%rsi),%r10d
  124. xorl %ecx,%r11d
  125. addl %r11d,%edx
  126. roll $12,%edx
  127. movl %ebx,%r11d
  128. addl %eax,%edx
  129. xorl %eax,%r11d
  130. leal -42063(%rcx,%r10,1),%ecx
  131. andl %edx,%r11d
  132. movl 44(%rsi),%r10d
  133. xorl %ebx,%r11d
  134. addl %r11d,%ecx
  135. roll $17,%ecx
  136. movl %eax,%r11d
  137. addl %edx,%ecx
  138. xorl %edx,%r11d
  139. leal -1990404162(%rbx,%r10,1),%ebx
  140. andl %ecx,%r11d
  141. movl 48(%rsi),%r10d
  142. xorl %eax,%r11d
  143. addl %r11d,%ebx
  144. roll $22,%ebx
  145. movl %edx,%r11d
  146. addl %ecx,%ebx
  147. xorl %ecx,%r11d
  148. leal 1804603682(%rax,%r10,1),%eax
  149. andl %ebx,%r11d
  150. movl 52(%rsi),%r10d
  151. xorl %edx,%r11d
  152. addl %r11d,%eax
  153. roll $7,%eax
  154. movl %ecx,%r11d
  155. addl %ebx,%eax
  156. xorl %ebx,%r11d
  157. leal -40341101(%rdx,%r10,1),%edx
  158. andl %eax,%r11d
  159. movl 56(%rsi),%r10d
  160. xorl %ecx,%r11d
  161. addl %r11d,%edx
  162. roll $12,%edx
  163. movl %ebx,%r11d
  164. addl %eax,%edx
  165. xorl %eax,%r11d
  166. leal -1502002290(%rcx,%r10,1),%ecx
  167. andl %edx,%r11d
  168. movl 60(%rsi),%r10d
  169. xorl %ebx,%r11d
  170. addl %r11d,%ecx
  171. roll $17,%ecx
  172. movl %eax,%r11d
  173. addl %edx,%ecx
  174. xorl %edx,%r11d
  175. leal 1236535329(%rbx,%r10,1),%ebx
  176. andl %ecx,%r11d
  177. movl 4(%rsi),%r10d
  178. xorl %eax,%r11d
  179. addl %r11d,%ebx
  180. roll $22,%ebx
  181. movl %edx,%r11d
  182. addl %ecx,%ebx
  183. movl %edx,%r11d
  184. movl %edx,%r12d
  185. notl %r11d
  186. andl %ebx,%r12d
  187. leal -165796510(%rax,%r10,1),%eax
  188. andl %ecx,%r11d
  189. movl 24(%rsi),%r10d
  190. orl %r11d,%r12d
  191. movl %ecx,%r11d
  192. addl %r12d,%eax
  193. movl %ecx,%r12d
  194. roll $5,%eax
  195. addl %ebx,%eax
  196. notl %r11d
  197. andl %eax,%r12d
  198. leal -1069501632(%rdx,%r10,1),%edx
  199. andl %ebx,%r11d
  200. movl 44(%rsi),%r10d
  201. orl %r11d,%r12d
  202. movl %ebx,%r11d
  203. addl %r12d,%edx
  204. movl %ebx,%r12d
  205. roll $9,%edx
  206. addl %eax,%edx
  207. notl %r11d
  208. andl %edx,%r12d
  209. leal 643717713(%rcx,%r10,1),%ecx
  210. andl %eax,%r11d
  211. movl 0(%rsi),%r10d
  212. orl %r11d,%r12d
  213. movl %eax,%r11d
  214. addl %r12d,%ecx
  215. movl %eax,%r12d
  216. roll $14,%ecx
  217. addl %edx,%ecx
  218. notl %r11d
  219. andl %ecx,%r12d
  220. leal -373897302(%rbx,%r10,1),%ebx
  221. andl %edx,%r11d
  222. movl 20(%rsi),%r10d
  223. orl %r11d,%r12d
  224. movl %edx,%r11d
  225. addl %r12d,%ebx
  226. movl %edx,%r12d
  227. roll $20,%ebx
  228. addl %ecx,%ebx
  229. notl %r11d
  230. andl %ebx,%r12d
  231. leal -701558691(%rax,%r10,1),%eax
  232. andl %ecx,%r11d
  233. movl 40(%rsi),%r10d
  234. orl %r11d,%r12d
  235. movl %ecx,%r11d
  236. addl %r12d,%eax
  237. movl %ecx,%r12d
  238. roll $5,%eax
  239. addl %ebx,%eax
  240. notl %r11d
  241. andl %eax,%r12d
  242. leal 38016083(%rdx,%r10,1),%edx
  243. andl %ebx,%r11d
  244. movl 60(%rsi),%r10d
  245. orl %r11d,%r12d
  246. movl %ebx,%r11d
  247. addl %r12d,%edx
  248. movl %ebx,%r12d
  249. roll $9,%edx
  250. addl %eax,%edx
  251. notl %r11d
  252. andl %edx,%r12d
  253. leal -660478335(%rcx,%r10,1),%ecx
  254. andl %eax,%r11d
  255. movl 16(%rsi),%r10d
  256. orl %r11d,%r12d
  257. movl %eax,%r11d
  258. addl %r12d,%ecx
  259. movl %eax,%r12d
  260. roll $14,%ecx
  261. addl %edx,%ecx
  262. notl %r11d
  263. andl %ecx,%r12d
  264. leal -405537848(%rbx,%r10,1),%ebx
  265. andl %edx,%r11d
  266. movl 36(%rsi),%r10d
  267. orl %r11d,%r12d
  268. movl %edx,%r11d
  269. addl %r12d,%ebx
  270. movl %edx,%r12d
  271. roll $20,%ebx
  272. addl %ecx,%ebx
  273. notl %r11d
  274. andl %ebx,%r12d
  275. leal 568446438(%rax,%r10,1),%eax
  276. andl %ecx,%r11d
  277. movl 56(%rsi),%r10d
  278. orl %r11d,%r12d
  279. movl %ecx,%r11d
  280. addl %r12d,%eax
  281. movl %ecx,%r12d
  282. roll $5,%eax
  283. addl %ebx,%eax
  284. notl %r11d
  285. andl %eax,%r12d
  286. leal -1019803690(%rdx,%r10,1),%edx
  287. andl %ebx,%r11d
  288. movl 12(%rsi),%r10d
  289. orl %r11d,%r12d
  290. movl %ebx,%r11d
  291. addl %r12d,%edx
  292. movl %ebx,%r12d
  293. roll $9,%edx
  294. addl %eax,%edx
  295. notl %r11d
  296. andl %edx,%r12d
  297. leal -187363961(%rcx,%r10,1),%ecx
  298. andl %eax,%r11d
  299. movl 32(%rsi),%r10d
  300. orl %r11d,%r12d
  301. movl %eax,%r11d
  302. addl %r12d,%ecx
  303. movl %eax,%r12d
  304. roll $14,%ecx
  305. addl %edx,%ecx
  306. notl %r11d
  307. andl %ecx,%r12d
  308. leal 1163531501(%rbx,%r10,1),%ebx
  309. andl %edx,%r11d
  310. movl 52(%rsi),%r10d
  311. orl %r11d,%r12d
  312. movl %edx,%r11d
  313. addl %r12d,%ebx
  314. movl %edx,%r12d
  315. roll $20,%ebx
  316. addl %ecx,%ebx
  317. notl %r11d
  318. andl %ebx,%r12d
  319. leal -1444681467(%rax,%r10,1),%eax
  320. andl %ecx,%r11d
  321. movl 8(%rsi),%r10d
  322. orl %r11d,%r12d
  323. movl %ecx,%r11d
  324. addl %r12d,%eax
  325. movl %ecx,%r12d
  326. roll $5,%eax
  327. addl %ebx,%eax
  328. notl %r11d
  329. andl %eax,%r12d
  330. leal -51403784(%rdx,%r10,1),%edx
  331. andl %ebx,%r11d
  332. movl 28(%rsi),%r10d
  333. orl %r11d,%r12d
  334. movl %ebx,%r11d
  335. addl %r12d,%edx
  336. movl %ebx,%r12d
  337. roll $9,%edx
  338. addl %eax,%edx
  339. notl %r11d
  340. andl %edx,%r12d
  341. leal 1735328473(%rcx,%r10,1),%ecx
  342. andl %eax,%r11d
  343. movl 48(%rsi),%r10d
  344. orl %r11d,%r12d
  345. movl %eax,%r11d
  346. addl %r12d,%ecx
  347. movl %eax,%r12d
  348. roll $14,%ecx
  349. addl %edx,%ecx
  350. notl %r11d
  351. andl %ecx,%r12d
  352. leal -1926607734(%rbx,%r10,1),%ebx
  353. andl %edx,%r11d
  354. movl 20(%rsi),%r10d
  355. orl %r11d,%r12d
  356. movl %edx,%r11d
  357. addl %r12d,%ebx
  358. movl %edx,%r12d
  359. roll $20,%ebx
  360. addl %ecx,%ebx
  361. movl %ecx,%r11d
  362. leal -378558(%rax,%r10,1),%eax
  363. xorl %edx,%r11d
  364. movl 32(%rsi),%r10d
  365. xorl %ebx,%r11d
  366. addl %r11d,%eax
  367. movl %ebx,%r11d
  368. roll $4,%eax
  369. addl %ebx,%eax
  370. leal -2022574463(%rdx,%r10,1),%edx
  371. xorl %ecx,%r11d
  372. movl 44(%rsi),%r10d
  373. xorl %eax,%r11d
  374. addl %r11d,%edx
  375. roll $11,%edx
  376. movl %eax,%r11d
  377. addl %eax,%edx
  378. leal 1839030562(%rcx,%r10,1),%ecx
  379. xorl %ebx,%r11d
  380. movl 56(%rsi),%r10d
  381. xorl %edx,%r11d
  382. addl %r11d,%ecx
  383. movl %edx,%r11d
  384. roll $16,%ecx
  385. addl %edx,%ecx
  386. leal -35309556(%rbx,%r10,1),%ebx
  387. xorl %eax,%r11d
  388. movl 4(%rsi),%r10d
  389. xorl %ecx,%r11d
  390. addl %r11d,%ebx
  391. roll $23,%ebx
  392. movl %ecx,%r11d
  393. addl %ecx,%ebx
  394. leal -1530992060(%rax,%r10,1),%eax
  395. xorl %edx,%r11d
  396. movl 16(%rsi),%r10d
  397. xorl %ebx,%r11d
  398. addl %r11d,%eax
  399. movl %ebx,%r11d
  400. roll $4,%eax
  401. addl %ebx,%eax
  402. leal 1272893353(%rdx,%r10,1),%edx
  403. xorl %ecx,%r11d
  404. movl 28(%rsi),%r10d
  405. xorl %eax,%r11d
  406. addl %r11d,%edx
  407. roll $11,%edx
  408. movl %eax,%r11d
  409. addl %eax,%edx
  410. leal -155497632(%rcx,%r10,1),%ecx
  411. xorl %ebx,%r11d
  412. movl 40(%rsi),%r10d
  413. xorl %edx,%r11d
  414. addl %r11d,%ecx
  415. movl %edx,%r11d
  416. roll $16,%ecx
  417. addl %edx,%ecx
  418. leal -1094730640(%rbx,%r10,1),%ebx
  419. xorl %eax,%r11d
  420. movl 52(%rsi),%r10d
  421. xorl %ecx,%r11d
  422. addl %r11d,%ebx
  423. roll $23,%ebx
  424. movl %ecx,%r11d
  425. addl %ecx,%ebx
  426. leal 681279174(%rax,%r10,1),%eax
  427. xorl %edx,%r11d
  428. movl 0(%rsi),%r10d
  429. xorl %ebx,%r11d
  430. addl %r11d,%eax
  431. movl %ebx,%r11d
  432. roll $4,%eax
  433. addl %ebx,%eax
  434. leal -358537222(%rdx,%r10,1),%edx
  435. xorl %ecx,%r11d
  436. movl 12(%rsi),%r10d
  437. xorl %eax,%r11d
  438. addl %r11d,%edx
  439. roll $11,%edx
  440. movl %eax,%r11d
  441. addl %eax,%edx
  442. leal -722521979(%rcx,%r10,1),%ecx
  443. xorl %ebx,%r11d
  444. movl 24(%rsi),%r10d
  445. xorl %edx,%r11d
  446. addl %r11d,%ecx
  447. movl %edx,%r11d
  448. roll $16,%ecx
  449. addl %edx,%ecx
  450. leal 76029189(%rbx,%r10,1),%ebx
  451. xorl %eax,%r11d
  452. movl 36(%rsi),%r10d
  453. xorl %ecx,%r11d
  454. addl %r11d,%ebx
  455. roll $23,%ebx
  456. movl %ecx,%r11d
  457. addl %ecx,%ebx
  458. leal -640364487(%rax,%r10,1),%eax
  459. xorl %edx,%r11d
  460. movl 48(%rsi),%r10d
  461. xorl %ebx,%r11d
  462. addl %r11d,%eax
  463. movl %ebx,%r11d
  464. roll $4,%eax
  465. addl %ebx,%eax
  466. leal -421815835(%rdx,%r10,1),%edx
  467. xorl %ecx,%r11d
  468. movl 60(%rsi),%r10d
  469. xorl %eax,%r11d
  470. addl %r11d,%edx
  471. roll $11,%edx
  472. movl %eax,%r11d
  473. addl %eax,%edx
  474. leal 530742520(%rcx,%r10,1),%ecx
  475. xorl %ebx,%r11d
  476. movl 8(%rsi),%r10d
  477. xorl %edx,%r11d
  478. addl %r11d,%ecx
  479. movl %edx,%r11d
  480. roll $16,%ecx
  481. addl %edx,%ecx
  482. leal -995338651(%rbx,%r10,1),%ebx
  483. xorl %eax,%r11d
  484. movl 0(%rsi),%r10d
  485. xorl %ecx,%r11d
  486. addl %r11d,%ebx
  487. roll $23,%ebx
  488. movl %ecx,%r11d
  489. addl %ecx,%ebx
  490. movl $0xffffffff,%r11d
  491. xorl %edx,%r11d
  492. leal -198630844(%rax,%r10,1),%eax
  493. orl %ebx,%r11d
  494. movl 28(%rsi),%r10d
  495. xorl %ecx,%r11d
  496. addl %r11d,%eax
  497. movl $0xffffffff,%r11d
  498. roll $6,%eax
  499. xorl %ecx,%r11d
  500. addl %ebx,%eax
  501. leal 1126891415(%rdx,%r10,1),%edx
  502. orl %eax,%r11d
  503. movl 56(%rsi),%r10d
  504. xorl %ebx,%r11d
  505. addl %r11d,%edx
  506. movl $0xffffffff,%r11d
  507. roll $10,%edx
  508. xorl %ebx,%r11d
  509. addl %eax,%edx
  510. leal -1416354905(%rcx,%r10,1),%ecx
  511. orl %edx,%r11d
  512. movl 20(%rsi),%r10d
  513. xorl %eax,%r11d
  514. addl %r11d,%ecx
  515. movl $0xffffffff,%r11d
  516. roll $15,%ecx
  517. xorl %eax,%r11d
  518. addl %edx,%ecx
  519. leal -57434055(%rbx,%r10,1),%ebx
  520. orl %ecx,%r11d
  521. movl 48(%rsi),%r10d
  522. xorl %edx,%r11d
  523. addl %r11d,%ebx
  524. movl $0xffffffff,%r11d
  525. roll $21,%ebx
  526. xorl %edx,%r11d
  527. addl %ecx,%ebx
  528. leal 1700485571(%rax,%r10,1),%eax
  529. orl %ebx,%r11d
  530. movl 12(%rsi),%r10d
  531. xorl %ecx,%r11d
  532. addl %r11d,%eax
  533. movl $0xffffffff,%r11d
  534. roll $6,%eax
  535. xorl %ecx,%r11d
  536. addl %ebx,%eax
  537. leal -1894986606(%rdx,%r10,1),%edx
  538. orl %eax,%r11d
  539. movl 40(%rsi),%r10d
  540. xorl %ebx,%r11d
  541. addl %r11d,%edx
  542. movl $0xffffffff,%r11d
  543. roll $10,%edx
  544. xorl %ebx,%r11d
  545. addl %eax,%edx
  546. leal -1051523(%rcx,%r10,1),%ecx
  547. orl %edx,%r11d
  548. movl 4(%rsi),%r10d
  549. xorl %eax,%r11d
  550. addl %r11d,%ecx
  551. movl $0xffffffff,%r11d
  552. roll $15,%ecx
  553. xorl %eax,%r11d
  554. addl %edx,%ecx
  555. leal -2054922799(%rbx,%r10,1),%ebx
  556. orl %ecx,%r11d
  557. movl 32(%rsi),%r10d
  558. xorl %edx,%r11d
  559. addl %r11d,%ebx
  560. movl $0xffffffff,%r11d
  561. roll $21,%ebx
  562. xorl %edx,%r11d
  563. addl %ecx,%ebx
  564. leal 1873313359(%rax,%r10,1),%eax
  565. orl %ebx,%r11d
  566. movl 60(%rsi),%r10d
  567. xorl %ecx,%r11d
  568. addl %r11d,%eax
  569. movl $0xffffffff,%r11d
  570. roll $6,%eax
  571. xorl %ecx,%r11d
  572. addl %ebx,%eax
  573. leal -30611744(%rdx,%r10,1),%edx
  574. orl %eax,%r11d
  575. movl 24(%rsi),%r10d
  576. xorl %ebx,%r11d
  577. addl %r11d,%edx
  578. movl $0xffffffff,%r11d
  579. roll $10,%edx
  580. xorl %ebx,%r11d
  581. addl %eax,%edx
  582. leal -1560198380(%rcx,%r10,1),%ecx
  583. orl %edx,%r11d
  584. movl 52(%rsi),%r10d
  585. xorl %eax,%r11d
  586. addl %r11d,%ecx
  587. movl $0xffffffff,%r11d
  588. roll $15,%ecx
  589. xorl %eax,%r11d
  590. addl %edx,%ecx
  591. leal 1309151649(%rbx,%r10,1),%ebx
  592. orl %ecx,%r11d
  593. movl 16(%rsi),%r10d
  594. xorl %edx,%r11d
  595. addl %r11d,%ebx
  596. movl $0xffffffff,%r11d
  597. roll $21,%ebx
  598. xorl %edx,%r11d
  599. addl %ecx,%ebx
  600. leal -145523070(%rax,%r10,1),%eax
  601. orl %ebx,%r11d
  602. movl 44(%rsi),%r10d
  603. xorl %ecx,%r11d
  604. addl %r11d,%eax
  605. movl $0xffffffff,%r11d
  606. roll $6,%eax
  607. xorl %ecx,%r11d
  608. addl %ebx,%eax
  609. leal -1120210379(%rdx,%r10,1),%edx
  610. orl %eax,%r11d
  611. movl 8(%rsi),%r10d
  612. xorl %ebx,%r11d
  613. addl %r11d,%edx
  614. movl $0xffffffff,%r11d
  615. roll $10,%edx
  616. xorl %ebx,%r11d
  617. addl %eax,%edx
  618. leal 718787259(%rcx,%r10,1),%ecx
  619. orl %edx,%r11d
  620. movl 36(%rsi),%r10d
  621. xorl %eax,%r11d
  622. addl %r11d,%ecx
  623. movl $0xffffffff,%r11d
  624. roll $15,%ecx
  625. xorl %eax,%r11d
  626. addl %edx,%ecx
  627. leal -343485551(%rbx,%r10,1),%ebx
  628. orl %ecx,%r11d
  629. movl 0(%rsi),%r10d
  630. xorl %edx,%r11d
  631. addl %r11d,%ebx
  632. movl $0xffffffff,%r11d
  633. roll $21,%ebx
  634. xorl %edx,%r11d
  635. addl %ecx,%ebx
  636. addl %r8d,%eax
  637. addl %r9d,%ebx
  638. addl %r14d,%ecx
  639. addl %r15d,%edx
  640. addq $64,%rsi
  641. cmpq %rdi,%rsi
  642. jb .Lloop
  643. .Lend:
  644. movl %eax,0(%rbp)
  645. movl %ebx,4(%rbp)
  646. movl %ecx,8(%rbp)
  647. movl %edx,12(%rbp)
  648. movq (%rsp),%r15
  649. .cfi_restore %r15
  650. movq 8(%rsp),%r14
  651. .cfi_restore %r14
  652. movq 16(%rsp),%r12
  653. .cfi_restore %r12
  654. movq 24(%rsp),%rbx
  655. .cfi_restore %rbx
  656. movq 32(%rsp),%rbp
  657. .cfi_restore %rbp
  658. addq $40,%rsp
  659. .cfi_adjust_cfa_offset -40
  660. .Lepilogue:
  661. .byte 0xf3,0xc3
  662. .cfi_endproc
  663. .size md5_block_asm_data_order,.-md5_block_asm_data_order