1*3a608692SPiotr Kubaj/* Do not modify. This file is auto-generated from ghashp8-ppc.pl. */ 2*3a608692SPiotr Kubaj.machine "any" 3*3a608692SPiotr Kubaj 4*3a608692SPiotr Kubaj.abiversion 2 5*3a608692SPiotr Kubaj.text 6*3a608692SPiotr Kubaj 7*3a608692SPiotr Kubaj.globl gcm_init_p8 8*3a608692SPiotr Kubaj.type gcm_init_p8,@function 9*3a608692SPiotr Kubaj.align 5 10*3a608692SPiotr Kubajgcm_init_p8: 11*3a608692SPiotr Kubaj.localentry gcm_init_p8,0 12*3a608692SPiotr Kubaj 13*3a608692SPiotr Kubaj li 0,-4096 14*3a608692SPiotr Kubaj li 8,0x10 15*3a608692SPiotr Kubaj li 12,-1 16*3a608692SPiotr Kubaj li 9,0x20 17*3a608692SPiotr Kubaj or 0,0,0 18*3a608692SPiotr Kubaj li 10,0x30 19*3a608692SPiotr Kubaj .long 0x7D202699 20*3a608692SPiotr Kubaj 21*3a608692SPiotr Kubaj vspltisb 8,-16 22*3a608692SPiotr Kubaj vspltisb 5,1 23*3a608692SPiotr Kubaj vaddubm 8,8,8 24*3a608692SPiotr Kubaj vxor 4,4,4 25*3a608692SPiotr Kubaj vor 8,8,5 26*3a608692SPiotr Kubaj vsldoi 8,8,4,15 27*3a608692SPiotr Kubaj vsldoi 6,4,5,1 28*3a608692SPiotr Kubaj vaddubm 8,8,8 29*3a608692SPiotr Kubaj vspltisb 7,7 30*3a608692SPiotr Kubaj vor 8,8,6 31*3a608692SPiotr Kubaj vspltb 6,9,0 32*3a608692SPiotr Kubaj vsl 9,9,5 33*3a608692SPiotr Kubaj vsrab 6,6,7 34*3a608692SPiotr Kubaj vand 6,6,8 35*3a608692SPiotr Kubaj vxor 3,9,6 36*3a608692SPiotr Kubaj 37*3a608692SPiotr Kubaj vsldoi 9,3,3,8 38*3a608692SPiotr Kubaj vsldoi 8,4,8,8 39*3a608692SPiotr Kubaj vsldoi 11,4,9,8 40*3a608692SPiotr Kubaj vsldoi 10,9,4,8 41*3a608692SPiotr Kubaj 42*3a608692SPiotr Kubaj .long 0x7D001F99 43*3a608692SPiotr Kubaj .long 0x7D681F99 44*3a608692SPiotr Kubaj li 8,0x40 45*3a608692SPiotr Kubaj .long 0x7D291F99 46*3a608692SPiotr Kubaj li 9,0x50 47*3a608692SPiotr Kubaj .long 0x7D4A1F99 48*3a608692SPiotr Kubaj li 10,0x60 49*3a608692SPiotr Kubaj 50*3a608692SPiotr Kubaj .long 0x10035CC8 51*3a608692SPiotr Kubaj .long 0x10234CC8 52*3a608692SPiotr Kubaj .long 0x104354C8 53*3a608692SPiotr Kubaj 54*3a608692SPiotr Kubaj .long 0x10E044C8 55*3a608692SPiotr Kubaj 56*3a608692SPiotr Kubaj vsldoi 5,1,4,8 57*3a608692SPiotr Kubaj vsldoi 6,4,1,8 58*3a608692SPiotr Kubaj vxor 0,0,5 59*3a608692SPiotr Kubaj vxor 2,2,6 60*3a608692SPiotr Kubaj 61*3a608692SPiotr Kubaj vsldoi 0,0,0,8 62*3a608692SPiotr Kubaj vxor 0,0,7 63*3a608692SPiotr Kubaj 64*3a608692SPiotr Kubaj vsldoi 6,0,0,8 65*3a608692SPiotr Kubaj .long 0x100044C8 66*3a608692SPiotr Kubaj vxor 6,6,2 67*3a608692SPiotr Kubaj vxor 16,0,6 68*3a608692SPiotr Kubaj 69*3a608692SPiotr Kubaj vsldoi 17,16,16,8 70*3a608692SPiotr Kubaj vsldoi 19,4,17,8 71*3a608692SPiotr Kubaj vsldoi 18,17,4,8 72*3a608692SPiotr Kubaj 73*3a608692SPiotr Kubaj .long 0x7E681F99 74*3a608692SPiotr Kubaj li 8,0x70 75*3a608692SPiotr Kubaj .long 0x7E291F99 76*3a608692SPiotr Kubaj li 9,0x80 77*3a608692SPiotr Kubaj .long 0x7E4A1F99 78*3a608692SPiotr Kubaj li 10,0x90 79*3a608692SPiotr Kubaj .long 0x10039CC8 80*3a608692SPiotr Kubaj .long 0x11B09CC8 81*3a608692SPiotr Kubaj .long 0x10238CC8 82*3a608692SPiotr Kubaj .long 0x11D08CC8 83*3a608692SPiotr Kubaj .long 0x104394C8 84*3a608692SPiotr Kubaj .long 0x11F094C8 85*3a608692SPiotr Kubaj 86*3a608692SPiotr Kubaj .long 0x10E044C8 87*3a608692SPiotr Kubaj .long 0x114D44C8 88*3a608692SPiotr Kubaj 89*3a608692SPiotr Kubaj vsldoi 5,1,4,8 90*3a608692SPiotr Kubaj vsldoi 6,4,1,8 91*3a608692SPiotr Kubaj vsldoi 11,14,4,8 92*3a608692SPiotr Kubaj vsldoi 9,4,14,8 93*3a608692SPiotr Kubaj vxor 0,0,5 94*3a608692SPiotr Kubaj vxor 2,2,6 95*3a608692SPiotr Kubaj vxor 13,13,11 96*3a608692SPiotr Kubaj vxor 15,15,9 97*3a608692SPiotr Kubaj 98*3a608692SPiotr Kubaj vsldoi 0,0,0,8 99*3a608692SPiotr Kubaj vsldoi 13,13,13,8 100*3a608692SPiotr Kubaj vxor 0,0,7 101*3a608692SPiotr Kubaj vxor 13,13,10 102*3a608692SPiotr Kubaj 103*3a608692SPiotr Kubaj vsldoi 6,0,0,8 104*3a608692SPiotr Kubaj vsldoi 9,13,13,8 105*3a608692SPiotr Kubaj .long 0x100044C8 106*3a608692SPiotr Kubaj .long 0x11AD44C8 107*3a608692SPiotr Kubaj vxor 6,6,2 108*3a608692SPiotr Kubaj vxor 9,9,15 109*3a608692SPiotr Kubaj vxor 0,0,6 110*3a608692SPiotr Kubaj vxor 13,13,9 111*3a608692SPiotr Kubaj 112*3a608692SPiotr Kubaj vsldoi 9,0,0,8 113*3a608692SPiotr Kubaj vsldoi 17,13,13,8 114*3a608692SPiotr Kubaj vsldoi 11,4,9,8 115*3a608692SPiotr Kubaj vsldoi 10,9,4,8 116*3a608692SPiotr Kubaj vsldoi 19,4,17,8 117*3a608692SPiotr Kubaj vsldoi 18,17,4,8 118*3a608692SPiotr Kubaj 119*3a608692SPiotr Kubaj .long 0x7D681F99 120*3a608692SPiotr Kubaj li 8,0xa0 121*3a608692SPiotr Kubaj .long 0x7D291F99 122*3a608692SPiotr Kubaj li 9,0xb0 123*3a608692SPiotr Kubaj .long 0x7D4A1F99 124*3a608692SPiotr Kubaj li 10,0xc0 125*3a608692SPiotr Kubaj .long 0x7E681F99 126*3a608692SPiotr Kubaj .long 0x7E291F99 127*3a608692SPiotr Kubaj .long 0x7E4A1F99 128*3a608692SPiotr Kubaj 129*3a608692SPiotr Kubaj or 12,12,12 130*3a608692SPiotr Kubaj blr 131*3a608692SPiotr Kubaj.long 0 132*3a608692SPiotr Kubaj.byte 0,12,0x14,0,0,0,2,0 133*3a608692SPiotr Kubaj.long 0 134*3a608692SPiotr Kubaj.size gcm_init_p8,.-gcm_init_p8 135*3a608692SPiotr Kubaj.globl gcm_gmult_p8 136*3a608692SPiotr Kubaj.type gcm_gmult_p8,@function 137*3a608692SPiotr Kubaj.align 5 138*3a608692SPiotr Kubajgcm_gmult_p8: 139*3a608692SPiotr Kubaj.localentry gcm_gmult_p8,0 140*3a608692SPiotr Kubaj 141*3a608692SPiotr Kubaj lis 0,0xfff8 142*3a608692SPiotr Kubaj li 8,0x10 143*3a608692SPiotr Kubaj li 12,-1 144*3a608692SPiotr Kubaj li 9,0x20 145*3a608692SPiotr Kubaj or 0,0,0 146*3a608692SPiotr Kubaj li 10,0x30 147*3a608692SPiotr Kubaj .long 0x7C601E99 148*3a608692SPiotr Kubaj 149*3a608692SPiotr Kubaj .long 0x7D682699 150*3a608692SPiotr Kubaj 151*3a608692SPiotr Kubaj .long 0x7D292699 152*3a608692SPiotr Kubaj 153*3a608692SPiotr Kubaj .long 0x7D4A2699 154*3a608692SPiotr Kubaj 155*3a608692SPiotr Kubaj .long 0x7D002699 156*3a608692SPiotr Kubaj 157*3a608692SPiotr Kubaj vxor 4,4,4 158*3a608692SPiotr Kubaj 159*3a608692SPiotr Kubaj .long 0x10035CC8 160*3a608692SPiotr Kubaj .long 0x10234CC8 161*3a608692SPiotr Kubaj .long 0x104354C8 162*3a608692SPiotr Kubaj 163*3a608692SPiotr Kubaj .long 0x10E044C8 164*3a608692SPiotr Kubaj 165*3a608692SPiotr Kubaj vsldoi 5,1,4,8 166*3a608692SPiotr Kubaj vsldoi 6,4,1,8 167*3a608692SPiotr Kubaj vxor 0,0,5 168*3a608692SPiotr Kubaj vxor 2,2,6 169*3a608692SPiotr Kubaj 170*3a608692SPiotr Kubaj vsldoi 0,0,0,8 171*3a608692SPiotr Kubaj vxor 0,0,7 172*3a608692SPiotr Kubaj 173*3a608692SPiotr Kubaj vsldoi 6,0,0,8 174*3a608692SPiotr Kubaj .long 0x100044C8 175*3a608692SPiotr Kubaj vxor 6,6,2 176*3a608692SPiotr Kubaj vxor 0,0,6 177*3a608692SPiotr Kubaj 178*3a608692SPiotr Kubaj 179*3a608692SPiotr Kubaj .long 0x7C001F99 180*3a608692SPiotr Kubaj 181*3a608692SPiotr Kubaj or 12,12,12 182*3a608692SPiotr Kubaj blr 183*3a608692SPiotr Kubaj.long 0 184*3a608692SPiotr Kubaj.byte 0,12,0x14,0,0,0,2,0 185*3a608692SPiotr Kubaj.long 0 186*3a608692SPiotr Kubaj.size gcm_gmult_p8,.-gcm_gmult_p8 187*3a608692SPiotr Kubaj 188*3a608692SPiotr Kubaj.globl gcm_ghash_p8 189*3a608692SPiotr Kubaj.type gcm_ghash_p8,@function 190*3a608692SPiotr Kubaj.align 5 191*3a608692SPiotr Kubajgcm_ghash_p8: 192*3a608692SPiotr Kubaj.localentry gcm_ghash_p8,0 193*3a608692SPiotr Kubaj 194*3a608692SPiotr Kubaj li 0,-4096 195*3a608692SPiotr Kubaj li 8,0x10 196*3a608692SPiotr Kubaj li 12,-1 197*3a608692SPiotr Kubaj li 9,0x20 198*3a608692SPiotr Kubaj or 0,0,0 199*3a608692SPiotr Kubaj li 10,0x30 200*3a608692SPiotr Kubaj .long 0x7C001E99 201*3a608692SPiotr Kubaj 202*3a608692SPiotr Kubaj .long 0x7D682699 203*3a608692SPiotr Kubaj li 8,0x40 204*3a608692SPiotr Kubaj 205*3a608692SPiotr Kubaj .long 0x7D292699 206*3a608692SPiotr Kubaj li 9,0x50 207*3a608692SPiotr Kubaj 208*3a608692SPiotr Kubaj .long 0x7D4A2699 209*3a608692SPiotr Kubaj li 10,0x60 210*3a608692SPiotr Kubaj 211*3a608692SPiotr Kubaj .long 0x7D002699 212*3a608692SPiotr Kubaj 213*3a608692SPiotr Kubaj vxor 4,4,4 214*3a608692SPiotr Kubaj 215*3a608692SPiotr Kubaj cmpldi 6,64 216*3a608692SPiotr Kubaj bge .Lgcm_ghash_p8_4x 217*3a608692SPiotr Kubaj 218*3a608692SPiotr Kubaj .long 0x7C602E99 219*3a608692SPiotr Kubaj addi 5,5,16 220*3a608692SPiotr Kubaj subic. 6,6,16 221*3a608692SPiotr Kubaj 222*3a608692SPiotr Kubaj vxor 3,3,0 223*3a608692SPiotr Kubaj beq .Lshort 224*3a608692SPiotr Kubaj 225*3a608692SPiotr Kubaj .long 0x7E682699 226*3a608692SPiotr Kubaj li 8,16 227*3a608692SPiotr Kubaj .long 0x7E292699 228*3a608692SPiotr Kubaj add 9,5,6 229*3a608692SPiotr Kubaj .long 0x7E4A2699 230*3a608692SPiotr Kubaj b .Loop_2x 231*3a608692SPiotr Kubaj 232*3a608692SPiotr Kubaj.align 5 233*3a608692SPiotr Kubaj.Loop_2x: 234*3a608692SPiotr Kubaj .long 0x7E002E99 235*3a608692SPiotr Kubaj 236*3a608692SPiotr Kubaj 237*3a608692SPiotr Kubaj subic 6,6,32 238*3a608692SPiotr Kubaj .long 0x10039CC8 239*3a608692SPiotr Kubaj .long 0x11B05CC8 240*3a608692SPiotr Kubaj subfe 0,0,0 241*3a608692SPiotr Kubaj .long 0x10238CC8 242*3a608692SPiotr Kubaj .long 0x11D04CC8 243*3a608692SPiotr Kubaj and 0,0,6 244*3a608692SPiotr Kubaj .long 0x104394C8 245*3a608692SPiotr Kubaj .long 0x11F054C8 246*3a608692SPiotr Kubaj add 5,5,0 247*3a608692SPiotr Kubaj 248*3a608692SPiotr Kubaj vxor 0,0,13 249*3a608692SPiotr Kubaj vxor 1,1,14 250*3a608692SPiotr Kubaj 251*3a608692SPiotr Kubaj .long 0x10E044C8 252*3a608692SPiotr Kubaj 253*3a608692SPiotr Kubaj vsldoi 5,1,4,8 254*3a608692SPiotr Kubaj vsldoi 6,4,1,8 255*3a608692SPiotr Kubaj vxor 2,2,15 256*3a608692SPiotr Kubaj vxor 0,0,5 257*3a608692SPiotr Kubaj vxor 2,2,6 258*3a608692SPiotr Kubaj 259*3a608692SPiotr Kubaj vsldoi 0,0,0,8 260*3a608692SPiotr Kubaj vxor 0,0,7 261*3a608692SPiotr Kubaj .long 0x7C682E99 262*3a608692SPiotr Kubaj addi 5,5,32 263*3a608692SPiotr Kubaj 264*3a608692SPiotr Kubaj vsldoi 6,0,0,8 265*3a608692SPiotr Kubaj .long 0x100044C8 266*3a608692SPiotr Kubaj 267*3a608692SPiotr Kubaj vxor 6,6,2 268*3a608692SPiotr Kubaj vxor 3,3,6 269*3a608692SPiotr Kubaj vxor 3,3,0 270*3a608692SPiotr Kubaj cmpld 9,5 271*3a608692SPiotr Kubaj bgt .Loop_2x 272*3a608692SPiotr Kubaj 273*3a608692SPiotr Kubaj cmplwi 6,0 274*3a608692SPiotr Kubaj bne .Leven 275*3a608692SPiotr Kubaj 276*3a608692SPiotr Kubaj.Lshort: 277*3a608692SPiotr Kubaj .long 0x10035CC8 278*3a608692SPiotr Kubaj .long 0x10234CC8 279*3a608692SPiotr Kubaj .long 0x104354C8 280*3a608692SPiotr Kubaj 281*3a608692SPiotr Kubaj .long 0x10E044C8 282*3a608692SPiotr Kubaj 283*3a608692SPiotr Kubaj vsldoi 5,1,4,8 284*3a608692SPiotr Kubaj vsldoi 6,4,1,8 285*3a608692SPiotr Kubaj vxor 0,0,5 286*3a608692SPiotr Kubaj vxor 2,2,6 287*3a608692SPiotr Kubaj 288*3a608692SPiotr Kubaj vsldoi 0,0,0,8 289*3a608692SPiotr Kubaj vxor 0,0,7 290*3a608692SPiotr Kubaj 291*3a608692SPiotr Kubaj vsldoi 6,0,0,8 292*3a608692SPiotr Kubaj .long 0x100044C8 293*3a608692SPiotr Kubaj vxor 6,6,2 294*3a608692SPiotr Kubaj 295*3a608692SPiotr Kubaj.Leven: 296*3a608692SPiotr Kubaj vxor 0,0,6 297*3a608692SPiotr Kubaj 298*3a608692SPiotr Kubaj .long 0x7C001F99 299*3a608692SPiotr Kubaj 300*3a608692SPiotr Kubaj or 12,12,12 301*3a608692SPiotr Kubaj blr 302*3a608692SPiotr Kubaj.long 0 303*3a608692SPiotr Kubaj.byte 0,12,0x14,0,0,0,4,0 304*3a608692SPiotr Kubaj.long 0 305*3a608692SPiotr Kubaj.align 5 306*3a608692SPiotr Kubaj.gcm_ghash_p8_4x: 307*3a608692SPiotr Kubaj.Lgcm_ghash_p8_4x: 308*3a608692SPiotr Kubaj stdu 1,-256(1) 309*3a608692SPiotr Kubaj li 10,63 310*3a608692SPiotr Kubaj li 11,79 311*3a608692SPiotr Kubaj stvx 20,10,1 312*3a608692SPiotr Kubaj addi 10,10,32 313*3a608692SPiotr Kubaj stvx 21,11,1 314*3a608692SPiotr Kubaj addi 11,11,32 315*3a608692SPiotr Kubaj stvx 22,10,1 316*3a608692SPiotr Kubaj addi 10,10,32 317*3a608692SPiotr Kubaj stvx 23,11,1 318*3a608692SPiotr Kubaj addi 11,11,32 319*3a608692SPiotr Kubaj stvx 24,10,1 320*3a608692SPiotr Kubaj addi 10,10,32 321*3a608692SPiotr Kubaj stvx 25,11,1 322*3a608692SPiotr Kubaj addi 11,11,32 323*3a608692SPiotr Kubaj stvx 26,10,1 324*3a608692SPiotr Kubaj addi 10,10,32 325*3a608692SPiotr Kubaj stvx 27,11,1 326*3a608692SPiotr Kubaj addi 11,11,32 327*3a608692SPiotr Kubaj stvx 28,10,1 328*3a608692SPiotr Kubaj addi 10,10,32 329*3a608692SPiotr Kubaj stvx 29,11,1 330*3a608692SPiotr Kubaj addi 11,11,32 331*3a608692SPiotr Kubaj stvx 30,10,1 332*3a608692SPiotr Kubaj li 10,0x60 333*3a608692SPiotr Kubaj stvx 31,11,1 334*3a608692SPiotr Kubaj li 0,-1 335*3a608692SPiotr Kubaj stw 12,252(1) 336*3a608692SPiotr Kubaj or 0,0,0 337*3a608692SPiotr Kubaj 338*3a608692SPiotr Kubaj lvsl 5,0,8 339*3a608692SPiotr Kubaj 340*3a608692SPiotr Kubaj li 8,0x70 341*3a608692SPiotr Kubaj .long 0x7E292699 342*3a608692SPiotr Kubaj li 9,0x80 343*3a608692SPiotr Kubaj vspltisb 6,8 344*3a608692SPiotr Kubaj 345*3a608692SPiotr Kubaj li 10,0x90 346*3a608692SPiotr Kubaj .long 0x7EE82699 347*3a608692SPiotr Kubaj li 8,0xa0 348*3a608692SPiotr Kubaj .long 0x7F092699 349*3a608692SPiotr Kubaj li 9,0xb0 350*3a608692SPiotr Kubaj .long 0x7F2A2699 351*3a608692SPiotr Kubaj li 10,0xc0 352*3a608692SPiotr Kubaj .long 0x7FA82699 353*3a608692SPiotr Kubaj li 8,0x10 354*3a608692SPiotr Kubaj .long 0x7FC92699 355*3a608692SPiotr Kubaj li 9,0x20 356*3a608692SPiotr Kubaj .long 0x7FEA2699 357*3a608692SPiotr Kubaj li 10,0x30 358*3a608692SPiotr Kubaj 359*3a608692SPiotr Kubaj vsldoi 7,4,6,8 360*3a608692SPiotr Kubaj vaddubm 18,5,7 361*3a608692SPiotr Kubaj vaddubm 19,6,18 362*3a608692SPiotr Kubaj 363*3a608692SPiotr Kubaj srdi 6,6,4 364*3a608692SPiotr Kubaj 365*3a608692SPiotr Kubaj .long 0x7C602E99 366*3a608692SPiotr Kubaj .long 0x7E082E99 367*3a608692SPiotr Kubaj subic. 6,6,8 368*3a608692SPiotr Kubaj .long 0x7EC92E99 369*3a608692SPiotr Kubaj .long 0x7F8A2E99 370*3a608692SPiotr Kubaj addi 5,5,0x40 371*3a608692SPiotr Kubaj 372*3a608692SPiotr Kubaj 373*3a608692SPiotr Kubaj 374*3a608692SPiotr Kubaj 375*3a608692SPiotr Kubaj 376*3a608692SPiotr Kubaj vxor 2,3,0 377*3a608692SPiotr Kubaj 378*3a608692SPiotr Kubaj .long 0x11B0BCC8 379*3a608692SPiotr Kubaj .long 0x11D0C4C8 380*3a608692SPiotr Kubaj .long 0x11F0CCC8 381*3a608692SPiotr Kubaj 382*3a608692SPiotr Kubaj vperm 11,17,9,18 383*3a608692SPiotr Kubaj vperm 5,22,28,19 384*3a608692SPiotr Kubaj vperm 10,17,9,19 385*3a608692SPiotr Kubaj vperm 6,22,28,18 386*3a608692SPiotr Kubaj .long 0x12B68CC8 387*3a608692SPiotr Kubaj .long 0x12855CC8 388*3a608692SPiotr Kubaj .long 0x137C4CC8 389*3a608692SPiotr Kubaj .long 0x134654C8 390*3a608692SPiotr Kubaj 391*3a608692SPiotr Kubaj vxor 21,21,14 392*3a608692SPiotr Kubaj vxor 20,20,13 393*3a608692SPiotr Kubaj vxor 27,27,21 394*3a608692SPiotr Kubaj vxor 26,26,15 395*3a608692SPiotr Kubaj 396*3a608692SPiotr Kubaj blt .Ltail_4x 397*3a608692SPiotr Kubaj 398*3a608692SPiotr Kubaj.Loop_4x: 399*3a608692SPiotr Kubaj .long 0x7C602E99 400*3a608692SPiotr Kubaj .long 0x7E082E99 401*3a608692SPiotr Kubaj subic. 6,6,4 402*3a608692SPiotr Kubaj .long 0x7EC92E99 403*3a608692SPiotr Kubaj .long 0x7F8A2E99 404*3a608692SPiotr Kubaj addi 5,5,0x40 405*3a608692SPiotr Kubaj 406*3a608692SPiotr Kubaj 407*3a608692SPiotr Kubaj 408*3a608692SPiotr Kubaj 409*3a608692SPiotr Kubaj 410*3a608692SPiotr Kubaj .long 0x1002ECC8 411*3a608692SPiotr Kubaj .long 0x1022F4C8 412*3a608692SPiotr Kubaj .long 0x1042FCC8 413*3a608692SPiotr Kubaj .long 0x11B0BCC8 414*3a608692SPiotr Kubaj .long 0x11D0C4C8 415*3a608692SPiotr Kubaj .long 0x11F0CCC8 416*3a608692SPiotr Kubaj 417*3a608692SPiotr Kubaj vxor 0,0,20 418*3a608692SPiotr Kubaj vxor 1,1,27 419*3a608692SPiotr Kubaj vxor 2,2,26 420*3a608692SPiotr Kubaj vperm 5,22,28,19 421*3a608692SPiotr Kubaj vperm 6,22,28,18 422*3a608692SPiotr Kubaj 423*3a608692SPiotr Kubaj .long 0x10E044C8 424*3a608692SPiotr Kubaj .long 0x12855CC8 425*3a608692SPiotr Kubaj .long 0x134654C8 426*3a608692SPiotr Kubaj 427*3a608692SPiotr Kubaj vsldoi 5,1,4,8 428*3a608692SPiotr Kubaj vsldoi 6,4,1,8 429*3a608692SPiotr Kubaj vxor 0,0,5 430*3a608692SPiotr Kubaj vxor 2,2,6 431*3a608692SPiotr Kubaj 432*3a608692SPiotr Kubaj vsldoi 0,0,0,8 433*3a608692SPiotr Kubaj vxor 0,0,7 434*3a608692SPiotr Kubaj 435*3a608692SPiotr Kubaj vsldoi 6,0,0,8 436*3a608692SPiotr Kubaj .long 0x12B68CC8 437*3a608692SPiotr Kubaj .long 0x137C4CC8 438*3a608692SPiotr Kubaj .long 0x100044C8 439*3a608692SPiotr Kubaj 440*3a608692SPiotr Kubaj vxor 20,20,13 441*3a608692SPiotr Kubaj vxor 26,26,15 442*3a608692SPiotr Kubaj vxor 2,2,3 443*3a608692SPiotr Kubaj vxor 21,21,14 444*3a608692SPiotr Kubaj vxor 2,2,6 445*3a608692SPiotr Kubaj vxor 27,27,21 446*3a608692SPiotr Kubaj vxor 2,2,0 447*3a608692SPiotr Kubaj bge .Loop_4x 448*3a608692SPiotr Kubaj 449*3a608692SPiotr Kubaj.Ltail_4x: 450*3a608692SPiotr Kubaj .long 0x1002ECC8 451*3a608692SPiotr Kubaj .long 0x1022F4C8 452*3a608692SPiotr Kubaj .long 0x1042FCC8 453*3a608692SPiotr Kubaj 454*3a608692SPiotr Kubaj vxor 0,0,20 455*3a608692SPiotr Kubaj vxor 1,1,27 456*3a608692SPiotr Kubaj 457*3a608692SPiotr Kubaj .long 0x10E044C8 458*3a608692SPiotr Kubaj 459*3a608692SPiotr Kubaj vsldoi 5,1,4,8 460*3a608692SPiotr Kubaj vsldoi 6,4,1,8 461*3a608692SPiotr Kubaj vxor 2,2,26 462*3a608692SPiotr Kubaj vxor 0,0,5 463*3a608692SPiotr Kubaj vxor 2,2,6 464*3a608692SPiotr Kubaj 465*3a608692SPiotr Kubaj vsldoi 0,0,0,8 466*3a608692SPiotr Kubaj vxor 0,0,7 467*3a608692SPiotr Kubaj 468*3a608692SPiotr Kubaj vsldoi 6,0,0,8 469*3a608692SPiotr Kubaj .long 0x100044C8 470*3a608692SPiotr Kubaj vxor 6,6,2 471*3a608692SPiotr Kubaj vxor 0,0,6 472*3a608692SPiotr Kubaj 473*3a608692SPiotr Kubaj addic. 6,6,4 474*3a608692SPiotr Kubaj beq .Ldone_4x 475*3a608692SPiotr Kubaj 476*3a608692SPiotr Kubaj .long 0x7C602E99 477*3a608692SPiotr Kubaj cmpldi 6,2 478*3a608692SPiotr Kubaj li 6,-4 479*3a608692SPiotr Kubaj blt .Lone 480*3a608692SPiotr Kubaj .long 0x7E082E99 481*3a608692SPiotr Kubaj beq .Ltwo 482*3a608692SPiotr Kubaj 483*3a608692SPiotr Kubaj.Lthree: 484*3a608692SPiotr Kubaj .long 0x7EC92E99 485*3a608692SPiotr Kubaj 486*3a608692SPiotr Kubaj 487*3a608692SPiotr Kubaj 488*3a608692SPiotr Kubaj 489*3a608692SPiotr Kubaj vxor 2,3,0 490*3a608692SPiotr Kubaj vor 29,23,23 491*3a608692SPiotr Kubaj vor 30,24,24 492*3a608692SPiotr Kubaj vor 31,25,25 493*3a608692SPiotr Kubaj 494*3a608692SPiotr Kubaj vperm 5,16,22,19 495*3a608692SPiotr Kubaj vperm 6,16,22,18 496*3a608692SPiotr Kubaj .long 0x12B08CC8 497*3a608692SPiotr Kubaj .long 0x13764CC8 498*3a608692SPiotr Kubaj .long 0x12855CC8 499*3a608692SPiotr Kubaj .long 0x134654C8 500*3a608692SPiotr Kubaj 501*3a608692SPiotr Kubaj vxor 27,27,21 502*3a608692SPiotr Kubaj b .Ltail_4x 503*3a608692SPiotr Kubaj 504*3a608692SPiotr Kubaj.align 4 505*3a608692SPiotr Kubaj.Ltwo: 506*3a608692SPiotr Kubaj 507*3a608692SPiotr Kubaj 508*3a608692SPiotr Kubaj 509*3a608692SPiotr Kubaj vxor 2,3,0 510*3a608692SPiotr Kubaj vperm 5,4,16,19 511*3a608692SPiotr Kubaj vperm 6,4,16,18 512*3a608692SPiotr Kubaj 513*3a608692SPiotr Kubaj vsldoi 29,4,17,8 514*3a608692SPiotr Kubaj vor 30,17,17 515*3a608692SPiotr Kubaj vsldoi 31,17,4,8 516*3a608692SPiotr Kubaj 517*3a608692SPiotr Kubaj .long 0x12855CC8 518*3a608692SPiotr Kubaj .long 0x13704CC8 519*3a608692SPiotr Kubaj .long 0x134654C8 520*3a608692SPiotr Kubaj 521*3a608692SPiotr Kubaj b .Ltail_4x 522*3a608692SPiotr Kubaj 523*3a608692SPiotr Kubaj.align 4 524*3a608692SPiotr Kubaj.Lone: 525*3a608692SPiotr Kubaj 526*3a608692SPiotr Kubaj 527*3a608692SPiotr Kubaj vsldoi 29,4,9,8 528*3a608692SPiotr Kubaj vor 30,9,9 529*3a608692SPiotr Kubaj vsldoi 31,9,4,8 530*3a608692SPiotr Kubaj 531*3a608692SPiotr Kubaj vxor 2,3,0 532*3a608692SPiotr Kubaj vxor 20,20,20 533*3a608692SPiotr Kubaj vxor 27,27,27 534*3a608692SPiotr Kubaj vxor 26,26,26 535*3a608692SPiotr Kubaj 536*3a608692SPiotr Kubaj b .Ltail_4x 537*3a608692SPiotr Kubaj 538*3a608692SPiotr Kubaj.Ldone_4x: 539*3a608692SPiotr Kubaj 540*3a608692SPiotr Kubaj .long 0x7C001F99 541*3a608692SPiotr Kubaj 542*3a608692SPiotr Kubaj li 10,63 543*3a608692SPiotr Kubaj li 11,79 544*3a608692SPiotr Kubaj or 12,12,12 545*3a608692SPiotr Kubaj lvx 20,10,1 546*3a608692SPiotr Kubaj addi 10,10,32 547*3a608692SPiotr Kubaj lvx 21,11,1 548*3a608692SPiotr Kubaj addi 11,11,32 549*3a608692SPiotr Kubaj lvx 22,10,1 550*3a608692SPiotr Kubaj addi 10,10,32 551*3a608692SPiotr Kubaj lvx 23,11,1 552*3a608692SPiotr Kubaj addi 11,11,32 553*3a608692SPiotr Kubaj lvx 24,10,1 554*3a608692SPiotr Kubaj addi 10,10,32 555*3a608692SPiotr Kubaj lvx 25,11,1 556*3a608692SPiotr Kubaj addi 11,11,32 557*3a608692SPiotr Kubaj lvx 26,10,1 558*3a608692SPiotr Kubaj addi 10,10,32 559*3a608692SPiotr Kubaj lvx 27,11,1 560*3a608692SPiotr Kubaj addi 11,11,32 561*3a608692SPiotr Kubaj lvx 28,10,1 562*3a608692SPiotr Kubaj addi 10,10,32 563*3a608692SPiotr Kubaj lvx 29,11,1 564*3a608692SPiotr Kubaj addi 11,11,32 565*3a608692SPiotr Kubaj lvx 30,10,1 566*3a608692SPiotr Kubaj lvx 31,11,1 567*3a608692SPiotr Kubaj addi 1,1,256 568*3a608692SPiotr Kubaj blr 569*3a608692SPiotr Kubaj.long 0 570*3a608692SPiotr Kubaj.byte 0,12,0x04,0,0x80,0,4,0 571*3a608692SPiotr Kubaj.long 0 572*3a608692SPiotr Kubaj.size gcm_ghash_p8,.-gcm_ghash_p8 573*3a608692SPiotr Kubaj 574*3a608692SPiotr Kubaj.byte 71,72,65,83,72,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 575*3a608692SPiotr Kubaj.align 2 576*3a608692SPiotr Kubaj.align 2 577