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