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