sha512-ppc.s 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515
  1. .machine "any"
  2. .abiversion 2
  3. .text
  4. .globl sha512_block_ppc
  5. .type sha512_block_ppc,@function
  6. .align 6
  7. sha512_block_ppc:
  8. .localentry sha512_block_ppc,0
  9. stdu 1,-384(1)
  10. mflr 0
  11. sldi 5,5,7
  12. std 3,208(1)
  13. std 14,240(1)
  14. std 15,248(1)
  15. std 16,256(1)
  16. std 17,264(1)
  17. std 18,272(1)
  18. std 19,280(1)
  19. std 20,288(1)
  20. std 21,296(1)
  21. std 22,304(1)
  22. std 23,312(1)
  23. std 24,320(1)
  24. std 25,328(1)
  25. std 26,336(1)
  26. std 27,344(1)
  27. std 28,352(1)
  28. std 29,360(1)
  29. std 30,368(1)
  30. std 31,376(1)
  31. std 0,400(1)
  32. ld 8,0(3)
  33. mr 31,4
  34. ld 9,8(3)
  35. ld 10,16(3)
  36. ld 11,24(3)
  37. ld 12,32(3)
  38. ld 6,40(3)
  39. ld 14,48(3)
  40. ld 15,56(3)
  41. bl .LPICmeup
  42. .LPICedup:
  43. andi. 0,31,3
  44. bne .Lunaligned
  45. .Laligned:
  46. add 5,31,5
  47. std 5,192(1)
  48. std 31,200(1)
  49. bl .Lsha2_block_private
  50. b .Ldone
  51. .align 4
  52. .Lunaligned:
  53. subfic 0,31,4096
  54. andi. 0,0,3968
  55. beq .Lcross_page
  56. cmpld 5,0
  57. ble .Laligned
  58. subfc 5,0,5
  59. add 0,31,0
  60. std 5,184(1)
  61. std 0,192(1)
  62. std 31,200(1)
  63. bl .Lsha2_block_private
  64. ld 5,184(1)
  65. .Lcross_page:
  66. li 0,32
  67. mtctr 0
  68. addi 20,1,48
  69. .Lmemcpy:
  70. lbz 16,0(31)
  71. lbz 17,1(31)
  72. lbz 18,2(31)
  73. lbz 19,3(31)
  74. addi 31,31,4
  75. stb 16,0(20)
  76. stb 17,1(20)
  77. stb 18,2(20)
  78. stb 19,3(20)
  79. addi 20,20,4
  80. bdnz .Lmemcpy
  81. std 31,176(1)
  82. addi 0,1,176
  83. addi 31,1,48
  84. std 5,184(1)
  85. std 0,192(1)
  86. std 31,200(1)
  87. bl .Lsha2_block_private
  88. ld 31,176(1)
  89. ld 5,184(1)
  90. addic. 5,5,-128
  91. bne .Lunaligned
  92. .Ldone:
  93. ld 0,400(1)
  94. ld 14,240(1)
  95. ld 15,248(1)
  96. ld 16,256(1)
  97. ld 17,264(1)
  98. ld 18,272(1)
  99. ld 19,280(1)
  100. ld 20,288(1)
  101. ld 21,296(1)
  102. ld 22,304(1)
  103. ld 23,312(1)
  104. ld 24,320(1)
  105. ld 25,328(1)
  106. ld 26,336(1)
  107. ld 27,344(1)
  108. ld 28,352(1)
  109. ld 29,360(1)
  110. ld 30,368(1)
  111. ld 31,376(1)
  112. mtlr 0
  113. addi 1,1,384
  114. blr
  115. .long 0
  116. .byte 0,12,4,1,0x80,18,3,0
  117. .long 0
  118. .align 4
  119. .Lsha2_block_private:
  120. ld 0,0(7)
  121. lwz 3,0(31)
  122. lwz 4,4(31)
  123. rotlwi 5,3,8
  124. rotlwi 16,4,8
  125. rlwimi 5,3,24,0,7
  126. rlwimi 16,4,24,0,7
  127. rlwimi 5,3,24,16,23
  128. rlwimi 16,4,24,16,23
  129. insrdi 16,5,32,0
  130. rotrdi 3,12,14
  131. rotrdi 4,12,18
  132. and 5,6,12
  133. xor 3,3,4
  134. add 15,15,0
  135. andc 0,14,12
  136. rotrdi 4,4,23
  137. or 5,5,0
  138. add 15,15,16
  139. xor 3,3,4
  140. add 15,15,5
  141. add 15,15,3
  142. rotrdi 3,8,28
  143. rotrdi 4,8,34
  144. and 5,8,9
  145. and 0,8,10
  146. xor 3,3,4
  147. rotrdi 4,4,5
  148. xor 5,5,0
  149. and 0,9,10
  150. xor 3,3,4
  151. add 11,11,15
  152. xor 5,5,0
  153. ld 0,8(7)
  154. add 15,15,3
  155. add 15,15,5
  156. lwz 3,8(31)
  157. lwz 4,12(31)
  158. rotlwi 5,3,8
  159. rotlwi 17,4,8
  160. rlwimi 5,3,24,0,7
  161. rlwimi 17,4,24,0,7
  162. rlwimi 5,3,24,16,23
  163. rlwimi 17,4,24,16,23
  164. insrdi 17,5,32,0
  165. rotrdi 3,11,14
  166. rotrdi 4,11,18
  167. and 5,12,11
  168. xor 3,3,4
  169. add 14,14,0
  170. andc 0,6,11
  171. rotrdi 4,4,23
  172. or 5,5,0
  173. add 14,14,17
  174. xor 3,3,4
  175. add 14,14,5
  176. add 14,14,3
  177. rotrdi 3,15,28
  178. rotrdi 4,15,34
  179. and 5,15,8
  180. and 0,15,9
  181. xor 3,3,4
  182. rotrdi 4,4,5
  183. xor 5,5,0
  184. and 0,8,9
  185. xor 3,3,4
  186. add 10,10,14
  187. xor 5,5,0
  188. ld 0,16(7)
  189. add 14,14,3
  190. add 14,14,5
  191. lwz 3,16(31)
  192. lwz 4,20(31)
  193. rotlwi 5,3,8
  194. rotlwi 18,4,8
  195. rlwimi 5,3,24,0,7
  196. rlwimi 18,4,24,0,7
  197. rlwimi 5,3,24,16,23
  198. rlwimi 18,4,24,16,23
  199. insrdi 18,5,32,0
  200. rotrdi 3,10,14
  201. rotrdi 4,10,18
  202. and 5,11,10
  203. xor 3,3,4
  204. add 6,6,0
  205. andc 0,12,10
  206. rotrdi 4,4,23
  207. or 5,5,0
  208. add 6,6,18
  209. xor 3,3,4
  210. add 6,6,5
  211. add 6,6,3
  212. rotrdi 3,14,28
  213. rotrdi 4,14,34
  214. and 5,14,15
  215. and 0,14,8
  216. xor 3,3,4
  217. rotrdi 4,4,5
  218. xor 5,5,0
  219. and 0,15,8
  220. xor 3,3,4
  221. add 9,9,6
  222. xor 5,5,0
  223. ld 0,24(7)
  224. add 6,6,3
  225. add 6,6,5
  226. lwz 3,24(31)
  227. lwz 4,28(31)
  228. rotlwi 5,3,8
  229. rotlwi 19,4,8
  230. rlwimi 5,3,24,0,7
  231. rlwimi 19,4,24,0,7
  232. rlwimi 5,3,24,16,23
  233. rlwimi 19,4,24,16,23
  234. insrdi 19,5,32,0
  235. rotrdi 3,9,14
  236. rotrdi 4,9,18
  237. and 5,10,9
  238. xor 3,3,4
  239. add 12,12,0
  240. andc 0,11,9
  241. rotrdi 4,4,23
  242. or 5,5,0
  243. add 12,12,19
  244. xor 3,3,4
  245. add 12,12,5
  246. add 12,12,3
  247. rotrdi 3,6,28
  248. rotrdi 4,6,34
  249. and 5,6,14
  250. and 0,6,15
  251. xor 3,3,4
  252. rotrdi 4,4,5
  253. xor 5,5,0
  254. and 0,14,15
  255. xor 3,3,4
  256. add 8,8,12
  257. xor 5,5,0
  258. ld 0,32(7)
  259. add 12,12,3
  260. add 12,12,5
  261. lwz 3,32(31)
  262. lwz 4,36(31)
  263. rotlwi 5,3,8
  264. rotlwi 20,4,8
  265. rlwimi 5,3,24,0,7
  266. rlwimi 20,4,24,0,7
  267. rlwimi 5,3,24,16,23
  268. rlwimi 20,4,24,16,23
  269. insrdi 20,5,32,0
  270. rotrdi 3,8,14
  271. rotrdi 4,8,18
  272. and 5,9,8
  273. xor 3,3,4
  274. add 11,11,0
  275. andc 0,10,8
  276. rotrdi 4,4,23
  277. or 5,5,0
  278. add 11,11,20
  279. xor 3,3,4
  280. add 11,11,5
  281. add 11,11,3
  282. rotrdi 3,12,28
  283. rotrdi 4,12,34
  284. and 5,12,6
  285. and 0,12,14
  286. xor 3,3,4
  287. rotrdi 4,4,5
  288. xor 5,5,0
  289. and 0,6,14
  290. xor 3,3,4
  291. add 15,15,11
  292. xor 5,5,0
  293. ld 0,40(7)
  294. add 11,11,3
  295. add 11,11,5
  296. lwz 3,40(31)
  297. lwz 4,44(31)
  298. rotlwi 5,3,8
  299. rotlwi 21,4,8
  300. rlwimi 5,3,24,0,7
  301. rlwimi 21,4,24,0,7
  302. rlwimi 5,3,24,16,23
  303. rlwimi 21,4,24,16,23
  304. insrdi 21,5,32,0
  305. rotrdi 3,15,14
  306. rotrdi 4,15,18
  307. and 5,8,15
  308. xor 3,3,4
  309. add 10,10,0
  310. andc 0,9,15
  311. rotrdi 4,4,23
  312. or 5,5,0
  313. add 10,10,21
  314. xor 3,3,4
  315. add 10,10,5
  316. add 10,10,3
  317. rotrdi 3,11,28
  318. rotrdi 4,11,34
  319. and 5,11,12
  320. and 0,11,6
  321. xor 3,3,4
  322. rotrdi 4,4,5
  323. xor 5,5,0
  324. and 0,12,6
  325. xor 3,3,4
  326. add 14,14,10
  327. xor 5,5,0
  328. ld 0,48(7)
  329. add 10,10,3
  330. add 10,10,5
  331. lwz 3,48(31)
  332. lwz 4,52(31)
  333. rotlwi 5,3,8
  334. rotlwi 22,4,8
  335. rlwimi 5,3,24,0,7
  336. rlwimi 22,4,24,0,7
  337. rlwimi 5,3,24,16,23
  338. rlwimi 22,4,24,16,23
  339. insrdi 22,5,32,0
  340. rotrdi 3,14,14
  341. rotrdi 4,14,18
  342. and 5,15,14
  343. xor 3,3,4
  344. add 9,9,0
  345. andc 0,8,14
  346. rotrdi 4,4,23
  347. or 5,5,0
  348. add 9,9,22
  349. xor 3,3,4
  350. add 9,9,5
  351. add 9,9,3
  352. rotrdi 3,10,28
  353. rotrdi 4,10,34
  354. and 5,10,11
  355. and 0,10,12
  356. xor 3,3,4
  357. rotrdi 4,4,5
  358. xor 5,5,0
  359. and 0,11,12
  360. xor 3,3,4
  361. add 6,6,9
  362. xor 5,5,0
  363. ld 0,56(7)
  364. add 9,9,3
  365. add 9,9,5
  366. lwz 3,56(31)
  367. lwz 4,60(31)
  368. rotlwi 5,3,8
  369. rotlwi 23,4,8
  370. rlwimi 5,3,24,0,7
  371. rlwimi 23,4,24,0,7
  372. rlwimi 5,3,24,16,23
  373. rlwimi 23,4,24,16,23
  374. insrdi 23,5,32,0
  375. rotrdi 3,6,14
  376. rotrdi 4,6,18
  377. and 5,14,6
  378. xor 3,3,4
  379. add 8,8,0
  380. andc 0,15,6
  381. rotrdi 4,4,23
  382. or 5,5,0
  383. add 8,8,23
  384. xor 3,3,4
  385. add 8,8,5
  386. add 8,8,3
  387. rotrdi 3,9,28
  388. rotrdi 4,9,34
  389. and 5,9,10
  390. and 0,9,11
  391. xor 3,3,4
  392. rotrdi 4,4,5
  393. xor 5,5,0
  394. and 0,10,11
  395. xor 3,3,4
  396. add 12,12,8
  397. xor 5,5,0
  398. ld 0,64(7)
  399. add 8,8,3
  400. add 8,8,5
  401. lwz 3,64(31)
  402. lwz 4,68(31)
  403. rotlwi 5,3,8
  404. rotlwi 24,4,8
  405. rlwimi 5,3,24,0,7
  406. rlwimi 24,4,24,0,7
  407. rlwimi 5,3,24,16,23
  408. rlwimi 24,4,24,16,23
  409. insrdi 24,5,32,0
  410. rotrdi 3,12,14
  411. rotrdi 4,12,18
  412. and 5,6,12
  413. xor 3,3,4
  414. add 15,15,0
  415. andc 0,14,12
  416. rotrdi 4,4,23
  417. or 5,5,0
  418. add 15,15,24
  419. xor 3,3,4
  420. add 15,15,5
  421. add 15,15,3
  422. rotrdi 3,8,28
  423. rotrdi 4,8,34
  424. and 5,8,9
  425. and 0,8,10
  426. xor 3,3,4
  427. rotrdi 4,4,5
  428. xor 5,5,0
  429. and 0,9,10
  430. xor 3,3,4
  431. add 11,11,15
  432. xor 5,5,0
  433. ld 0,72(7)
  434. add 15,15,3
  435. add 15,15,5
  436. lwz 3,72(31)
  437. lwz 4,76(31)
  438. rotlwi 5,3,8
  439. rotlwi 25,4,8
  440. rlwimi 5,3,24,0,7
  441. rlwimi 25,4,24,0,7
  442. rlwimi 5,3,24,16,23
  443. rlwimi 25,4,24,16,23
  444. insrdi 25,5,32,0
  445. rotrdi 3,11,14
  446. rotrdi 4,11,18
  447. and 5,12,11
  448. xor 3,3,4
  449. add 14,14,0
  450. andc 0,6,11
  451. rotrdi 4,4,23
  452. or 5,5,0
  453. add 14,14,25
  454. xor 3,3,4
  455. add 14,14,5
  456. add 14,14,3
  457. rotrdi 3,15,28
  458. rotrdi 4,15,34
  459. and 5,15,8
  460. and 0,15,9
  461. xor 3,3,4
  462. rotrdi 4,4,5
  463. xor 5,5,0
  464. and 0,8,9
  465. xor 3,3,4
  466. add 10,10,14
  467. xor 5,5,0
  468. ld 0,80(7)
  469. add 14,14,3
  470. add 14,14,5
  471. lwz 3,80(31)
  472. lwz 4,84(31)
  473. rotlwi 5,3,8
  474. rotlwi 26,4,8
  475. rlwimi 5,3,24,0,7
  476. rlwimi 26,4,24,0,7
  477. rlwimi 5,3,24,16,23
  478. rlwimi 26,4,24,16,23
  479. insrdi 26,5,32,0
  480. rotrdi 3,10,14
  481. rotrdi 4,10,18
  482. and 5,11,10
  483. xor 3,3,4
  484. add 6,6,0
  485. andc 0,12,10
  486. rotrdi 4,4,23
  487. or 5,5,0
  488. add 6,6,26
  489. xor 3,3,4
  490. add 6,6,5
  491. add 6,6,3
  492. rotrdi 3,14,28
  493. rotrdi 4,14,34
  494. and 5,14,15
  495. and 0,14,8
  496. xor 3,3,4
  497. rotrdi 4,4,5
  498. xor 5,5,0
  499. and 0,15,8
  500. xor 3,3,4
  501. add 9,9,6
  502. xor 5,5,0
  503. ld 0,88(7)
  504. add 6,6,3
  505. add 6,6,5
  506. lwz 3,88(31)
  507. lwz 4,92(31)
  508. rotlwi 5,3,8
  509. rotlwi 27,4,8
  510. rlwimi 5,3,24,0,7
  511. rlwimi 27,4,24,0,7
  512. rlwimi 5,3,24,16,23
  513. rlwimi 27,4,24,16,23
  514. insrdi 27,5,32,0
  515. rotrdi 3,9,14
  516. rotrdi 4,9,18
  517. and 5,10,9
  518. xor 3,3,4
  519. add 12,12,0
  520. andc 0,11,9
  521. rotrdi 4,4,23
  522. or 5,5,0
  523. add 12,12,27
  524. xor 3,3,4
  525. add 12,12,5
  526. add 12,12,3
  527. rotrdi 3,6,28
  528. rotrdi 4,6,34
  529. and 5,6,14
  530. and 0,6,15
  531. xor 3,3,4
  532. rotrdi 4,4,5
  533. xor 5,5,0
  534. and 0,14,15
  535. xor 3,3,4
  536. add 8,8,12
  537. xor 5,5,0
  538. ld 0,96(7)
  539. add 12,12,3
  540. add 12,12,5
  541. lwz 3,96(31)
  542. lwz 4,100(31)
  543. rotlwi 5,3,8
  544. rotlwi 28,4,8
  545. rlwimi 5,3,24,0,7
  546. rlwimi 28,4,24,0,7
  547. rlwimi 5,3,24,16,23
  548. rlwimi 28,4,24,16,23
  549. insrdi 28,5,32,0
  550. rotrdi 3,8,14
  551. rotrdi 4,8,18
  552. and 5,9,8
  553. xor 3,3,4
  554. add 11,11,0
  555. andc 0,10,8
  556. rotrdi 4,4,23
  557. or 5,5,0
  558. add 11,11,28
  559. xor 3,3,4
  560. add 11,11,5
  561. add 11,11,3
  562. rotrdi 3,12,28
  563. rotrdi 4,12,34
  564. and 5,12,6
  565. and 0,12,14
  566. xor 3,3,4
  567. rotrdi 4,4,5
  568. xor 5,5,0
  569. and 0,6,14
  570. xor 3,3,4
  571. add 15,15,11
  572. xor 5,5,0
  573. ld 0,104(7)
  574. add 11,11,3
  575. add 11,11,5
  576. lwz 3,104(31)
  577. lwz 4,108(31)
  578. rotlwi 5,3,8
  579. rotlwi 29,4,8
  580. rlwimi 5,3,24,0,7
  581. rlwimi 29,4,24,0,7
  582. rlwimi 5,3,24,16,23
  583. rlwimi 29,4,24,16,23
  584. insrdi 29,5,32,0
  585. rotrdi 3,15,14
  586. rotrdi 4,15,18
  587. and 5,8,15
  588. xor 3,3,4
  589. add 10,10,0
  590. andc 0,9,15
  591. rotrdi 4,4,23
  592. or 5,5,0
  593. add 10,10,29
  594. xor 3,3,4
  595. add 10,10,5
  596. add 10,10,3
  597. rotrdi 3,11,28
  598. rotrdi 4,11,34
  599. and 5,11,12
  600. and 0,11,6
  601. xor 3,3,4
  602. rotrdi 4,4,5
  603. xor 5,5,0
  604. and 0,12,6
  605. xor 3,3,4
  606. add 14,14,10
  607. xor 5,5,0
  608. ld 0,112(7)
  609. add 10,10,3
  610. add 10,10,5
  611. lwz 3,112(31)
  612. lwz 4,116(31)
  613. rotlwi 5,3,8
  614. rotlwi 30,4,8
  615. rlwimi 5,3,24,0,7
  616. rlwimi 30,4,24,0,7
  617. rlwimi 5,3,24,16,23
  618. rlwimi 30,4,24,16,23
  619. insrdi 30,5,32,0
  620. rotrdi 3,14,14
  621. rotrdi 4,14,18
  622. and 5,15,14
  623. xor 3,3,4
  624. add 9,9,0
  625. andc 0,8,14
  626. rotrdi 4,4,23
  627. or 5,5,0
  628. add 9,9,30
  629. xor 3,3,4
  630. add 9,9,5
  631. add 9,9,3
  632. rotrdi 3,10,28
  633. rotrdi 4,10,34
  634. and 5,10,11
  635. and 0,10,12
  636. xor 3,3,4
  637. rotrdi 4,4,5
  638. xor 5,5,0
  639. and 0,11,12
  640. xor 3,3,4
  641. add 6,6,9
  642. xor 5,5,0
  643. ld 0,120(7)
  644. add 9,9,3
  645. add 9,9,5
  646. lwz 3,120(31)
  647. lwz 4,124(31)
  648. rotlwi 5,3,8
  649. rotlwi 31,4,8
  650. rlwimi 5,3,24,0,7
  651. rlwimi 31,4,24,0,7
  652. rlwimi 5,3,24,16,23
  653. rlwimi 31,4,24,16,23
  654. insrdi 31,5,32,0
  655. rotrdi 3,6,14
  656. rotrdi 4,6,18
  657. and 5,14,6
  658. xor 3,3,4
  659. add 8,8,0
  660. andc 0,15,6
  661. rotrdi 4,4,23
  662. or 5,5,0
  663. add 8,8,31
  664. xor 3,3,4
  665. add 8,8,5
  666. add 8,8,3
  667. rotrdi 3,9,28
  668. rotrdi 4,9,34
  669. and 5,9,10
  670. and 0,9,11
  671. xor 3,3,4
  672. rotrdi 4,4,5
  673. xor 5,5,0
  674. and 0,10,11
  675. xor 3,3,4
  676. add 12,12,8
  677. xor 5,5,0
  678. add 8,8,3
  679. add 8,8,5
  680. li 5,4
  681. mtctr 5
  682. .align 4
  683. .Lrounds:
  684. addi 7,7,128
  685. rotrdi 3,17,1
  686. rotrdi 4,17,8
  687. rotrdi 5,30,19
  688. rotrdi 0,30,61
  689. xor 3,3,4
  690. srdi 4,17,7
  691. xor 5,5,0
  692. srdi 0,30,6
  693. add 16,16,25
  694. xor 3,3,4
  695. xor 5,5,0
  696. ld 0,0(7)
  697. add 16,16,3
  698. add 16,16,5
  699. rotrdi 3,12,14
  700. rotrdi 4,12,18
  701. and 5,6,12
  702. xor 3,3,4
  703. add 15,15,0
  704. andc 0,14,12
  705. rotrdi 4,4,23
  706. or 5,5,0
  707. add 15,15,16
  708. xor 3,3,4
  709. add 15,15,5
  710. add 15,15,3
  711. rotrdi 3,8,28
  712. rotrdi 4,8,34
  713. and 5,8,9
  714. and 0,8,10
  715. xor 3,3,4
  716. rotrdi 4,4,5
  717. xor 5,5,0
  718. and 0,9,10
  719. xor 3,3,4
  720. add 11,11,15
  721. xor 5,5,0
  722. add 15,15,3
  723. add 15,15,5
  724. rotrdi 3,18,1
  725. rotrdi 4,18,8
  726. rotrdi 5,31,19
  727. rotrdi 0,31,61
  728. xor 3,3,4
  729. srdi 4,18,7
  730. xor 5,5,0
  731. srdi 0,31,6
  732. add 17,17,26
  733. xor 3,3,4
  734. xor 5,5,0
  735. ld 0,8(7)
  736. add 17,17,3
  737. add 17,17,5
  738. rotrdi 3,11,14
  739. rotrdi 4,11,18
  740. and 5,12,11
  741. xor 3,3,4
  742. add 14,14,0
  743. andc 0,6,11
  744. rotrdi 4,4,23
  745. or 5,5,0
  746. add 14,14,17
  747. xor 3,3,4
  748. add 14,14,5
  749. add 14,14,3
  750. rotrdi 3,15,28
  751. rotrdi 4,15,34
  752. and 5,15,8
  753. and 0,15,9
  754. xor 3,3,4
  755. rotrdi 4,4,5
  756. xor 5,5,0
  757. and 0,8,9
  758. xor 3,3,4
  759. add 10,10,14
  760. xor 5,5,0
  761. add 14,14,3
  762. add 14,14,5
  763. rotrdi 3,19,1
  764. rotrdi 4,19,8
  765. rotrdi 5,16,19
  766. rotrdi 0,16,61
  767. xor 3,3,4
  768. srdi 4,19,7
  769. xor 5,5,0
  770. srdi 0,16,6
  771. add 18,18,27
  772. xor 3,3,4
  773. xor 5,5,0
  774. ld 0,16(7)
  775. add 18,18,3
  776. add 18,18,5
  777. rotrdi 3,10,14
  778. rotrdi 4,10,18
  779. and 5,11,10
  780. xor 3,3,4
  781. add 6,6,0
  782. andc 0,12,10
  783. rotrdi 4,4,23
  784. or 5,5,0
  785. add 6,6,18
  786. xor 3,3,4
  787. add 6,6,5
  788. add 6,6,3
  789. rotrdi 3,14,28
  790. rotrdi 4,14,34
  791. and 5,14,15
  792. and 0,14,8
  793. xor 3,3,4
  794. rotrdi 4,4,5
  795. xor 5,5,0
  796. and 0,15,8
  797. xor 3,3,4
  798. add 9,9,6
  799. xor 5,5,0
  800. add 6,6,3
  801. add 6,6,5
  802. rotrdi 3,20,1
  803. rotrdi 4,20,8
  804. rotrdi 5,17,19
  805. rotrdi 0,17,61
  806. xor 3,3,4
  807. srdi 4,20,7
  808. xor 5,5,0
  809. srdi 0,17,6
  810. add 19,19,28
  811. xor 3,3,4
  812. xor 5,5,0
  813. ld 0,24(7)
  814. add 19,19,3
  815. add 19,19,5
  816. rotrdi 3,9,14
  817. rotrdi 4,9,18
  818. and 5,10,9
  819. xor 3,3,4
  820. add 12,12,0
  821. andc 0,11,9
  822. rotrdi 4,4,23
  823. or 5,5,0
  824. add 12,12,19
  825. xor 3,3,4
  826. add 12,12,5
  827. add 12,12,3
  828. rotrdi 3,6,28
  829. rotrdi 4,6,34
  830. and 5,6,14
  831. and 0,6,15
  832. xor 3,3,4
  833. rotrdi 4,4,5
  834. xor 5,5,0
  835. and 0,14,15
  836. xor 3,3,4
  837. add 8,8,12
  838. xor 5,5,0
  839. add 12,12,3
  840. add 12,12,5
  841. rotrdi 3,21,1
  842. rotrdi 4,21,8
  843. rotrdi 5,18,19
  844. rotrdi 0,18,61
  845. xor 3,3,4
  846. srdi 4,21,7
  847. xor 5,5,0
  848. srdi 0,18,6
  849. add 20,20,29
  850. xor 3,3,4
  851. xor 5,5,0
  852. ld 0,32(7)
  853. add 20,20,3
  854. add 20,20,5
  855. rotrdi 3,8,14
  856. rotrdi 4,8,18
  857. and 5,9,8
  858. xor 3,3,4
  859. add 11,11,0
  860. andc 0,10,8
  861. rotrdi 4,4,23
  862. or 5,5,0
  863. add 11,11,20
  864. xor 3,3,4
  865. add 11,11,5
  866. add 11,11,3
  867. rotrdi 3,12,28
  868. rotrdi 4,12,34
  869. and 5,12,6
  870. and 0,12,14
  871. xor 3,3,4
  872. rotrdi 4,4,5
  873. xor 5,5,0
  874. and 0,6,14
  875. xor 3,3,4
  876. add 15,15,11
  877. xor 5,5,0
  878. add 11,11,3
  879. add 11,11,5
  880. rotrdi 3,22,1
  881. rotrdi 4,22,8
  882. rotrdi 5,19,19
  883. rotrdi 0,19,61
  884. xor 3,3,4
  885. srdi 4,22,7
  886. xor 5,5,0
  887. srdi 0,19,6
  888. add 21,21,30
  889. xor 3,3,4
  890. xor 5,5,0
  891. ld 0,40(7)
  892. add 21,21,3
  893. add 21,21,5
  894. rotrdi 3,15,14
  895. rotrdi 4,15,18
  896. and 5,8,15
  897. xor 3,3,4
  898. add 10,10,0
  899. andc 0,9,15
  900. rotrdi 4,4,23
  901. or 5,5,0
  902. add 10,10,21
  903. xor 3,3,4
  904. add 10,10,5
  905. add 10,10,3
  906. rotrdi 3,11,28
  907. rotrdi 4,11,34
  908. and 5,11,12
  909. and 0,11,6
  910. xor 3,3,4
  911. rotrdi 4,4,5
  912. xor 5,5,0
  913. and 0,12,6
  914. xor 3,3,4
  915. add 14,14,10
  916. xor 5,5,0
  917. add 10,10,3
  918. add 10,10,5
  919. rotrdi 3,23,1
  920. rotrdi 4,23,8
  921. rotrdi 5,20,19
  922. rotrdi 0,20,61
  923. xor 3,3,4
  924. srdi 4,23,7
  925. xor 5,5,0
  926. srdi 0,20,6
  927. add 22,22,31
  928. xor 3,3,4
  929. xor 5,5,0
  930. ld 0,48(7)
  931. add 22,22,3
  932. add 22,22,5
  933. rotrdi 3,14,14
  934. rotrdi 4,14,18
  935. and 5,15,14
  936. xor 3,3,4
  937. add 9,9,0
  938. andc 0,8,14
  939. rotrdi 4,4,23
  940. or 5,5,0
  941. add 9,9,22
  942. xor 3,3,4
  943. add 9,9,5
  944. add 9,9,3
  945. rotrdi 3,10,28
  946. rotrdi 4,10,34
  947. and 5,10,11
  948. and 0,10,12
  949. xor 3,3,4
  950. rotrdi 4,4,5
  951. xor 5,5,0
  952. and 0,11,12
  953. xor 3,3,4
  954. add 6,6,9
  955. xor 5,5,0
  956. add 9,9,3
  957. add 9,9,5
  958. rotrdi 3,24,1
  959. rotrdi 4,24,8
  960. rotrdi 5,21,19
  961. rotrdi 0,21,61
  962. xor 3,3,4
  963. srdi 4,24,7
  964. xor 5,5,0
  965. srdi 0,21,6
  966. add 23,23,16
  967. xor 3,3,4
  968. xor 5,5,0
  969. ld 0,56(7)
  970. add 23,23,3
  971. add 23,23,5
  972. rotrdi 3,6,14
  973. rotrdi 4,6,18
  974. and 5,14,6
  975. xor 3,3,4
  976. add 8,8,0
  977. andc 0,15,6
  978. rotrdi 4,4,23
  979. or 5,5,0
  980. add 8,8,23
  981. xor 3,3,4
  982. add 8,8,5
  983. add 8,8,3
  984. rotrdi 3,9,28
  985. rotrdi 4,9,34
  986. and 5,9,10
  987. and 0,9,11
  988. xor 3,3,4
  989. rotrdi 4,4,5
  990. xor 5,5,0
  991. and 0,10,11
  992. xor 3,3,4
  993. add 12,12,8
  994. xor 5,5,0
  995. add 8,8,3
  996. add 8,8,5
  997. rotrdi 3,25,1
  998. rotrdi 4,25,8
  999. rotrdi 5,22,19
  1000. rotrdi 0,22,61
  1001. xor 3,3,4
  1002. srdi 4,25,7
  1003. xor 5,5,0
  1004. srdi 0,22,6
  1005. add 24,24,17
  1006. xor 3,3,4
  1007. xor 5,5,0
  1008. ld 0,64(7)
  1009. add 24,24,3
  1010. add 24,24,5
  1011. rotrdi 3,12,14
  1012. rotrdi 4,12,18
  1013. and 5,6,12
  1014. xor 3,3,4
  1015. add 15,15,0
  1016. andc 0,14,12
  1017. rotrdi 4,4,23
  1018. or 5,5,0
  1019. add 15,15,24
  1020. xor 3,3,4
  1021. add 15,15,5
  1022. add 15,15,3
  1023. rotrdi 3,8,28
  1024. rotrdi 4,8,34
  1025. and 5,8,9
  1026. and 0,8,10
  1027. xor 3,3,4
  1028. rotrdi 4,4,5
  1029. xor 5,5,0
  1030. and 0,9,10
  1031. xor 3,3,4
  1032. add 11,11,15
  1033. xor 5,5,0
  1034. add 15,15,3
  1035. add 15,15,5
  1036. rotrdi 3,26,1
  1037. rotrdi 4,26,8
  1038. rotrdi 5,23,19
  1039. rotrdi 0,23,61
  1040. xor 3,3,4
  1041. srdi 4,26,7
  1042. xor 5,5,0
  1043. srdi 0,23,6
  1044. add 25,25,18
  1045. xor 3,3,4
  1046. xor 5,5,0
  1047. ld 0,72(7)
  1048. add 25,25,3
  1049. add 25,25,5
  1050. rotrdi 3,11,14
  1051. rotrdi 4,11,18
  1052. and 5,12,11
  1053. xor 3,3,4
  1054. add 14,14,0
  1055. andc 0,6,11
  1056. rotrdi 4,4,23
  1057. or 5,5,0
  1058. add 14,14,25
  1059. xor 3,3,4
  1060. add 14,14,5
  1061. add 14,14,3
  1062. rotrdi 3,15,28
  1063. rotrdi 4,15,34
  1064. and 5,15,8
  1065. and 0,15,9
  1066. xor 3,3,4
  1067. rotrdi 4,4,5
  1068. xor 5,5,0
  1069. and 0,8,9
  1070. xor 3,3,4
  1071. add 10,10,14
  1072. xor 5,5,0
  1073. add 14,14,3
  1074. add 14,14,5
  1075. rotrdi 3,27,1
  1076. rotrdi 4,27,8
  1077. rotrdi 5,24,19
  1078. rotrdi 0,24,61
  1079. xor 3,3,4
  1080. srdi 4,27,7
  1081. xor 5,5,0
  1082. srdi 0,24,6
  1083. add 26,26,19
  1084. xor 3,3,4
  1085. xor 5,5,0
  1086. ld 0,80(7)
  1087. add 26,26,3
  1088. add 26,26,5
  1089. rotrdi 3,10,14
  1090. rotrdi 4,10,18
  1091. and 5,11,10
  1092. xor 3,3,4
  1093. add 6,6,0
  1094. andc 0,12,10
  1095. rotrdi 4,4,23
  1096. or 5,5,0
  1097. add 6,6,26
  1098. xor 3,3,4
  1099. add 6,6,5
  1100. add 6,6,3
  1101. rotrdi 3,14,28
  1102. rotrdi 4,14,34
  1103. and 5,14,15
  1104. and 0,14,8
  1105. xor 3,3,4
  1106. rotrdi 4,4,5
  1107. xor 5,5,0
  1108. and 0,15,8
  1109. xor 3,3,4
  1110. add 9,9,6
  1111. xor 5,5,0
  1112. add 6,6,3
  1113. add 6,6,5
  1114. rotrdi 3,28,1
  1115. rotrdi 4,28,8
  1116. rotrdi 5,25,19
  1117. rotrdi 0,25,61
  1118. xor 3,3,4
  1119. srdi 4,28,7
  1120. xor 5,5,0
  1121. srdi 0,25,6
  1122. add 27,27,20
  1123. xor 3,3,4
  1124. xor 5,5,0
  1125. ld 0,88(7)
  1126. add 27,27,3
  1127. add 27,27,5
  1128. rotrdi 3,9,14
  1129. rotrdi 4,9,18
  1130. and 5,10,9
  1131. xor 3,3,4
  1132. add 12,12,0
  1133. andc 0,11,9
  1134. rotrdi 4,4,23
  1135. or 5,5,0
  1136. add 12,12,27
  1137. xor 3,3,4
  1138. add 12,12,5
  1139. add 12,12,3
  1140. rotrdi 3,6,28
  1141. rotrdi 4,6,34
  1142. and 5,6,14
  1143. and 0,6,15
  1144. xor 3,3,4
  1145. rotrdi 4,4,5
  1146. xor 5,5,0
  1147. and 0,14,15
  1148. xor 3,3,4
  1149. add 8,8,12
  1150. xor 5,5,0
  1151. add 12,12,3
  1152. add 12,12,5
  1153. rotrdi 3,29,1
  1154. rotrdi 4,29,8
  1155. rotrdi 5,26,19
  1156. rotrdi 0,26,61
  1157. xor 3,3,4
  1158. srdi 4,29,7
  1159. xor 5,5,0
  1160. srdi 0,26,6
  1161. add 28,28,21
  1162. xor 3,3,4
  1163. xor 5,5,0
  1164. ld 0,96(7)
  1165. add 28,28,3
  1166. add 28,28,5
  1167. rotrdi 3,8,14
  1168. rotrdi 4,8,18
  1169. and 5,9,8
  1170. xor 3,3,4
  1171. add 11,11,0
  1172. andc 0,10,8
  1173. rotrdi 4,4,23
  1174. or 5,5,0
  1175. add 11,11,28
  1176. xor 3,3,4
  1177. add 11,11,5
  1178. add 11,11,3
  1179. rotrdi 3,12,28
  1180. rotrdi 4,12,34
  1181. and 5,12,6
  1182. and 0,12,14
  1183. xor 3,3,4
  1184. rotrdi 4,4,5
  1185. xor 5,5,0
  1186. and 0,6,14
  1187. xor 3,3,4
  1188. add 15,15,11
  1189. xor 5,5,0
  1190. add 11,11,3
  1191. add 11,11,5
  1192. rotrdi 3,30,1
  1193. rotrdi 4,30,8
  1194. rotrdi 5,27,19
  1195. rotrdi 0,27,61
  1196. xor 3,3,4
  1197. srdi 4,30,7
  1198. xor 5,5,0
  1199. srdi 0,27,6
  1200. add 29,29,22
  1201. xor 3,3,4
  1202. xor 5,5,0
  1203. ld 0,104(7)
  1204. add 29,29,3
  1205. add 29,29,5
  1206. rotrdi 3,15,14
  1207. rotrdi 4,15,18
  1208. and 5,8,15
  1209. xor 3,3,4
  1210. add 10,10,0
  1211. andc 0,9,15
  1212. rotrdi 4,4,23
  1213. or 5,5,0
  1214. add 10,10,29
  1215. xor 3,3,4
  1216. add 10,10,5
  1217. add 10,10,3
  1218. rotrdi 3,11,28
  1219. rotrdi 4,11,34
  1220. and 5,11,12
  1221. and 0,11,6
  1222. xor 3,3,4
  1223. rotrdi 4,4,5
  1224. xor 5,5,0
  1225. and 0,12,6
  1226. xor 3,3,4
  1227. add 14,14,10
  1228. xor 5,5,0
  1229. add 10,10,3
  1230. add 10,10,5
  1231. rotrdi 3,31,1
  1232. rotrdi 4,31,8
  1233. rotrdi 5,28,19
  1234. rotrdi 0,28,61
  1235. xor 3,3,4
  1236. srdi 4,31,7
  1237. xor 5,5,0
  1238. srdi 0,28,6
  1239. add 30,30,23
  1240. xor 3,3,4
  1241. xor 5,5,0
  1242. ld 0,112(7)
  1243. add 30,30,3
  1244. add 30,30,5
  1245. rotrdi 3,14,14
  1246. rotrdi 4,14,18
  1247. and 5,15,14
  1248. xor 3,3,4
  1249. add 9,9,0
  1250. andc 0,8,14
  1251. rotrdi 4,4,23
  1252. or 5,5,0
  1253. add 9,9,30
  1254. xor 3,3,4
  1255. add 9,9,5
  1256. add 9,9,3
  1257. rotrdi 3,10,28
  1258. rotrdi 4,10,34
  1259. and 5,10,11
  1260. and 0,10,12
  1261. xor 3,3,4
  1262. rotrdi 4,4,5
  1263. xor 5,5,0
  1264. and 0,11,12
  1265. xor 3,3,4
  1266. add 6,6,9
  1267. xor 5,5,0
  1268. add 9,9,3
  1269. add 9,9,5
  1270. rotrdi 3,16,1
  1271. rotrdi 4,16,8
  1272. rotrdi 5,29,19
  1273. rotrdi 0,29,61
  1274. xor 3,3,4
  1275. srdi 4,16,7
  1276. xor 5,5,0
  1277. srdi 0,29,6
  1278. add 31,31,24
  1279. xor 3,3,4
  1280. xor 5,5,0
  1281. ld 0,120(7)
  1282. add 31,31,3
  1283. add 31,31,5
  1284. rotrdi 3,6,14
  1285. rotrdi 4,6,18
  1286. and 5,14,6
  1287. xor 3,3,4
  1288. add 8,8,0
  1289. andc 0,15,6
  1290. rotrdi 4,4,23
  1291. or 5,5,0
  1292. add 8,8,31
  1293. xor 3,3,4
  1294. add 8,8,5
  1295. add 8,8,3
  1296. rotrdi 3,9,28
  1297. rotrdi 4,9,34
  1298. and 5,9,10
  1299. and 0,9,11
  1300. xor 3,3,4
  1301. rotrdi 4,4,5
  1302. xor 5,5,0
  1303. and 0,10,11
  1304. xor 3,3,4
  1305. add 12,12,8
  1306. xor 5,5,0
  1307. add 8,8,3
  1308. add 8,8,5
  1309. bdnz .Lrounds
  1310. ld 3,208(1)
  1311. ld 31,200(1)
  1312. ld 5,192(1)
  1313. subi 7,7,512
  1314. ld 16,0(3)
  1315. ld 17,8(3)
  1316. ld 18,16(3)
  1317. ld 19,24(3)
  1318. ld 20,32(3)
  1319. ld 21,40(3)
  1320. ld 22,48(3)
  1321. addi 31,31,128
  1322. ld 23,56(3)
  1323. add 8,8,16
  1324. add 9,9,17
  1325. std 31,200(1)
  1326. add 10,10,18
  1327. std 8,0(3)
  1328. add 11,11,19
  1329. std 9,8(3)
  1330. add 12,12,20
  1331. std 10,16(3)
  1332. add 6,6,21
  1333. std 11,24(3)
  1334. add 14,14,22
  1335. std 12,32(3)
  1336. add 15,15,23
  1337. std 6,40(3)
  1338. std 14,48(3)
  1339. cmpld 31,5
  1340. std 15,56(3)
  1341. bne .Lsha2_block_private
  1342. blr
  1343. .long 0
  1344. .byte 0,12,0x14,0,0,0,0,0
  1345. .size sha512_block_ppc,.-sha512_block_ppc
  1346. .align 6
  1347. .LPICmeup:
  1348. mflr 0
  1349. bcl 20,31,$+4
  1350. mflr 7
  1351. addi 7,7,56
  1352. mtlr 0
  1353. blr
  1354. .long 0
  1355. .byte 0,12,0x14,0,0,0,0,0
  1356. .space 28
  1357. .long 0xd728ae22,0x428a2f98
  1358. .long 0x23ef65cd,0x71374491
  1359. .long 0xec4d3b2f,0xb5c0fbcf
  1360. .long 0x8189dbbc,0xe9b5dba5
  1361. .long 0xf348b538,0x3956c25b
  1362. .long 0xb605d019,0x59f111f1
  1363. .long 0xaf194f9b,0x923f82a4
  1364. .long 0xda6d8118,0xab1c5ed5
  1365. .long 0xa3030242,0xd807aa98
  1366. .long 0x45706fbe,0x12835b01
  1367. .long 0x4ee4b28c,0x243185be
  1368. .long 0xd5ffb4e2,0x550c7dc3
  1369. .long 0xf27b896f,0x72be5d74
  1370. .long 0x3b1696b1,0x80deb1fe
  1371. .long 0x25c71235,0x9bdc06a7
  1372. .long 0xcf692694,0xc19bf174
  1373. .long 0x9ef14ad2,0xe49b69c1
  1374. .long 0x384f25e3,0xefbe4786
  1375. .long 0x8b8cd5b5,0x0fc19dc6
  1376. .long 0x77ac9c65,0x240ca1cc
  1377. .long 0x592b0275,0x2de92c6f
  1378. .long 0x6ea6e483,0x4a7484aa
  1379. .long 0xbd41fbd4,0x5cb0a9dc
  1380. .long 0x831153b5,0x76f988da
  1381. .long 0xee66dfab,0x983e5152
  1382. .long 0x2db43210,0xa831c66d
  1383. .long 0x98fb213f,0xb00327c8
  1384. .long 0xbeef0ee4,0xbf597fc7
  1385. .long 0x3da88fc2,0xc6e00bf3
  1386. .long 0x930aa725,0xd5a79147
  1387. .long 0xe003826f,0x06ca6351
  1388. .long 0x0a0e6e70,0x14292967
  1389. .long 0x46d22ffc,0x27b70a85
  1390. .long 0x5c26c926,0x2e1b2138
  1391. .long 0x5ac42aed,0x4d2c6dfc
  1392. .long 0x9d95b3df,0x53380d13
  1393. .long 0x8baf63de,0x650a7354
  1394. .long 0x3c77b2a8,0x766a0abb
  1395. .long 0x47edaee6,0x81c2c92e
  1396. .long 0x1482353b,0x92722c85
  1397. .long 0x4cf10364,0xa2bfe8a1
  1398. .long 0xbc423001,0xa81a664b
  1399. .long 0xd0f89791,0xc24b8b70
  1400. .long 0x0654be30,0xc76c51a3
  1401. .long 0xd6ef5218,0xd192e819
  1402. .long 0x5565a910,0xd6990624
  1403. .long 0x5771202a,0xf40e3585
  1404. .long 0x32bbd1b8,0x106aa070
  1405. .long 0xb8d2d0c8,0x19a4c116
  1406. .long 0x5141ab53,0x1e376c08
  1407. .long 0xdf8eeb99,0x2748774c
  1408. .long 0xe19b48a8,0x34b0bcb5
  1409. .long 0xc5c95a63,0x391c0cb3
  1410. .long 0xe3418acb,0x4ed8aa4a
  1411. .long 0x7763e373,0x5b9cca4f
  1412. .long 0xd6b2b8a3,0x682e6ff3
  1413. .long 0x5defb2fc,0x748f82ee
  1414. .long 0x43172f60,0x78a5636f
  1415. .long 0xa1f0ab72,0x84c87814
  1416. .long 0x1a6439ec,0x8cc70208
  1417. .long 0x23631e28,0x90befffa
  1418. .long 0xde82bde9,0xa4506ceb
  1419. .long 0xb2c67915,0xbef9a3f7
  1420. .long 0xe372532b,0xc67178f2
  1421. .long 0xea26619c,0xca273ece
  1422. .long 0x21c0c207,0xd186b8c7
  1423. .long 0xcde0eb1e,0xeada7dd6
  1424. .long 0xee6ed178,0xf57d4f7f
  1425. .long 0x72176fba,0x06f067aa
  1426. .long 0xa2c898a6,0x0a637dc5
  1427. .long 0xbef90dae,0x113f9804
  1428. .long 0x131c471b,0x1b710b35
  1429. .long 0x23047d84,0x28db77f5
  1430. .long 0x40c72493,0x32caab7b
  1431. .long 0x15c9bebc,0x3c9ebe0a
  1432. .long 0x9c100d4c,0x431d67c4
  1433. .long 0xcb3e42b6,0x4cc5d4be
  1434. .long 0xfc657e2a,0x597f299c
  1435. .long 0x3ad6faec,0x5fcb6fab
  1436. .long 0x4a475817,0x6c44198c