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