1*3a608692SPiotr Kubaj/* $FreeBSD$ */ 2*3a608692SPiotr Kubaj/* Do not modify. This file is auto-generated from aesp8-ppc.pl. */ 3*3a608692SPiotr Kubaj.machine "any" 4*3a608692SPiotr Kubaj 5*3a608692SPiotr Kubaj.abiversion 2 6*3a608692SPiotr Kubaj.text 7*3a608692SPiotr Kubaj 8*3a608692SPiotr Kubaj.align 7 9*3a608692SPiotr Kubajrcon: 10*3a608692SPiotr Kubaj.byte 0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00 11*3a608692SPiotr Kubaj.byte 0x1b,0x00,0x00,0x00,0x1b,0x00,0x00,0x00,0x1b,0x00,0x00,0x00,0x1b,0x00,0x00,0x00 12*3a608692SPiotr Kubaj.byte 0x0d,0x0e,0x0f,0x0c,0x0d,0x0e,0x0f,0x0c,0x0d,0x0e,0x0f,0x0c,0x0d,0x0e,0x0f,0x0c 13*3a608692SPiotr Kubaj.byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 14*3a608692SPiotr Kubaj.Lconsts: 15*3a608692SPiotr Kubaj mflr 0 16*3a608692SPiotr Kubaj bcl 20,31,$+4 17*3a608692SPiotr Kubaj mflr 6 18*3a608692SPiotr Kubaj addi 6,6,-0x48 19*3a608692SPiotr Kubaj mtlr 0 20*3a608692SPiotr Kubaj blr 21*3a608692SPiotr Kubaj.long 0 22*3a608692SPiotr Kubaj.byte 0,12,0x14,0,0,0,0,0 23*3a608692SPiotr Kubaj.byte 65,69,83,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,44,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 24*3a608692SPiotr Kubaj.align 2 25*3a608692SPiotr Kubaj 26*3a608692SPiotr Kubaj.globl aes_p8_set_encrypt_key 27*3a608692SPiotr Kubaj.type aes_p8_set_encrypt_key,@function 28*3a608692SPiotr Kubaj.align 5 29*3a608692SPiotr Kubajaes_p8_set_encrypt_key: 30*3a608692SPiotr Kubaj.localentry aes_p8_set_encrypt_key,0 31*3a608692SPiotr Kubaj 32*3a608692SPiotr Kubaj.Lset_encrypt_key: 33*3a608692SPiotr Kubaj mflr 11 34*3a608692SPiotr Kubaj std 11,16(1) 35*3a608692SPiotr Kubaj 36*3a608692SPiotr Kubaj li 6,-1 37*3a608692SPiotr Kubaj cmpldi 3,0 38*3a608692SPiotr Kubaj beq- .Lenc_key_abort 39*3a608692SPiotr Kubaj cmpldi 5,0 40*3a608692SPiotr Kubaj beq- .Lenc_key_abort 41*3a608692SPiotr Kubaj li 6,-2 42*3a608692SPiotr Kubaj cmpwi 4,128 43*3a608692SPiotr Kubaj blt- .Lenc_key_abort 44*3a608692SPiotr Kubaj cmpwi 4,256 45*3a608692SPiotr Kubaj bgt- .Lenc_key_abort 46*3a608692SPiotr Kubaj andi. 0,4,0x3f 47*3a608692SPiotr Kubaj bne- .Lenc_key_abort 48*3a608692SPiotr Kubaj 49*3a608692SPiotr Kubaj lis 0,0xfff0 50*3a608692SPiotr Kubaj li 12,-1 51*3a608692SPiotr Kubaj or 0,0,0 52*3a608692SPiotr Kubaj 53*3a608692SPiotr Kubaj bl .Lconsts 54*3a608692SPiotr Kubaj mtlr 11 55*3a608692SPiotr Kubaj 56*3a608692SPiotr Kubaj neg 9,3 57*3a608692SPiotr Kubaj lvx 1,0,3 58*3a608692SPiotr Kubaj addi 3,3,15 59*3a608692SPiotr Kubaj lvsr 3,0,9 60*3a608692SPiotr Kubaj li 8,0x20 61*3a608692SPiotr Kubaj cmpwi 4,192 62*3a608692SPiotr Kubaj lvx 2,0,3 63*3a608692SPiotr Kubaj 64*3a608692SPiotr Kubaj lvx 4,0,6 65*3a608692SPiotr Kubaj 66*3a608692SPiotr Kubaj lvx 5,8,6 67*3a608692SPiotr Kubaj addi 6,6,0x10 68*3a608692SPiotr Kubaj vperm 1,1,2,3 69*3a608692SPiotr Kubaj li 7,8 70*3a608692SPiotr Kubaj vxor 0,0,0 71*3a608692SPiotr Kubaj mtctr 7 72*3a608692SPiotr Kubaj 73*3a608692SPiotr Kubaj lvsr 8,0,5 74*3a608692SPiotr Kubaj vspltisb 9,-1 75*3a608692SPiotr Kubaj lvx 10,0,5 76*3a608692SPiotr Kubaj vperm 9,0,9,8 77*3a608692SPiotr Kubaj 78*3a608692SPiotr Kubaj blt .Loop128 79*3a608692SPiotr Kubaj addi 3,3,8 80*3a608692SPiotr Kubaj beq .L192 81*3a608692SPiotr Kubaj addi 3,3,8 82*3a608692SPiotr Kubaj b .L256 83*3a608692SPiotr Kubaj 84*3a608692SPiotr Kubaj.align 4 85*3a608692SPiotr Kubaj.Loop128: 86*3a608692SPiotr Kubaj vperm 3,1,1,5 87*3a608692SPiotr Kubaj vsldoi 6,0,1,12 88*3a608692SPiotr Kubaj vperm 11,1,1,8 89*3a608692SPiotr Kubaj vsel 7,10,11,9 90*3a608692SPiotr Kubaj vor 10,11,11 91*3a608692SPiotr Kubaj .long 0x10632509 92*3a608692SPiotr Kubaj stvx 7,0,5 93*3a608692SPiotr Kubaj addi 5,5,16 94*3a608692SPiotr Kubaj 95*3a608692SPiotr Kubaj vxor 1,1,6 96*3a608692SPiotr Kubaj vsldoi 6,0,6,12 97*3a608692SPiotr Kubaj vxor 1,1,6 98*3a608692SPiotr Kubaj vsldoi 6,0,6,12 99*3a608692SPiotr Kubaj vxor 1,1,6 100*3a608692SPiotr Kubaj vadduwm 4,4,4 101*3a608692SPiotr Kubaj vxor 1,1,3 102*3a608692SPiotr Kubaj bdnz .Loop128 103*3a608692SPiotr Kubaj 104*3a608692SPiotr Kubaj lvx 4,0,6 105*3a608692SPiotr Kubaj 106*3a608692SPiotr Kubaj vperm 3,1,1,5 107*3a608692SPiotr Kubaj vsldoi 6,0,1,12 108*3a608692SPiotr Kubaj vperm 11,1,1,8 109*3a608692SPiotr Kubaj vsel 7,10,11,9 110*3a608692SPiotr Kubaj vor 10,11,11 111*3a608692SPiotr Kubaj .long 0x10632509 112*3a608692SPiotr Kubaj stvx 7,0,5 113*3a608692SPiotr Kubaj addi 5,5,16 114*3a608692SPiotr Kubaj 115*3a608692SPiotr Kubaj vxor 1,1,6 116*3a608692SPiotr Kubaj vsldoi 6,0,6,12 117*3a608692SPiotr Kubaj vxor 1,1,6 118*3a608692SPiotr Kubaj vsldoi 6,0,6,12 119*3a608692SPiotr Kubaj vxor 1,1,6 120*3a608692SPiotr Kubaj vadduwm 4,4,4 121*3a608692SPiotr Kubaj vxor 1,1,3 122*3a608692SPiotr Kubaj 123*3a608692SPiotr Kubaj vperm 3,1,1,5 124*3a608692SPiotr Kubaj vsldoi 6,0,1,12 125*3a608692SPiotr Kubaj vperm 11,1,1,8 126*3a608692SPiotr Kubaj vsel 7,10,11,9 127*3a608692SPiotr Kubaj vor 10,11,11 128*3a608692SPiotr Kubaj .long 0x10632509 129*3a608692SPiotr Kubaj stvx 7,0,5 130*3a608692SPiotr Kubaj addi 5,5,16 131*3a608692SPiotr Kubaj 132*3a608692SPiotr Kubaj vxor 1,1,6 133*3a608692SPiotr Kubaj vsldoi 6,0,6,12 134*3a608692SPiotr Kubaj vxor 1,1,6 135*3a608692SPiotr Kubaj vsldoi 6,0,6,12 136*3a608692SPiotr Kubaj vxor 1,1,6 137*3a608692SPiotr Kubaj vxor 1,1,3 138*3a608692SPiotr Kubaj vperm 11,1,1,8 139*3a608692SPiotr Kubaj vsel 7,10,11,9 140*3a608692SPiotr Kubaj vor 10,11,11 141*3a608692SPiotr Kubaj stvx 7,0,5 142*3a608692SPiotr Kubaj 143*3a608692SPiotr Kubaj addi 3,5,15 144*3a608692SPiotr Kubaj addi 5,5,0x50 145*3a608692SPiotr Kubaj 146*3a608692SPiotr Kubaj li 8,10 147*3a608692SPiotr Kubaj b .Ldone 148*3a608692SPiotr Kubaj 149*3a608692SPiotr Kubaj.align 4 150*3a608692SPiotr Kubaj.L192: 151*3a608692SPiotr Kubaj lvx 6,0,3 152*3a608692SPiotr Kubaj li 7,4 153*3a608692SPiotr Kubaj vperm 11,1,1,8 154*3a608692SPiotr Kubaj vsel 7,10,11,9 155*3a608692SPiotr Kubaj vor 10,11,11 156*3a608692SPiotr Kubaj stvx 7,0,5 157*3a608692SPiotr Kubaj addi 5,5,16 158*3a608692SPiotr Kubaj vperm 2,2,6,3 159*3a608692SPiotr Kubaj vspltisb 3,8 160*3a608692SPiotr Kubaj mtctr 7 161*3a608692SPiotr Kubaj vsububm 5,5,3 162*3a608692SPiotr Kubaj 163*3a608692SPiotr Kubaj.Loop192: 164*3a608692SPiotr Kubaj vperm 3,2,2,5 165*3a608692SPiotr Kubaj vsldoi 6,0,1,12 166*3a608692SPiotr Kubaj .long 0x10632509 167*3a608692SPiotr Kubaj 168*3a608692SPiotr Kubaj vxor 1,1,6 169*3a608692SPiotr Kubaj vsldoi 6,0,6,12 170*3a608692SPiotr Kubaj vxor 1,1,6 171*3a608692SPiotr Kubaj vsldoi 6,0,6,12 172*3a608692SPiotr Kubaj vxor 1,1,6 173*3a608692SPiotr Kubaj 174*3a608692SPiotr Kubaj vsldoi 7,0,2,8 175*3a608692SPiotr Kubaj vspltw 6,1,3 176*3a608692SPiotr Kubaj vxor 6,6,2 177*3a608692SPiotr Kubaj vsldoi 2,0,2,12 178*3a608692SPiotr Kubaj vadduwm 4,4,4 179*3a608692SPiotr Kubaj vxor 2,2,6 180*3a608692SPiotr Kubaj vxor 1,1,3 181*3a608692SPiotr Kubaj vxor 2,2,3 182*3a608692SPiotr Kubaj vsldoi 7,7,1,8 183*3a608692SPiotr Kubaj 184*3a608692SPiotr Kubaj vperm 3,2,2,5 185*3a608692SPiotr Kubaj vsldoi 6,0,1,12 186*3a608692SPiotr Kubaj vperm 11,7,7,8 187*3a608692SPiotr Kubaj vsel 7,10,11,9 188*3a608692SPiotr Kubaj vor 10,11,11 189*3a608692SPiotr Kubaj .long 0x10632509 190*3a608692SPiotr Kubaj stvx 7,0,5 191*3a608692SPiotr Kubaj addi 5,5,16 192*3a608692SPiotr Kubaj 193*3a608692SPiotr Kubaj vsldoi 7,1,2,8 194*3a608692SPiotr Kubaj vxor 1,1,6 195*3a608692SPiotr Kubaj vsldoi 6,0,6,12 196*3a608692SPiotr Kubaj vperm 11,7,7,8 197*3a608692SPiotr Kubaj vsel 7,10,11,9 198*3a608692SPiotr Kubaj vor 10,11,11 199*3a608692SPiotr Kubaj vxor 1,1,6 200*3a608692SPiotr Kubaj vsldoi 6,0,6,12 201*3a608692SPiotr Kubaj vxor 1,1,6 202*3a608692SPiotr Kubaj stvx 7,0,5 203*3a608692SPiotr Kubaj addi 5,5,16 204*3a608692SPiotr Kubaj 205*3a608692SPiotr Kubaj vspltw 6,1,3 206*3a608692SPiotr Kubaj vxor 6,6,2 207*3a608692SPiotr Kubaj vsldoi 2,0,2,12 208*3a608692SPiotr Kubaj vadduwm 4,4,4 209*3a608692SPiotr Kubaj vxor 2,2,6 210*3a608692SPiotr Kubaj vxor 1,1,3 211*3a608692SPiotr Kubaj vxor 2,2,3 212*3a608692SPiotr Kubaj vperm 11,1,1,8 213*3a608692SPiotr Kubaj vsel 7,10,11,9 214*3a608692SPiotr Kubaj vor 10,11,11 215*3a608692SPiotr Kubaj stvx 7,0,5 216*3a608692SPiotr Kubaj addi 3,5,15 217*3a608692SPiotr Kubaj addi 5,5,16 218*3a608692SPiotr Kubaj bdnz .Loop192 219*3a608692SPiotr Kubaj 220*3a608692SPiotr Kubaj li 8,12 221*3a608692SPiotr Kubaj addi 5,5,0x20 222*3a608692SPiotr Kubaj b .Ldone 223*3a608692SPiotr Kubaj 224*3a608692SPiotr Kubaj.align 4 225*3a608692SPiotr Kubaj.L256: 226*3a608692SPiotr Kubaj lvx 6,0,3 227*3a608692SPiotr Kubaj li 7,7 228*3a608692SPiotr Kubaj li 8,14 229*3a608692SPiotr Kubaj vperm 11,1,1,8 230*3a608692SPiotr Kubaj vsel 7,10,11,9 231*3a608692SPiotr Kubaj vor 10,11,11 232*3a608692SPiotr Kubaj stvx 7,0,5 233*3a608692SPiotr Kubaj addi 5,5,16 234*3a608692SPiotr Kubaj vperm 2,2,6,3 235*3a608692SPiotr Kubaj mtctr 7 236*3a608692SPiotr Kubaj 237*3a608692SPiotr Kubaj.Loop256: 238*3a608692SPiotr Kubaj vperm 3,2,2,5 239*3a608692SPiotr Kubaj vsldoi 6,0,1,12 240*3a608692SPiotr Kubaj vperm 11,2,2,8 241*3a608692SPiotr Kubaj vsel 7,10,11,9 242*3a608692SPiotr Kubaj vor 10,11,11 243*3a608692SPiotr Kubaj .long 0x10632509 244*3a608692SPiotr Kubaj stvx 7,0,5 245*3a608692SPiotr Kubaj addi 5,5,16 246*3a608692SPiotr Kubaj 247*3a608692SPiotr Kubaj vxor 1,1,6 248*3a608692SPiotr Kubaj vsldoi 6,0,6,12 249*3a608692SPiotr Kubaj vxor 1,1,6 250*3a608692SPiotr Kubaj vsldoi 6,0,6,12 251*3a608692SPiotr Kubaj vxor 1,1,6 252*3a608692SPiotr Kubaj vadduwm 4,4,4 253*3a608692SPiotr Kubaj vxor 1,1,3 254*3a608692SPiotr Kubaj vperm 11,1,1,8 255*3a608692SPiotr Kubaj vsel 7,10,11,9 256*3a608692SPiotr Kubaj vor 10,11,11 257*3a608692SPiotr Kubaj stvx 7,0,5 258*3a608692SPiotr Kubaj addi 3,5,15 259*3a608692SPiotr Kubaj addi 5,5,16 260*3a608692SPiotr Kubaj bdz .Ldone 261*3a608692SPiotr Kubaj 262*3a608692SPiotr Kubaj vspltw 3,1,3 263*3a608692SPiotr Kubaj vsldoi 6,0,2,12 264*3a608692SPiotr Kubaj .long 0x106305C8 265*3a608692SPiotr Kubaj 266*3a608692SPiotr Kubaj vxor 2,2,6 267*3a608692SPiotr Kubaj vsldoi 6,0,6,12 268*3a608692SPiotr Kubaj vxor 2,2,6 269*3a608692SPiotr Kubaj vsldoi 6,0,6,12 270*3a608692SPiotr Kubaj vxor 2,2,6 271*3a608692SPiotr Kubaj 272*3a608692SPiotr Kubaj vxor 2,2,3 273*3a608692SPiotr Kubaj b .Loop256 274*3a608692SPiotr Kubaj 275*3a608692SPiotr Kubaj.align 4 276*3a608692SPiotr Kubaj.Ldone: 277*3a608692SPiotr Kubaj lvx 2,0,3 278*3a608692SPiotr Kubaj vsel 2,10,2,9 279*3a608692SPiotr Kubaj stvx 2,0,3 280*3a608692SPiotr Kubaj li 6,0 281*3a608692SPiotr Kubaj or 12,12,12 282*3a608692SPiotr Kubaj stw 8,0(5) 283*3a608692SPiotr Kubaj 284*3a608692SPiotr Kubaj.Lenc_key_abort: 285*3a608692SPiotr Kubaj mr 3,6 286*3a608692SPiotr Kubaj blr 287*3a608692SPiotr Kubaj.long 0 288*3a608692SPiotr Kubaj.byte 0,12,0x14,1,0,0,3,0 289*3a608692SPiotr Kubaj.long 0 290*3a608692SPiotr Kubaj.size aes_p8_set_encrypt_key,.-aes_p8_set_encrypt_key 291*3a608692SPiotr Kubaj 292*3a608692SPiotr Kubaj.globl aes_p8_set_decrypt_key 293*3a608692SPiotr Kubaj.type aes_p8_set_decrypt_key,@function 294*3a608692SPiotr Kubaj.align 5 295*3a608692SPiotr Kubajaes_p8_set_decrypt_key: 296*3a608692SPiotr Kubaj.localentry aes_p8_set_decrypt_key,0 297*3a608692SPiotr Kubaj 298*3a608692SPiotr Kubaj stdu 1,-64(1) 299*3a608692SPiotr Kubaj mflr 10 300*3a608692SPiotr Kubaj std 10,64+16(1) 301*3a608692SPiotr Kubaj bl .Lset_encrypt_key 302*3a608692SPiotr Kubaj mtlr 10 303*3a608692SPiotr Kubaj 304*3a608692SPiotr Kubaj cmpwi 3,0 305*3a608692SPiotr Kubaj bne- .Ldec_key_abort 306*3a608692SPiotr Kubaj 307*3a608692SPiotr Kubaj slwi 7,8,4 308*3a608692SPiotr Kubaj subi 3,5,240 309*3a608692SPiotr Kubaj srwi 8,8,1 310*3a608692SPiotr Kubaj add 5,3,7 311*3a608692SPiotr Kubaj mtctr 8 312*3a608692SPiotr Kubaj 313*3a608692SPiotr Kubaj.Ldeckey: 314*3a608692SPiotr Kubaj lwz 0, 0(3) 315*3a608692SPiotr Kubaj lwz 6, 4(3) 316*3a608692SPiotr Kubaj lwz 7, 8(3) 317*3a608692SPiotr Kubaj lwz 8, 12(3) 318*3a608692SPiotr Kubaj addi 3,3,16 319*3a608692SPiotr Kubaj lwz 9, 0(5) 320*3a608692SPiotr Kubaj lwz 10,4(5) 321*3a608692SPiotr Kubaj lwz 11,8(5) 322*3a608692SPiotr Kubaj lwz 12,12(5) 323*3a608692SPiotr Kubaj stw 0, 0(5) 324*3a608692SPiotr Kubaj stw 6, 4(5) 325*3a608692SPiotr Kubaj stw 7, 8(5) 326*3a608692SPiotr Kubaj stw 8, 12(5) 327*3a608692SPiotr Kubaj subi 5,5,16 328*3a608692SPiotr Kubaj stw 9, -16(3) 329*3a608692SPiotr Kubaj stw 10,-12(3) 330*3a608692SPiotr Kubaj stw 11,-8(3) 331*3a608692SPiotr Kubaj stw 12,-4(3) 332*3a608692SPiotr Kubaj bdnz .Ldeckey 333*3a608692SPiotr Kubaj 334*3a608692SPiotr Kubaj xor 3,3,3 335*3a608692SPiotr Kubaj.Ldec_key_abort: 336*3a608692SPiotr Kubaj addi 1,1,64 337*3a608692SPiotr Kubaj blr 338*3a608692SPiotr Kubaj.long 0 339*3a608692SPiotr Kubaj.byte 0,12,4,1,0x80,0,3,0 340*3a608692SPiotr Kubaj.long 0 341*3a608692SPiotr Kubaj.size aes_p8_set_decrypt_key,.-aes_p8_set_decrypt_key 342*3a608692SPiotr Kubaj.globl aes_p8_encrypt 343*3a608692SPiotr Kubaj.type aes_p8_encrypt,@function 344*3a608692SPiotr Kubaj.align 5 345*3a608692SPiotr Kubajaes_p8_encrypt: 346*3a608692SPiotr Kubaj.localentry aes_p8_encrypt,0 347*3a608692SPiotr Kubaj 348*3a608692SPiotr Kubaj lwz 6,240(5) 349*3a608692SPiotr Kubaj lis 0,0xfc00 350*3a608692SPiotr Kubaj li 12,-1 351*3a608692SPiotr Kubaj li 7,15 352*3a608692SPiotr Kubaj or 0,0,0 353*3a608692SPiotr Kubaj 354*3a608692SPiotr Kubaj lvx 0,0,3 355*3a608692SPiotr Kubaj neg 11,4 356*3a608692SPiotr Kubaj lvx 1,7,3 357*3a608692SPiotr Kubaj lvsl 2,0,3 358*3a608692SPiotr Kubaj 359*3a608692SPiotr Kubaj lvsl 3,0,11 360*3a608692SPiotr Kubaj 361*3a608692SPiotr Kubaj li 7,16 362*3a608692SPiotr Kubaj vperm 0,0,1,2 363*3a608692SPiotr Kubaj lvx 1,0,5 364*3a608692SPiotr Kubaj lvsl 5,0,5 365*3a608692SPiotr Kubaj srwi 6,6,1 366*3a608692SPiotr Kubaj lvx 2,7,5 367*3a608692SPiotr Kubaj addi 7,7,16 368*3a608692SPiotr Kubaj subi 6,6,1 369*3a608692SPiotr Kubaj vperm 1,1,2,5 370*3a608692SPiotr Kubaj 371*3a608692SPiotr Kubaj vxor 0,0,1 372*3a608692SPiotr Kubaj lvx 1,7,5 373*3a608692SPiotr Kubaj addi 7,7,16 374*3a608692SPiotr Kubaj mtctr 6 375*3a608692SPiotr Kubaj 376*3a608692SPiotr Kubaj.Loop_enc: 377*3a608692SPiotr Kubaj vperm 2,2,1,5 378*3a608692SPiotr Kubaj .long 0x10001508 379*3a608692SPiotr Kubaj lvx 2,7,5 380*3a608692SPiotr Kubaj addi 7,7,16 381*3a608692SPiotr Kubaj vperm 1,1,2,5 382*3a608692SPiotr Kubaj .long 0x10000D08 383*3a608692SPiotr Kubaj lvx 1,7,5 384*3a608692SPiotr Kubaj addi 7,7,16 385*3a608692SPiotr Kubaj bdnz .Loop_enc 386*3a608692SPiotr Kubaj 387*3a608692SPiotr Kubaj vperm 2,2,1,5 388*3a608692SPiotr Kubaj .long 0x10001508 389*3a608692SPiotr Kubaj lvx 2,7,5 390*3a608692SPiotr Kubaj vperm 1,1,2,5 391*3a608692SPiotr Kubaj .long 0x10000D09 392*3a608692SPiotr Kubaj 393*3a608692SPiotr Kubaj vspltisb 2,-1 394*3a608692SPiotr Kubaj vxor 1,1,1 395*3a608692SPiotr Kubaj li 7,15 396*3a608692SPiotr Kubaj vperm 2,1,2,3 397*3a608692SPiotr Kubaj 398*3a608692SPiotr Kubaj lvx 1,0,4 399*3a608692SPiotr Kubaj vperm 0,0,0,3 400*3a608692SPiotr Kubaj vsel 1,1,0,2 401*3a608692SPiotr Kubaj lvx 4,7,4 402*3a608692SPiotr Kubaj stvx 1,0,4 403*3a608692SPiotr Kubaj vsel 0,0,4,2 404*3a608692SPiotr Kubaj stvx 0,7,4 405*3a608692SPiotr Kubaj 406*3a608692SPiotr Kubaj or 12,12,12 407*3a608692SPiotr Kubaj blr 408*3a608692SPiotr Kubaj.long 0 409*3a608692SPiotr Kubaj.byte 0,12,0x14,0,0,0,3,0 410*3a608692SPiotr Kubaj.long 0 411*3a608692SPiotr Kubaj.size aes_p8_encrypt,.-aes_p8_encrypt 412*3a608692SPiotr Kubaj.globl aes_p8_decrypt 413*3a608692SPiotr Kubaj.type aes_p8_decrypt,@function 414*3a608692SPiotr Kubaj.align 5 415*3a608692SPiotr Kubajaes_p8_decrypt: 416*3a608692SPiotr Kubaj.localentry aes_p8_decrypt,0 417*3a608692SPiotr Kubaj 418*3a608692SPiotr Kubaj lwz 6,240(5) 419*3a608692SPiotr Kubaj lis 0,0xfc00 420*3a608692SPiotr Kubaj li 12,-1 421*3a608692SPiotr Kubaj li 7,15 422*3a608692SPiotr Kubaj or 0,0,0 423*3a608692SPiotr Kubaj 424*3a608692SPiotr Kubaj lvx 0,0,3 425*3a608692SPiotr Kubaj neg 11,4 426*3a608692SPiotr Kubaj lvx 1,7,3 427*3a608692SPiotr Kubaj lvsl 2,0,3 428*3a608692SPiotr Kubaj 429*3a608692SPiotr Kubaj lvsl 3,0,11 430*3a608692SPiotr Kubaj 431*3a608692SPiotr Kubaj li 7,16 432*3a608692SPiotr Kubaj vperm 0,0,1,2 433*3a608692SPiotr Kubaj lvx 1,0,5 434*3a608692SPiotr Kubaj lvsl 5,0,5 435*3a608692SPiotr Kubaj srwi 6,6,1 436*3a608692SPiotr Kubaj lvx 2,7,5 437*3a608692SPiotr Kubaj addi 7,7,16 438*3a608692SPiotr Kubaj subi 6,6,1 439*3a608692SPiotr Kubaj vperm 1,1,2,5 440*3a608692SPiotr Kubaj 441*3a608692SPiotr Kubaj vxor 0,0,1 442*3a608692SPiotr Kubaj lvx 1,7,5 443*3a608692SPiotr Kubaj addi 7,7,16 444*3a608692SPiotr Kubaj mtctr 6 445*3a608692SPiotr Kubaj 446*3a608692SPiotr Kubaj.Loop_dec: 447*3a608692SPiotr Kubaj vperm 2,2,1,5 448*3a608692SPiotr Kubaj .long 0x10001548 449*3a608692SPiotr Kubaj lvx 2,7,5 450*3a608692SPiotr Kubaj addi 7,7,16 451*3a608692SPiotr Kubaj vperm 1,1,2,5 452*3a608692SPiotr Kubaj .long 0x10000D48 453*3a608692SPiotr Kubaj lvx 1,7,5 454*3a608692SPiotr Kubaj addi 7,7,16 455*3a608692SPiotr Kubaj bdnz .Loop_dec 456*3a608692SPiotr Kubaj 457*3a608692SPiotr Kubaj vperm 2,2,1,5 458*3a608692SPiotr Kubaj .long 0x10001548 459*3a608692SPiotr Kubaj lvx 2,7,5 460*3a608692SPiotr Kubaj vperm 1,1,2,5 461*3a608692SPiotr Kubaj .long 0x10000D49 462*3a608692SPiotr Kubaj 463*3a608692SPiotr Kubaj vspltisb 2,-1 464*3a608692SPiotr Kubaj vxor 1,1,1 465*3a608692SPiotr Kubaj li 7,15 466*3a608692SPiotr Kubaj vperm 2,1,2,3 467*3a608692SPiotr Kubaj 468*3a608692SPiotr Kubaj lvx 1,0,4 469*3a608692SPiotr Kubaj vperm 0,0,0,3 470*3a608692SPiotr Kubaj vsel 1,1,0,2 471*3a608692SPiotr Kubaj lvx 4,7,4 472*3a608692SPiotr Kubaj stvx 1,0,4 473*3a608692SPiotr Kubaj vsel 0,0,4,2 474*3a608692SPiotr Kubaj stvx 0,7,4 475*3a608692SPiotr Kubaj 476*3a608692SPiotr Kubaj or 12,12,12 477*3a608692SPiotr Kubaj blr 478*3a608692SPiotr Kubaj.long 0 479*3a608692SPiotr Kubaj.byte 0,12,0x14,0,0,0,3,0 480*3a608692SPiotr Kubaj.long 0 481*3a608692SPiotr Kubaj.size aes_p8_decrypt,.-aes_p8_decrypt 482*3a608692SPiotr Kubaj.globl aes_p8_cbc_encrypt 483*3a608692SPiotr Kubaj.type aes_p8_cbc_encrypt,@function 484*3a608692SPiotr Kubaj.align 5 485*3a608692SPiotr Kubajaes_p8_cbc_encrypt: 486*3a608692SPiotr Kubaj.localentry aes_p8_cbc_encrypt,0 487*3a608692SPiotr Kubaj 488*3a608692SPiotr Kubaj cmpldi 5,16 489*3a608692SPiotr Kubaj .long 0x4dc00020 490*3a608692SPiotr Kubaj 491*3a608692SPiotr Kubaj cmpwi 8,0 492*3a608692SPiotr Kubaj lis 0,0xffe0 493*3a608692SPiotr Kubaj li 12,-1 494*3a608692SPiotr Kubaj or 0,0,0 495*3a608692SPiotr Kubaj 496*3a608692SPiotr Kubaj li 10,15 497*3a608692SPiotr Kubaj vxor 0,0,0 498*3a608692SPiotr Kubaj 499*3a608692SPiotr Kubaj 500*3a608692SPiotr Kubaj lvx 4,0,7 501*3a608692SPiotr Kubaj lvsl 6,0,7 502*3a608692SPiotr Kubaj lvx 5,10,7 503*3a608692SPiotr Kubaj 504*3a608692SPiotr Kubaj vperm 4,4,5,6 505*3a608692SPiotr Kubaj 506*3a608692SPiotr Kubaj neg 11,3 507*3a608692SPiotr Kubaj lvsl 10,0,6 508*3a608692SPiotr Kubaj lwz 9,240(6) 509*3a608692SPiotr Kubaj 510*3a608692SPiotr Kubaj lvsr 6,0,11 511*3a608692SPiotr Kubaj lvx 5,0,3 512*3a608692SPiotr Kubaj addi 3,3,15 513*3a608692SPiotr Kubaj 514*3a608692SPiotr Kubaj 515*3a608692SPiotr Kubaj lvsr 8,0,4 516*3a608692SPiotr Kubaj vspltisb 9,-1 517*3a608692SPiotr Kubaj lvx 7,0,4 518*3a608692SPiotr Kubaj vperm 9,0,9,8 519*3a608692SPiotr Kubaj 520*3a608692SPiotr Kubaj 521*3a608692SPiotr Kubaj srwi 9,9,1 522*3a608692SPiotr Kubaj li 10,16 523*3a608692SPiotr Kubaj subi 9,9,1 524*3a608692SPiotr Kubaj beq .Lcbc_dec 525*3a608692SPiotr Kubaj 526*3a608692SPiotr Kubaj.Lcbc_enc: 527*3a608692SPiotr Kubaj vor 2,5,5 528*3a608692SPiotr Kubaj lvx 5,0,3 529*3a608692SPiotr Kubaj addi 3,3,16 530*3a608692SPiotr Kubaj mtctr 9 531*3a608692SPiotr Kubaj subi 5,5,16 532*3a608692SPiotr Kubaj 533*3a608692SPiotr Kubaj lvx 0,0,6 534*3a608692SPiotr Kubaj vperm 2,2,5,6 535*3a608692SPiotr Kubaj lvx 1,10,6 536*3a608692SPiotr Kubaj addi 10,10,16 537*3a608692SPiotr Kubaj vperm 0,0,1,10 538*3a608692SPiotr Kubaj vxor 2,2,0 539*3a608692SPiotr Kubaj lvx 0,10,6 540*3a608692SPiotr Kubaj addi 10,10,16 541*3a608692SPiotr Kubaj vxor 2,2,4 542*3a608692SPiotr Kubaj 543*3a608692SPiotr Kubaj.Loop_cbc_enc: 544*3a608692SPiotr Kubaj vperm 1,1,0,10 545*3a608692SPiotr Kubaj .long 0x10420D08 546*3a608692SPiotr Kubaj lvx 1,10,6 547*3a608692SPiotr Kubaj addi 10,10,16 548*3a608692SPiotr Kubaj vperm 0,0,1,10 549*3a608692SPiotr Kubaj .long 0x10420508 550*3a608692SPiotr Kubaj lvx 0,10,6 551*3a608692SPiotr Kubaj addi 10,10,16 552*3a608692SPiotr Kubaj bdnz .Loop_cbc_enc 553*3a608692SPiotr Kubaj 554*3a608692SPiotr Kubaj vperm 1,1,0,10 555*3a608692SPiotr Kubaj .long 0x10420D08 556*3a608692SPiotr Kubaj lvx 1,10,6 557*3a608692SPiotr Kubaj li 10,16 558*3a608692SPiotr Kubaj vperm 0,0,1,10 559*3a608692SPiotr Kubaj .long 0x10820509 560*3a608692SPiotr Kubaj cmpldi 5,16 561*3a608692SPiotr Kubaj 562*3a608692SPiotr Kubaj vperm 3,4,4,8 563*3a608692SPiotr Kubaj vsel 2,7,3,9 564*3a608692SPiotr Kubaj vor 7,3,3 565*3a608692SPiotr Kubaj stvx 2,0,4 566*3a608692SPiotr Kubaj addi 4,4,16 567*3a608692SPiotr Kubaj bge .Lcbc_enc 568*3a608692SPiotr Kubaj 569*3a608692SPiotr Kubaj b .Lcbc_done 570*3a608692SPiotr Kubaj 571*3a608692SPiotr Kubaj.align 4 572*3a608692SPiotr Kubaj.Lcbc_dec: 573*3a608692SPiotr Kubaj cmpldi 5,128 574*3a608692SPiotr Kubaj bge _aesp8_cbc_decrypt8x 575*3a608692SPiotr Kubaj vor 3,5,5 576*3a608692SPiotr Kubaj lvx 5,0,3 577*3a608692SPiotr Kubaj addi 3,3,16 578*3a608692SPiotr Kubaj mtctr 9 579*3a608692SPiotr Kubaj subi 5,5,16 580*3a608692SPiotr Kubaj 581*3a608692SPiotr Kubaj lvx 0,0,6 582*3a608692SPiotr Kubaj vperm 3,3,5,6 583*3a608692SPiotr Kubaj lvx 1,10,6 584*3a608692SPiotr Kubaj addi 10,10,16 585*3a608692SPiotr Kubaj vperm 0,0,1,10 586*3a608692SPiotr Kubaj vxor 2,3,0 587*3a608692SPiotr Kubaj lvx 0,10,6 588*3a608692SPiotr Kubaj addi 10,10,16 589*3a608692SPiotr Kubaj 590*3a608692SPiotr Kubaj.Loop_cbc_dec: 591*3a608692SPiotr Kubaj vperm 1,1,0,10 592*3a608692SPiotr Kubaj .long 0x10420D48 593*3a608692SPiotr Kubaj lvx 1,10,6 594*3a608692SPiotr Kubaj addi 10,10,16 595*3a608692SPiotr Kubaj vperm 0,0,1,10 596*3a608692SPiotr Kubaj .long 0x10420548 597*3a608692SPiotr Kubaj lvx 0,10,6 598*3a608692SPiotr Kubaj addi 10,10,16 599*3a608692SPiotr Kubaj bdnz .Loop_cbc_dec 600*3a608692SPiotr Kubaj 601*3a608692SPiotr Kubaj vperm 1,1,0,10 602*3a608692SPiotr Kubaj .long 0x10420D48 603*3a608692SPiotr Kubaj lvx 1,10,6 604*3a608692SPiotr Kubaj li 10,16 605*3a608692SPiotr Kubaj vperm 0,0,1,10 606*3a608692SPiotr Kubaj .long 0x10420549 607*3a608692SPiotr Kubaj cmpldi 5,16 608*3a608692SPiotr Kubaj 609*3a608692SPiotr Kubaj vxor 2,2,4 610*3a608692SPiotr Kubaj vor 4,3,3 611*3a608692SPiotr Kubaj vperm 3,2,2,8 612*3a608692SPiotr Kubaj vsel 2,7,3,9 613*3a608692SPiotr Kubaj vor 7,3,3 614*3a608692SPiotr Kubaj stvx 2,0,4 615*3a608692SPiotr Kubaj addi 4,4,16 616*3a608692SPiotr Kubaj bge .Lcbc_dec 617*3a608692SPiotr Kubaj 618*3a608692SPiotr Kubaj.Lcbc_done: 619*3a608692SPiotr Kubaj addi 4,4,-1 620*3a608692SPiotr Kubaj lvx 2,0,4 621*3a608692SPiotr Kubaj vsel 2,7,2,9 622*3a608692SPiotr Kubaj stvx 2,0,4 623*3a608692SPiotr Kubaj 624*3a608692SPiotr Kubaj neg 8,7 625*3a608692SPiotr Kubaj li 10,15 626*3a608692SPiotr Kubaj vxor 0,0,0 627*3a608692SPiotr Kubaj vspltisb 9,-1 628*3a608692SPiotr Kubaj 629*3a608692SPiotr Kubaj lvsl 8,0,8 630*3a608692SPiotr Kubaj vperm 9,0,9,8 631*3a608692SPiotr Kubaj 632*3a608692SPiotr Kubaj lvx 7,0,7 633*3a608692SPiotr Kubaj vperm 4,4,4,8 634*3a608692SPiotr Kubaj vsel 2,7,4,9 635*3a608692SPiotr Kubaj lvx 5,10,7 636*3a608692SPiotr Kubaj stvx 2,0,7 637*3a608692SPiotr Kubaj vsel 2,4,5,9 638*3a608692SPiotr Kubaj stvx 2,10,7 639*3a608692SPiotr Kubaj 640*3a608692SPiotr Kubaj or 12,12,12 641*3a608692SPiotr Kubaj blr 642*3a608692SPiotr Kubaj.long 0 643*3a608692SPiotr Kubaj.byte 0,12,0x14,0,0,0,6,0 644*3a608692SPiotr Kubaj.long 0 645*3a608692SPiotr Kubaj.align 5 646*3a608692SPiotr Kubaj_aesp8_cbc_decrypt8x: 647*3a608692SPiotr Kubaj stdu 1,-448(1) 648*3a608692SPiotr Kubaj li 10,207 649*3a608692SPiotr Kubaj li 11,223 650*3a608692SPiotr Kubaj stvx 20,10,1 651*3a608692SPiotr Kubaj addi 10,10,32 652*3a608692SPiotr Kubaj stvx 21,11,1 653*3a608692SPiotr Kubaj addi 11,11,32 654*3a608692SPiotr Kubaj stvx 22,10,1 655*3a608692SPiotr Kubaj addi 10,10,32 656*3a608692SPiotr Kubaj stvx 23,11,1 657*3a608692SPiotr Kubaj addi 11,11,32 658*3a608692SPiotr Kubaj stvx 24,10,1 659*3a608692SPiotr Kubaj addi 10,10,32 660*3a608692SPiotr Kubaj stvx 25,11,1 661*3a608692SPiotr Kubaj addi 11,11,32 662*3a608692SPiotr Kubaj stvx 26,10,1 663*3a608692SPiotr Kubaj addi 10,10,32 664*3a608692SPiotr Kubaj stvx 27,11,1 665*3a608692SPiotr Kubaj addi 11,11,32 666*3a608692SPiotr Kubaj stvx 28,10,1 667*3a608692SPiotr Kubaj addi 10,10,32 668*3a608692SPiotr Kubaj stvx 29,11,1 669*3a608692SPiotr Kubaj addi 11,11,32 670*3a608692SPiotr Kubaj stvx 30,10,1 671*3a608692SPiotr Kubaj stvx 31,11,1 672*3a608692SPiotr Kubaj li 0,-1 673*3a608692SPiotr Kubaj stw 12,396(1) 674*3a608692SPiotr Kubaj li 8,0x10 675*3a608692SPiotr Kubaj std 26,400(1) 676*3a608692SPiotr Kubaj li 26,0x20 677*3a608692SPiotr Kubaj std 27,408(1) 678*3a608692SPiotr Kubaj li 27,0x30 679*3a608692SPiotr Kubaj std 28,416(1) 680*3a608692SPiotr Kubaj li 28,0x40 681*3a608692SPiotr Kubaj std 29,424(1) 682*3a608692SPiotr Kubaj li 29,0x50 683*3a608692SPiotr Kubaj std 30,432(1) 684*3a608692SPiotr Kubaj li 30,0x60 685*3a608692SPiotr Kubaj std 31,440(1) 686*3a608692SPiotr Kubaj li 31,0x70 687*3a608692SPiotr Kubaj or 0,0,0 688*3a608692SPiotr Kubaj 689*3a608692SPiotr Kubaj subi 9,9,3 690*3a608692SPiotr Kubaj subi 5,5,128 691*3a608692SPiotr Kubaj 692*3a608692SPiotr Kubaj lvx 23,0,6 693*3a608692SPiotr Kubaj lvx 30,8,6 694*3a608692SPiotr Kubaj addi 6,6,0x20 695*3a608692SPiotr Kubaj lvx 31,0,6 696*3a608692SPiotr Kubaj vperm 23,23,30,10 697*3a608692SPiotr Kubaj addi 11,1,64+15 698*3a608692SPiotr Kubaj mtctr 9 699*3a608692SPiotr Kubaj 700*3a608692SPiotr Kubaj.Load_cbc_dec_key: 701*3a608692SPiotr Kubaj vperm 24,30,31,10 702*3a608692SPiotr Kubaj lvx 30,8,6 703*3a608692SPiotr Kubaj addi 6,6,0x20 704*3a608692SPiotr Kubaj stvx 24,0,11 705*3a608692SPiotr Kubaj vperm 25,31,30,10 706*3a608692SPiotr Kubaj lvx 31,0,6 707*3a608692SPiotr Kubaj stvx 25,8,11 708*3a608692SPiotr Kubaj addi 11,11,0x20 709*3a608692SPiotr Kubaj bdnz .Load_cbc_dec_key 710*3a608692SPiotr Kubaj 711*3a608692SPiotr Kubaj lvx 26,8,6 712*3a608692SPiotr Kubaj vperm 24,30,31,10 713*3a608692SPiotr Kubaj lvx 27,26,6 714*3a608692SPiotr Kubaj stvx 24,0,11 715*3a608692SPiotr Kubaj vperm 25,31,26,10 716*3a608692SPiotr Kubaj lvx 28,27,6 717*3a608692SPiotr Kubaj stvx 25,8,11 718*3a608692SPiotr Kubaj addi 11,1,64+15 719*3a608692SPiotr Kubaj vperm 26,26,27,10 720*3a608692SPiotr Kubaj lvx 29,28,6 721*3a608692SPiotr Kubaj vperm 27,27,28,10 722*3a608692SPiotr Kubaj lvx 30,29,6 723*3a608692SPiotr Kubaj vperm 28,28,29,10 724*3a608692SPiotr Kubaj lvx 31,30,6 725*3a608692SPiotr Kubaj vperm 29,29,30,10 726*3a608692SPiotr Kubaj lvx 14,31,6 727*3a608692SPiotr Kubaj vperm 30,30,31,10 728*3a608692SPiotr Kubaj lvx 24,0,11 729*3a608692SPiotr Kubaj vperm 31,31,14,10 730*3a608692SPiotr Kubaj lvx 25,8,11 731*3a608692SPiotr Kubaj 732*3a608692SPiotr Kubaj 733*3a608692SPiotr Kubaj 734*3a608692SPiotr Kubaj subi 3,3,15 735*3a608692SPiotr Kubaj 736*3a608692SPiotr Kubaj 737*3a608692SPiotr Kubaj .long 0x7C001E99 738*3a608692SPiotr Kubaj 739*3a608692SPiotr Kubaj 740*3a608692SPiotr Kubaj .long 0x7C281E99 741*3a608692SPiotr Kubaj 742*3a608692SPiotr Kubaj .long 0x7C5A1E99 743*3a608692SPiotr Kubaj 744*3a608692SPiotr Kubaj .long 0x7C7B1E99 745*3a608692SPiotr Kubaj 746*3a608692SPiotr Kubaj .long 0x7D5C1E99 747*3a608692SPiotr Kubaj 748*3a608692SPiotr Kubaj vxor 14,0,23 749*3a608692SPiotr Kubaj .long 0x7D7D1E99 750*3a608692SPiotr Kubaj 751*3a608692SPiotr Kubaj vxor 15,1,23 752*3a608692SPiotr Kubaj .long 0x7D9E1E99 753*3a608692SPiotr Kubaj 754*3a608692SPiotr Kubaj vxor 16,2,23 755*3a608692SPiotr Kubaj .long 0x7DBF1E99 756*3a608692SPiotr Kubaj addi 3,3,0x80 757*3a608692SPiotr Kubaj 758*3a608692SPiotr Kubaj vxor 17,3,23 759*3a608692SPiotr Kubaj 760*3a608692SPiotr Kubaj vxor 18,10,23 761*3a608692SPiotr Kubaj 762*3a608692SPiotr Kubaj vxor 19,11,23 763*3a608692SPiotr Kubaj vxor 20,12,23 764*3a608692SPiotr Kubaj vxor 21,13,23 765*3a608692SPiotr Kubaj 766*3a608692SPiotr Kubaj mtctr 9 767*3a608692SPiotr Kubaj b .Loop_cbc_dec8x 768*3a608692SPiotr Kubaj.align 5 769*3a608692SPiotr Kubaj.Loop_cbc_dec8x: 770*3a608692SPiotr Kubaj .long 0x11CEC548 771*3a608692SPiotr Kubaj .long 0x11EFC548 772*3a608692SPiotr Kubaj .long 0x1210C548 773*3a608692SPiotr Kubaj .long 0x1231C548 774*3a608692SPiotr Kubaj .long 0x1252C548 775*3a608692SPiotr Kubaj .long 0x1273C548 776*3a608692SPiotr Kubaj .long 0x1294C548 777*3a608692SPiotr Kubaj .long 0x12B5C548 778*3a608692SPiotr Kubaj lvx 24,26,11 779*3a608692SPiotr Kubaj addi 11,11,0x20 780*3a608692SPiotr Kubaj 781*3a608692SPiotr Kubaj .long 0x11CECD48 782*3a608692SPiotr Kubaj .long 0x11EFCD48 783*3a608692SPiotr Kubaj .long 0x1210CD48 784*3a608692SPiotr Kubaj .long 0x1231CD48 785*3a608692SPiotr Kubaj .long 0x1252CD48 786*3a608692SPiotr Kubaj .long 0x1273CD48 787*3a608692SPiotr Kubaj .long 0x1294CD48 788*3a608692SPiotr Kubaj .long 0x12B5CD48 789*3a608692SPiotr Kubaj lvx 25,8,11 790*3a608692SPiotr Kubaj bdnz .Loop_cbc_dec8x 791*3a608692SPiotr Kubaj 792*3a608692SPiotr Kubaj subic 5,5,128 793*3a608692SPiotr Kubaj .long 0x11CEC548 794*3a608692SPiotr Kubaj .long 0x11EFC548 795*3a608692SPiotr Kubaj .long 0x1210C548 796*3a608692SPiotr Kubaj .long 0x1231C548 797*3a608692SPiotr Kubaj .long 0x1252C548 798*3a608692SPiotr Kubaj .long 0x1273C548 799*3a608692SPiotr Kubaj .long 0x1294C548 800*3a608692SPiotr Kubaj .long 0x12B5C548 801*3a608692SPiotr Kubaj 802*3a608692SPiotr Kubaj subfe. 0,0,0 803*3a608692SPiotr Kubaj .long 0x11CECD48 804*3a608692SPiotr Kubaj .long 0x11EFCD48 805*3a608692SPiotr Kubaj .long 0x1210CD48 806*3a608692SPiotr Kubaj .long 0x1231CD48 807*3a608692SPiotr Kubaj .long 0x1252CD48 808*3a608692SPiotr Kubaj .long 0x1273CD48 809*3a608692SPiotr Kubaj .long 0x1294CD48 810*3a608692SPiotr Kubaj .long 0x12B5CD48 811*3a608692SPiotr Kubaj 812*3a608692SPiotr Kubaj and 0,0,5 813*3a608692SPiotr Kubaj .long 0x11CED548 814*3a608692SPiotr Kubaj .long 0x11EFD548 815*3a608692SPiotr Kubaj .long 0x1210D548 816*3a608692SPiotr Kubaj .long 0x1231D548 817*3a608692SPiotr Kubaj .long 0x1252D548 818*3a608692SPiotr Kubaj .long 0x1273D548 819*3a608692SPiotr Kubaj .long 0x1294D548 820*3a608692SPiotr Kubaj .long 0x12B5D548 821*3a608692SPiotr Kubaj 822*3a608692SPiotr Kubaj add 3,3,0 823*3a608692SPiotr Kubaj 824*3a608692SPiotr Kubaj 825*3a608692SPiotr Kubaj 826*3a608692SPiotr Kubaj .long 0x11CEDD48 827*3a608692SPiotr Kubaj .long 0x11EFDD48 828*3a608692SPiotr Kubaj .long 0x1210DD48 829*3a608692SPiotr Kubaj .long 0x1231DD48 830*3a608692SPiotr Kubaj .long 0x1252DD48 831*3a608692SPiotr Kubaj .long 0x1273DD48 832*3a608692SPiotr Kubaj .long 0x1294DD48 833*3a608692SPiotr Kubaj .long 0x12B5DD48 834*3a608692SPiotr Kubaj 835*3a608692SPiotr Kubaj addi 11,1,64+15 836*3a608692SPiotr Kubaj .long 0x11CEE548 837*3a608692SPiotr Kubaj .long 0x11EFE548 838*3a608692SPiotr Kubaj .long 0x1210E548 839*3a608692SPiotr Kubaj .long 0x1231E548 840*3a608692SPiotr Kubaj .long 0x1252E548 841*3a608692SPiotr Kubaj .long 0x1273E548 842*3a608692SPiotr Kubaj .long 0x1294E548 843*3a608692SPiotr Kubaj .long 0x12B5E548 844*3a608692SPiotr Kubaj lvx 24,0,11 845*3a608692SPiotr Kubaj 846*3a608692SPiotr Kubaj .long 0x11CEED48 847*3a608692SPiotr Kubaj .long 0x11EFED48 848*3a608692SPiotr Kubaj .long 0x1210ED48 849*3a608692SPiotr Kubaj .long 0x1231ED48 850*3a608692SPiotr Kubaj .long 0x1252ED48 851*3a608692SPiotr Kubaj .long 0x1273ED48 852*3a608692SPiotr Kubaj .long 0x1294ED48 853*3a608692SPiotr Kubaj .long 0x12B5ED48 854*3a608692SPiotr Kubaj lvx 25,8,11 855*3a608692SPiotr Kubaj 856*3a608692SPiotr Kubaj .long 0x11CEF548 857*3a608692SPiotr Kubaj vxor 4,4,31 858*3a608692SPiotr Kubaj .long 0x11EFF548 859*3a608692SPiotr Kubaj vxor 0,0,31 860*3a608692SPiotr Kubaj .long 0x1210F548 861*3a608692SPiotr Kubaj vxor 1,1,31 862*3a608692SPiotr Kubaj .long 0x1231F548 863*3a608692SPiotr Kubaj vxor 2,2,31 864*3a608692SPiotr Kubaj .long 0x1252F548 865*3a608692SPiotr Kubaj vxor 3,3,31 866*3a608692SPiotr Kubaj .long 0x1273F548 867*3a608692SPiotr Kubaj vxor 10,10,31 868*3a608692SPiotr Kubaj .long 0x1294F548 869*3a608692SPiotr Kubaj vxor 11,11,31 870*3a608692SPiotr Kubaj .long 0x12B5F548 871*3a608692SPiotr Kubaj vxor 12,12,31 872*3a608692SPiotr Kubaj 873*3a608692SPiotr Kubaj .long 0x11CE2549 874*3a608692SPiotr Kubaj .long 0x11EF0549 875*3a608692SPiotr Kubaj .long 0x7C001E99 876*3a608692SPiotr Kubaj .long 0x12100D49 877*3a608692SPiotr Kubaj .long 0x7C281E99 878*3a608692SPiotr Kubaj .long 0x12311549 879*3a608692SPiotr Kubaj 880*3a608692SPiotr Kubaj .long 0x7C5A1E99 881*3a608692SPiotr Kubaj .long 0x12521D49 882*3a608692SPiotr Kubaj 883*3a608692SPiotr Kubaj .long 0x7C7B1E99 884*3a608692SPiotr Kubaj .long 0x12735549 885*3a608692SPiotr Kubaj 886*3a608692SPiotr Kubaj .long 0x7D5C1E99 887*3a608692SPiotr Kubaj .long 0x12945D49 888*3a608692SPiotr Kubaj 889*3a608692SPiotr Kubaj .long 0x7D7D1E99 890*3a608692SPiotr Kubaj .long 0x12B56549 891*3a608692SPiotr Kubaj 892*3a608692SPiotr Kubaj .long 0x7D9E1E99 893*3a608692SPiotr Kubaj vor 4,13,13 894*3a608692SPiotr Kubaj 895*3a608692SPiotr Kubaj .long 0x7DBF1E99 896*3a608692SPiotr Kubaj addi 3,3,0x80 897*3a608692SPiotr Kubaj 898*3a608692SPiotr Kubaj 899*3a608692SPiotr Kubaj 900*3a608692SPiotr Kubaj .long 0x7DC02799 901*3a608692SPiotr Kubaj 902*3a608692SPiotr Kubaj vxor 14,0,23 903*3a608692SPiotr Kubaj 904*3a608692SPiotr Kubaj .long 0x7DE82799 905*3a608692SPiotr Kubaj 906*3a608692SPiotr Kubaj vxor 15,1,23 907*3a608692SPiotr Kubaj 908*3a608692SPiotr Kubaj .long 0x7E1A2799 909*3a608692SPiotr Kubaj vxor 16,2,23 910*3a608692SPiotr Kubaj 911*3a608692SPiotr Kubaj .long 0x7E3B2799 912*3a608692SPiotr Kubaj vxor 17,3,23 913*3a608692SPiotr Kubaj 914*3a608692SPiotr Kubaj .long 0x7E5C2799 915*3a608692SPiotr Kubaj vxor 18,10,23 916*3a608692SPiotr Kubaj 917*3a608692SPiotr Kubaj .long 0x7E7D2799 918*3a608692SPiotr Kubaj vxor 19,11,23 919*3a608692SPiotr Kubaj 920*3a608692SPiotr Kubaj .long 0x7E9E2799 921*3a608692SPiotr Kubaj vxor 20,12,23 922*3a608692SPiotr Kubaj .long 0x7EBF2799 923*3a608692SPiotr Kubaj addi 4,4,0x80 924*3a608692SPiotr Kubaj vxor 21,13,23 925*3a608692SPiotr Kubaj 926*3a608692SPiotr Kubaj mtctr 9 927*3a608692SPiotr Kubaj beq .Loop_cbc_dec8x 928*3a608692SPiotr Kubaj 929*3a608692SPiotr Kubaj addic. 5,5,128 930*3a608692SPiotr Kubaj beq .Lcbc_dec8x_done 931*3a608692SPiotr Kubaj nop 932*3a608692SPiotr Kubaj nop 933*3a608692SPiotr Kubaj 934*3a608692SPiotr Kubaj.Loop_cbc_dec8x_tail: 935*3a608692SPiotr Kubaj .long 0x11EFC548 936*3a608692SPiotr Kubaj .long 0x1210C548 937*3a608692SPiotr Kubaj .long 0x1231C548 938*3a608692SPiotr Kubaj .long 0x1252C548 939*3a608692SPiotr Kubaj .long 0x1273C548 940*3a608692SPiotr Kubaj .long 0x1294C548 941*3a608692SPiotr Kubaj .long 0x12B5C548 942*3a608692SPiotr Kubaj lvx 24,26,11 943*3a608692SPiotr Kubaj addi 11,11,0x20 944*3a608692SPiotr Kubaj 945*3a608692SPiotr Kubaj .long 0x11EFCD48 946*3a608692SPiotr Kubaj .long 0x1210CD48 947*3a608692SPiotr Kubaj .long 0x1231CD48 948*3a608692SPiotr Kubaj .long 0x1252CD48 949*3a608692SPiotr Kubaj .long 0x1273CD48 950*3a608692SPiotr Kubaj .long 0x1294CD48 951*3a608692SPiotr Kubaj .long 0x12B5CD48 952*3a608692SPiotr Kubaj lvx 25,8,11 953*3a608692SPiotr Kubaj bdnz .Loop_cbc_dec8x_tail 954*3a608692SPiotr Kubaj 955*3a608692SPiotr Kubaj .long 0x11EFC548 956*3a608692SPiotr Kubaj .long 0x1210C548 957*3a608692SPiotr Kubaj .long 0x1231C548 958*3a608692SPiotr Kubaj .long 0x1252C548 959*3a608692SPiotr Kubaj .long 0x1273C548 960*3a608692SPiotr Kubaj .long 0x1294C548 961*3a608692SPiotr Kubaj .long 0x12B5C548 962*3a608692SPiotr Kubaj 963*3a608692SPiotr Kubaj .long 0x11EFCD48 964*3a608692SPiotr Kubaj .long 0x1210CD48 965*3a608692SPiotr Kubaj .long 0x1231CD48 966*3a608692SPiotr Kubaj .long 0x1252CD48 967*3a608692SPiotr Kubaj .long 0x1273CD48 968*3a608692SPiotr Kubaj .long 0x1294CD48 969*3a608692SPiotr Kubaj .long 0x12B5CD48 970*3a608692SPiotr Kubaj 971*3a608692SPiotr Kubaj .long 0x11EFD548 972*3a608692SPiotr Kubaj .long 0x1210D548 973*3a608692SPiotr Kubaj .long 0x1231D548 974*3a608692SPiotr Kubaj .long 0x1252D548 975*3a608692SPiotr Kubaj .long 0x1273D548 976*3a608692SPiotr Kubaj .long 0x1294D548 977*3a608692SPiotr Kubaj .long 0x12B5D548 978*3a608692SPiotr Kubaj 979*3a608692SPiotr Kubaj .long 0x11EFDD48 980*3a608692SPiotr Kubaj .long 0x1210DD48 981*3a608692SPiotr Kubaj .long 0x1231DD48 982*3a608692SPiotr Kubaj .long 0x1252DD48 983*3a608692SPiotr Kubaj .long 0x1273DD48 984*3a608692SPiotr Kubaj .long 0x1294DD48 985*3a608692SPiotr Kubaj .long 0x12B5DD48 986*3a608692SPiotr Kubaj 987*3a608692SPiotr Kubaj .long 0x11EFE548 988*3a608692SPiotr Kubaj .long 0x1210E548 989*3a608692SPiotr Kubaj .long 0x1231E548 990*3a608692SPiotr Kubaj .long 0x1252E548 991*3a608692SPiotr Kubaj .long 0x1273E548 992*3a608692SPiotr Kubaj .long 0x1294E548 993*3a608692SPiotr Kubaj .long 0x12B5E548 994*3a608692SPiotr Kubaj 995*3a608692SPiotr Kubaj .long 0x11EFED48 996*3a608692SPiotr Kubaj .long 0x1210ED48 997*3a608692SPiotr Kubaj .long 0x1231ED48 998*3a608692SPiotr Kubaj .long 0x1252ED48 999*3a608692SPiotr Kubaj .long 0x1273ED48 1000*3a608692SPiotr Kubaj .long 0x1294ED48 1001*3a608692SPiotr Kubaj .long 0x12B5ED48 1002*3a608692SPiotr Kubaj 1003*3a608692SPiotr Kubaj .long 0x11EFF548 1004*3a608692SPiotr Kubaj vxor 4,4,31 1005*3a608692SPiotr Kubaj .long 0x1210F548 1006*3a608692SPiotr Kubaj vxor 1,1,31 1007*3a608692SPiotr Kubaj .long 0x1231F548 1008*3a608692SPiotr Kubaj vxor 2,2,31 1009*3a608692SPiotr Kubaj .long 0x1252F548 1010*3a608692SPiotr Kubaj vxor 3,3,31 1011*3a608692SPiotr Kubaj .long 0x1273F548 1012*3a608692SPiotr Kubaj vxor 10,10,31 1013*3a608692SPiotr Kubaj .long 0x1294F548 1014*3a608692SPiotr Kubaj vxor 11,11,31 1015*3a608692SPiotr Kubaj .long 0x12B5F548 1016*3a608692SPiotr Kubaj vxor 12,12,31 1017*3a608692SPiotr Kubaj 1018*3a608692SPiotr Kubaj cmplwi 5,32 1019*3a608692SPiotr Kubaj blt .Lcbc_dec8x_one 1020*3a608692SPiotr Kubaj nop 1021*3a608692SPiotr Kubaj beq .Lcbc_dec8x_two 1022*3a608692SPiotr Kubaj cmplwi 5,64 1023*3a608692SPiotr Kubaj blt .Lcbc_dec8x_three 1024*3a608692SPiotr Kubaj nop 1025*3a608692SPiotr Kubaj beq .Lcbc_dec8x_four 1026*3a608692SPiotr Kubaj cmplwi 5,96 1027*3a608692SPiotr Kubaj blt .Lcbc_dec8x_five 1028*3a608692SPiotr Kubaj nop 1029*3a608692SPiotr Kubaj beq .Lcbc_dec8x_six 1030*3a608692SPiotr Kubaj 1031*3a608692SPiotr Kubaj.Lcbc_dec8x_seven: 1032*3a608692SPiotr Kubaj .long 0x11EF2549 1033*3a608692SPiotr Kubaj .long 0x12100D49 1034*3a608692SPiotr Kubaj .long 0x12311549 1035*3a608692SPiotr Kubaj .long 0x12521D49 1036*3a608692SPiotr Kubaj .long 0x12735549 1037*3a608692SPiotr Kubaj .long 0x12945D49 1038*3a608692SPiotr Kubaj .long 0x12B56549 1039*3a608692SPiotr Kubaj vor 4,13,13 1040*3a608692SPiotr Kubaj 1041*3a608692SPiotr Kubaj 1042*3a608692SPiotr Kubaj 1043*3a608692SPiotr Kubaj .long 0x7DE02799 1044*3a608692SPiotr Kubaj 1045*3a608692SPiotr Kubaj .long 0x7E082799 1046*3a608692SPiotr Kubaj 1047*3a608692SPiotr Kubaj .long 0x7E3A2799 1048*3a608692SPiotr Kubaj 1049*3a608692SPiotr Kubaj .long 0x7E5B2799 1050*3a608692SPiotr Kubaj 1051*3a608692SPiotr Kubaj .long 0x7E7C2799 1052*3a608692SPiotr Kubaj 1053*3a608692SPiotr Kubaj .long 0x7E9D2799 1054*3a608692SPiotr Kubaj .long 0x7EBE2799 1055*3a608692SPiotr Kubaj addi 4,4,0x70 1056*3a608692SPiotr Kubaj b .Lcbc_dec8x_done 1057*3a608692SPiotr Kubaj 1058*3a608692SPiotr Kubaj.align 5 1059*3a608692SPiotr Kubaj.Lcbc_dec8x_six: 1060*3a608692SPiotr Kubaj .long 0x12102549 1061*3a608692SPiotr Kubaj .long 0x12311549 1062*3a608692SPiotr Kubaj .long 0x12521D49 1063*3a608692SPiotr Kubaj .long 0x12735549 1064*3a608692SPiotr Kubaj .long 0x12945D49 1065*3a608692SPiotr Kubaj .long 0x12B56549 1066*3a608692SPiotr Kubaj vor 4,13,13 1067*3a608692SPiotr Kubaj 1068*3a608692SPiotr Kubaj 1069*3a608692SPiotr Kubaj 1070*3a608692SPiotr Kubaj .long 0x7E002799 1071*3a608692SPiotr Kubaj 1072*3a608692SPiotr Kubaj .long 0x7E282799 1073*3a608692SPiotr Kubaj 1074*3a608692SPiotr Kubaj .long 0x7E5A2799 1075*3a608692SPiotr Kubaj 1076*3a608692SPiotr Kubaj .long 0x7E7B2799 1077*3a608692SPiotr Kubaj 1078*3a608692SPiotr Kubaj .long 0x7E9C2799 1079*3a608692SPiotr Kubaj .long 0x7EBD2799 1080*3a608692SPiotr Kubaj addi 4,4,0x60 1081*3a608692SPiotr Kubaj b .Lcbc_dec8x_done 1082*3a608692SPiotr Kubaj 1083*3a608692SPiotr Kubaj.align 5 1084*3a608692SPiotr Kubaj.Lcbc_dec8x_five: 1085*3a608692SPiotr Kubaj .long 0x12312549 1086*3a608692SPiotr Kubaj .long 0x12521D49 1087*3a608692SPiotr Kubaj .long 0x12735549 1088*3a608692SPiotr Kubaj .long 0x12945D49 1089*3a608692SPiotr Kubaj .long 0x12B56549 1090*3a608692SPiotr Kubaj vor 4,13,13 1091*3a608692SPiotr Kubaj 1092*3a608692SPiotr Kubaj 1093*3a608692SPiotr Kubaj 1094*3a608692SPiotr Kubaj .long 0x7E202799 1095*3a608692SPiotr Kubaj 1096*3a608692SPiotr Kubaj .long 0x7E482799 1097*3a608692SPiotr Kubaj 1098*3a608692SPiotr Kubaj .long 0x7E7A2799 1099*3a608692SPiotr Kubaj 1100*3a608692SPiotr Kubaj .long 0x7E9B2799 1101*3a608692SPiotr Kubaj .long 0x7EBC2799 1102*3a608692SPiotr Kubaj addi 4,4,0x50 1103*3a608692SPiotr Kubaj b .Lcbc_dec8x_done 1104*3a608692SPiotr Kubaj 1105*3a608692SPiotr Kubaj.align 5 1106*3a608692SPiotr Kubaj.Lcbc_dec8x_four: 1107*3a608692SPiotr Kubaj .long 0x12522549 1108*3a608692SPiotr Kubaj .long 0x12735549 1109*3a608692SPiotr Kubaj .long 0x12945D49 1110*3a608692SPiotr Kubaj .long 0x12B56549 1111*3a608692SPiotr Kubaj vor 4,13,13 1112*3a608692SPiotr Kubaj 1113*3a608692SPiotr Kubaj 1114*3a608692SPiotr Kubaj 1115*3a608692SPiotr Kubaj .long 0x7E402799 1116*3a608692SPiotr Kubaj 1117*3a608692SPiotr Kubaj .long 0x7E682799 1118*3a608692SPiotr Kubaj 1119*3a608692SPiotr Kubaj .long 0x7E9A2799 1120*3a608692SPiotr Kubaj .long 0x7EBB2799 1121*3a608692SPiotr Kubaj addi 4,4,0x40 1122*3a608692SPiotr Kubaj b .Lcbc_dec8x_done 1123*3a608692SPiotr Kubaj 1124*3a608692SPiotr Kubaj.align 5 1125*3a608692SPiotr Kubaj.Lcbc_dec8x_three: 1126*3a608692SPiotr Kubaj .long 0x12732549 1127*3a608692SPiotr Kubaj .long 0x12945D49 1128*3a608692SPiotr Kubaj .long 0x12B56549 1129*3a608692SPiotr Kubaj vor 4,13,13 1130*3a608692SPiotr Kubaj 1131*3a608692SPiotr Kubaj 1132*3a608692SPiotr Kubaj 1133*3a608692SPiotr Kubaj .long 0x7E602799 1134*3a608692SPiotr Kubaj 1135*3a608692SPiotr Kubaj .long 0x7E882799 1136*3a608692SPiotr Kubaj .long 0x7EBA2799 1137*3a608692SPiotr Kubaj addi 4,4,0x30 1138*3a608692SPiotr Kubaj b .Lcbc_dec8x_done 1139*3a608692SPiotr Kubaj 1140*3a608692SPiotr Kubaj.align 5 1141*3a608692SPiotr Kubaj.Lcbc_dec8x_two: 1142*3a608692SPiotr Kubaj .long 0x12942549 1143*3a608692SPiotr Kubaj .long 0x12B56549 1144*3a608692SPiotr Kubaj vor 4,13,13 1145*3a608692SPiotr Kubaj 1146*3a608692SPiotr Kubaj 1147*3a608692SPiotr Kubaj 1148*3a608692SPiotr Kubaj .long 0x7E802799 1149*3a608692SPiotr Kubaj .long 0x7EA82799 1150*3a608692SPiotr Kubaj addi 4,4,0x20 1151*3a608692SPiotr Kubaj b .Lcbc_dec8x_done 1152*3a608692SPiotr Kubaj 1153*3a608692SPiotr Kubaj.align 5 1154*3a608692SPiotr Kubaj.Lcbc_dec8x_one: 1155*3a608692SPiotr Kubaj .long 0x12B52549 1156*3a608692SPiotr Kubaj vor 4,13,13 1157*3a608692SPiotr Kubaj 1158*3a608692SPiotr Kubaj 1159*3a608692SPiotr Kubaj .long 0x7EA02799 1160*3a608692SPiotr Kubaj addi 4,4,0x10 1161*3a608692SPiotr Kubaj 1162*3a608692SPiotr Kubaj.Lcbc_dec8x_done: 1163*3a608692SPiotr Kubaj 1164*3a608692SPiotr Kubaj .long 0x7C803F99 1165*3a608692SPiotr Kubaj 1166*3a608692SPiotr Kubaj li 10,79 1167*3a608692SPiotr Kubaj li 11,95 1168*3a608692SPiotr Kubaj stvx 6,10,1 1169*3a608692SPiotr Kubaj addi 10,10,32 1170*3a608692SPiotr Kubaj stvx 6,11,1 1171*3a608692SPiotr Kubaj addi 11,11,32 1172*3a608692SPiotr Kubaj stvx 6,10,1 1173*3a608692SPiotr Kubaj addi 10,10,32 1174*3a608692SPiotr Kubaj stvx 6,11,1 1175*3a608692SPiotr Kubaj addi 11,11,32 1176*3a608692SPiotr Kubaj stvx 6,10,1 1177*3a608692SPiotr Kubaj addi 10,10,32 1178*3a608692SPiotr Kubaj stvx 6,11,1 1179*3a608692SPiotr Kubaj addi 11,11,32 1180*3a608692SPiotr Kubaj stvx 6,10,1 1181*3a608692SPiotr Kubaj addi 10,10,32 1182*3a608692SPiotr Kubaj stvx 6,11,1 1183*3a608692SPiotr Kubaj addi 11,11,32 1184*3a608692SPiotr Kubaj 1185*3a608692SPiotr Kubaj or 12,12,12 1186*3a608692SPiotr Kubaj lvx 20,10,1 1187*3a608692SPiotr Kubaj addi 10,10,32 1188*3a608692SPiotr Kubaj lvx 21,11,1 1189*3a608692SPiotr Kubaj addi 11,11,32 1190*3a608692SPiotr Kubaj lvx 22,10,1 1191*3a608692SPiotr Kubaj addi 10,10,32 1192*3a608692SPiotr Kubaj lvx 23,11,1 1193*3a608692SPiotr Kubaj addi 11,11,32 1194*3a608692SPiotr Kubaj lvx 24,10,1 1195*3a608692SPiotr Kubaj addi 10,10,32 1196*3a608692SPiotr Kubaj lvx 25,11,1 1197*3a608692SPiotr Kubaj addi 11,11,32 1198*3a608692SPiotr Kubaj lvx 26,10,1 1199*3a608692SPiotr Kubaj addi 10,10,32 1200*3a608692SPiotr Kubaj lvx 27,11,1 1201*3a608692SPiotr Kubaj addi 11,11,32 1202*3a608692SPiotr Kubaj lvx 28,10,1 1203*3a608692SPiotr Kubaj addi 10,10,32 1204*3a608692SPiotr Kubaj lvx 29,11,1 1205*3a608692SPiotr Kubaj addi 11,11,32 1206*3a608692SPiotr Kubaj lvx 30,10,1 1207*3a608692SPiotr Kubaj lvx 31,11,1 1208*3a608692SPiotr Kubaj ld 26,400(1) 1209*3a608692SPiotr Kubaj ld 27,408(1) 1210*3a608692SPiotr Kubaj ld 28,416(1) 1211*3a608692SPiotr Kubaj ld 29,424(1) 1212*3a608692SPiotr Kubaj ld 30,432(1) 1213*3a608692SPiotr Kubaj ld 31,440(1) 1214*3a608692SPiotr Kubaj addi 1,1,448 1215*3a608692SPiotr Kubaj blr 1216*3a608692SPiotr Kubaj.long 0 1217*3a608692SPiotr Kubaj.byte 0,12,0x04,0,0x80,6,6,0 1218*3a608692SPiotr Kubaj.long 0 1219*3a608692SPiotr Kubaj.size aes_p8_cbc_encrypt,.-aes_p8_cbc_encrypt 1220*3a608692SPiotr Kubaj.globl aes_p8_ctr32_encrypt_blocks 1221*3a608692SPiotr Kubaj.type aes_p8_ctr32_encrypt_blocks,@function 1222*3a608692SPiotr Kubaj.align 5 1223*3a608692SPiotr Kubajaes_p8_ctr32_encrypt_blocks: 1224*3a608692SPiotr Kubaj.localentry aes_p8_ctr32_encrypt_blocks,0 1225*3a608692SPiotr Kubaj 1226*3a608692SPiotr Kubaj cmpldi 5,1 1227*3a608692SPiotr Kubaj .long 0x4dc00020 1228*3a608692SPiotr Kubaj 1229*3a608692SPiotr Kubaj lis 0,0xfff0 1230*3a608692SPiotr Kubaj li 12,-1 1231*3a608692SPiotr Kubaj or 0,0,0 1232*3a608692SPiotr Kubaj 1233*3a608692SPiotr Kubaj li 10,15 1234*3a608692SPiotr Kubaj vxor 0,0,0 1235*3a608692SPiotr Kubaj 1236*3a608692SPiotr Kubaj 1237*3a608692SPiotr Kubaj lvx 4,0,7 1238*3a608692SPiotr Kubaj lvsl 6,0,7 1239*3a608692SPiotr Kubaj lvx 5,10,7 1240*3a608692SPiotr Kubaj vspltisb 11,1 1241*3a608692SPiotr Kubaj 1242*3a608692SPiotr Kubaj vperm 4,4,5,6 1243*3a608692SPiotr Kubaj vsldoi 11,0,11,1 1244*3a608692SPiotr Kubaj 1245*3a608692SPiotr Kubaj neg 11,3 1246*3a608692SPiotr Kubaj lvsl 10,0,6 1247*3a608692SPiotr Kubaj lwz 9,240(6) 1248*3a608692SPiotr Kubaj 1249*3a608692SPiotr Kubaj lvsr 6,0,11 1250*3a608692SPiotr Kubaj lvx 5,0,3 1251*3a608692SPiotr Kubaj addi 3,3,15 1252*3a608692SPiotr Kubaj 1253*3a608692SPiotr Kubaj 1254*3a608692SPiotr Kubaj srwi 9,9,1 1255*3a608692SPiotr Kubaj li 10,16 1256*3a608692SPiotr Kubaj subi 9,9,1 1257*3a608692SPiotr Kubaj 1258*3a608692SPiotr Kubaj cmpldi 5,8 1259*3a608692SPiotr Kubaj bge _aesp8_ctr32_encrypt8x 1260*3a608692SPiotr Kubaj 1261*3a608692SPiotr Kubaj lvsr 8,0,4 1262*3a608692SPiotr Kubaj vspltisb 9,-1 1263*3a608692SPiotr Kubaj lvx 7,0,4 1264*3a608692SPiotr Kubaj vperm 9,0,9,8 1265*3a608692SPiotr Kubaj 1266*3a608692SPiotr Kubaj 1267*3a608692SPiotr Kubaj lvx 0,0,6 1268*3a608692SPiotr Kubaj mtctr 9 1269*3a608692SPiotr Kubaj lvx 1,10,6 1270*3a608692SPiotr Kubaj addi 10,10,16 1271*3a608692SPiotr Kubaj vperm 0,0,1,10 1272*3a608692SPiotr Kubaj vxor 2,4,0 1273*3a608692SPiotr Kubaj lvx 0,10,6 1274*3a608692SPiotr Kubaj addi 10,10,16 1275*3a608692SPiotr Kubaj b .Loop_ctr32_enc 1276*3a608692SPiotr Kubaj 1277*3a608692SPiotr Kubaj.align 5 1278*3a608692SPiotr Kubaj.Loop_ctr32_enc: 1279*3a608692SPiotr Kubaj vperm 1,1,0,10 1280*3a608692SPiotr Kubaj .long 0x10420D08 1281*3a608692SPiotr Kubaj lvx 1,10,6 1282*3a608692SPiotr Kubaj addi 10,10,16 1283*3a608692SPiotr Kubaj vperm 0,0,1,10 1284*3a608692SPiotr Kubaj .long 0x10420508 1285*3a608692SPiotr Kubaj lvx 0,10,6 1286*3a608692SPiotr Kubaj addi 10,10,16 1287*3a608692SPiotr Kubaj bdnz .Loop_ctr32_enc 1288*3a608692SPiotr Kubaj 1289*3a608692SPiotr Kubaj vadduwm 4,4,11 1290*3a608692SPiotr Kubaj vor 3,5,5 1291*3a608692SPiotr Kubaj lvx 5,0,3 1292*3a608692SPiotr Kubaj addi 3,3,16 1293*3a608692SPiotr Kubaj subic. 5,5,1 1294*3a608692SPiotr Kubaj 1295*3a608692SPiotr Kubaj vperm 1,1,0,10 1296*3a608692SPiotr Kubaj .long 0x10420D08 1297*3a608692SPiotr Kubaj lvx 1,10,6 1298*3a608692SPiotr Kubaj vperm 3,3,5,6 1299*3a608692SPiotr Kubaj li 10,16 1300*3a608692SPiotr Kubaj vperm 1,0,1,10 1301*3a608692SPiotr Kubaj lvx 0,0,6 1302*3a608692SPiotr Kubaj vxor 3,3,1 1303*3a608692SPiotr Kubaj .long 0x10421D09 1304*3a608692SPiotr Kubaj 1305*3a608692SPiotr Kubaj lvx 1,10,6 1306*3a608692SPiotr Kubaj addi 10,10,16 1307*3a608692SPiotr Kubaj vperm 2,2,2,8 1308*3a608692SPiotr Kubaj vsel 3,7,2,9 1309*3a608692SPiotr Kubaj mtctr 9 1310*3a608692SPiotr Kubaj vperm 0,0,1,10 1311*3a608692SPiotr Kubaj vor 7,2,2 1312*3a608692SPiotr Kubaj vxor 2,4,0 1313*3a608692SPiotr Kubaj lvx 0,10,6 1314*3a608692SPiotr Kubaj addi 10,10,16 1315*3a608692SPiotr Kubaj stvx 3,0,4 1316*3a608692SPiotr Kubaj addi 4,4,16 1317*3a608692SPiotr Kubaj bne .Loop_ctr32_enc 1318*3a608692SPiotr Kubaj 1319*3a608692SPiotr Kubaj addi 4,4,-1 1320*3a608692SPiotr Kubaj lvx 2,0,4 1321*3a608692SPiotr Kubaj vsel 2,7,2,9 1322*3a608692SPiotr Kubaj stvx 2,0,4 1323*3a608692SPiotr Kubaj 1324*3a608692SPiotr Kubaj or 12,12,12 1325*3a608692SPiotr Kubaj blr 1326*3a608692SPiotr Kubaj.long 0 1327*3a608692SPiotr Kubaj.byte 0,12,0x14,0,0,0,6,0 1328*3a608692SPiotr Kubaj.long 0 1329*3a608692SPiotr Kubaj.align 5 1330*3a608692SPiotr Kubaj_aesp8_ctr32_encrypt8x: 1331*3a608692SPiotr Kubaj stdu 1,-448(1) 1332*3a608692SPiotr Kubaj li 10,207 1333*3a608692SPiotr Kubaj li 11,223 1334*3a608692SPiotr Kubaj stvx 20,10,1 1335*3a608692SPiotr Kubaj addi 10,10,32 1336*3a608692SPiotr Kubaj stvx 21,11,1 1337*3a608692SPiotr Kubaj addi 11,11,32 1338*3a608692SPiotr Kubaj stvx 22,10,1 1339*3a608692SPiotr Kubaj addi 10,10,32 1340*3a608692SPiotr Kubaj stvx 23,11,1 1341*3a608692SPiotr Kubaj addi 11,11,32 1342*3a608692SPiotr Kubaj stvx 24,10,1 1343*3a608692SPiotr Kubaj addi 10,10,32 1344*3a608692SPiotr Kubaj stvx 25,11,1 1345*3a608692SPiotr Kubaj addi 11,11,32 1346*3a608692SPiotr Kubaj stvx 26,10,1 1347*3a608692SPiotr Kubaj addi 10,10,32 1348*3a608692SPiotr Kubaj stvx 27,11,1 1349*3a608692SPiotr Kubaj addi 11,11,32 1350*3a608692SPiotr Kubaj stvx 28,10,1 1351*3a608692SPiotr Kubaj addi 10,10,32 1352*3a608692SPiotr Kubaj stvx 29,11,1 1353*3a608692SPiotr Kubaj addi 11,11,32 1354*3a608692SPiotr Kubaj stvx 30,10,1 1355*3a608692SPiotr Kubaj stvx 31,11,1 1356*3a608692SPiotr Kubaj li 0,-1 1357*3a608692SPiotr Kubaj stw 12,396(1) 1358*3a608692SPiotr Kubaj li 8,0x10 1359*3a608692SPiotr Kubaj std 26,400(1) 1360*3a608692SPiotr Kubaj li 26,0x20 1361*3a608692SPiotr Kubaj std 27,408(1) 1362*3a608692SPiotr Kubaj li 27,0x30 1363*3a608692SPiotr Kubaj std 28,416(1) 1364*3a608692SPiotr Kubaj li 28,0x40 1365*3a608692SPiotr Kubaj std 29,424(1) 1366*3a608692SPiotr Kubaj li 29,0x50 1367*3a608692SPiotr Kubaj std 30,432(1) 1368*3a608692SPiotr Kubaj li 30,0x60 1369*3a608692SPiotr Kubaj std 31,440(1) 1370*3a608692SPiotr Kubaj li 31,0x70 1371*3a608692SPiotr Kubaj or 0,0,0 1372*3a608692SPiotr Kubaj 1373*3a608692SPiotr Kubaj subi 9,9,3 1374*3a608692SPiotr Kubaj 1375*3a608692SPiotr Kubaj lvx 23,0,6 1376*3a608692SPiotr Kubaj lvx 30,8,6 1377*3a608692SPiotr Kubaj addi 6,6,0x20 1378*3a608692SPiotr Kubaj lvx 31,0,6 1379*3a608692SPiotr Kubaj vperm 23,23,30,10 1380*3a608692SPiotr Kubaj addi 11,1,64+15 1381*3a608692SPiotr Kubaj mtctr 9 1382*3a608692SPiotr Kubaj 1383*3a608692SPiotr Kubaj.Load_ctr32_enc_key: 1384*3a608692SPiotr Kubaj vperm 24,30,31,10 1385*3a608692SPiotr Kubaj lvx 30,8,6 1386*3a608692SPiotr Kubaj addi 6,6,0x20 1387*3a608692SPiotr Kubaj stvx 24,0,11 1388*3a608692SPiotr Kubaj vperm 25,31,30,10 1389*3a608692SPiotr Kubaj lvx 31,0,6 1390*3a608692SPiotr Kubaj stvx 25,8,11 1391*3a608692SPiotr Kubaj addi 11,11,0x20 1392*3a608692SPiotr Kubaj bdnz .Load_ctr32_enc_key 1393*3a608692SPiotr Kubaj 1394*3a608692SPiotr Kubaj lvx 26,8,6 1395*3a608692SPiotr Kubaj vperm 24,30,31,10 1396*3a608692SPiotr Kubaj lvx 27,26,6 1397*3a608692SPiotr Kubaj stvx 24,0,11 1398*3a608692SPiotr Kubaj vperm 25,31,26,10 1399*3a608692SPiotr Kubaj lvx 28,27,6 1400*3a608692SPiotr Kubaj stvx 25,8,11 1401*3a608692SPiotr Kubaj addi 11,1,64+15 1402*3a608692SPiotr Kubaj vperm 26,26,27,10 1403*3a608692SPiotr Kubaj lvx 29,28,6 1404*3a608692SPiotr Kubaj vperm 27,27,28,10 1405*3a608692SPiotr Kubaj lvx 30,29,6 1406*3a608692SPiotr Kubaj vperm 28,28,29,10 1407*3a608692SPiotr Kubaj lvx 31,30,6 1408*3a608692SPiotr Kubaj vperm 29,29,30,10 1409*3a608692SPiotr Kubaj lvx 15,31,6 1410*3a608692SPiotr Kubaj vperm 30,30,31,10 1411*3a608692SPiotr Kubaj lvx 24,0,11 1412*3a608692SPiotr Kubaj vperm 31,31,15,10 1413*3a608692SPiotr Kubaj lvx 25,8,11 1414*3a608692SPiotr Kubaj 1415*3a608692SPiotr Kubaj vadduwm 7,11,11 1416*3a608692SPiotr Kubaj subi 3,3,15 1417*3a608692SPiotr Kubaj sldi 5,5,4 1418*3a608692SPiotr Kubaj 1419*3a608692SPiotr Kubaj vadduwm 16,4,11 1420*3a608692SPiotr Kubaj vadduwm 17,4,7 1421*3a608692SPiotr Kubaj vxor 15,4,23 1422*3a608692SPiotr Kubaj 1423*3a608692SPiotr Kubaj vadduwm 18,16,7 1424*3a608692SPiotr Kubaj vxor 16,16,23 1425*3a608692SPiotr Kubaj 1426*3a608692SPiotr Kubaj vadduwm 19,17,7 1427*3a608692SPiotr Kubaj vxor 17,17,23 1428*3a608692SPiotr Kubaj 1429*3a608692SPiotr Kubaj vadduwm 20,18,7 1430*3a608692SPiotr Kubaj vxor 18,18,23 1431*3a608692SPiotr Kubaj 1432*3a608692SPiotr Kubaj vadduwm 21,19,7 1433*3a608692SPiotr Kubaj vxor 19,19,23 1434*3a608692SPiotr Kubaj vadduwm 22,20,7 1435*3a608692SPiotr Kubaj vxor 20,20,23 1436*3a608692SPiotr Kubaj vadduwm 4,21,7 1437*3a608692SPiotr Kubaj vxor 21,21,23 1438*3a608692SPiotr Kubaj vxor 22,22,23 1439*3a608692SPiotr Kubaj 1440*3a608692SPiotr Kubaj mtctr 9 1441*3a608692SPiotr Kubaj b .Loop_ctr32_enc8x 1442*3a608692SPiotr Kubaj.align 5 1443*3a608692SPiotr Kubaj.Loop_ctr32_enc8x: 1444*3a608692SPiotr Kubaj .long 0x11EFC508 1445*3a608692SPiotr Kubaj .long 0x1210C508 1446*3a608692SPiotr Kubaj .long 0x1231C508 1447*3a608692SPiotr Kubaj .long 0x1252C508 1448*3a608692SPiotr Kubaj .long 0x1273C508 1449*3a608692SPiotr Kubaj .long 0x1294C508 1450*3a608692SPiotr Kubaj .long 0x12B5C508 1451*3a608692SPiotr Kubaj .long 0x12D6C508 1452*3a608692SPiotr Kubaj.Loop_ctr32_enc8x_middle: 1453*3a608692SPiotr Kubaj lvx 24,26,11 1454*3a608692SPiotr Kubaj addi 11,11,0x20 1455*3a608692SPiotr Kubaj 1456*3a608692SPiotr Kubaj .long 0x11EFCD08 1457*3a608692SPiotr Kubaj .long 0x1210CD08 1458*3a608692SPiotr Kubaj .long 0x1231CD08 1459*3a608692SPiotr Kubaj .long 0x1252CD08 1460*3a608692SPiotr Kubaj .long 0x1273CD08 1461*3a608692SPiotr Kubaj .long 0x1294CD08 1462*3a608692SPiotr Kubaj .long 0x12B5CD08 1463*3a608692SPiotr Kubaj .long 0x12D6CD08 1464*3a608692SPiotr Kubaj lvx 25,8,11 1465*3a608692SPiotr Kubaj bdnz .Loop_ctr32_enc8x 1466*3a608692SPiotr Kubaj 1467*3a608692SPiotr Kubaj subic 11,5,256 1468*3a608692SPiotr Kubaj .long 0x11EFC508 1469*3a608692SPiotr Kubaj .long 0x1210C508 1470*3a608692SPiotr Kubaj .long 0x1231C508 1471*3a608692SPiotr Kubaj .long 0x1252C508 1472*3a608692SPiotr Kubaj .long 0x1273C508 1473*3a608692SPiotr Kubaj .long 0x1294C508 1474*3a608692SPiotr Kubaj .long 0x12B5C508 1475*3a608692SPiotr Kubaj .long 0x12D6C508 1476*3a608692SPiotr Kubaj 1477*3a608692SPiotr Kubaj subfe 0,0,0 1478*3a608692SPiotr Kubaj .long 0x11EFCD08 1479*3a608692SPiotr Kubaj .long 0x1210CD08 1480*3a608692SPiotr Kubaj .long 0x1231CD08 1481*3a608692SPiotr Kubaj .long 0x1252CD08 1482*3a608692SPiotr Kubaj .long 0x1273CD08 1483*3a608692SPiotr Kubaj .long 0x1294CD08 1484*3a608692SPiotr Kubaj .long 0x12B5CD08 1485*3a608692SPiotr Kubaj .long 0x12D6CD08 1486*3a608692SPiotr Kubaj 1487*3a608692SPiotr Kubaj and 0,0,11 1488*3a608692SPiotr Kubaj addi 11,1,64+15 1489*3a608692SPiotr Kubaj .long 0x11EFD508 1490*3a608692SPiotr Kubaj .long 0x1210D508 1491*3a608692SPiotr Kubaj .long 0x1231D508 1492*3a608692SPiotr Kubaj .long 0x1252D508 1493*3a608692SPiotr Kubaj .long 0x1273D508 1494*3a608692SPiotr Kubaj .long 0x1294D508 1495*3a608692SPiotr Kubaj .long 0x12B5D508 1496*3a608692SPiotr Kubaj .long 0x12D6D508 1497*3a608692SPiotr Kubaj lvx 24,0,11 1498*3a608692SPiotr Kubaj 1499*3a608692SPiotr Kubaj subic 5,5,129 1500*3a608692SPiotr Kubaj .long 0x11EFDD08 1501*3a608692SPiotr Kubaj addi 5,5,1 1502*3a608692SPiotr Kubaj .long 0x1210DD08 1503*3a608692SPiotr Kubaj .long 0x1231DD08 1504*3a608692SPiotr Kubaj .long 0x1252DD08 1505*3a608692SPiotr Kubaj .long 0x1273DD08 1506*3a608692SPiotr Kubaj .long 0x1294DD08 1507*3a608692SPiotr Kubaj .long 0x12B5DD08 1508*3a608692SPiotr Kubaj .long 0x12D6DD08 1509*3a608692SPiotr Kubaj lvx 25,8,11 1510*3a608692SPiotr Kubaj 1511*3a608692SPiotr Kubaj .long 0x11EFE508 1512*3a608692SPiotr Kubaj .long 0x7C001E99 1513*3a608692SPiotr Kubaj .long 0x1210E508 1514*3a608692SPiotr Kubaj .long 0x7C281E99 1515*3a608692SPiotr Kubaj .long 0x1231E508 1516*3a608692SPiotr Kubaj .long 0x7C5A1E99 1517*3a608692SPiotr Kubaj .long 0x1252E508 1518*3a608692SPiotr Kubaj .long 0x7C7B1E99 1519*3a608692SPiotr Kubaj .long 0x1273E508 1520*3a608692SPiotr Kubaj .long 0x7D5C1E99 1521*3a608692SPiotr Kubaj .long 0x1294E508 1522*3a608692SPiotr Kubaj .long 0x7D9D1E99 1523*3a608692SPiotr Kubaj .long 0x12B5E508 1524*3a608692SPiotr Kubaj .long 0x7DBE1E99 1525*3a608692SPiotr Kubaj .long 0x12D6E508 1526*3a608692SPiotr Kubaj .long 0x7DDF1E99 1527*3a608692SPiotr Kubaj addi 3,3,0x80 1528*3a608692SPiotr Kubaj 1529*3a608692SPiotr Kubaj .long 0x11EFED08 1530*3a608692SPiotr Kubaj 1531*3a608692SPiotr Kubaj .long 0x1210ED08 1532*3a608692SPiotr Kubaj 1533*3a608692SPiotr Kubaj .long 0x1231ED08 1534*3a608692SPiotr Kubaj 1535*3a608692SPiotr Kubaj .long 0x1252ED08 1536*3a608692SPiotr Kubaj 1537*3a608692SPiotr Kubaj .long 0x1273ED08 1538*3a608692SPiotr Kubaj 1539*3a608692SPiotr Kubaj .long 0x1294ED08 1540*3a608692SPiotr Kubaj 1541*3a608692SPiotr Kubaj .long 0x12B5ED08 1542*3a608692SPiotr Kubaj 1543*3a608692SPiotr Kubaj .long 0x12D6ED08 1544*3a608692SPiotr Kubaj 1545*3a608692SPiotr Kubaj 1546*3a608692SPiotr Kubaj add 3,3,0 1547*3a608692SPiotr Kubaj 1548*3a608692SPiotr Kubaj 1549*3a608692SPiotr Kubaj 1550*3a608692SPiotr Kubaj subfe. 0,0,0 1551*3a608692SPiotr Kubaj .long 0x11EFF508 1552*3a608692SPiotr Kubaj vxor 0,0,31 1553*3a608692SPiotr Kubaj .long 0x1210F508 1554*3a608692SPiotr Kubaj vxor 1,1,31 1555*3a608692SPiotr Kubaj .long 0x1231F508 1556*3a608692SPiotr Kubaj vxor 2,2,31 1557*3a608692SPiotr Kubaj .long 0x1252F508 1558*3a608692SPiotr Kubaj vxor 3,3,31 1559*3a608692SPiotr Kubaj .long 0x1273F508 1560*3a608692SPiotr Kubaj vxor 10,10,31 1561*3a608692SPiotr Kubaj .long 0x1294F508 1562*3a608692SPiotr Kubaj vxor 12,12,31 1563*3a608692SPiotr Kubaj .long 0x12B5F508 1564*3a608692SPiotr Kubaj vxor 13,13,31 1565*3a608692SPiotr Kubaj .long 0x12D6F508 1566*3a608692SPiotr Kubaj vxor 14,14,31 1567*3a608692SPiotr Kubaj 1568*3a608692SPiotr Kubaj bne .Lctr32_enc8x_break 1569*3a608692SPiotr Kubaj 1570*3a608692SPiotr Kubaj .long 0x100F0509 1571*3a608692SPiotr Kubaj .long 0x10300D09 1572*3a608692SPiotr Kubaj vadduwm 16,4,11 1573*3a608692SPiotr Kubaj .long 0x10511509 1574*3a608692SPiotr Kubaj vadduwm 17,4,7 1575*3a608692SPiotr Kubaj vxor 15,4,23 1576*3a608692SPiotr Kubaj .long 0x10721D09 1577*3a608692SPiotr Kubaj vadduwm 18,16,7 1578*3a608692SPiotr Kubaj vxor 16,16,23 1579*3a608692SPiotr Kubaj .long 0x11535509 1580*3a608692SPiotr Kubaj vadduwm 19,17,7 1581*3a608692SPiotr Kubaj vxor 17,17,23 1582*3a608692SPiotr Kubaj .long 0x11946509 1583*3a608692SPiotr Kubaj vadduwm 20,18,7 1584*3a608692SPiotr Kubaj vxor 18,18,23 1585*3a608692SPiotr Kubaj .long 0x11B56D09 1586*3a608692SPiotr Kubaj vadduwm 21,19,7 1587*3a608692SPiotr Kubaj vxor 19,19,23 1588*3a608692SPiotr Kubaj .long 0x11D67509 1589*3a608692SPiotr Kubaj vadduwm 22,20,7 1590*3a608692SPiotr Kubaj vxor 20,20,23 1591*3a608692SPiotr Kubaj 1592*3a608692SPiotr Kubaj vadduwm 4,21,7 1593*3a608692SPiotr Kubaj vxor 21,21,23 1594*3a608692SPiotr Kubaj 1595*3a608692SPiotr Kubaj vxor 22,22,23 1596*3a608692SPiotr Kubaj mtctr 9 1597*3a608692SPiotr Kubaj 1598*3a608692SPiotr Kubaj .long 0x11EFC508 1599*3a608692SPiotr Kubaj .long 0x7C002799 1600*3a608692SPiotr Kubaj 1601*3a608692SPiotr Kubaj .long 0x1210C508 1602*3a608692SPiotr Kubaj .long 0x7C282799 1603*3a608692SPiotr Kubaj 1604*3a608692SPiotr Kubaj .long 0x1231C508 1605*3a608692SPiotr Kubaj .long 0x7C5A2799 1606*3a608692SPiotr Kubaj 1607*3a608692SPiotr Kubaj .long 0x1252C508 1608*3a608692SPiotr Kubaj .long 0x7C7B2799 1609*3a608692SPiotr Kubaj 1610*3a608692SPiotr Kubaj .long 0x1273C508 1611*3a608692SPiotr Kubaj .long 0x7D5C2799 1612*3a608692SPiotr Kubaj 1613*3a608692SPiotr Kubaj .long 0x1294C508 1614*3a608692SPiotr Kubaj .long 0x7D9D2799 1615*3a608692SPiotr Kubaj 1616*3a608692SPiotr Kubaj .long 0x12B5C508 1617*3a608692SPiotr Kubaj .long 0x7DBE2799 1618*3a608692SPiotr Kubaj .long 0x12D6C508 1619*3a608692SPiotr Kubaj .long 0x7DDF2799 1620*3a608692SPiotr Kubaj addi 4,4,0x80 1621*3a608692SPiotr Kubaj 1622*3a608692SPiotr Kubaj b .Loop_ctr32_enc8x_middle 1623*3a608692SPiotr Kubaj 1624*3a608692SPiotr Kubaj.align 5 1625*3a608692SPiotr Kubaj.Lctr32_enc8x_break: 1626*3a608692SPiotr Kubaj cmpwi 5,-0x60 1627*3a608692SPiotr Kubaj blt .Lctr32_enc8x_one 1628*3a608692SPiotr Kubaj nop 1629*3a608692SPiotr Kubaj beq .Lctr32_enc8x_two 1630*3a608692SPiotr Kubaj cmpwi 5,-0x40 1631*3a608692SPiotr Kubaj blt .Lctr32_enc8x_three 1632*3a608692SPiotr Kubaj nop 1633*3a608692SPiotr Kubaj beq .Lctr32_enc8x_four 1634*3a608692SPiotr Kubaj cmpwi 5,-0x20 1635*3a608692SPiotr Kubaj blt .Lctr32_enc8x_five 1636*3a608692SPiotr Kubaj nop 1637*3a608692SPiotr Kubaj beq .Lctr32_enc8x_six 1638*3a608692SPiotr Kubaj cmpwi 5,0x00 1639*3a608692SPiotr Kubaj blt .Lctr32_enc8x_seven 1640*3a608692SPiotr Kubaj 1641*3a608692SPiotr Kubaj.Lctr32_enc8x_eight: 1642*3a608692SPiotr Kubaj .long 0x11EF0509 1643*3a608692SPiotr Kubaj .long 0x12100D09 1644*3a608692SPiotr Kubaj .long 0x12311509 1645*3a608692SPiotr Kubaj .long 0x12521D09 1646*3a608692SPiotr Kubaj .long 0x12735509 1647*3a608692SPiotr Kubaj .long 0x12946509 1648*3a608692SPiotr Kubaj .long 0x12B56D09 1649*3a608692SPiotr Kubaj .long 0x12D67509 1650*3a608692SPiotr Kubaj 1651*3a608692SPiotr Kubaj 1652*3a608692SPiotr Kubaj 1653*3a608692SPiotr Kubaj .long 0x7DE02799 1654*3a608692SPiotr Kubaj 1655*3a608692SPiotr Kubaj .long 0x7E082799 1656*3a608692SPiotr Kubaj 1657*3a608692SPiotr Kubaj .long 0x7E3A2799 1658*3a608692SPiotr Kubaj 1659*3a608692SPiotr Kubaj .long 0x7E5B2799 1660*3a608692SPiotr Kubaj 1661*3a608692SPiotr Kubaj .long 0x7E7C2799 1662*3a608692SPiotr Kubaj 1663*3a608692SPiotr Kubaj .long 0x7E9D2799 1664*3a608692SPiotr Kubaj 1665*3a608692SPiotr Kubaj .long 0x7EBE2799 1666*3a608692SPiotr Kubaj .long 0x7EDF2799 1667*3a608692SPiotr Kubaj addi 4,4,0x80 1668*3a608692SPiotr Kubaj b .Lctr32_enc8x_done 1669*3a608692SPiotr Kubaj 1670*3a608692SPiotr Kubaj.align 5 1671*3a608692SPiotr Kubaj.Lctr32_enc8x_seven: 1672*3a608692SPiotr Kubaj .long 0x11EF0D09 1673*3a608692SPiotr Kubaj .long 0x12101509 1674*3a608692SPiotr Kubaj .long 0x12311D09 1675*3a608692SPiotr Kubaj .long 0x12525509 1676*3a608692SPiotr Kubaj .long 0x12736509 1677*3a608692SPiotr Kubaj .long 0x12946D09 1678*3a608692SPiotr Kubaj .long 0x12B57509 1679*3a608692SPiotr Kubaj 1680*3a608692SPiotr Kubaj 1681*3a608692SPiotr Kubaj 1682*3a608692SPiotr Kubaj .long 0x7DE02799 1683*3a608692SPiotr Kubaj 1684*3a608692SPiotr Kubaj .long 0x7E082799 1685*3a608692SPiotr Kubaj 1686*3a608692SPiotr Kubaj .long 0x7E3A2799 1687*3a608692SPiotr Kubaj 1688*3a608692SPiotr Kubaj .long 0x7E5B2799 1689*3a608692SPiotr Kubaj 1690*3a608692SPiotr Kubaj .long 0x7E7C2799 1691*3a608692SPiotr Kubaj 1692*3a608692SPiotr Kubaj .long 0x7E9D2799 1693*3a608692SPiotr Kubaj .long 0x7EBE2799 1694*3a608692SPiotr Kubaj addi 4,4,0x70 1695*3a608692SPiotr Kubaj b .Lctr32_enc8x_done 1696*3a608692SPiotr Kubaj 1697*3a608692SPiotr Kubaj.align 5 1698*3a608692SPiotr Kubaj.Lctr32_enc8x_six: 1699*3a608692SPiotr Kubaj .long 0x11EF1509 1700*3a608692SPiotr Kubaj .long 0x12101D09 1701*3a608692SPiotr Kubaj .long 0x12315509 1702*3a608692SPiotr Kubaj .long 0x12526509 1703*3a608692SPiotr Kubaj .long 0x12736D09 1704*3a608692SPiotr Kubaj .long 0x12947509 1705*3a608692SPiotr Kubaj 1706*3a608692SPiotr Kubaj 1707*3a608692SPiotr Kubaj 1708*3a608692SPiotr Kubaj .long 0x7DE02799 1709*3a608692SPiotr Kubaj 1710*3a608692SPiotr Kubaj .long 0x7E082799 1711*3a608692SPiotr Kubaj 1712*3a608692SPiotr Kubaj .long 0x7E3A2799 1713*3a608692SPiotr Kubaj 1714*3a608692SPiotr Kubaj .long 0x7E5B2799 1715*3a608692SPiotr Kubaj 1716*3a608692SPiotr Kubaj .long 0x7E7C2799 1717*3a608692SPiotr Kubaj .long 0x7E9D2799 1718*3a608692SPiotr Kubaj addi 4,4,0x60 1719*3a608692SPiotr Kubaj b .Lctr32_enc8x_done 1720*3a608692SPiotr Kubaj 1721*3a608692SPiotr Kubaj.align 5 1722*3a608692SPiotr Kubaj.Lctr32_enc8x_five: 1723*3a608692SPiotr Kubaj .long 0x11EF1D09 1724*3a608692SPiotr Kubaj .long 0x12105509 1725*3a608692SPiotr Kubaj .long 0x12316509 1726*3a608692SPiotr Kubaj .long 0x12526D09 1727*3a608692SPiotr Kubaj .long 0x12737509 1728*3a608692SPiotr Kubaj 1729*3a608692SPiotr Kubaj 1730*3a608692SPiotr Kubaj 1731*3a608692SPiotr Kubaj .long 0x7DE02799 1732*3a608692SPiotr Kubaj 1733*3a608692SPiotr Kubaj .long 0x7E082799 1734*3a608692SPiotr Kubaj 1735*3a608692SPiotr Kubaj .long 0x7E3A2799 1736*3a608692SPiotr Kubaj 1737*3a608692SPiotr Kubaj .long 0x7E5B2799 1738*3a608692SPiotr Kubaj .long 0x7E7C2799 1739*3a608692SPiotr Kubaj addi 4,4,0x50 1740*3a608692SPiotr Kubaj b .Lctr32_enc8x_done 1741*3a608692SPiotr Kubaj 1742*3a608692SPiotr Kubaj.align 5 1743*3a608692SPiotr Kubaj.Lctr32_enc8x_four: 1744*3a608692SPiotr Kubaj .long 0x11EF5509 1745*3a608692SPiotr Kubaj .long 0x12106509 1746*3a608692SPiotr Kubaj .long 0x12316D09 1747*3a608692SPiotr Kubaj .long 0x12527509 1748*3a608692SPiotr Kubaj 1749*3a608692SPiotr Kubaj 1750*3a608692SPiotr Kubaj 1751*3a608692SPiotr Kubaj .long 0x7DE02799 1752*3a608692SPiotr Kubaj 1753*3a608692SPiotr Kubaj .long 0x7E082799 1754*3a608692SPiotr Kubaj 1755*3a608692SPiotr Kubaj .long 0x7E3A2799 1756*3a608692SPiotr Kubaj .long 0x7E5B2799 1757*3a608692SPiotr Kubaj addi 4,4,0x40 1758*3a608692SPiotr Kubaj b .Lctr32_enc8x_done 1759*3a608692SPiotr Kubaj 1760*3a608692SPiotr Kubaj.align 5 1761*3a608692SPiotr Kubaj.Lctr32_enc8x_three: 1762*3a608692SPiotr Kubaj .long 0x11EF6509 1763*3a608692SPiotr Kubaj .long 0x12106D09 1764*3a608692SPiotr Kubaj .long 0x12317509 1765*3a608692SPiotr Kubaj 1766*3a608692SPiotr Kubaj 1767*3a608692SPiotr Kubaj 1768*3a608692SPiotr Kubaj .long 0x7DE02799 1769*3a608692SPiotr Kubaj 1770*3a608692SPiotr Kubaj .long 0x7E082799 1771*3a608692SPiotr Kubaj .long 0x7E3A2799 1772*3a608692SPiotr Kubaj addi 4,4,0x30 1773*3a608692SPiotr Kubaj b .Lctr32_enc8x_done 1774*3a608692SPiotr Kubaj 1775*3a608692SPiotr Kubaj.align 5 1776*3a608692SPiotr Kubaj.Lctr32_enc8x_two: 1777*3a608692SPiotr Kubaj .long 0x11EF6D09 1778*3a608692SPiotr Kubaj .long 0x12107509 1779*3a608692SPiotr Kubaj 1780*3a608692SPiotr Kubaj 1781*3a608692SPiotr Kubaj 1782*3a608692SPiotr Kubaj .long 0x7DE02799 1783*3a608692SPiotr Kubaj .long 0x7E082799 1784*3a608692SPiotr Kubaj addi 4,4,0x20 1785*3a608692SPiotr Kubaj b .Lctr32_enc8x_done 1786*3a608692SPiotr Kubaj 1787*3a608692SPiotr Kubaj.align 5 1788*3a608692SPiotr Kubaj.Lctr32_enc8x_one: 1789*3a608692SPiotr Kubaj .long 0x11EF7509 1790*3a608692SPiotr Kubaj 1791*3a608692SPiotr Kubaj 1792*3a608692SPiotr Kubaj .long 0x7DE02799 1793*3a608692SPiotr Kubaj addi 4,4,0x10 1794*3a608692SPiotr Kubaj 1795*3a608692SPiotr Kubaj.Lctr32_enc8x_done: 1796*3a608692SPiotr Kubaj li 10,79 1797*3a608692SPiotr Kubaj li 11,95 1798*3a608692SPiotr Kubaj stvx 6,10,1 1799*3a608692SPiotr Kubaj addi 10,10,32 1800*3a608692SPiotr Kubaj stvx 6,11,1 1801*3a608692SPiotr Kubaj addi 11,11,32 1802*3a608692SPiotr Kubaj stvx 6,10,1 1803*3a608692SPiotr Kubaj addi 10,10,32 1804*3a608692SPiotr Kubaj stvx 6,11,1 1805*3a608692SPiotr Kubaj addi 11,11,32 1806*3a608692SPiotr Kubaj stvx 6,10,1 1807*3a608692SPiotr Kubaj addi 10,10,32 1808*3a608692SPiotr Kubaj stvx 6,11,1 1809*3a608692SPiotr Kubaj addi 11,11,32 1810*3a608692SPiotr Kubaj stvx 6,10,1 1811*3a608692SPiotr Kubaj addi 10,10,32 1812*3a608692SPiotr Kubaj stvx 6,11,1 1813*3a608692SPiotr Kubaj addi 11,11,32 1814*3a608692SPiotr Kubaj 1815*3a608692SPiotr Kubaj or 12,12,12 1816*3a608692SPiotr Kubaj lvx 20,10,1 1817*3a608692SPiotr Kubaj addi 10,10,32 1818*3a608692SPiotr Kubaj lvx 21,11,1 1819*3a608692SPiotr Kubaj addi 11,11,32 1820*3a608692SPiotr Kubaj lvx 22,10,1 1821*3a608692SPiotr Kubaj addi 10,10,32 1822*3a608692SPiotr Kubaj lvx 23,11,1 1823*3a608692SPiotr Kubaj addi 11,11,32 1824*3a608692SPiotr Kubaj lvx 24,10,1 1825*3a608692SPiotr Kubaj addi 10,10,32 1826*3a608692SPiotr Kubaj lvx 25,11,1 1827*3a608692SPiotr Kubaj addi 11,11,32 1828*3a608692SPiotr Kubaj lvx 26,10,1 1829*3a608692SPiotr Kubaj addi 10,10,32 1830*3a608692SPiotr Kubaj lvx 27,11,1 1831*3a608692SPiotr Kubaj addi 11,11,32 1832*3a608692SPiotr Kubaj lvx 28,10,1 1833*3a608692SPiotr Kubaj addi 10,10,32 1834*3a608692SPiotr Kubaj lvx 29,11,1 1835*3a608692SPiotr Kubaj addi 11,11,32 1836*3a608692SPiotr Kubaj lvx 30,10,1 1837*3a608692SPiotr Kubaj lvx 31,11,1 1838*3a608692SPiotr Kubaj ld 26,400(1) 1839*3a608692SPiotr Kubaj ld 27,408(1) 1840*3a608692SPiotr Kubaj ld 28,416(1) 1841*3a608692SPiotr Kubaj ld 29,424(1) 1842*3a608692SPiotr Kubaj ld 30,432(1) 1843*3a608692SPiotr Kubaj ld 31,440(1) 1844*3a608692SPiotr Kubaj addi 1,1,448 1845*3a608692SPiotr Kubaj blr 1846*3a608692SPiotr Kubaj.long 0 1847*3a608692SPiotr Kubaj.byte 0,12,0x04,0,0x80,6,6,0 1848*3a608692SPiotr Kubaj.long 0 1849*3a608692SPiotr Kubaj.size aes_p8_ctr32_encrypt_blocks,.-aes_p8_ctr32_encrypt_blocks 1850*3a608692SPiotr Kubaj.globl aes_p8_xts_encrypt 1851*3a608692SPiotr Kubaj.type aes_p8_xts_encrypt,@function 1852*3a608692SPiotr Kubaj.align 5 1853*3a608692SPiotr Kubajaes_p8_xts_encrypt: 1854*3a608692SPiotr Kubaj.localentry aes_p8_xts_encrypt,0 1855*3a608692SPiotr Kubaj 1856*3a608692SPiotr Kubaj mr 10,3 1857*3a608692SPiotr Kubaj li 3,-1 1858*3a608692SPiotr Kubaj cmpldi 5,16 1859*3a608692SPiotr Kubaj .long 0x4dc00020 1860*3a608692SPiotr Kubaj 1861*3a608692SPiotr Kubaj lis 0,0xfff0 1862*3a608692SPiotr Kubaj li 12,-1 1863*3a608692SPiotr Kubaj li 11,0 1864*3a608692SPiotr Kubaj or 0,0,0 1865*3a608692SPiotr Kubaj 1866*3a608692SPiotr Kubaj vspltisb 9,0x07 1867*3a608692SPiotr Kubaj 1868*3a608692SPiotr Kubaj 1869*3a608692SPiotr Kubaj 1870*3a608692SPiotr Kubaj 1871*3a608692SPiotr Kubaj li 3,15 1872*3a608692SPiotr Kubaj lvx 8,0,8 1873*3a608692SPiotr Kubaj lvsl 5,0,8 1874*3a608692SPiotr Kubaj lvx 4,3,8 1875*3a608692SPiotr Kubaj 1876*3a608692SPiotr Kubaj vperm 8,8,4,5 1877*3a608692SPiotr Kubaj 1878*3a608692SPiotr Kubaj neg 11,10 1879*3a608692SPiotr Kubaj lvsr 5,0,11 1880*3a608692SPiotr Kubaj lvx 2,0,10 1881*3a608692SPiotr Kubaj addi 10,10,15 1882*3a608692SPiotr Kubaj 1883*3a608692SPiotr Kubaj 1884*3a608692SPiotr Kubaj cmpldi 7,0 1885*3a608692SPiotr Kubaj beq .Lxts_enc_no_key2 1886*3a608692SPiotr Kubaj 1887*3a608692SPiotr Kubaj lvsl 7,0,7 1888*3a608692SPiotr Kubaj lwz 9,240(7) 1889*3a608692SPiotr Kubaj srwi 9,9,1 1890*3a608692SPiotr Kubaj subi 9,9,1 1891*3a608692SPiotr Kubaj li 3,16 1892*3a608692SPiotr Kubaj 1893*3a608692SPiotr Kubaj lvx 0,0,7 1894*3a608692SPiotr Kubaj lvx 1,3,7 1895*3a608692SPiotr Kubaj addi 3,3,16 1896*3a608692SPiotr Kubaj vperm 0,0,1,7 1897*3a608692SPiotr Kubaj vxor 8,8,0 1898*3a608692SPiotr Kubaj lvx 0,3,7 1899*3a608692SPiotr Kubaj addi 3,3,16 1900*3a608692SPiotr Kubaj mtctr 9 1901*3a608692SPiotr Kubaj 1902*3a608692SPiotr Kubaj.Ltweak_xts_enc: 1903*3a608692SPiotr Kubaj vperm 1,1,0,7 1904*3a608692SPiotr Kubaj .long 0x11080D08 1905*3a608692SPiotr Kubaj lvx 1,3,7 1906*3a608692SPiotr Kubaj addi 3,3,16 1907*3a608692SPiotr Kubaj vperm 0,0,1,7 1908*3a608692SPiotr Kubaj .long 0x11080508 1909*3a608692SPiotr Kubaj lvx 0,3,7 1910*3a608692SPiotr Kubaj addi 3,3,16 1911*3a608692SPiotr Kubaj bdnz .Ltweak_xts_enc 1912*3a608692SPiotr Kubaj 1913*3a608692SPiotr Kubaj vperm 1,1,0,7 1914*3a608692SPiotr Kubaj .long 0x11080D08 1915*3a608692SPiotr Kubaj lvx 1,3,7 1916*3a608692SPiotr Kubaj vperm 0,0,1,7 1917*3a608692SPiotr Kubaj .long 0x11080509 1918*3a608692SPiotr Kubaj 1919*3a608692SPiotr Kubaj li 8,0 1920*3a608692SPiotr Kubaj b .Lxts_enc 1921*3a608692SPiotr Kubaj 1922*3a608692SPiotr Kubaj.Lxts_enc_no_key2: 1923*3a608692SPiotr Kubaj li 3,-16 1924*3a608692SPiotr Kubaj and 5,5,3 1925*3a608692SPiotr Kubaj 1926*3a608692SPiotr Kubaj 1927*3a608692SPiotr Kubaj.Lxts_enc: 1928*3a608692SPiotr Kubaj lvx 4,0,10 1929*3a608692SPiotr Kubaj addi 10,10,16 1930*3a608692SPiotr Kubaj 1931*3a608692SPiotr Kubaj lvsl 7,0,6 1932*3a608692SPiotr Kubaj lwz 9,240(6) 1933*3a608692SPiotr Kubaj srwi 9,9,1 1934*3a608692SPiotr Kubaj subi 9,9,1 1935*3a608692SPiotr Kubaj li 3,16 1936*3a608692SPiotr Kubaj 1937*3a608692SPiotr Kubaj vslb 10,9,9 1938*3a608692SPiotr Kubaj vor 10,10,9 1939*3a608692SPiotr Kubaj vspltisb 11,1 1940*3a608692SPiotr Kubaj vsldoi 10,10,11,15 1941*3a608692SPiotr Kubaj 1942*3a608692SPiotr Kubaj cmpldi 5,96 1943*3a608692SPiotr Kubaj bge _aesp8_xts_encrypt6x 1944*3a608692SPiotr Kubaj 1945*3a608692SPiotr Kubaj andi. 7,5,15 1946*3a608692SPiotr Kubaj subic 0,5,32 1947*3a608692SPiotr Kubaj subi 7,7,16 1948*3a608692SPiotr Kubaj subfe 0,0,0 1949*3a608692SPiotr Kubaj and 0,0,7 1950*3a608692SPiotr Kubaj add 10,10,0 1951*3a608692SPiotr Kubaj 1952*3a608692SPiotr Kubaj lvx 0,0,6 1953*3a608692SPiotr Kubaj lvx 1,3,6 1954*3a608692SPiotr Kubaj addi 3,3,16 1955*3a608692SPiotr Kubaj vperm 2,2,4,5 1956*3a608692SPiotr Kubaj vperm 0,0,1,7 1957*3a608692SPiotr Kubaj vxor 2,2,8 1958*3a608692SPiotr Kubaj vxor 2,2,0 1959*3a608692SPiotr Kubaj lvx 0,3,6 1960*3a608692SPiotr Kubaj addi 3,3,16 1961*3a608692SPiotr Kubaj mtctr 9 1962*3a608692SPiotr Kubaj b .Loop_xts_enc 1963*3a608692SPiotr Kubaj 1964*3a608692SPiotr Kubaj.align 5 1965*3a608692SPiotr Kubaj.Loop_xts_enc: 1966*3a608692SPiotr Kubaj vperm 1,1,0,7 1967*3a608692SPiotr Kubaj .long 0x10420D08 1968*3a608692SPiotr Kubaj lvx 1,3,6 1969*3a608692SPiotr Kubaj addi 3,3,16 1970*3a608692SPiotr Kubaj vperm 0,0,1,7 1971*3a608692SPiotr Kubaj .long 0x10420508 1972*3a608692SPiotr Kubaj lvx 0,3,6 1973*3a608692SPiotr Kubaj addi 3,3,16 1974*3a608692SPiotr Kubaj bdnz .Loop_xts_enc 1975*3a608692SPiotr Kubaj 1976*3a608692SPiotr Kubaj vperm 1,1,0,7 1977*3a608692SPiotr Kubaj .long 0x10420D08 1978*3a608692SPiotr Kubaj lvx 1,3,6 1979*3a608692SPiotr Kubaj li 3,16 1980*3a608692SPiotr Kubaj vperm 0,0,1,7 1981*3a608692SPiotr Kubaj vxor 0,0,8 1982*3a608692SPiotr Kubaj .long 0x10620509 1983*3a608692SPiotr Kubaj 1984*3a608692SPiotr Kubaj 1985*3a608692SPiotr Kubaj nop 1986*3a608692SPiotr Kubaj 1987*3a608692SPiotr Kubaj .long 0x7C602799 1988*3a608692SPiotr Kubaj addi 4,4,16 1989*3a608692SPiotr Kubaj 1990*3a608692SPiotr Kubaj subic. 5,5,16 1991*3a608692SPiotr Kubaj beq .Lxts_enc_done 1992*3a608692SPiotr Kubaj 1993*3a608692SPiotr Kubaj vor 2,4,4 1994*3a608692SPiotr Kubaj lvx 4,0,10 1995*3a608692SPiotr Kubaj addi 10,10,16 1996*3a608692SPiotr Kubaj lvx 0,0,6 1997*3a608692SPiotr Kubaj lvx 1,3,6 1998*3a608692SPiotr Kubaj addi 3,3,16 1999*3a608692SPiotr Kubaj 2000*3a608692SPiotr Kubaj subic 0,5,32 2001*3a608692SPiotr Kubaj subfe 0,0,0 2002*3a608692SPiotr Kubaj and 0,0,7 2003*3a608692SPiotr Kubaj add 10,10,0 2004*3a608692SPiotr Kubaj 2005*3a608692SPiotr Kubaj vsrab 11,8,9 2006*3a608692SPiotr Kubaj vaddubm 8,8,8 2007*3a608692SPiotr Kubaj vsldoi 11,11,11,15 2008*3a608692SPiotr Kubaj vand 11,11,10 2009*3a608692SPiotr Kubaj vxor 8,8,11 2010*3a608692SPiotr Kubaj 2011*3a608692SPiotr Kubaj vperm 2,2,4,5 2012*3a608692SPiotr Kubaj vperm 0,0,1,7 2013*3a608692SPiotr Kubaj vxor 2,2,8 2014*3a608692SPiotr Kubaj vxor 3,3,0 2015*3a608692SPiotr Kubaj vxor 2,2,0 2016*3a608692SPiotr Kubaj lvx 0,3,6 2017*3a608692SPiotr Kubaj addi 3,3,16 2018*3a608692SPiotr Kubaj 2019*3a608692SPiotr Kubaj mtctr 9 2020*3a608692SPiotr Kubaj cmpldi 5,16 2021*3a608692SPiotr Kubaj bge .Loop_xts_enc 2022*3a608692SPiotr Kubaj 2023*3a608692SPiotr Kubaj vxor 3,3,8 2024*3a608692SPiotr Kubaj lvsr 5,0,5 2025*3a608692SPiotr Kubaj vxor 4,4,4 2026*3a608692SPiotr Kubaj vspltisb 11,-1 2027*3a608692SPiotr Kubaj vperm 4,4,11,5 2028*3a608692SPiotr Kubaj vsel 2,2,3,4 2029*3a608692SPiotr Kubaj 2030*3a608692SPiotr Kubaj subi 11,4,17 2031*3a608692SPiotr Kubaj subi 4,4,16 2032*3a608692SPiotr Kubaj mtctr 5 2033*3a608692SPiotr Kubaj li 5,16 2034*3a608692SPiotr Kubaj.Loop_xts_enc_steal: 2035*3a608692SPiotr Kubaj lbzu 0,1(11) 2036*3a608692SPiotr Kubaj stb 0,16(11) 2037*3a608692SPiotr Kubaj bdnz .Loop_xts_enc_steal 2038*3a608692SPiotr Kubaj 2039*3a608692SPiotr Kubaj mtctr 9 2040*3a608692SPiotr Kubaj b .Loop_xts_enc 2041*3a608692SPiotr Kubaj 2042*3a608692SPiotr Kubaj.Lxts_enc_done: 2043*3a608692SPiotr Kubaj cmpldi 8,0 2044*3a608692SPiotr Kubaj beq .Lxts_enc_ret 2045*3a608692SPiotr Kubaj 2046*3a608692SPiotr Kubaj vsrab 11,8,9 2047*3a608692SPiotr Kubaj vaddubm 8,8,8 2048*3a608692SPiotr Kubaj vsldoi 11,11,11,15 2049*3a608692SPiotr Kubaj vand 11,11,10 2050*3a608692SPiotr Kubaj vxor 8,8,11 2051*3a608692SPiotr Kubaj 2052*3a608692SPiotr Kubaj 2053*3a608692SPiotr Kubaj .long 0x7D004799 2054*3a608692SPiotr Kubaj 2055*3a608692SPiotr Kubaj.Lxts_enc_ret: 2056*3a608692SPiotr Kubaj or 12,12,12 2057*3a608692SPiotr Kubaj li 3,0 2058*3a608692SPiotr Kubaj blr 2059*3a608692SPiotr Kubaj.long 0 2060*3a608692SPiotr Kubaj.byte 0,12,0x04,0,0x80,6,6,0 2061*3a608692SPiotr Kubaj.long 0 2062*3a608692SPiotr Kubaj.size aes_p8_xts_encrypt,.-aes_p8_xts_encrypt 2063*3a608692SPiotr Kubaj 2064*3a608692SPiotr Kubaj.globl aes_p8_xts_decrypt 2065*3a608692SPiotr Kubaj.type aes_p8_xts_decrypt,@function 2066*3a608692SPiotr Kubaj.align 5 2067*3a608692SPiotr Kubajaes_p8_xts_decrypt: 2068*3a608692SPiotr Kubaj.localentry aes_p8_xts_decrypt,0 2069*3a608692SPiotr Kubaj 2070*3a608692SPiotr Kubaj mr 10,3 2071*3a608692SPiotr Kubaj li 3,-1 2072*3a608692SPiotr Kubaj cmpldi 5,16 2073*3a608692SPiotr Kubaj .long 0x4dc00020 2074*3a608692SPiotr Kubaj 2075*3a608692SPiotr Kubaj lis 0,0xfff8 2076*3a608692SPiotr Kubaj li 12,-1 2077*3a608692SPiotr Kubaj li 11,0 2078*3a608692SPiotr Kubaj or 0,0,0 2079*3a608692SPiotr Kubaj 2080*3a608692SPiotr Kubaj andi. 0,5,15 2081*3a608692SPiotr Kubaj neg 0,0 2082*3a608692SPiotr Kubaj andi. 0,0,16 2083*3a608692SPiotr Kubaj sub 5,5,0 2084*3a608692SPiotr Kubaj 2085*3a608692SPiotr Kubaj vspltisb 9,0x07 2086*3a608692SPiotr Kubaj 2087*3a608692SPiotr Kubaj 2088*3a608692SPiotr Kubaj 2089*3a608692SPiotr Kubaj 2090*3a608692SPiotr Kubaj li 3,15 2091*3a608692SPiotr Kubaj lvx 8,0,8 2092*3a608692SPiotr Kubaj lvsl 5,0,8 2093*3a608692SPiotr Kubaj lvx 4,3,8 2094*3a608692SPiotr Kubaj 2095*3a608692SPiotr Kubaj vperm 8,8,4,5 2096*3a608692SPiotr Kubaj 2097*3a608692SPiotr Kubaj neg 11,10 2098*3a608692SPiotr Kubaj lvsr 5,0,11 2099*3a608692SPiotr Kubaj lvx 2,0,10 2100*3a608692SPiotr Kubaj addi 10,10,15 2101*3a608692SPiotr Kubaj 2102*3a608692SPiotr Kubaj 2103*3a608692SPiotr Kubaj cmpldi 7,0 2104*3a608692SPiotr Kubaj beq .Lxts_dec_no_key2 2105*3a608692SPiotr Kubaj 2106*3a608692SPiotr Kubaj lvsl 7,0,7 2107*3a608692SPiotr Kubaj lwz 9,240(7) 2108*3a608692SPiotr Kubaj srwi 9,9,1 2109*3a608692SPiotr Kubaj subi 9,9,1 2110*3a608692SPiotr Kubaj li 3,16 2111*3a608692SPiotr Kubaj 2112*3a608692SPiotr Kubaj lvx 0,0,7 2113*3a608692SPiotr Kubaj lvx 1,3,7 2114*3a608692SPiotr Kubaj addi 3,3,16 2115*3a608692SPiotr Kubaj vperm 0,0,1,7 2116*3a608692SPiotr Kubaj vxor 8,8,0 2117*3a608692SPiotr Kubaj lvx 0,3,7 2118*3a608692SPiotr Kubaj addi 3,3,16 2119*3a608692SPiotr Kubaj mtctr 9 2120*3a608692SPiotr Kubaj 2121*3a608692SPiotr Kubaj.Ltweak_xts_dec: 2122*3a608692SPiotr Kubaj vperm 1,1,0,7 2123*3a608692SPiotr Kubaj .long 0x11080D08 2124*3a608692SPiotr Kubaj lvx 1,3,7 2125*3a608692SPiotr Kubaj addi 3,3,16 2126*3a608692SPiotr Kubaj vperm 0,0,1,7 2127*3a608692SPiotr Kubaj .long 0x11080508 2128*3a608692SPiotr Kubaj lvx 0,3,7 2129*3a608692SPiotr Kubaj addi 3,3,16 2130*3a608692SPiotr Kubaj bdnz .Ltweak_xts_dec 2131*3a608692SPiotr Kubaj 2132*3a608692SPiotr Kubaj vperm 1,1,0,7 2133*3a608692SPiotr Kubaj .long 0x11080D08 2134*3a608692SPiotr Kubaj lvx 1,3,7 2135*3a608692SPiotr Kubaj vperm 0,0,1,7 2136*3a608692SPiotr Kubaj .long 0x11080509 2137*3a608692SPiotr Kubaj 2138*3a608692SPiotr Kubaj li 8,0 2139*3a608692SPiotr Kubaj b .Lxts_dec 2140*3a608692SPiotr Kubaj 2141*3a608692SPiotr Kubaj.Lxts_dec_no_key2: 2142*3a608692SPiotr Kubaj neg 3,5 2143*3a608692SPiotr Kubaj andi. 3,3,15 2144*3a608692SPiotr Kubaj add 5,5,3 2145*3a608692SPiotr Kubaj 2146*3a608692SPiotr Kubaj 2147*3a608692SPiotr Kubaj.Lxts_dec: 2148*3a608692SPiotr Kubaj lvx 4,0,10 2149*3a608692SPiotr Kubaj addi 10,10,16 2150*3a608692SPiotr Kubaj 2151*3a608692SPiotr Kubaj lvsl 7,0,6 2152*3a608692SPiotr Kubaj lwz 9,240(6) 2153*3a608692SPiotr Kubaj srwi 9,9,1 2154*3a608692SPiotr Kubaj subi 9,9,1 2155*3a608692SPiotr Kubaj li 3,16 2156*3a608692SPiotr Kubaj 2157*3a608692SPiotr Kubaj vslb 10,9,9 2158*3a608692SPiotr Kubaj vor 10,10,9 2159*3a608692SPiotr Kubaj vspltisb 11,1 2160*3a608692SPiotr Kubaj vsldoi 10,10,11,15 2161*3a608692SPiotr Kubaj 2162*3a608692SPiotr Kubaj cmpldi 5,96 2163*3a608692SPiotr Kubaj bge _aesp8_xts_decrypt6x 2164*3a608692SPiotr Kubaj 2165*3a608692SPiotr Kubaj lvx 0,0,6 2166*3a608692SPiotr Kubaj lvx 1,3,6 2167*3a608692SPiotr Kubaj addi 3,3,16 2168*3a608692SPiotr Kubaj vperm 2,2,4,5 2169*3a608692SPiotr Kubaj vperm 0,0,1,7 2170*3a608692SPiotr Kubaj vxor 2,2,8 2171*3a608692SPiotr Kubaj vxor 2,2,0 2172*3a608692SPiotr Kubaj lvx 0,3,6 2173*3a608692SPiotr Kubaj addi 3,3,16 2174*3a608692SPiotr Kubaj mtctr 9 2175*3a608692SPiotr Kubaj 2176*3a608692SPiotr Kubaj cmpldi 5,16 2177*3a608692SPiotr Kubaj blt .Ltail_xts_dec 2178*3a608692SPiotr Kubaj b .Loop_xts_dec 2179*3a608692SPiotr Kubaj 2180*3a608692SPiotr Kubaj.align 5 2181*3a608692SPiotr Kubaj.Loop_xts_dec: 2182*3a608692SPiotr Kubaj vperm 1,1,0,7 2183*3a608692SPiotr Kubaj .long 0x10420D48 2184*3a608692SPiotr Kubaj lvx 1,3,6 2185*3a608692SPiotr Kubaj addi 3,3,16 2186*3a608692SPiotr Kubaj vperm 0,0,1,7 2187*3a608692SPiotr Kubaj .long 0x10420548 2188*3a608692SPiotr Kubaj lvx 0,3,6 2189*3a608692SPiotr Kubaj addi 3,3,16 2190*3a608692SPiotr Kubaj bdnz .Loop_xts_dec 2191*3a608692SPiotr Kubaj 2192*3a608692SPiotr Kubaj vperm 1,1,0,7 2193*3a608692SPiotr Kubaj .long 0x10420D48 2194*3a608692SPiotr Kubaj lvx 1,3,6 2195*3a608692SPiotr Kubaj li 3,16 2196*3a608692SPiotr Kubaj vperm 0,0,1,7 2197*3a608692SPiotr Kubaj vxor 0,0,8 2198*3a608692SPiotr Kubaj .long 0x10620549 2199*3a608692SPiotr Kubaj 2200*3a608692SPiotr Kubaj 2201*3a608692SPiotr Kubaj nop 2202*3a608692SPiotr Kubaj 2203*3a608692SPiotr Kubaj .long 0x7C602799 2204*3a608692SPiotr Kubaj addi 4,4,16 2205*3a608692SPiotr Kubaj 2206*3a608692SPiotr Kubaj subic. 5,5,16 2207*3a608692SPiotr Kubaj beq .Lxts_dec_done 2208*3a608692SPiotr Kubaj 2209*3a608692SPiotr Kubaj vor 2,4,4 2210*3a608692SPiotr Kubaj lvx 4,0,10 2211*3a608692SPiotr Kubaj addi 10,10,16 2212*3a608692SPiotr Kubaj lvx 0,0,6 2213*3a608692SPiotr Kubaj lvx 1,3,6 2214*3a608692SPiotr Kubaj addi 3,3,16 2215*3a608692SPiotr Kubaj 2216*3a608692SPiotr Kubaj vsrab 11,8,9 2217*3a608692SPiotr Kubaj vaddubm 8,8,8 2218*3a608692SPiotr Kubaj vsldoi 11,11,11,15 2219*3a608692SPiotr Kubaj vand 11,11,10 2220*3a608692SPiotr Kubaj vxor 8,8,11 2221*3a608692SPiotr Kubaj 2222*3a608692SPiotr Kubaj vperm 2,2,4,5 2223*3a608692SPiotr Kubaj vperm 0,0,1,7 2224*3a608692SPiotr Kubaj vxor 2,2,8 2225*3a608692SPiotr Kubaj vxor 2,2,0 2226*3a608692SPiotr Kubaj lvx 0,3,6 2227*3a608692SPiotr Kubaj addi 3,3,16 2228*3a608692SPiotr Kubaj 2229*3a608692SPiotr Kubaj mtctr 9 2230*3a608692SPiotr Kubaj cmpldi 5,16 2231*3a608692SPiotr Kubaj bge .Loop_xts_dec 2232*3a608692SPiotr Kubaj 2233*3a608692SPiotr Kubaj.Ltail_xts_dec: 2234*3a608692SPiotr Kubaj vsrab 11,8,9 2235*3a608692SPiotr Kubaj vaddubm 12,8,8 2236*3a608692SPiotr Kubaj vsldoi 11,11,11,15 2237*3a608692SPiotr Kubaj vand 11,11,10 2238*3a608692SPiotr Kubaj vxor 12,12,11 2239*3a608692SPiotr Kubaj 2240*3a608692SPiotr Kubaj subi 10,10,16 2241*3a608692SPiotr Kubaj add 10,10,5 2242*3a608692SPiotr Kubaj 2243*3a608692SPiotr Kubaj vxor 2,2,8 2244*3a608692SPiotr Kubaj vxor 2,2,12 2245*3a608692SPiotr Kubaj 2246*3a608692SPiotr Kubaj.Loop_xts_dec_short: 2247*3a608692SPiotr Kubaj vperm 1,1,0,7 2248*3a608692SPiotr Kubaj .long 0x10420D48 2249*3a608692SPiotr Kubaj lvx 1,3,6 2250*3a608692SPiotr Kubaj addi 3,3,16 2251*3a608692SPiotr Kubaj vperm 0,0,1,7 2252*3a608692SPiotr Kubaj .long 0x10420548 2253*3a608692SPiotr Kubaj lvx 0,3,6 2254*3a608692SPiotr Kubaj addi 3,3,16 2255*3a608692SPiotr Kubaj bdnz .Loop_xts_dec_short 2256*3a608692SPiotr Kubaj 2257*3a608692SPiotr Kubaj vperm 1,1,0,7 2258*3a608692SPiotr Kubaj .long 0x10420D48 2259*3a608692SPiotr Kubaj lvx 1,3,6 2260*3a608692SPiotr Kubaj li 3,16 2261*3a608692SPiotr Kubaj vperm 0,0,1,7 2262*3a608692SPiotr Kubaj vxor 0,0,12 2263*3a608692SPiotr Kubaj .long 0x10620549 2264*3a608692SPiotr Kubaj 2265*3a608692SPiotr Kubaj 2266*3a608692SPiotr Kubaj nop 2267*3a608692SPiotr Kubaj 2268*3a608692SPiotr Kubaj .long 0x7C602799 2269*3a608692SPiotr Kubaj 2270*3a608692SPiotr Kubaj vor 2,4,4 2271*3a608692SPiotr Kubaj lvx 4,0,10 2272*3a608692SPiotr Kubaj 2273*3a608692SPiotr Kubaj lvx 0,0,6 2274*3a608692SPiotr Kubaj lvx 1,3,6 2275*3a608692SPiotr Kubaj addi 3,3,16 2276*3a608692SPiotr Kubaj vperm 2,2,4,5 2277*3a608692SPiotr Kubaj vperm 0,0,1,7 2278*3a608692SPiotr Kubaj 2279*3a608692SPiotr Kubaj lvsr 5,0,5 2280*3a608692SPiotr Kubaj vxor 4,4,4 2281*3a608692SPiotr Kubaj vspltisb 11,-1 2282*3a608692SPiotr Kubaj vperm 4,4,11,5 2283*3a608692SPiotr Kubaj vsel 2,2,3,4 2284*3a608692SPiotr Kubaj 2285*3a608692SPiotr Kubaj vxor 0,0,8 2286*3a608692SPiotr Kubaj vxor 2,2,0 2287*3a608692SPiotr Kubaj lvx 0,3,6 2288*3a608692SPiotr Kubaj addi 3,3,16 2289*3a608692SPiotr Kubaj 2290*3a608692SPiotr Kubaj subi 11,4,1 2291*3a608692SPiotr Kubaj mtctr 5 2292*3a608692SPiotr Kubaj li 5,16 2293*3a608692SPiotr Kubaj.Loop_xts_dec_steal: 2294*3a608692SPiotr Kubaj lbzu 0,1(11) 2295*3a608692SPiotr Kubaj stb 0,16(11) 2296*3a608692SPiotr Kubaj bdnz .Loop_xts_dec_steal 2297*3a608692SPiotr Kubaj 2298*3a608692SPiotr Kubaj mtctr 9 2299*3a608692SPiotr Kubaj b .Loop_xts_dec 2300*3a608692SPiotr Kubaj 2301*3a608692SPiotr Kubaj.Lxts_dec_done: 2302*3a608692SPiotr Kubaj cmpldi 8,0 2303*3a608692SPiotr Kubaj beq .Lxts_dec_ret 2304*3a608692SPiotr Kubaj 2305*3a608692SPiotr Kubaj vsrab 11,8,9 2306*3a608692SPiotr Kubaj vaddubm 8,8,8 2307*3a608692SPiotr Kubaj vsldoi 11,11,11,15 2308*3a608692SPiotr Kubaj vand 11,11,10 2309*3a608692SPiotr Kubaj vxor 8,8,11 2310*3a608692SPiotr Kubaj 2311*3a608692SPiotr Kubaj 2312*3a608692SPiotr Kubaj .long 0x7D004799 2313*3a608692SPiotr Kubaj 2314*3a608692SPiotr Kubaj.Lxts_dec_ret: 2315*3a608692SPiotr Kubaj or 12,12,12 2316*3a608692SPiotr Kubaj li 3,0 2317*3a608692SPiotr Kubaj blr 2318*3a608692SPiotr Kubaj.long 0 2319*3a608692SPiotr Kubaj.byte 0,12,0x04,0,0x80,6,6,0 2320*3a608692SPiotr Kubaj.long 0 2321*3a608692SPiotr Kubaj.size aes_p8_xts_decrypt,.-aes_p8_xts_decrypt 2322*3a608692SPiotr Kubaj.align 5 2323*3a608692SPiotr Kubaj_aesp8_xts_encrypt6x: 2324*3a608692SPiotr Kubaj stdu 1,-448(1) 2325*3a608692SPiotr Kubaj mflr 11 2326*3a608692SPiotr Kubaj li 7,207 2327*3a608692SPiotr Kubaj li 3,223 2328*3a608692SPiotr Kubaj std 11,464(1) 2329*3a608692SPiotr Kubaj stvx 20,7,1 2330*3a608692SPiotr Kubaj addi 7,7,32 2331*3a608692SPiotr Kubaj stvx 21,3,1 2332*3a608692SPiotr Kubaj addi 3,3,32 2333*3a608692SPiotr Kubaj stvx 22,7,1 2334*3a608692SPiotr Kubaj addi 7,7,32 2335*3a608692SPiotr Kubaj stvx 23,3,1 2336*3a608692SPiotr Kubaj addi 3,3,32 2337*3a608692SPiotr Kubaj stvx 24,7,1 2338*3a608692SPiotr Kubaj addi 7,7,32 2339*3a608692SPiotr Kubaj stvx 25,3,1 2340*3a608692SPiotr Kubaj addi 3,3,32 2341*3a608692SPiotr Kubaj stvx 26,7,1 2342*3a608692SPiotr Kubaj addi 7,7,32 2343*3a608692SPiotr Kubaj stvx 27,3,1 2344*3a608692SPiotr Kubaj addi 3,3,32 2345*3a608692SPiotr Kubaj stvx 28,7,1 2346*3a608692SPiotr Kubaj addi 7,7,32 2347*3a608692SPiotr Kubaj stvx 29,3,1 2348*3a608692SPiotr Kubaj addi 3,3,32 2349*3a608692SPiotr Kubaj stvx 30,7,1 2350*3a608692SPiotr Kubaj stvx 31,3,1 2351*3a608692SPiotr Kubaj li 0,-1 2352*3a608692SPiotr Kubaj stw 12,396(1) 2353*3a608692SPiotr Kubaj li 3,0x10 2354*3a608692SPiotr Kubaj std 26,400(1) 2355*3a608692SPiotr Kubaj li 26,0x20 2356*3a608692SPiotr Kubaj std 27,408(1) 2357*3a608692SPiotr Kubaj li 27,0x30 2358*3a608692SPiotr Kubaj std 28,416(1) 2359*3a608692SPiotr Kubaj li 28,0x40 2360*3a608692SPiotr Kubaj std 29,424(1) 2361*3a608692SPiotr Kubaj li 29,0x50 2362*3a608692SPiotr Kubaj std 30,432(1) 2363*3a608692SPiotr Kubaj li 30,0x60 2364*3a608692SPiotr Kubaj std 31,440(1) 2365*3a608692SPiotr Kubaj li 31,0x70 2366*3a608692SPiotr Kubaj or 0,0,0 2367*3a608692SPiotr Kubaj 2368*3a608692SPiotr Kubaj subi 9,9,3 2369*3a608692SPiotr Kubaj 2370*3a608692SPiotr Kubaj lvx 23,0,6 2371*3a608692SPiotr Kubaj lvx 30,3,6 2372*3a608692SPiotr Kubaj addi 6,6,0x20 2373*3a608692SPiotr Kubaj lvx 31,0,6 2374*3a608692SPiotr Kubaj vperm 23,23,30,7 2375*3a608692SPiotr Kubaj addi 7,1,64+15 2376*3a608692SPiotr Kubaj mtctr 9 2377*3a608692SPiotr Kubaj 2378*3a608692SPiotr Kubaj.Load_xts_enc_key: 2379*3a608692SPiotr Kubaj vperm 24,30,31,7 2380*3a608692SPiotr Kubaj lvx 30,3,6 2381*3a608692SPiotr Kubaj addi 6,6,0x20 2382*3a608692SPiotr Kubaj stvx 24,0,7 2383*3a608692SPiotr Kubaj vperm 25,31,30,7 2384*3a608692SPiotr Kubaj lvx 31,0,6 2385*3a608692SPiotr Kubaj stvx 25,3,7 2386*3a608692SPiotr Kubaj addi 7,7,0x20 2387*3a608692SPiotr Kubaj bdnz .Load_xts_enc_key 2388*3a608692SPiotr Kubaj 2389*3a608692SPiotr Kubaj lvx 26,3,6 2390*3a608692SPiotr Kubaj vperm 24,30,31,7 2391*3a608692SPiotr Kubaj lvx 27,26,6 2392*3a608692SPiotr Kubaj stvx 24,0,7 2393*3a608692SPiotr Kubaj vperm 25,31,26,7 2394*3a608692SPiotr Kubaj lvx 28,27,6 2395*3a608692SPiotr Kubaj stvx 25,3,7 2396*3a608692SPiotr Kubaj addi 7,1,64+15 2397*3a608692SPiotr Kubaj vperm 26,26,27,7 2398*3a608692SPiotr Kubaj lvx 29,28,6 2399*3a608692SPiotr Kubaj vperm 27,27,28,7 2400*3a608692SPiotr Kubaj lvx 30,29,6 2401*3a608692SPiotr Kubaj vperm 28,28,29,7 2402*3a608692SPiotr Kubaj lvx 31,30,6 2403*3a608692SPiotr Kubaj vperm 29,29,30,7 2404*3a608692SPiotr Kubaj lvx 22,31,6 2405*3a608692SPiotr Kubaj vperm 30,30,31,7 2406*3a608692SPiotr Kubaj lvx 24,0,7 2407*3a608692SPiotr Kubaj vperm 31,31,22,7 2408*3a608692SPiotr Kubaj lvx 25,3,7 2409*3a608692SPiotr Kubaj 2410*3a608692SPiotr Kubaj vperm 0,2,4,5 2411*3a608692SPiotr Kubaj subi 10,10,31 2412*3a608692SPiotr Kubaj vxor 17,8,23 2413*3a608692SPiotr Kubaj vsrab 11,8,9 2414*3a608692SPiotr Kubaj vaddubm 8,8,8 2415*3a608692SPiotr Kubaj vsldoi 11,11,11,15 2416*3a608692SPiotr Kubaj vand 11,11,10 2417*3a608692SPiotr Kubaj vxor 7,0,17 2418*3a608692SPiotr Kubaj vxor 8,8,11 2419*3a608692SPiotr Kubaj 2420*3a608692SPiotr Kubaj .long 0x7C235699 2421*3a608692SPiotr Kubaj vxor 18,8,23 2422*3a608692SPiotr Kubaj vsrab 11,8,9 2423*3a608692SPiotr Kubaj vaddubm 8,8,8 2424*3a608692SPiotr Kubaj vsldoi 11,11,11,15 2425*3a608692SPiotr Kubaj 2426*3a608692SPiotr Kubaj vand 11,11,10 2427*3a608692SPiotr Kubaj vxor 12,1,18 2428*3a608692SPiotr Kubaj vxor 8,8,11 2429*3a608692SPiotr Kubaj 2430*3a608692SPiotr Kubaj .long 0x7C5A5699 2431*3a608692SPiotr Kubaj andi. 31,5,15 2432*3a608692SPiotr Kubaj vxor 19,8,23 2433*3a608692SPiotr Kubaj vsrab 11,8,9 2434*3a608692SPiotr Kubaj vaddubm 8,8,8 2435*3a608692SPiotr Kubaj vsldoi 11,11,11,15 2436*3a608692SPiotr Kubaj 2437*3a608692SPiotr Kubaj vand 11,11,10 2438*3a608692SPiotr Kubaj vxor 13,2,19 2439*3a608692SPiotr Kubaj vxor 8,8,11 2440*3a608692SPiotr Kubaj 2441*3a608692SPiotr Kubaj .long 0x7C7B5699 2442*3a608692SPiotr Kubaj sub 5,5,31 2443*3a608692SPiotr Kubaj vxor 20,8,23 2444*3a608692SPiotr Kubaj vsrab 11,8,9 2445*3a608692SPiotr Kubaj vaddubm 8,8,8 2446*3a608692SPiotr Kubaj vsldoi 11,11,11,15 2447*3a608692SPiotr Kubaj 2448*3a608692SPiotr Kubaj vand 11,11,10 2449*3a608692SPiotr Kubaj vxor 14,3,20 2450*3a608692SPiotr Kubaj vxor 8,8,11 2451*3a608692SPiotr Kubaj 2452*3a608692SPiotr Kubaj .long 0x7C9C5699 2453*3a608692SPiotr Kubaj subi 5,5,0x60 2454*3a608692SPiotr Kubaj vxor 21,8,23 2455*3a608692SPiotr Kubaj vsrab 11,8,9 2456*3a608692SPiotr Kubaj vaddubm 8,8,8 2457*3a608692SPiotr Kubaj vsldoi 11,11,11,15 2458*3a608692SPiotr Kubaj 2459*3a608692SPiotr Kubaj vand 11,11,10 2460*3a608692SPiotr Kubaj vxor 15,4,21 2461*3a608692SPiotr Kubaj vxor 8,8,11 2462*3a608692SPiotr Kubaj 2463*3a608692SPiotr Kubaj .long 0x7CBD5699 2464*3a608692SPiotr Kubaj addi 10,10,0x60 2465*3a608692SPiotr Kubaj vxor 22,8,23 2466*3a608692SPiotr Kubaj vsrab 11,8,9 2467*3a608692SPiotr Kubaj vaddubm 8,8,8 2468*3a608692SPiotr Kubaj vsldoi 11,11,11,15 2469*3a608692SPiotr Kubaj 2470*3a608692SPiotr Kubaj vand 11,11,10 2471*3a608692SPiotr Kubaj vxor 16,5,22 2472*3a608692SPiotr Kubaj vxor 8,8,11 2473*3a608692SPiotr Kubaj 2474*3a608692SPiotr Kubaj vxor 31,31,23 2475*3a608692SPiotr Kubaj mtctr 9 2476*3a608692SPiotr Kubaj b .Loop_xts_enc6x 2477*3a608692SPiotr Kubaj 2478*3a608692SPiotr Kubaj.align 5 2479*3a608692SPiotr Kubaj.Loop_xts_enc6x: 2480*3a608692SPiotr Kubaj .long 0x10E7C508 2481*3a608692SPiotr Kubaj .long 0x118CC508 2482*3a608692SPiotr Kubaj .long 0x11ADC508 2483*3a608692SPiotr Kubaj .long 0x11CEC508 2484*3a608692SPiotr Kubaj .long 0x11EFC508 2485*3a608692SPiotr Kubaj .long 0x1210C508 2486*3a608692SPiotr Kubaj lvx 24,26,7 2487*3a608692SPiotr Kubaj addi 7,7,0x20 2488*3a608692SPiotr Kubaj 2489*3a608692SPiotr Kubaj .long 0x10E7CD08 2490*3a608692SPiotr Kubaj .long 0x118CCD08 2491*3a608692SPiotr Kubaj .long 0x11ADCD08 2492*3a608692SPiotr Kubaj .long 0x11CECD08 2493*3a608692SPiotr Kubaj .long 0x11EFCD08 2494*3a608692SPiotr Kubaj .long 0x1210CD08 2495*3a608692SPiotr Kubaj lvx 25,3,7 2496*3a608692SPiotr Kubaj bdnz .Loop_xts_enc6x 2497*3a608692SPiotr Kubaj 2498*3a608692SPiotr Kubaj subic 5,5,96 2499*3a608692SPiotr Kubaj vxor 0,17,31 2500*3a608692SPiotr Kubaj .long 0x10E7C508 2501*3a608692SPiotr Kubaj .long 0x118CC508 2502*3a608692SPiotr Kubaj vsrab 11,8,9 2503*3a608692SPiotr Kubaj vxor 17,8,23 2504*3a608692SPiotr Kubaj vaddubm 8,8,8 2505*3a608692SPiotr Kubaj .long 0x11ADC508 2506*3a608692SPiotr Kubaj .long 0x11CEC508 2507*3a608692SPiotr Kubaj vsldoi 11,11,11,15 2508*3a608692SPiotr Kubaj .long 0x11EFC508 2509*3a608692SPiotr Kubaj .long 0x1210C508 2510*3a608692SPiotr Kubaj 2511*3a608692SPiotr Kubaj subfe. 0,0,0 2512*3a608692SPiotr Kubaj vand 11,11,10 2513*3a608692SPiotr Kubaj .long 0x10E7CD08 2514*3a608692SPiotr Kubaj .long 0x118CCD08 2515*3a608692SPiotr Kubaj vxor 8,8,11 2516*3a608692SPiotr Kubaj .long 0x11ADCD08 2517*3a608692SPiotr Kubaj .long 0x11CECD08 2518*3a608692SPiotr Kubaj vxor 1,18,31 2519*3a608692SPiotr Kubaj vsrab 11,8,9 2520*3a608692SPiotr Kubaj vxor 18,8,23 2521*3a608692SPiotr Kubaj .long 0x11EFCD08 2522*3a608692SPiotr Kubaj .long 0x1210CD08 2523*3a608692SPiotr Kubaj 2524*3a608692SPiotr Kubaj and 0,0,5 2525*3a608692SPiotr Kubaj vaddubm 8,8,8 2526*3a608692SPiotr Kubaj vsldoi 11,11,11,15 2527*3a608692SPiotr Kubaj .long 0x10E7D508 2528*3a608692SPiotr Kubaj .long 0x118CD508 2529*3a608692SPiotr Kubaj vand 11,11,10 2530*3a608692SPiotr Kubaj .long 0x11ADD508 2531*3a608692SPiotr Kubaj .long 0x11CED508 2532*3a608692SPiotr Kubaj vxor 8,8,11 2533*3a608692SPiotr Kubaj .long 0x11EFD508 2534*3a608692SPiotr Kubaj .long 0x1210D508 2535*3a608692SPiotr Kubaj 2536*3a608692SPiotr Kubaj add 10,10,0 2537*3a608692SPiotr Kubaj 2538*3a608692SPiotr Kubaj 2539*3a608692SPiotr Kubaj 2540*3a608692SPiotr Kubaj vxor 2,19,31 2541*3a608692SPiotr Kubaj vsrab 11,8,9 2542*3a608692SPiotr Kubaj vxor 19,8,23 2543*3a608692SPiotr Kubaj vaddubm 8,8,8 2544*3a608692SPiotr Kubaj .long 0x10E7DD08 2545*3a608692SPiotr Kubaj .long 0x118CDD08 2546*3a608692SPiotr Kubaj vsldoi 11,11,11,15 2547*3a608692SPiotr Kubaj .long 0x11ADDD08 2548*3a608692SPiotr Kubaj .long 0x11CEDD08 2549*3a608692SPiotr Kubaj vand 11,11,10 2550*3a608692SPiotr Kubaj .long 0x11EFDD08 2551*3a608692SPiotr Kubaj .long 0x1210DD08 2552*3a608692SPiotr Kubaj 2553*3a608692SPiotr Kubaj addi 7,1,64+15 2554*3a608692SPiotr Kubaj vxor 8,8,11 2555*3a608692SPiotr Kubaj .long 0x10E7E508 2556*3a608692SPiotr Kubaj .long 0x118CE508 2557*3a608692SPiotr Kubaj vxor 3,20,31 2558*3a608692SPiotr Kubaj vsrab 11,8,9 2559*3a608692SPiotr Kubaj vxor 20,8,23 2560*3a608692SPiotr Kubaj .long 0x11ADE508 2561*3a608692SPiotr Kubaj .long 0x11CEE508 2562*3a608692SPiotr Kubaj vaddubm 8,8,8 2563*3a608692SPiotr Kubaj vsldoi 11,11,11,15 2564*3a608692SPiotr Kubaj .long 0x11EFE508 2565*3a608692SPiotr Kubaj .long 0x1210E508 2566*3a608692SPiotr Kubaj lvx 24,0,7 2567*3a608692SPiotr Kubaj vand 11,11,10 2568*3a608692SPiotr Kubaj 2569*3a608692SPiotr Kubaj .long 0x10E7ED08 2570*3a608692SPiotr Kubaj .long 0x118CED08 2571*3a608692SPiotr Kubaj vxor 8,8,11 2572*3a608692SPiotr Kubaj .long 0x11ADED08 2573*3a608692SPiotr Kubaj .long 0x11CEED08 2574*3a608692SPiotr Kubaj vxor 4,21,31 2575*3a608692SPiotr Kubaj vsrab 11,8,9 2576*3a608692SPiotr Kubaj vxor 21,8,23 2577*3a608692SPiotr Kubaj .long 0x11EFED08 2578*3a608692SPiotr Kubaj .long 0x1210ED08 2579*3a608692SPiotr Kubaj lvx 25,3,7 2580*3a608692SPiotr Kubaj vaddubm 8,8,8 2581*3a608692SPiotr Kubaj vsldoi 11,11,11,15 2582*3a608692SPiotr Kubaj 2583*3a608692SPiotr Kubaj .long 0x10E7F508 2584*3a608692SPiotr Kubaj .long 0x118CF508 2585*3a608692SPiotr Kubaj vand 11,11,10 2586*3a608692SPiotr Kubaj .long 0x11ADF508 2587*3a608692SPiotr Kubaj .long 0x11CEF508 2588*3a608692SPiotr Kubaj vxor 8,8,11 2589*3a608692SPiotr Kubaj .long 0x11EFF508 2590*3a608692SPiotr Kubaj .long 0x1210F508 2591*3a608692SPiotr Kubaj vxor 5,22,31 2592*3a608692SPiotr Kubaj vsrab 11,8,9 2593*3a608692SPiotr Kubaj vxor 22,8,23 2594*3a608692SPiotr Kubaj 2595*3a608692SPiotr Kubaj .long 0x10E70509 2596*3a608692SPiotr Kubaj .long 0x7C005699 2597*3a608692SPiotr Kubaj vaddubm 8,8,8 2598*3a608692SPiotr Kubaj vsldoi 11,11,11,15 2599*3a608692SPiotr Kubaj .long 0x118C0D09 2600*3a608692SPiotr Kubaj .long 0x7C235699 2601*3a608692SPiotr Kubaj .long 0x11AD1509 2602*3a608692SPiotr Kubaj 2603*3a608692SPiotr Kubaj .long 0x7C5A5699 2604*3a608692SPiotr Kubaj vand 11,11,10 2605*3a608692SPiotr Kubaj .long 0x11CE1D09 2606*3a608692SPiotr Kubaj 2607*3a608692SPiotr Kubaj .long 0x7C7B5699 2608*3a608692SPiotr Kubaj .long 0x11EF2509 2609*3a608692SPiotr Kubaj 2610*3a608692SPiotr Kubaj .long 0x7C9C5699 2611*3a608692SPiotr Kubaj vxor 8,8,11 2612*3a608692SPiotr Kubaj .long 0x11702D09 2613*3a608692SPiotr Kubaj 2614*3a608692SPiotr Kubaj 2615*3a608692SPiotr Kubaj .long 0x7CBD5699 2616*3a608692SPiotr Kubaj addi 10,10,0x60 2617*3a608692SPiotr Kubaj 2618*3a608692SPiotr Kubaj 2619*3a608692SPiotr Kubaj 2620*3a608692SPiotr Kubaj 2621*3a608692SPiotr Kubaj 2622*3a608692SPiotr Kubaj .long 0x7CE02799 2623*3a608692SPiotr Kubaj vxor 7,0,17 2624*3a608692SPiotr Kubaj 2625*3a608692SPiotr Kubaj .long 0x7D832799 2626*3a608692SPiotr Kubaj vxor 12,1,18 2627*3a608692SPiotr Kubaj 2628*3a608692SPiotr Kubaj .long 0x7DBA2799 2629*3a608692SPiotr Kubaj vxor 13,2,19 2630*3a608692SPiotr Kubaj 2631*3a608692SPiotr Kubaj .long 0x7DDB2799 2632*3a608692SPiotr Kubaj vxor 14,3,20 2633*3a608692SPiotr Kubaj 2634*3a608692SPiotr Kubaj .long 0x7DFC2799 2635*3a608692SPiotr Kubaj vxor 15,4,21 2636*3a608692SPiotr Kubaj 2637*3a608692SPiotr Kubaj .long 0x7D7D2799 2638*3a608692SPiotr Kubaj vxor 16,5,22 2639*3a608692SPiotr Kubaj addi 4,4,0x60 2640*3a608692SPiotr Kubaj 2641*3a608692SPiotr Kubaj mtctr 9 2642*3a608692SPiotr Kubaj beq .Loop_xts_enc6x 2643*3a608692SPiotr Kubaj 2644*3a608692SPiotr Kubaj addic. 5,5,0x60 2645*3a608692SPiotr Kubaj beq .Lxts_enc6x_zero 2646*3a608692SPiotr Kubaj cmpwi 5,0x20 2647*3a608692SPiotr Kubaj blt .Lxts_enc6x_one 2648*3a608692SPiotr Kubaj nop 2649*3a608692SPiotr Kubaj beq .Lxts_enc6x_two 2650*3a608692SPiotr Kubaj cmpwi 5,0x40 2651*3a608692SPiotr Kubaj blt .Lxts_enc6x_three 2652*3a608692SPiotr Kubaj nop 2653*3a608692SPiotr Kubaj beq .Lxts_enc6x_four 2654*3a608692SPiotr Kubaj 2655*3a608692SPiotr Kubaj.Lxts_enc6x_five: 2656*3a608692SPiotr Kubaj vxor 7,1,17 2657*3a608692SPiotr Kubaj vxor 12,2,18 2658*3a608692SPiotr Kubaj vxor 13,3,19 2659*3a608692SPiotr Kubaj vxor 14,4,20 2660*3a608692SPiotr Kubaj vxor 15,5,21 2661*3a608692SPiotr Kubaj 2662*3a608692SPiotr Kubaj bl _aesp8_xts_enc5x 2663*3a608692SPiotr Kubaj 2664*3a608692SPiotr Kubaj 2665*3a608692SPiotr Kubaj vor 17,22,22 2666*3a608692SPiotr Kubaj 2667*3a608692SPiotr Kubaj .long 0x7CE02799 2668*3a608692SPiotr Kubaj 2669*3a608692SPiotr Kubaj .long 0x7D832799 2670*3a608692SPiotr Kubaj 2671*3a608692SPiotr Kubaj .long 0x7DBA2799 2672*3a608692SPiotr Kubaj vxor 11,15,22 2673*3a608692SPiotr Kubaj 2674*3a608692SPiotr Kubaj .long 0x7DDB2799 2675*3a608692SPiotr Kubaj .long 0x7DFC2799 2676*3a608692SPiotr Kubaj addi 4,4,0x50 2677*3a608692SPiotr Kubaj bne .Lxts_enc6x_steal 2678*3a608692SPiotr Kubaj b .Lxts_enc6x_done 2679*3a608692SPiotr Kubaj 2680*3a608692SPiotr Kubaj.align 4 2681*3a608692SPiotr Kubaj.Lxts_enc6x_four: 2682*3a608692SPiotr Kubaj vxor 7,2,17 2683*3a608692SPiotr Kubaj vxor 12,3,18 2684*3a608692SPiotr Kubaj vxor 13,4,19 2685*3a608692SPiotr Kubaj vxor 14,5,20 2686*3a608692SPiotr Kubaj vxor 15,15,15 2687*3a608692SPiotr Kubaj 2688*3a608692SPiotr Kubaj bl _aesp8_xts_enc5x 2689*3a608692SPiotr Kubaj 2690*3a608692SPiotr Kubaj 2691*3a608692SPiotr Kubaj vor 17,21,21 2692*3a608692SPiotr Kubaj 2693*3a608692SPiotr Kubaj .long 0x7CE02799 2694*3a608692SPiotr Kubaj 2695*3a608692SPiotr Kubaj .long 0x7D832799 2696*3a608692SPiotr Kubaj vxor 11,14,21 2697*3a608692SPiotr Kubaj 2698*3a608692SPiotr Kubaj .long 0x7DBA2799 2699*3a608692SPiotr Kubaj .long 0x7DDB2799 2700*3a608692SPiotr Kubaj addi 4,4,0x40 2701*3a608692SPiotr Kubaj bne .Lxts_enc6x_steal 2702*3a608692SPiotr Kubaj b .Lxts_enc6x_done 2703*3a608692SPiotr Kubaj 2704*3a608692SPiotr Kubaj.align 4 2705*3a608692SPiotr Kubaj.Lxts_enc6x_three: 2706*3a608692SPiotr Kubaj vxor 7,3,17 2707*3a608692SPiotr Kubaj vxor 12,4,18 2708*3a608692SPiotr Kubaj vxor 13,5,19 2709*3a608692SPiotr Kubaj vxor 14,14,14 2710*3a608692SPiotr Kubaj vxor 15,15,15 2711*3a608692SPiotr Kubaj 2712*3a608692SPiotr Kubaj bl _aesp8_xts_enc5x 2713*3a608692SPiotr Kubaj 2714*3a608692SPiotr Kubaj 2715*3a608692SPiotr Kubaj vor 17,20,20 2716*3a608692SPiotr Kubaj 2717*3a608692SPiotr Kubaj .long 0x7CE02799 2718*3a608692SPiotr Kubaj vxor 11,13,20 2719*3a608692SPiotr Kubaj 2720*3a608692SPiotr Kubaj .long 0x7D832799 2721*3a608692SPiotr Kubaj .long 0x7DBA2799 2722*3a608692SPiotr Kubaj addi 4,4,0x30 2723*3a608692SPiotr Kubaj bne .Lxts_enc6x_steal 2724*3a608692SPiotr Kubaj b .Lxts_enc6x_done 2725*3a608692SPiotr Kubaj 2726*3a608692SPiotr Kubaj.align 4 2727*3a608692SPiotr Kubaj.Lxts_enc6x_two: 2728*3a608692SPiotr Kubaj vxor 7,4,17 2729*3a608692SPiotr Kubaj vxor 12,5,18 2730*3a608692SPiotr Kubaj vxor 13,13,13 2731*3a608692SPiotr Kubaj vxor 14,14,14 2732*3a608692SPiotr Kubaj vxor 15,15,15 2733*3a608692SPiotr Kubaj 2734*3a608692SPiotr Kubaj bl _aesp8_xts_enc5x 2735*3a608692SPiotr Kubaj 2736*3a608692SPiotr Kubaj 2737*3a608692SPiotr Kubaj vor 17,19,19 2738*3a608692SPiotr Kubaj vxor 11,12,19 2739*3a608692SPiotr Kubaj 2740*3a608692SPiotr Kubaj .long 0x7CE02799 2741*3a608692SPiotr Kubaj .long 0x7D832799 2742*3a608692SPiotr Kubaj addi 4,4,0x20 2743*3a608692SPiotr Kubaj bne .Lxts_enc6x_steal 2744*3a608692SPiotr Kubaj b .Lxts_enc6x_done 2745*3a608692SPiotr Kubaj 2746*3a608692SPiotr Kubaj.align 4 2747*3a608692SPiotr Kubaj.Lxts_enc6x_one: 2748*3a608692SPiotr Kubaj vxor 7,5,17 2749*3a608692SPiotr Kubaj nop 2750*3a608692SPiotr Kubaj.Loop_xts_enc1x: 2751*3a608692SPiotr Kubaj .long 0x10E7C508 2752*3a608692SPiotr Kubaj lvx 24,26,7 2753*3a608692SPiotr Kubaj addi 7,7,0x20 2754*3a608692SPiotr Kubaj 2755*3a608692SPiotr Kubaj .long 0x10E7CD08 2756*3a608692SPiotr Kubaj lvx 25,3,7 2757*3a608692SPiotr Kubaj bdnz .Loop_xts_enc1x 2758*3a608692SPiotr Kubaj 2759*3a608692SPiotr Kubaj add 10,10,31 2760*3a608692SPiotr Kubaj cmpwi 31,0 2761*3a608692SPiotr Kubaj .long 0x10E7C508 2762*3a608692SPiotr Kubaj 2763*3a608692SPiotr Kubaj subi 10,10,16 2764*3a608692SPiotr Kubaj .long 0x10E7CD08 2765*3a608692SPiotr Kubaj 2766*3a608692SPiotr Kubaj lvsr 5,0,31 2767*3a608692SPiotr Kubaj .long 0x10E7D508 2768*3a608692SPiotr Kubaj 2769*3a608692SPiotr Kubaj .long 0x7C005699 2770*3a608692SPiotr Kubaj .long 0x10E7DD08 2771*3a608692SPiotr Kubaj 2772*3a608692SPiotr Kubaj addi 7,1,64+15 2773*3a608692SPiotr Kubaj .long 0x10E7E508 2774*3a608692SPiotr Kubaj lvx 24,0,7 2775*3a608692SPiotr Kubaj 2776*3a608692SPiotr Kubaj .long 0x10E7ED08 2777*3a608692SPiotr Kubaj lvx 25,3,7 2778*3a608692SPiotr Kubaj vxor 17,17,31 2779*3a608692SPiotr Kubaj 2780*3a608692SPiotr Kubaj 2781*3a608692SPiotr Kubaj .long 0x10E7F508 2782*3a608692SPiotr Kubaj 2783*3a608692SPiotr Kubaj vperm 0,0,0,5 2784*3a608692SPiotr Kubaj .long 0x10E78D09 2785*3a608692SPiotr Kubaj 2786*3a608692SPiotr Kubaj vor 17,18,18 2787*3a608692SPiotr Kubaj vxor 11,7,18 2788*3a608692SPiotr Kubaj 2789*3a608692SPiotr Kubaj .long 0x7CE02799 2790*3a608692SPiotr Kubaj addi 4,4,0x10 2791*3a608692SPiotr Kubaj bne .Lxts_enc6x_steal 2792*3a608692SPiotr Kubaj b .Lxts_enc6x_done 2793*3a608692SPiotr Kubaj 2794*3a608692SPiotr Kubaj.align 4 2795*3a608692SPiotr Kubaj.Lxts_enc6x_zero: 2796*3a608692SPiotr Kubaj cmpwi 31,0 2797*3a608692SPiotr Kubaj beq .Lxts_enc6x_done 2798*3a608692SPiotr Kubaj 2799*3a608692SPiotr Kubaj add 10,10,31 2800*3a608692SPiotr Kubaj subi 10,10,16 2801*3a608692SPiotr Kubaj .long 0x7C005699 2802*3a608692SPiotr Kubaj lvsr 5,0,31 2803*3a608692SPiotr Kubaj 2804*3a608692SPiotr Kubaj vperm 0,0,0,5 2805*3a608692SPiotr Kubaj vxor 11,11,17 2806*3a608692SPiotr Kubaj.Lxts_enc6x_steal: 2807*3a608692SPiotr Kubaj vxor 0,0,17 2808*3a608692SPiotr Kubaj vxor 7,7,7 2809*3a608692SPiotr Kubaj vspltisb 12,-1 2810*3a608692SPiotr Kubaj vperm 7,7,12,5 2811*3a608692SPiotr Kubaj vsel 7,0,11,7 2812*3a608692SPiotr Kubaj 2813*3a608692SPiotr Kubaj subi 30,4,17 2814*3a608692SPiotr Kubaj subi 4,4,16 2815*3a608692SPiotr Kubaj mtctr 31 2816*3a608692SPiotr Kubaj.Loop_xts_enc6x_steal: 2817*3a608692SPiotr Kubaj lbzu 0,1(30) 2818*3a608692SPiotr Kubaj stb 0,16(30) 2819*3a608692SPiotr Kubaj bdnz .Loop_xts_enc6x_steal 2820*3a608692SPiotr Kubaj 2821*3a608692SPiotr Kubaj li 31,0 2822*3a608692SPiotr Kubaj mtctr 9 2823*3a608692SPiotr Kubaj b .Loop_xts_enc1x 2824*3a608692SPiotr Kubaj 2825*3a608692SPiotr Kubaj.align 4 2826*3a608692SPiotr Kubaj.Lxts_enc6x_done: 2827*3a608692SPiotr Kubaj cmpldi 8,0 2828*3a608692SPiotr Kubaj beq .Lxts_enc6x_ret 2829*3a608692SPiotr Kubaj 2830*3a608692SPiotr Kubaj vxor 8,17,23 2831*3a608692SPiotr Kubaj 2832*3a608692SPiotr Kubaj .long 0x7D004799 2833*3a608692SPiotr Kubaj 2834*3a608692SPiotr Kubaj.Lxts_enc6x_ret: 2835*3a608692SPiotr Kubaj mtlr 11 2836*3a608692SPiotr Kubaj li 10,79 2837*3a608692SPiotr Kubaj li 11,95 2838*3a608692SPiotr Kubaj stvx 9,10,1 2839*3a608692SPiotr Kubaj addi 10,10,32 2840*3a608692SPiotr Kubaj stvx 9,11,1 2841*3a608692SPiotr Kubaj addi 11,11,32 2842*3a608692SPiotr Kubaj stvx 9,10,1 2843*3a608692SPiotr Kubaj addi 10,10,32 2844*3a608692SPiotr Kubaj stvx 9,11,1 2845*3a608692SPiotr Kubaj addi 11,11,32 2846*3a608692SPiotr Kubaj stvx 9,10,1 2847*3a608692SPiotr Kubaj addi 10,10,32 2848*3a608692SPiotr Kubaj stvx 9,11,1 2849*3a608692SPiotr Kubaj addi 11,11,32 2850*3a608692SPiotr Kubaj stvx 9,10,1 2851*3a608692SPiotr Kubaj addi 10,10,32 2852*3a608692SPiotr Kubaj stvx 9,11,1 2853*3a608692SPiotr Kubaj addi 11,11,32 2854*3a608692SPiotr Kubaj 2855*3a608692SPiotr Kubaj or 12,12,12 2856*3a608692SPiotr Kubaj lvx 20,10,1 2857*3a608692SPiotr Kubaj addi 10,10,32 2858*3a608692SPiotr Kubaj lvx 21,11,1 2859*3a608692SPiotr Kubaj addi 11,11,32 2860*3a608692SPiotr Kubaj lvx 22,10,1 2861*3a608692SPiotr Kubaj addi 10,10,32 2862*3a608692SPiotr Kubaj lvx 23,11,1 2863*3a608692SPiotr Kubaj addi 11,11,32 2864*3a608692SPiotr Kubaj lvx 24,10,1 2865*3a608692SPiotr Kubaj addi 10,10,32 2866*3a608692SPiotr Kubaj lvx 25,11,1 2867*3a608692SPiotr Kubaj addi 11,11,32 2868*3a608692SPiotr Kubaj lvx 26,10,1 2869*3a608692SPiotr Kubaj addi 10,10,32 2870*3a608692SPiotr Kubaj lvx 27,11,1 2871*3a608692SPiotr Kubaj addi 11,11,32 2872*3a608692SPiotr Kubaj lvx 28,10,1 2873*3a608692SPiotr Kubaj addi 10,10,32 2874*3a608692SPiotr Kubaj lvx 29,11,1 2875*3a608692SPiotr Kubaj addi 11,11,32 2876*3a608692SPiotr Kubaj lvx 30,10,1 2877*3a608692SPiotr Kubaj lvx 31,11,1 2878*3a608692SPiotr Kubaj ld 26,400(1) 2879*3a608692SPiotr Kubaj ld 27,408(1) 2880*3a608692SPiotr Kubaj ld 28,416(1) 2881*3a608692SPiotr Kubaj ld 29,424(1) 2882*3a608692SPiotr Kubaj ld 30,432(1) 2883*3a608692SPiotr Kubaj ld 31,440(1) 2884*3a608692SPiotr Kubaj addi 1,1,448 2885*3a608692SPiotr Kubaj blr 2886*3a608692SPiotr Kubaj.long 0 2887*3a608692SPiotr Kubaj.byte 0,12,0x04,1,0x80,6,6,0 2888*3a608692SPiotr Kubaj.long 0 2889*3a608692SPiotr Kubaj 2890*3a608692SPiotr Kubaj.align 5 2891*3a608692SPiotr Kubaj_aesp8_xts_enc5x: 2892*3a608692SPiotr Kubaj .long 0x10E7C508 2893*3a608692SPiotr Kubaj .long 0x118CC508 2894*3a608692SPiotr Kubaj .long 0x11ADC508 2895*3a608692SPiotr Kubaj .long 0x11CEC508 2896*3a608692SPiotr Kubaj .long 0x11EFC508 2897*3a608692SPiotr Kubaj lvx 24,26,7 2898*3a608692SPiotr Kubaj addi 7,7,0x20 2899*3a608692SPiotr Kubaj 2900*3a608692SPiotr Kubaj .long 0x10E7CD08 2901*3a608692SPiotr Kubaj .long 0x118CCD08 2902*3a608692SPiotr Kubaj .long 0x11ADCD08 2903*3a608692SPiotr Kubaj .long 0x11CECD08 2904*3a608692SPiotr Kubaj .long 0x11EFCD08 2905*3a608692SPiotr Kubaj lvx 25,3,7 2906*3a608692SPiotr Kubaj bdnz _aesp8_xts_enc5x 2907*3a608692SPiotr Kubaj 2908*3a608692SPiotr Kubaj add 10,10,31 2909*3a608692SPiotr Kubaj cmpwi 31,0 2910*3a608692SPiotr Kubaj .long 0x10E7C508 2911*3a608692SPiotr Kubaj .long 0x118CC508 2912*3a608692SPiotr Kubaj .long 0x11ADC508 2913*3a608692SPiotr Kubaj .long 0x11CEC508 2914*3a608692SPiotr Kubaj .long 0x11EFC508 2915*3a608692SPiotr Kubaj 2916*3a608692SPiotr Kubaj subi 10,10,16 2917*3a608692SPiotr Kubaj .long 0x10E7CD08 2918*3a608692SPiotr Kubaj .long 0x118CCD08 2919*3a608692SPiotr Kubaj .long 0x11ADCD08 2920*3a608692SPiotr Kubaj .long 0x11CECD08 2921*3a608692SPiotr Kubaj .long 0x11EFCD08 2922*3a608692SPiotr Kubaj vxor 17,17,31 2923*3a608692SPiotr Kubaj 2924*3a608692SPiotr Kubaj .long 0x10E7D508 2925*3a608692SPiotr Kubaj lvsr 5,0,31 2926*3a608692SPiotr Kubaj .long 0x118CD508 2927*3a608692SPiotr Kubaj .long 0x11ADD508 2928*3a608692SPiotr Kubaj .long 0x11CED508 2929*3a608692SPiotr Kubaj .long 0x11EFD508 2930*3a608692SPiotr Kubaj vxor 1,18,31 2931*3a608692SPiotr Kubaj 2932*3a608692SPiotr Kubaj .long 0x10E7DD08 2933*3a608692SPiotr Kubaj .long 0x7C005699 2934*3a608692SPiotr Kubaj .long 0x118CDD08 2935*3a608692SPiotr Kubaj .long 0x11ADDD08 2936*3a608692SPiotr Kubaj .long 0x11CEDD08 2937*3a608692SPiotr Kubaj .long 0x11EFDD08 2938*3a608692SPiotr Kubaj vxor 2,19,31 2939*3a608692SPiotr Kubaj 2940*3a608692SPiotr Kubaj addi 7,1,64+15 2941*3a608692SPiotr Kubaj .long 0x10E7E508 2942*3a608692SPiotr Kubaj .long 0x118CE508 2943*3a608692SPiotr Kubaj .long 0x11ADE508 2944*3a608692SPiotr Kubaj .long 0x11CEE508 2945*3a608692SPiotr Kubaj .long 0x11EFE508 2946*3a608692SPiotr Kubaj lvx 24,0,7 2947*3a608692SPiotr Kubaj vxor 3,20,31 2948*3a608692SPiotr Kubaj 2949*3a608692SPiotr Kubaj .long 0x10E7ED08 2950*3a608692SPiotr Kubaj 2951*3a608692SPiotr Kubaj .long 0x118CED08 2952*3a608692SPiotr Kubaj .long 0x11ADED08 2953*3a608692SPiotr Kubaj .long 0x11CEED08 2954*3a608692SPiotr Kubaj .long 0x11EFED08 2955*3a608692SPiotr Kubaj lvx 25,3,7 2956*3a608692SPiotr Kubaj vxor 4,21,31 2957*3a608692SPiotr Kubaj 2958*3a608692SPiotr Kubaj .long 0x10E7F508 2959*3a608692SPiotr Kubaj vperm 0,0,0,5 2960*3a608692SPiotr Kubaj .long 0x118CF508 2961*3a608692SPiotr Kubaj .long 0x11ADF508 2962*3a608692SPiotr Kubaj .long 0x11CEF508 2963*3a608692SPiotr Kubaj .long 0x11EFF508 2964*3a608692SPiotr Kubaj 2965*3a608692SPiotr Kubaj .long 0x10E78D09 2966*3a608692SPiotr Kubaj .long 0x118C0D09 2967*3a608692SPiotr Kubaj .long 0x11AD1509 2968*3a608692SPiotr Kubaj .long 0x11CE1D09 2969*3a608692SPiotr Kubaj .long 0x11EF2509 2970*3a608692SPiotr Kubaj blr 2971*3a608692SPiotr Kubaj.long 0 2972*3a608692SPiotr Kubaj.byte 0,12,0x14,0,0,0,0,0 2973*3a608692SPiotr Kubaj 2974*3a608692SPiotr Kubaj.align 5 2975*3a608692SPiotr Kubaj_aesp8_xts_decrypt6x: 2976*3a608692SPiotr Kubaj stdu 1,-448(1) 2977*3a608692SPiotr Kubaj mflr 11 2978*3a608692SPiotr Kubaj li 7,207 2979*3a608692SPiotr Kubaj li 3,223 2980*3a608692SPiotr Kubaj std 11,464(1) 2981*3a608692SPiotr Kubaj stvx 20,7,1 2982*3a608692SPiotr Kubaj addi 7,7,32 2983*3a608692SPiotr Kubaj stvx 21,3,1 2984*3a608692SPiotr Kubaj addi 3,3,32 2985*3a608692SPiotr Kubaj stvx 22,7,1 2986*3a608692SPiotr Kubaj addi 7,7,32 2987*3a608692SPiotr Kubaj stvx 23,3,1 2988*3a608692SPiotr Kubaj addi 3,3,32 2989*3a608692SPiotr Kubaj stvx 24,7,1 2990*3a608692SPiotr Kubaj addi 7,7,32 2991*3a608692SPiotr Kubaj stvx 25,3,1 2992*3a608692SPiotr Kubaj addi 3,3,32 2993*3a608692SPiotr Kubaj stvx 26,7,1 2994*3a608692SPiotr Kubaj addi 7,7,32 2995*3a608692SPiotr Kubaj stvx 27,3,1 2996*3a608692SPiotr Kubaj addi 3,3,32 2997*3a608692SPiotr Kubaj stvx 28,7,1 2998*3a608692SPiotr Kubaj addi 7,7,32 2999*3a608692SPiotr Kubaj stvx 29,3,1 3000*3a608692SPiotr Kubaj addi 3,3,32 3001*3a608692SPiotr Kubaj stvx 30,7,1 3002*3a608692SPiotr Kubaj stvx 31,3,1 3003*3a608692SPiotr Kubaj li 0,-1 3004*3a608692SPiotr Kubaj stw 12,396(1) 3005*3a608692SPiotr Kubaj li 3,0x10 3006*3a608692SPiotr Kubaj std 26,400(1) 3007*3a608692SPiotr Kubaj li 26,0x20 3008*3a608692SPiotr Kubaj std 27,408(1) 3009*3a608692SPiotr Kubaj li 27,0x30 3010*3a608692SPiotr Kubaj std 28,416(1) 3011*3a608692SPiotr Kubaj li 28,0x40 3012*3a608692SPiotr Kubaj std 29,424(1) 3013*3a608692SPiotr Kubaj li 29,0x50 3014*3a608692SPiotr Kubaj std 30,432(1) 3015*3a608692SPiotr Kubaj li 30,0x60 3016*3a608692SPiotr Kubaj std 31,440(1) 3017*3a608692SPiotr Kubaj li 31,0x70 3018*3a608692SPiotr Kubaj or 0,0,0 3019*3a608692SPiotr Kubaj 3020*3a608692SPiotr Kubaj subi 9,9,3 3021*3a608692SPiotr Kubaj 3022*3a608692SPiotr Kubaj lvx 23,0,6 3023*3a608692SPiotr Kubaj lvx 30,3,6 3024*3a608692SPiotr Kubaj addi 6,6,0x20 3025*3a608692SPiotr Kubaj lvx 31,0,6 3026*3a608692SPiotr Kubaj vperm 23,23,30,7 3027*3a608692SPiotr Kubaj addi 7,1,64+15 3028*3a608692SPiotr Kubaj mtctr 9 3029*3a608692SPiotr Kubaj 3030*3a608692SPiotr Kubaj.Load_xts_dec_key: 3031*3a608692SPiotr Kubaj vperm 24,30,31,7 3032*3a608692SPiotr Kubaj lvx 30,3,6 3033*3a608692SPiotr Kubaj addi 6,6,0x20 3034*3a608692SPiotr Kubaj stvx 24,0,7 3035*3a608692SPiotr Kubaj vperm 25,31,30,7 3036*3a608692SPiotr Kubaj lvx 31,0,6 3037*3a608692SPiotr Kubaj stvx 25,3,7 3038*3a608692SPiotr Kubaj addi 7,7,0x20 3039*3a608692SPiotr Kubaj bdnz .Load_xts_dec_key 3040*3a608692SPiotr Kubaj 3041*3a608692SPiotr Kubaj lvx 26,3,6 3042*3a608692SPiotr Kubaj vperm 24,30,31,7 3043*3a608692SPiotr Kubaj lvx 27,26,6 3044*3a608692SPiotr Kubaj stvx 24,0,7 3045*3a608692SPiotr Kubaj vperm 25,31,26,7 3046*3a608692SPiotr Kubaj lvx 28,27,6 3047*3a608692SPiotr Kubaj stvx 25,3,7 3048*3a608692SPiotr Kubaj addi 7,1,64+15 3049*3a608692SPiotr Kubaj vperm 26,26,27,7 3050*3a608692SPiotr Kubaj lvx 29,28,6 3051*3a608692SPiotr Kubaj vperm 27,27,28,7 3052*3a608692SPiotr Kubaj lvx 30,29,6 3053*3a608692SPiotr Kubaj vperm 28,28,29,7 3054*3a608692SPiotr Kubaj lvx 31,30,6 3055*3a608692SPiotr Kubaj vperm 29,29,30,7 3056*3a608692SPiotr Kubaj lvx 22,31,6 3057*3a608692SPiotr Kubaj vperm 30,30,31,7 3058*3a608692SPiotr Kubaj lvx 24,0,7 3059*3a608692SPiotr Kubaj vperm 31,31,22,7 3060*3a608692SPiotr Kubaj lvx 25,3,7 3061*3a608692SPiotr Kubaj 3062*3a608692SPiotr Kubaj vperm 0,2,4,5 3063*3a608692SPiotr Kubaj subi 10,10,31 3064*3a608692SPiotr Kubaj vxor 17,8,23 3065*3a608692SPiotr Kubaj vsrab 11,8,9 3066*3a608692SPiotr Kubaj vaddubm 8,8,8 3067*3a608692SPiotr Kubaj vsldoi 11,11,11,15 3068*3a608692SPiotr Kubaj vand 11,11,10 3069*3a608692SPiotr Kubaj vxor 7,0,17 3070*3a608692SPiotr Kubaj vxor 8,8,11 3071*3a608692SPiotr Kubaj 3072*3a608692SPiotr Kubaj .long 0x7C235699 3073*3a608692SPiotr Kubaj vxor 18,8,23 3074*3a608692SPiotr Kubaj vsrab 11,8,9 3075*3a608692SPiotr Kubaj vaddubm 8,8,8 3076*3a608692SPiotr Kubaj vsldoi 11,11,11,15 3077*3a608692SPiotr Kubaj 3078*3a608692SPiotr Kubaj vand 11,11,10 3079*3a608692SPiotr Kubaj vxor 12,1,18 3080*3a608692SPiotr Kubaj vxor 8,8,11 3081*3a608692SPiotr Kubaj 3082*3a608692SPiotr Kubaj .long 0x7C5A5699 3083*3a608692SPiotr Kubaj andi. 31,5,15 3084*3a608692SPiotr Kubaj vxor 19,8,23 3085*3a608692SPiotr Kubaj vsrab 11,8,9 3086*3a608692SPiotr Kubaj vaddubm 8,8,8 3087*3a608692SPiotr Kubaj vsldoi 11,11,11,15 3088*3a608692SPiotr Kubaj 3089*3a608692SPiotr Kubaj vand 11,11,10 3090*3a608692SPiotr Kubaj vxor 13,2,19 3091*3a608692SPiotr Kubaj vxor 8,8,11 3092*3a608692SPiotr Kubaj 3093*3a608692SPiotr Kubaj .long 0x7C7B5699 3094*3a608692SPiotr Kubaj sub 5,5,31 3095*3a608692SPiotr Kubaj vxor 20,8,23 3096*3a608692SPiotr Kubaj vsrab 11,8,9 3097*3a608692SPiotr Kubaj vaddubm 8,8,8 3098*3a608692SPiotr Kubaj vsldoi 11,11,11,15 3099*3a608692SPiotr Kubaj 3100*3a608692SPiotr Kubaj vand 11,11,10 3101*3a608692SPiotr Kubaj vxor 14,3,20 3102*3a608692SPiotr Kubaj vxor 8,8,11 3103*3a608692SPiotr Kubaj 3104*3a608692SPiotr Kubaj .long 0x7C9C5699 3105*3a608692SPiotr Kubaj subi 5,5,0x60 3106*3a608692SPiotr Kubaj vxor 21,8,23 3107*3a608692SPiotr Kubaj vsrab 11,8,9 3108*3a608692SPiotr Kubaj vaddubm 8,8,8 3109*3a608692SPiotr Kubaj vsldoi 11,11,11,15 3110*3a608692SPiotr Kubaj 3111*3a608692SPiotr Kubaj vand 11,11,10 3112*3a608692SPiotr Kubaj vxor 15,4,21 3113*3a608692SPiotr Kubaj vxor 8,8,11 3114*3a608692SPiotr Kubaj 3115*3a608692SPiotr Kubaj .long 0x7CBD5699 3116*3a608692SPiotr Kubaj addi 10,10,0x60 3117*3a608692SPiotr Kubaj vxor 22,8,23 3118*3a608692SPiotr Kubaj vsrab 11,8,9 3119*3a608692SPiotr Kubaj vaddubm 8,8,8 3120*3a608692SPiotr Kubaj vsldoi 11,11,11,15 3121*3a608692SPiotr Kubaj 3122*3a608692SPiotr Kubaj vand 11,11,10 3123*3a608692SPiotr Kubaj vxor 16,5,22 3124*3a608692SPiotr Kubaj vxor 8,8,11 3125*3a608692SPiotr Kubaj 3126*3a608692SPiotr Kubaj vxor 31,31,23 3127*3a608692SPiotr Kubaj mtctr 9 3128*3a608692SPiotr Kubaj b .Loop_xts_dec6x 3129*3a608692SPiotr Kubaj 3130*3a608692SPiotr Kubaj.align 5 3131*3a608692SPiotr Kubaj.Loop_xts_dec6x: 3132*3a608692SPiotr Kubaj .long 0x10E7C548 3133*3a608692SPiotr Kubaj .long 0x118CC548 3134*3a608692SPiotr Kubaj .long 0x11ADC548 3135*3a608692SPiotr Kubaj .long 0x11CEC548 3136*3a608692SPiotr Kubaj .long 0x11EFC548 3137*3a608692SPiotr Kubaj .long 0x1210C548 3138*3a608692SPiotr Kubaj lvx 24,26,7 3139*3a608692SPiotr Kubaj addi 7,7,0x20 3140*3a608692SPiotr Kubaj 3141*3a608692SPiotr Kubaj .long 0x10E7CD48 3142*3a608692SPiotr Kubaj .long 0x118CCD48 3143*3a608692SPiotr Kubaj .long 0x11ADCD48 3144*3a608692SPiotr Kubaj .long 0x11CECD48 3145*3a608692SPiotr Kubaj .long 0x11EFCD48 3146*3a608692SPiotr Kubaj .long 0x1210CD48 3147*3a608692SPiotr Kubaj lvx 25,3,7 3148*3a608692SPiotr Kubaj bdnz .Loop_xts_dec6x 3149*3a608692SPiotr Kubaj 3150*3a608692SPiotr Kubaj subic 5,5,96 3151*3a608692SPiotr Kubaj vxor 0,17,31 3152*3a608692SPiotr Kubaj .long 0x10E7C548 3153*3a608692SPiotr Kubaj .long 0x118CC548 3154*3a608692SPiotr Kubaj vsrab 11,8,9 3155*3a608692SPiotr Kubaj vxor 17,8,23 3156*3a608692SPiotr Kubaj vaddubm 8,8,8 3157*3a608692SPiotr Kubaj .long 0x11ADC548 3158*3a608692SPiotr Kubaj .long 0x11CEC548 3159*3a608692SPiotr Kubaj vsldoi 11,11,11,15 3160*3a608692SPiotr Kubaj .long 0x11EFC548 3161*3a608692SPiotr Kubaj .long 0x1210C548 3162*3a608692SPiotr Kubaj 3163*3a608692SPiotr Kubaj subfe. 0,0,0 3164*3a608692SPiotr Kubaj vand 11,11,10 3165*3a608692SPiotr Kubaj .long 0x10E7CD48 3166*3a608692SPiotr Kubaj .long 0x118CCD48 3167*3a608692SPiotr Kubaj vxor 8,8,11 3168*3a608692SPiotr Kubaj .long 0x11ADCD48 3169*3a608692SPiotr Kubaj .long 0x11CECD48 3170*3a608692SPiotr Kubaj vxor 1,18,31 3171*3a608692SPiotr Kubaj vsrab 11,8,9 3172*3a608692SPiotr Kubaj vxor 18,8,23 3173*3a608692SPiotr Kubaj .long 0x11EFCD48 3174*3a608692SPiotr Kubaj .long 0x1210CD48 3175*3a608692SPiotr Kubaj 3176*3a608692SPiotr Kubaj and 0,0,5 3177*3a608692SPiotr Kubaj vaddubm 8,8,8 3178*3a608692SPiotr Kubaj vsldoi 11,11,11,15 3179*3a608692SPiotr Kubaj .long 0x10E7D548 3180*3a608692SPiotr Kubaj .long 0x118CD548 3181*3a608692SPiotr Kubaj vand 11,11,10 3182*3a608692SPiotr Kubaj .long 0x11ADD548 3183*3a608692SPiotr Kubaj .long 0x11CED548 3184*3a608692SPiotr Kubaj vxor 8,8,11 3185*3a608692SPiotr Kubaj .long 0x11EFD548 3186*3a608692SPiotr Kubaj .long 0x1210D548 3187*3a608692SPiotr Kubaj 3188*3a608692SPiotr Kubaj add 10,10,0 3189*3a608692SPiotr Kubaj 3190*3a608692SPiotr Kubaj 3191*3a608692SPiotr Kubaj 3192*3a608692SPiotr Kubaj vxor 2,19,31 3193*3a608692SPiotr Kubaj vsrab 11,8,9 3194*3a608692SPiotr Kubaj vxor 19,8,23 3195*3a608692SPiotr Kubaj vaddubm 8,8,8 3196*3a608692SPiotr Kubaj .long 0x10E7DD48 3197*3a608692SPiotr Kubaj .long 0x118CDD48 3198*3a608692SPiotr Kubaj vsldoi 11,11,11,15 3199*3a608692SPiotr Kubaj .long 0x11ADDD48 3200*3a608692SPiotr Kubaj .long 0x11CEDD48 3201*3a608692SPiotr Kubaj vand 11,11,10 3202*3a608692SPiotr Kubaj .long 0x11EFDD48 3203*3a608692SPiotr Kubaj .long 0x1210DD48 3204*3a608692SPiotr Kubaj 3205*3a608692SPiotr Kubaj addi 7,1,64+15 3206*3a608692SPiotr Kubaj vxor 8,8,11 3207*3a608692SPiotr Kubaj .long 0x10E7E548 3208*3a608692SPiotr Kubaj .long 0x118CE548 3209*3a608692SPiotr Kubaj vxor 3,20,31 3210*3a608692SPiotr Kubaj vsrab 11,8,9 3211*3a608692SPiotr Kubaj vxor 20,8,23 3212*3a608692SPiotr Kubaj .long 0x11ADE548 3213*3a608692SPiotr Kubaj .long 0x11CEE548 3214*3a608692SPiotr Kubaj vaddubm 8,8,8 3215*3a608692SPiotr Kubaj vsldoi 11,11,11,15 3216*3a608692SPiotr Kubaj .long 0x11EFE548 3217*3a608692SPiotr Kubaj .long 0x1210E548 3218*3a608692SPiotr Kubaj lvx 24,0,7 3219*3a608692SPiotr Kubaj vand 11,11,10 3220*3a608692SPiotr Kubaj 3221*3a608692SPiotr Kubaj .long 0x10E7ED48 3222*3a608692SPiotr Kubaj .long 0x118CED48 3223*3a608692SPiotr Kubaj vxor 8,8,11 3224*3a608692SPiotr Kubaj .long 0x11ADED48 3225*3a608692SPiotr Kubaj .long 0x11CEED48 3226*3a608692SPiotr Kubaj vxor 4,21,31 3227*3a608692SPiotr Kubaj vsrab 11,8,9 3228*3a608692SPiotr Kubaj vxor 21,8,23 3229*3a608692SPiotr Kubaj .long 0x11EFED48 3230*3a608692SPiotr Kubaj .long 0x1210ED48 3231*3a608692SPiotr Kubaj lvx 25,3,7 3232*3a608692SPiotr Kubaj vaddubm 8,8,8 3233*3a608692SPiotr Kubaj vsldoi 11,11,11,15 3234*3a608692SPiotr Kubaj 3235*3a608692SPiotr Kubaj .long 0x10E7F548 3236*3a608692SPiotr Kubaj .long 0x118CF548 3237*3a608692SPiotr Kubaj vand 11,11,10 3238*3a608692SPiotr Kubaj .long 0x11ADF548 3239*3a608692SPiotr Kubaj .long 0x11CEF548 3240*3a608692SPiotr Kubaj vxor 8,8,11 3241*3a608692SPiotr Kubaj .long 0x11EFF548 3242*3a608692SPiotr Kubaj .long 0x1210F548 3243*3a608692SPiotr Kubaj vxor 5,22,31 3244*3a608692SPiotr Kubaj vsrab 11,8,9 3245*3a608692SPiotr Kubaj vxor 22,8,23 3246*3a608692SPiotr Kubaj 3247*3a608692SPiotr Kubaj .long 0x10E70549 3248*3a608692SPiotr Kubaj .long 0x7C005699 3249*3a608692SPiotr Kubaj vaddubm 8,8,8 3250*3a608692SPiotr Kubaj vsldoi 11,11,11,15 3251*3a608692SPiotr Kubaj .long 0x118C0D49 3252*3a608692SPiotr Kubaj .long 0x7C235699 3253*3a608692SPiotr Kubaj .long 0x11AD1549 3254*3a608692SPiotr Kubaj 3255*3a608692SPiotr Kubaj .long 0x7C5A5699 3256*3a608692SPiotr Kubaj vand 11,11,10 3257*3a608692SPiotr Kubaj .long 0x11CE1D49 3258*3a608692SPiotr Kubaj 3259*3a608692SPiotr Kubaj .long 0x7C7B5699 3260*3a608692SPiotr Kubaj .long 0x11EF2549 3261*3a608692SPiotr Kubaj 3262*3a608692SPiotr Kubaj .long 0x7C9C5699 3263*3a608692SPiotr Kubaj vxor 8,8,11 3264*3a608692SPiotr Kubaj .long 0x12102D49 3265*3a608692SPiotr Kubaj 3266*3a608692SPiotr Kubaj .long 0x7CBD5699 3267*3a608692SPiotr Kubaj addi 10,10,0x60 3268*3a608692SPiotr Kubaj 3269*3a608692SPiotr Kubaj 3270*3a608692SPiotr Kubaj 3271*3a608692SPiotr Kubaj 3272*3a608692SPiotr Kubaj 3273*3a608692SPiotr Kubaj .long 0x7CE02799 3274*3a608692SPiotr Kubaj vxor 7,0,17 3275*3a608692SPiotr Kubaj 3276*3a608692SPiotr Kubaj .long 0x7D832799 3277*3a608692SPiotr Kubaj vxor 12,1,18 3278*3a608692SPiotr Kubaj 3279*3a608692SPiotr Kubaj .long 0x7DBA2799 3280*3a608692SPiotr Kubaj vxor 13,2,19 3281*3a608692SPiotr Kubaj 3282*3a608692SPiotr Kubaj .long 0x7DDB2799 3283*3a608692SPiotr Kubaj vxor 14,3,20 3284*3a608692SPiotr Kubaj 3285*3a608692SPiotr Kubaj .long 0x7DFC2799 3286*3a608692SPiotr Kubaj vxor 15,4,21 3287*3a608692SPiotr Kubaj .long 0x7E1D2799 3288*3a608692SPiotr Kubaj vxor 16,5,22 3289*3a608692SPiotr Kubaj addi 4,4,0x60 3290*3a608692SPiotr Kubaj 3291*3a608692SPiotr Kubaj mtctr 9 3292*3a608692SPiotr Kubaj beq .Loop_xts_dec6x 3293*3a608692SPiotr Kubaj 3294*3a608692SPiotr Kubaj addic. 5,5,0x60 3295*3a608692SPiotr Kubaj beq .Lxts_dec6x_zero 3296*3a608692SPiotr Kubaj cmpwi 5,0x20 3297*3a608692SPiotr Kubaj blt .Lxts_dec6x_one 3298*3a608692SPiotr Kubaj nop 3299*3a608692SPiotr Kubaj beq .Lxts_dec6x_two 3300*3a608692SPiotr Kubaj cmpwi 5,0x40 3301*3a608692SPiotr Kubaj blt .Lxts_dec6x_three 3302*3a608692SPiotr Kubaj nop 3303*3a608692SPiotr Kubaj beq .Lxts_dec6x_four 3304*3a608692SPiotr Kubaj 3305*3a608692SPiotr Kubaj.Lxts_dec6x_five: 3306*3a608692SPiotr Kubaj vxor 7,1,17 3307*3a608692SPiotr Kubaj vxor 12,2,18 3308*3a608692SPiotr Kubaj vxor 13,3,19 3309*3a608692SPiotr Kubaj vxor 14,4,20 3310*3a608692SPiotr Kubaj vxor 15,5,21 3311*3a608692SPiotr Kubaj 3312*3a608692SPiotr Kubaj bl _aesp8_xts_dec5x 3313*3a608692SPiotr Kubaj 3314*3a608692SPiotr Kubaj 3315*3a608692SPiotr Kubaj vor 17,22,22 3316*3a608692SPiotr Kubaj vxor 18,8,23 3317*3a608692SPiotr Kubaj 3318*3a608692SPiotr Kubaj .long 0x7CE02799 3319*3a608692SPiotr Kubaj vxor 7,0,18 3320*3a608692SPiotr Kubaj 3321*3a608692SPiotr Kubaj .long 0x7D832799 3322*3a608692SPiotr Kubaj 3323*3a608692SPiotr Kubaj .long 0x7DBA2799 3324*3a608692SPiotr Kubaj 3325*3a608692SPiotr Kubaj .long 0x7DDB2799 3326*3a608692SPiotr Kubaj .long 0x7DFC2799 3327*3a608692SPiotr Kubaj addi 4,4,0x50 3328*3a608692SPiotr Kubaj bne .Lxts_dec6x_steal 3329*3a608692SPiotr Kubaj b .Lxts_dec6x_done 3330*3a608692SPiotr Kubaj 3331*3a608692SPiotr Kubaj.align 4 3332*3a608692SPiotr Kubaj.Lxts_dec6x_four: 3333*3a608692SPiotr Kubaj vxor 7,2,17 3334*3a608692SPiotr Kubaj vxor 12,3,18 3335*3a608692SPiotr Kubaj vxor 13,4,19 3336*3a608692SPiotr Kubaj vxor 14,5,20 3337*3a608692SPiotr Kubaj vxor 15,15,15 3338*3a608692SPiotr Kubaj 3339*3a608692SPiotr Kubaj bl _aesp8_xts_dec5x 3340*3a608692SPiotr Kubaj 3341*3a608692SPiotr Kubaj 3342*3a608692SPiotr Kubaj vor 17,21,21 3343*3a608692SPiotr Kubaj vor 18,22,22 3344*3a608692SPiotr Kubaj 3345*3a608692SPiotr Kubaj .long 0x7CE02799 3346*3a608692SPiotr Kubaj vxor 7,0,22 3347*3a608692SPiotr Kubaj 3348*3a608692SPiotr Kubaj .long 0x7D832799 3349*3a608692SPiotr Kubaj 3350*3a608692SPiotr Kubaj .long 0x7DBA2799 3351*3a608692SPiotr Kubaj .long 0x7DDB2799 3352*3a608692SPiotr Kubaj addi 4,4,0x40 3353*3a608692SPiotr Kubaj bne .Lxts_dec6x_steal 3354*3a608692SPiotr Kubaj b .Lxts_dec6x_done 3355*3a608692SPiotr Kubaj 3356*3a608692SPiotr Kubaj.align 4 3357*3a608692SPiotr Kubaj.Lxts_dec6x_three: 3358*3a608692SPiotr Kubaj vxor 7,3,17 3359*3a608692SPiotr Kubaj vxor 12,4,18 3360*3a608692SPiotr Kubaj vxor 13,5,19 3361*3a608692SPiotr Kubaj vxor 14,14,14 3362*3a608692SPiotr Kubaj vxor 15,15,15 3363*3a608692SPiotr Kubaj 3364*3a608692SPiotr Kubaj bl _aesp8_xts_dec5x 3365*3a608692SPiotr Kubaj 3366*3a608692SPiotr Kubaj 3367*3a608692SPiotr Kubaj vor 17,20,20 3368*3a608692SPiotr Kubaj vor 18,21,21 3369*3a608692SPiotr Kubaj 3370*3a608692SPiotr Kubaj .long 0x7CE02799 3371*3a608692SPiotr Kubaj vxor 7,0,21 3372*3a608692SPiotr Kubaj 3373*3a608692SPiotr Kubaj .long 0x7D832799 3374*3a608692SPiotr Kubaj .long 0x7DBA2799 3375*3a608692SPiotr Kubaj addi 4,4,0x30 3376*3a608692SPiotr Kubaj bne .Lxts_dec6x_steal 3377*3a608692SPiotr Kubaj b .Lxts_dec6x_done 3378*3a608692SPiotr Kubaj 3379*3a608692SPiotr Kubaj.align 4 3380*3a608692SPiotr Kubaj.Lxts_dec6x_two: 3381*3a608692SPiotr Kubaj vxor 7,4,17 3382*3a608692SPiotr Kubaj vxor 12,5,18 3383*3a608692SPiotr Kubaj vxor 13,13,13 3384*3a608692SPiotr Kubaj vxor 14,14,14 3385*3a608692SPiotr Kubaj vxor 15,15,15 3386*3a608692SPiotr Kubaj 3387*3a608692SPiotr Kubaj bl _aesp8_xts_dec5x 3388*3a608692SPiotr Kubaj 3389*3a608692SPiotr Kubaj 3390*3a608692SPiotr Kubaj vor 17,19,19 3391*3a608692SPiotr Kubaj vor 18,20,20 3392*3a608692SPiotr Kubaj 3393*3a608692SPiotr Kubaj .long 0x7CE02799 3394*3a608692SPiotr Kubaj vxor 7,0,20 3395*3a608692SPiotr Kubaj .long 0x7D832799 3396*3a608692SPiotr Kubaj addi 4,4,0x20 3397*3a608692SPiotr Kubaj bne .Lxts_dec6x_steal 3398*3a608692SPiotr Kubaj b .Lxts_dec6x_done 3399*3a608692SPiotr Kubaj 3400*3a608692SPiotr Kubaj.align 4 3401*3a608692SPiotr Kubaj.Lxts_dec6x_one: 3402*3a608692SPiotr Kubaj vxor 7,5,17 3403*3a608692SPiotr Kubaj nop 3404*3a608692SPiotr Kubaj.Loop_xts_dec1x: 3405*3a608692SPiotr Kubaj .long 0x10E7C548 3406*3a608692SPiotr Kubaj lvx 24,26,7 3407*3a608692SPiotr Kubaj addi 7,7,0x20 3408*3a608692SPiotr Kubaj 3409*3a608692SPiotr Kubaj .long 0x10E7CD48 3410*3a608692SPiotr Kubaj lvx 25,3,7 3411*3a608692SPiotr Kubaj bdnz .Loop_xts_dec1x 3412*3a608692SPiotr Kubaj 3413*3a608692SPiotr Kubaj subi 0,31,1 3414*3a608692SPiotr Kubaj .long 0x10E7C548 3415*3a608692SPiotr Kubaj 3416*3a608692SPiotr Kubaj andi. 0,0,16 3417*3a608692SPiotr Kubaj cmpwi 31,0 3418*3a608692SPiotr Kubaj .long 0x10E7CD48 3419*3a608692SPiotr Kubaj 3420*3a608692SPiotr Kubaj sub 10,10,0 3421*3a608692SPiotr Kubaj .long 0x10E7D548 3422*3a608692SPiotr Kubaj 3423*3a608692SPiotr Kubaj .long 0x7C005699 3424*3a608692SPiotr Kubaj .long 0x10E7DD48 3425*3a608692SPiotr Kubaj 3426*3a608692SPiotr Kubaj addi 7,1,64+15 3427*3a608692SPiotr Kubaj .long 0x10E7E548 3428*3a608692SPiotr Kubaj lvx 24,0,7 3429*3a608692SPiotr Kubaj 3430*3a608692SPiotr Kubaj .long 0x10E7ED48 3431*3a608692SPiotr Kubaj lvx 25,3,7 3432*3a608692SPiotr Kubaj vxor 17,17,31 3433*3a608692SPiotr Kubaj 3434*3a608692SPiotr Kubaj 3435*3a608692SPiotr Kubaj .long 0x10E7F548 3436*3a608692SPiotr Kubaj 3437*3a608692SPiotr Kubaj mtctr 9 3438*3a608692SPiotr Kubaj .long 0x10E78D49 3439*3a608692SPiotr Kubaj 3440*3a608692SPiotr Kubaj vor 17,18,18 3441*3a608692SPiotr Kubaj vor 18,19,19 3442*3a608692SPiotr Kubaj 3443*3a608692SPiotr Kubaj .long 0x7CE02799 3444*3a608692SPiotr Kubaj addi 4,4,0x10 3445*3a608692SPiotr Kubaj vxor 7,0,19 3446*3a608692SPiotr Kubaj bne .Lxts_dec6x_steal 3447*3a608692SPiotr Kubaj b .Lxts_dec6x_done 3448*3a608692SPiotr Kubaj 3449*3a608692SPiotr Kubaj.align 4 3450*3a608692SPiotr Kubaj.Lxts_dec6x_zero: 3451*3a608692SPiotr Kubaj cmpwi 31,0 3452*3a608692SPiotr Kubaj beq .Lxts_dec6x_done 3453*3a608692SPiotr Kubaj 3454*3a608692SPiotr Kubaj .long 0x7C005699 3455*3a608692SPiotr Kubaj 3456*3a608692SPiotr Kubaj vxor 7,0,18 3457*3a608692SPiotr Kubaj.Lxts_dec6x_steal: 3458*3a608692SPiotr Kubaj .long 0x10E7C548 3459*3a608692SPiotr Kubaj lvx 24,26,7 3460*3a608692SPiotr Kubaj addi 7,7,0x20 3461*3a608692SPiotr Kubaj 3462*3a608692SPiotr Kubaj .long 0x10E7CD48 3463*3a608692SPiotr Kubaj lvx 25,3,7 3464*3a608692SPiotr Kubaj bdnz .Lxts_dec6x_steal 3465*3a608692SPiotr Kubaj 3466*3a608692SPiotr Kubaj add 10,10,31 3467*3a608692SPiotr Kubaj .long 0x10E7C548 3468*3a608692SPiotr Kubaj 3469*3a608692SPiotr Kubaj cmpwi 31,0 3470*3a608692SPiotr Kubaj .long 0x10E7CD48 3471*3a608692SPiotr Kubaj 3472*3a608692SPiotr Kubaj .long 0x7C005699 3473*3a608692SPiotr Kubaj .long 0x10E7D548 3474*3a608692SPiotr Kubaj 3475*3a608692SPiotr Kubaj lvsr 5,0,31 3476*3a608692SPiotr Kubaj .long 0x10E7DD48 3477*3a608692SPiotr Kubaj 3478*3a608692SPiotr Kubaj addi 7,1,64+15 3479*3a608692SPiotr Kubaj .long 0x10E7E548 3480*3a608692SPiotr Kubaj lvx 24,0,7 3481*3a608692SPiotr Kubaj 3482*3a608692SPiotr Kubaj .long 0x10E7ED48 3483*3a608692SPiotr Kubaj lvx 25,3,7 3484*3a608692SPiotr Kubaj vxor 18,18,31 3485*3a608692SPiotr Kubaj 3486*3a608692SPiotr Kubaj 3487*3a608692SPiotr Kubaj .long 0x10E7F548 3488*3a608692SPiotr Kubaj 3489*3a608692SPiotr Kubaj vperm 0,0,0,5 3490*3a608692SPiotr Kubaj .long 0x11679549 3491*3a608692SPiotr Kubaj 3492*3a608692SPiotr Kubaj 3493*3a608692SPiotr Kubaj 3494*3a608692SPiotr Kubaj .long 0x7D602799 3495*3a608692SPiotr Kubaj 3496*3a608692SPiotr Kubaj vxor 7,7,7 3497*3a608692SPiotr Kubaj vspltisb 12,-1 3498*3a608692SPiotr Kubaj vperm 7,7,12,5 3499*3a608692SPiotr Kubaj vsel 7,0,11,7 3500*3a608692SPiotr Kubaj vxor 7,7,17 3501*3a608692SPiotr Kubaj 3502*3a608692SPiotr Kubaj subi 30,4,1 3503*3a608692SPiotr Kubaj mtctr 31 3504*3a608692SPiotr Kubaj.Loop_xts_dec6x_steal: 3505*3a608692SPiotr Kubaj lbzu 0,1(30) 3506*3a608692SPiotr Kubaj stb 0,16(30) 3507*3a608692SPiotr Kubaj bdnz .Loop_xts_dec6x_steal 3508*3a608692SPiotr Kubaj 3509*3a608692SPiotr Kubaj li 31,0 3510*3a608692SPiotr Kubaj mtctr 9 3511*3a608692SPiotr Kubaj b .Loop_xts_dec1x 3512*3a608692SPiotr Kubaj 3513*3a608692SPiotr Kubaj.align 4 3514*3a608692SPiotr Kubaj.Lxts_dec6x_done: 3515*3a608692SPiotr Kubaj cmpldi 8,0 3516*3a608692SPiotr Kubaj beq .Lxts_dec6x_ret 3517*3a608692SPiotr Kubaj 3518*3a608692SPiotr Kubaj vxor 8,17,23 3519*3a608692SPiotr Kubaj 3520*3a608692SPiotr Kubaj .long 0x7D004799 3521*3a608692SPiotr Kubaj 3522*3a608692SPiotr Kubaj.Lxts_dec6x_ret: 3523*3a608692SPiotr Kubaj mtlr 11 3524*3a608692SPiotr Kubaj li 10,79 3525*3a608692SPiotr Kubaj li 11,95 3526*3a608692SPiotr Kubaj stvx 9,10,1 3527*3a608692SPiotr Kubaj addi 10,10,32 3528*3a608692SPiotr Kubaj stvx 9,11,1 3529*3a608692SPiotr Kubaj addi 11,11,32 3530*3a608692SPiotr Kubaj stvx 9,10,1 3531*3a608692SPiotr Kubaj addi 10,10,32 3532*3a608692SPiotr Kubaj stvx 9,11,1 3533*3a608692SPiotr Kubaj addi 11,11,32 3534*3a608692SPiotr Kubaj stvx 9,10,1 3535*3a608692SPiotr Kubaj addi 10,10,32 3536*3a608692SPiotr Kubaj stvx 9,11,1 3537*3a608692SPiotr Kubaj addi 11,11,32 3538*3a608692SPiotr Kubaj stvx 9,10,1 3539*3a608692SPiotr Kubaj addi 10,10,32 3540*3a608692SPiotr Kubaj stvx 9,11,1 3541*3a608692SPiotr Kubaj addi 11,11,32 3542*3a608692SPiotr Kubaj 3543*3a608692SPiotr Kubaj or 12,12,12 3544*3a608692SPiotr Kubaj lvx 20,10,1 3545*3a608692SPiotr Kubaj addi 10,10,32 3546*3a608692SPiotr Kubaj lvx 21,11,1 3547*3a608692SPiotr Kubaj addi 11,11,32 3548*3a608692SPiotr Kubaj lvx 22,10,1 3549*3a608692SPiotr Kubaj addi 10,10,32 3550*3a608692SPiotr Kubaj lvx 23,11,1 3551*3a608692SPiotr Kubaj addi 11,11,32 3552*3a608692SPiotr Kubaj lvx 24,10,1 3553*3a608692SPiotr Kubaj addi 10,10,32 3554*3a608692SPiotr Kubaj lvx 25,11,1 3555*3a608692SPiotr Kubaj addi 11,11,32 3556*3a608692SPiotr Kubaj lvx 26,10,1 3557*3a608692SPiotr Kubaj addi 10,10,32 3558*3a608692SPiotr Kubaj lvx 27,11,1 3559*3a608692SPiotr Kubaj addi 11,11,32 3560*3a608692SPiotr Kubaj lvx 28,10,1 3561*3a608692SPiotr Kubaj addi 10,10,32 3562*3a608692SPiotr Kubaj lvx 29,11,1 3563*3a608692SPiotr Kubaj addi 11,11,32 3564*3a608692SPiotr Kubaj lvx 30,10,1 3565*3a608692SPiotr Kubaj lvx 31,11,1 3566*3a608692SPiotr Kubaj ld 26,400(1) 3567*3a608692SPiotr Kubaj ld 27,408(1) 3568*3a608692SPiotr Kubaj ld 28,416(1) 3569*3a608692SPiotr Kubaj ld 29,424(1) 3570*3a608692SPiotr Kubaj ld 30,432(1) 3571*3a608692SPiotr Kubaj ld 31,440(1) 3572*3a608692SPiotr Kubaj addi 1,1,448 3573*3a608692SPiotr Kubaj blr 3574*3a608692SPiotr Kubaj.long 0 3575*3a608692SPiotr Kubaj.byte 0,12,0x04,1,0x80,6,6,0 3576*3a608692SPiotr Kubaj.long 0 3577*3a608692SPiotr Kubaj 3578*3a608692SPiotr Kubaj.align 5 3579*3a608692SPiotr Kubaj_aesp8_xts_dec5x: 3580*3a608692SPiotr Kubaj .long 0x10E7C548 3581*3a608692SPiotr Kubaj .long 0x118CC548 3582*3a608692SPiotr Kubaj .long 0x11ADC548 3583*3a608692SPiotr Kubaj .long 0x11CEC548 3584*3a608692SPiotr Kubaj .long 0x11EFC548 3585*3a608692SPiotr Kubaj lvx 24,26,7 3586*3a608692SPiotr Kubaj addi 7,7,0x20 3587*3a608692SPiotr Kubaj 3588*3a608692SPiotr Kubaj .long 0x10E7CD48 3589*3a608692SPiotr Kubaj .long 0x118CCD48 3590*3a608692SPiotr Kubaj .long 0x11ADCD48 3591*3a608692SPiotr Kubaj .long 0x11CECD48 3592*3a608692SPiotr Kubaj .long 0x11EFCD48 3593*3a608692SPiotr Kubaj lvx 25,3,7 3594*3a608692SPiotr Kubaj bdnz _aesp8_xts_dec5x 3595*3a608692SPiotr Kubaj 3596*3a608692SPiotr Kubaj subi 0,31,1 3597*3a608692SPiotr Kubaj .long 0x10E7C548 3598*3a608692SPiotr Kubaj .long 0x118CC548 3599*3a608692SPiotr Kubaj .long 0x11ADC548 3600*3a608692SPiotr Kubaj .long 0x11CEC548 3601*3a608692SPiotr Kubaj .long 0x11EFC548 3602*3a608692SPiotr Kubaj 3603*3a608692SPiotr Kubaj andi. 0,0,16 3604*3a608692SPiotr Kubaj cmpwi 31,0 3605*3a608692SPiotr Kubaj .long 0x10E7CD48 3606*3a608692SPiotr Kubaj .long 0x118CCD48 3607*3a608692SPiotr Kubaj .long 0x11ADCD48 3608*3a608692SPiotr Kubaj .long 0x11CECD48 3609*3a608692SPiotr Kubaj .long 0x11EFCD48 3610*3a608692SPiotr Kubaj vxor 17,17,31 3611*3a608692SPiotr Kubaj 3612*3a608692SPiotr Kubaj sub 10,10,0 3613*3a608692SPiotr Kubaj .long 0x10E7D548 3614*3a608692SPiotr Kubaj .long 0x118CD548 3615*3a608692SPiotr Kubaj .long 0x11ADD548 3616*3a608692SPiotr Kubaj .long 0x11CED548 3617*3a608692SPiotr Kubaj .long 0x11EFD548 3618*3a608692SPiotr Kubaj vxor 1,18,31 3619*3a608692SPiotr Kubaj 3620*3a608692SPiotr Kubaj .long 0x10E7DD48 3621*3a608692SPiotr Kubaj .long 0x7C005699 3622*3a608692SPiotr Kubaj .long 0x118CDD48 3623*3a608692SPiotr Kubaj .long 0x11ADDD48 3624*3a608692SPiotr Kubaj .long 0x11CEDD48 3625*3a608692SPiotr Kubaj .long 0x11EFDD48 3626*3a608692SPiotr Kubaj vxor 2,19,31 3627*3a608692SPiotr Kubaj 3628*3a608692SPiotr Kubaj addi 7,1,64+15 3629*3a608692SPiotr Kubaj .long 0x10E7E548 3630*3a608692SPiotr Kubaj .long 0x118CE548 3631*3a608692SPiotr Kubaj .long 0x11ADE548 3632*3a608692SPiotr Kubaj .long 0x11CEE548 3633*3a608692SPiotr Kubaj .long 0x11EFE548 3634*3a608692SPiotr Kubaj lvx 24,0,7 3635*3a608692SPiotr Kubaj vxor 3,20,31 3636*3a608692SPiotr Kubaj 3637*3a608692SPiotr Kubaj .long 0x10E7ED48 3638*3a608692SPiotr Kubaj 3639*3a608692SPiotr Kubaj .long 0x118CED48 3640*3a608692SPiotr Kubaj .long 0x11ADED48 3641*3a608692SPiotr Kubaj .long 0x11CEED48 3642*3a608692SPiotr Kubaj .long 0x11EFED48 3643*3a608692SPiotr Kubaj lvx 25,3,7 3644*3a608692SPiotr Kubaj vxor 4,21,31 3645*3a608692SPiotr Kubaj 3646*3a608692SPiotr Kubaj .long 0x10E7F548 3647*3a608692SPiotr Kubaj .long 0x118CF548 3648*3a608692SPiotr Kubaj .long 0x11ADF548 3649*3a608692SPiotr Kubaj .long 0x11CEF548 3650*3a608692SPiotr Kubaj .long 0x11EFF548 3651*3a608692SPiotr Kubaj 3652*3a608692SPiotr Kubaj .long 0x10E78D49 3653*3a608692SPiotr Kubaj .long 0x118C0D49 3654*3a608692SPiotr Kubaj .long 0x11AD1549 3655*3a608692SPiotr Kubaj .long 0x11CE1D49 3656*3a608692SPiotr Kubaj .long 0x11EF2549 3657*3a608692SPiotr Kubaj mtctr 9 3658*3a608692SPiotr Kubaj blr 3659*3a608692SPiotr Kubaj.long 0 3660*3a608692SPiotr Kubaj.byte 0,12,0x14,0,0,0,0,0 3661