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