1 1.1 christos .machine "any" 2 1.1 christos 3 1.1 christos .text 4 1.1 christos 5 1.1 christos .align 7 6 1.1 christos _vpaes_consts: 7 1.1 christos .Lk_mc_forward: 8 1.1 christos .byte 0x01,0x02,0x03,0x00,0x05,0x06,0x07,0x04,0x09,0x0a,0x0b,0x08,0x0d,0x0e,0x0f,0x0c 9 1.1 christos .byte 0x05,0x06,0x07,0x04,0x09,0x0a,0x0b,0x08,0x0d,0x0e,0x0f,0x0c,0x01,0x02,0x03,0x00 10 1.1 christos .byte 0x09,0x0a,0x0b,0x08,0x0d,0x0e,0x0f,0x0c,0x01,0x02,0x03,0x00,0x05,0x06,0x07,0x04 11 1.1 christos .byte 0x0d,0x0e,0x0f,0x0c,0x01,0x02,0x03,0x00,0x05,0x06,0x07,0x04,0x09,0x0a,0x0b,0x08 12 1.1 christos .Lk_mc_backward: 13 1.1 christos .byte 0x03,0x00,0x01,0x02,0x07,0x04,0x05,0x06,0x0b,0x08,0x09,0x0a,0x0f,0x0c,0x0d,0x0e 14 1.1 christos .byte 0x0f,0x0c,0x0d,0x0e,0x03,0x00,0x01,0x02,0x07,0x04,0x05,0x06,0x0b,0x08,0x09,0x0a 15 1.1 christos .byte 0x0b,0x08,0x09,0x0a,0x0f,0x0c,0x0d,0x0e,0x03,0x00,0x01,0x02,0x07,0x04,0x05,0x06 16 1.1 christos .byte 0x07,0x04,0x05,0x06,0x0b,0x08,0x09,0x0a,0x0f,0x0c,0x0d,0x0e,0x03,0x00,0x01,0x02 17 1.1 christos .Lk_sr: 18 1.1 christos .byte 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f 19 1.1 christos .byte 0x00,0x05,0x0a,0x0f,0x04,0x09,0x0e,0x03,0x08,0x0d,0x02,0x07,0x0c,0x01,0x06,0x0b 20 1.1 christos .byte 0x00,0x09,0x02,0x0b,0x04,0x0d,0x06,0x0f,0x08,0x01,0x0a,0x03,0x0c,0x05,0x0e,0x07 21 1.1 christos .byte 0x00,0x0d,0x0a,0x07,0x04,0x01,0x0e,0x0b,0x08,0x05,0x02,0x0f,0x0c,0x09,0x06,0x03 22 1.1 christos 23 1.1 christos 24 1.1 christos 25 1.1 christos 26 1.1 christos .Lk_inv: 27 1.1 christos .byte 0xf0,0x01,0x08,0x0d,0x0f,0x06,0x05,0x0e,0x02,0x0c,0x0b,0x0a,0x09,0x03,0x07,0x04 28 1.1 christos .byte 0xf0,0x07,0x0b,0x0f,0x06,0x0a,0x04,0x01,0x09,0x08,0x05,0x02,0x0c,0x0e,0x0d,0x03 29 1.1 christos .Lk_ipt: 30 1.1 christos .byte 0x00,0x70,0x2a,0x5a,0x98,0xe8,0xb2,0xc2,0x08,0x78,0x22,0x52,0x90,0xe0,0xba,0xca 31 1.1 christos .byte 0x00,0x4d,0x7c,0x31,0x7d,0x30,0x01,0x4c,0x81,0xcc,0xfd,0xb0,0xfc,0xb1,0x80,0xcd 32 1.1 christos .Lk_sbo: 33 1.1 christos .byte 0x00,0xc7,0xbd,0x6f,0x17,0x6d,0xd2,0xd0,0x78,0xa8,0x02,0xc5,0x7a,0xbf,0xaa,0x15 34 1.1 christos .byte 0x00,0x6a,0xbb,0x5f,0xa5,0x74,0xe4,0xcf,0xfa,0x35,0x2b,0x41,0xd1,0x90,0x1e,0x8e 35 1.1 christos .Lk_sb1: 36 1.1 christos .byte 0x00,0x23,0xe2,0xfa,0x15,0xd4,0x18,0x36,0xef,0xd9,0x2e,0x0d,0xc1,0xcc,0xf7,0x3b 37 1.1 christos .byte 0x00,0x3e,0x50,0xcb,0x8f,0xe1,0x9b,0xb1,0x44,0xf5,0x2a,0x14,0x6e,0x7a,0xdf,0xa5 38 1.1 christos .Lk_sb2: 39 1.1 christos .byte 0x00,0x29,0xe1,0x0a,0x40,0x88,0xeb,0x69,0x4a,0x23,0x82,0xab,0xc8,0x63,0xa1,0xc2 40 1.1 christos .byte 0x00,0x24,0x71,0x0b,0xc6,0x93,0x7a,0xe2,0xcd,0x2f,0x98,0xbc,0x55,0xe9,0xb7,0x5e 41 1.1 christos 42 1.1 christos 43 1.1 christos 44 1.1 christos 45 1.1 christos .Lk_dipt: 46 1.1 christos .byte 0x00,0x5f,0x54,0x0b,0x04,0x5b,0x50,0x0f,0x1a,0x45,0x4e,0x11,0x1e,0x41,0x4a,0x15 47 1.1 christos .byte 0x00,0x65,0x05,0x60,0xe6,0x83,0xe3,0x86,0x94,0xf1,0x91,0xf4,0x72,0x17,0x77,0x12 48 1.1 christos .Lk_dsbo: 49 1.1 christos .byte 0x00,0x40,0xf9,0x7e,0x53,0xea,0x87,0x13,0x2d,0x3e,0x94,0xd4,0xb9,0x6d,0xaa,0xc7 50 1.1 christos .byte 0x00,0x1d,0x44,0x93,0x0f,0x56,0xd7,0x12,0x9c,0x8e,0xc5,0xd8,0x59,0x81,0x4b,0xca 51 1.1 christos .Lk_dsb9: 52 1.1 christos .byte 0x00,0xd6,0x86,0x9a,0x53,0x03,0x1c,0x85,0xc9,0x4c,0x99,0x4f,0x50,0x1f,0xd5,0xca 53 1.1 christos .byte 0x00,0x49,0xd7,0xec,0x89,0x17,0x3b,0xc0,0x65,0xa5,0xfb,0xb2,0x9e,0x2c,0x5e,0x72 54 1.1 christos .Lk_dsbd: 55 1.1 christos .byte 0x00,0xa2,0xb1,0xe6,0xdf,0xcc,0x57,0x7d,0x39,0x44,0x2a,0x88,0x13,0x9b,0x6e,0xf5 56 1.1 christos .byte 0x00,0xcb,0xc6,0x24,0xf7,0xfa,0xe2,0x3c,0xd3,0xef,0xde,0x15,0x0d,0x18,0x31,0x29 57 1.1 christos .Lk_dsbb: 58 1.1 christos .byte 0x00,0x42,0xb4,0x96,0x92,0x64,0x22,0xd0,0x04,0xd4,0xf2,0xb0,0xf6,0x46,0x26,0x60 59 1.1 christos .byte 0x00,0x67,0x59,0xcd,0xa6,0x98,0x94,0xc1,0x6b,0xaa,0x55,0x32,0x3e,0x0c,0xff,0xf3 60 1.1 christos .Lk_dsbe: 61 1.1 christos .byte 0x00,0xd0,0xd4,0x26,0x96,0x92,0xf2,0x46,0xb0,0xf6,0xb4,0x64,0x04,0x60,0x42,0x22 62 1.1 christos .byte 0x00,0xc1,0xaa,0xff,0xcd,0xa6,0x55,0x0c,0x32,0x3e,0x59,0x98,0x6b,0xf3,0x67,0x94 63 1.1 christos 64 1.1 christos 65 1.1 christos 66 1.1 christos 67 1.1 christos .Lk_dksd: 68 1.1 christos .byte 0x00,0x47,0xe4,0xa3,0x5d,0x1a,0xb9,0xfe,0xf9,0xbe,0x1d,0x5a,0xa4,0xe3,0x40,0x07 69 1.1 christos .byte 0x00,0x83,0x36,0xb5,0xf4,0x77,0xc2,0x41,0x1e,0x9d,0x28,0xab,0xea,0x69,0xdc,0x5f 70 1.1 christos .Lk_dksb: 71 1.1 christos .byte 0x00,0xd5,0x50,0x85,0x1f,0xca,0x4f,0x9a,0x99,0x4c,0xc9,0x1c,0x86,0x53,0xd6,0x03 72 1.1 christos .byte 0x00,0x4a,0xfc,0xb6,0xa7,0xed,0x5b,0x11,0xc8,0x82,0x34,0x7e,0x6f,0x25,0x93,0xd9 73 1.1 christos .Lk_dkse: 74 1.1 christos .byte 0x00,0xd6,0xc9,0x1f,0xca,0x1c,0x03,0xd5,0x86,0x50,0x4f,0x99,0x4c,0x9a,0x85,0x53 75 1.1 christos .byte 0xe8,0x7b,0xdc,0x4f,0x05,0x96,0x31,0xa2,0x87,0x14,0xb3,0x20,0x6a,0xf9,0x5e,0xcd 76 1.1 christos .Lk_dks9: 77 1.1 christos .byte 0x00,0xa7,0xd9,0x7e,0xc8,0x6f,0x11,0xb6,0xfc,0x5b,0x25,0x82,0x34,0x93,0xed,0x4a 78 1.1 christos .byte 0x00,0x33,0x14,0x27,0x62,0x51,0x76,0x45,0xce,0xfd,0xda,0xe9,0xac,0x9f,0xb8,0x8b 79 1.1 christos 80 1.1 christos .Lk_rcon: 81 1.1 christos .byte 0xb6,0xee,0x9d,0xaf,0xb9,0x91,0x83,0x1f,0x81,0x7d,0x7c,0x4d,0x08,0x98,0x2a,0x70 82 1.1 christos .Lk_s63: 83 1.1 christos .byte 0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b 84 1.1 christos 85 1.1 christos .Lk_opt: 86 1.1 christos .byte 0x00,0x60,0xb6,0xd6,0x29,0x49,0x9f,0xff,0x08,0x68,0xbe,0xde,0x21,0x41,0x97,0xf7 87 1.1 christos .byte 0x00,0xec,0xbc,0x50,0x51,0xbd,0xed,0x01,0xe0,0x0c,0x5c,0xb0,0xb1,0x5d,0x0d,0xe1 88 1.1 christos .Lk_deskew: 89 1.1 christos .byte 0x00,0xe3,0xa4,0x47,0x40,0xa3,0xe4,0x07,0x1a,0xf9,0xbe,0x5d,0x5a,0xb9,0xfe,0x1d 90 1.1 christos .byte 0x00,0x69,0xea,0x83,0xdc,0xb5,0x36,0x5f,0x77,0x1e,0x9d,0xf4,0xab,0xc2,0x41,0x28 91 1.1 christos .align 5 92 1.1 christos .Lconsts: 93 1.1 christos mflr 0 94 1.1 christos bcl 20,31,$+4 95 1.1 christos mflr 12 96 1.1 christos addi 12,12,-0x308 97 1.1 christos mtlr 0 98 1.1 christos blr 99 1.1 christos .long 0 100 1.1 christos .byte 0,12,0x14,0,0,0,0,0 101 1.1.1.2 christos .byte 86,101,99,116,111,114,32,80,101,114,109,117,116,97,116,105,111,110,32,65,69,83,32,102,111,114,32,65,108,116,105,86,101,99,44,77,105,107,101,32,72,97,109,98,117,114,103,32,40,83,116,97,110,102,111,114,100,32,85,110,105,118,101,114,115,105,116,121,41,0 102 1.1 christos .align 2 103 1.1 christos .align 6 104 1.1 christos 105 1.1 christos 106 1.1 christos 107 1.1 christos 108 1.1 christos 109 1.1 christos 110 1.1 christos .align 4 111 1.1 christos _vpaes_encrypt_preheat: 112 1.1 christos mflr 8 113 1.1 christos bl .Lconsts 114 1.1 christos mtlr 8 115 1.1 christos li 11, 0xc0 116 1.1 christos li 10, 0xd0 117 1.1 christos li 9, 0xe0 118 1.1 christos li 8, 0xf0 119 1.1 christos vxor 7, 7, 7 120 1.1 christos vspltisb 8,4 121 1.1 christos vspltisb 9,0x0f 122 1.1 christos lvx 10, 12, 11 123 1.1 christos li 11, 0x100 124 1.1 christos lvx 11, 12, 10 125 1.1 christos li 10, 0x110 126 1.1 christos lvx 12, 12, 9 127 1.1 christos li 9, 0x120 128 1.1 christos lvx 13, 12, 8 129 1.1 christos li 8, 0x130 130 1.1 christos lvx 14, 12, 11 131 1.1 christos li 11, 0x140 132 1.1 christos lvx 15, 12, 10 133 1.1 christos li 10, 0x150 134 1.1 christos lvx 16, 12, 9 135 1.1 christos lvx 17, 12, 8 136 1.1 christos lvx 18, 12, 11 137 1.1 christos lvx 19, 12, 10 138 1.1 christos blr 139 1.1 christos .long 0 140 1.1 christos .byte 0,12,0x14,0,0,0,0,0 141 1.1 christos 142 1.1 christos 143 1.1 christos 144 1.1 christos 145 1.1 christos 146 1.1 christos 147 1.1 christos 148 1.1 christos 149 1.1 christos 150 1.1 christos 151 1.1 christos 152 1.1 christos 153 1.1 christos 154 1.1 christos 155 1.1 christos 156 1.1 christos .align 5 157 1.1 christos _vpaes_encrypt_core: 158 1.1 christos lwz 8, 240(5) 159 1.1 christos li 9, 16 160 1.1 christos lvx 5, 0, 5 161 1.1 christos li 11, 0x10 162 1.1 christos lvx 6, 9, 5 163 1.1 christos addi 9, 9, 16 164 1.1 christos vperm 5, 5, 6, 31 165 1.1 christos addi 10, 11, 0x40 166 1.1 christos vsrb 1, 0, 8 167 1.1 christos vperm 0, 12, 12, 0 168 1.1 christos vperm 1, 13, 13, 1 169 1.1 christos vxor 0, 0, 5 170 1.1 christos vxor 0, 0, 1 171 1.1 christos mtctr 8 172 1.1 christos b .Lenc_entry 173 1.1 christos 174 1.1 christos .align 4 175 1.1 christos .Lenc_loop: 176 1.1 christos 177 1.1 christos vperm 4, 17, 7, 2 178 1.1 christos lvx 1, 12, 11 179 1.1 christos addi 11, 11, 16 180 1.1 christos vperm 0, 16, 7, 3 181 1.1 christos vxor 4, 4, 5 182 1.1 christos andi. 11, 11, 0x30 183 1.1 christos vperm 5, 19, 7, 2 184 1.1 christos vxor 0, 0, 4 185 1.1 christos vperm 2, 18, 7, 3 186 1.1 christos lvx 4, 12, 10 187 1.1 christos addi 10, 11, 0x40 188 1.1 christos vperm 3, 0, 7, 1 189 1.1 christos vxor 2, 2, 5 190 1.1 christos vperm 0, 0, 7, 4 191 1.1 christos vxor 3, 3, 2 192 1.1 christos vperm 4, 3, 7, 1 193 1.1 christos vxor 0, 0, 3 194 1.1 christos vxor 0, 0, 4 195 1.1 christos 196 1.1 christos .Lenc_entry: 197 1.1 christos 198 1.1 christos vsrb 1, 0, 8 199 1.1 christos vperm 5, 11, 11, 0 200 1.1 christos vxor 0, 0, 1 201 1.1 christos vperm 3, 10, 10, 1 202 1.1 christos vperm 4, 10, 10, 0 203 1.1 christos vand 0, 0, 9 204 1.1 christos vxor 3, 3, 5 205 1.1 christos vxor 4, 4, 5 206 1.1 christos vperm 2, 10, 7, 3 207 1.1.1.2 christos vor 5,6,6 208 1.1 christos lvx 6, 9, 5 209 1.1 christos vperm 3, 10, 7, 4 210 1.1 christos addi 9, 9, 16 211 1.1 christos vxor 2, 2, 0 212 1.1 christos vperm 5, 5, 6, 31 213 1.1 christos vxor 3, 3, 1 214 1.1 christos bc 16,0,.Lenc_loop 215 1.1 christos 216 1.1 christos 217 1.1 christos addi 10, 11, 0x80 218 1.1 christos 219 1.1 christos 220 1.1 christos vperm 4, 14, 7, 2 221 1.1 christos lvx 1, 12, 10 222 1.1 christos vperm 0, 15, 7, 3 223 1.1 christos vxor 4, 4, 5 224 1.1 christos vxor 0, 0, 4 225 1.1 christos vperm 0, 0, 7, 1 226 1.1 christos blr 227 1.1 christos .long 0 228 1.1 christos .byte 0,12,0x14,0,0,0,0,0 229 1.1 christos 230 1.1 christos .globl vpaes_encrypt 231 1.1 christos .type vpaes_encrypt,@function 232 1.1 christos .section ".opd","aw" 233 1.1 christos .align 3 234 1.1 christos vpaes_encrypt: 235 1.1 christos .quad .vpaes_encrypt,.TOC.@tocbase,0 236 1.1 christos .previous 237 1.1 christos .align 5 238 1.1 christos .vpaes_encrypt: 239 1.1 christos stdu 1,-256(1) 240 1.1 christos li 10,63 241 1.1 christos li 11,79 242 1.1 christos mflr 6 243 1.1.1.2 christos mfspr 7,256 244 1.1 christos stvx 20,10,1 245 1.1 christos addi 10,10,32 246 1.1 christos stvx 21,11,1 247 1.1 christos addi 11,11,32 248 1.1 christos stvx 22,10,1 249 1.1 christos addi 10,10,32 250 1.1 christos stvx 23,11,1 251 1.1 christos addi 11,11,32 252 1.1 christos stvx 24,10,1 253 1.1 christos addi 10,10,32 254 1.1 christos stvx 25,11,1 255 1.1 christos addi 11,11,32 256 1.1 christos stvx 26,10,1 257 1.1 christos addi 10,10,32 258 1.1 christos stvx 27,11,1 259 1.1 christos addi 11,11,32 260 1.1 christos stvx 28,10,1 261 1.1 christos addi 10,10,32 262 1.1 christos stvx 29,11,1 263 1.1 christos addi 11,11,32 264 1.1 christos stvx 30,10,1 265 1.1 christos stvx 31,11,1 266 1.1 christos stw 7,252(1) 267 1.1 christos li 0, -1 268 1.1 christos std 6,272(1) 269 1.1.1.2 christos mtspr 256,0 270 1.1 christos 271 1.1 christos bl _vpaes_encrypt_preheat 272 1.1 christos 273 1.1 christos lvsl 27, 0, 3 274 1.1 christos lvx 0, 0, 3 275 1.1 christos addi 3, 3, 15 276 1.1 christos lvsr 29, 0, 4 277 1.1 christos lvsl 31, 0, 5 278 1.1 christos lvx 26, 0, 3 279 1.1 christos vperm 0, 0, 26, 27 280 1.1 christos 281 1.1 christos bl _vpaes_encrypt_core 282 1.1 christos 283 1.1 christos andi. 8, 4, 15 284 1.1 christos li 9, 16 285 1.1 christos beq .Lenc_out_aligned 286 1.1 christos 287 1.1 christos vperm 0, 0, 0, 29 288 1.1 christos mtctr 9 289 1.1 christos .Lenc_out_unaligned: 290 1.1 christos stvebx 0, 0, 4 291 1.1 christos addi 4, 4, 1 292 1.1 christos bc 16,0,.Lenc_out_unaligned 293 1.1 christos b .Lenc_done 294 1.1 christos 295 1.1 christos .align 4 296 1.1 christos .Lenc_out_aligned: 297 1.1 christos stvx 0, 0, 4 298 1.1 christos .Lenc_done: 299 1.1 christos 300 1.1 christos li 10,63 301 1.1 christos li 11,79 302 1.1 christos mtlr 6 303 1.1.1.2 christos mtspr 256,7 304 1.1 christos lvx 20,10,1 305 1.1 christos addi 10,10,32 306 1.1 christos lvx 21,11,1 307 1.1 christos addi 11,11,32 308 1.1 christos lvx 22,10,1 309 1.1 christos addi 10,10,32 310 1.1 christos lvx 23,11,1 311 1.1 christos addi 11,11,32 312 1.1 christos lvx 24,10,1 313 1.1 christos addi 10,10,32 314 1.1 christos lvx 25,11,1 315 1.1 christos addi 11,11,32 316 1.1 christos lvx 26,10,1 317 1.1 christos addi 10,10,32 318 1.1 christos lvx 27,11,1 319 1.1 christos addi 11,11,32 320 1.1 christos lvx 28,10,1 321 1.1 christos addi 10,10,32 322 1.1 christos lvx 29,11,1 323 1.1 christos addi 11,11,32 324 1.1 christos lvx 30,10,1 325 1.1 christos lvx 31,11,1 326 1.1 christos addi 1,1,256 327 1.1 christos blr 328 1.1 christos .long 0 329 1.1 christos .byte 0,12,0x04,1,0x80,0,3,0 330 1.1 christos .long 0 331 1.1 christos 332 1.1 christos 333 1.1 christos .align 4 334 1.1 christos _vpaes_decrypt_preheat: 335 1.1 christos mflr 8 336 1.1 christos bl .Lconsts 337 1.1 christos mtlr 8 338 1.1 christos li 11, 0xc0 339 1.1 christos li 10, 0xd0 340 1.1 christos li 9, 0x160 341 1.1 christos li 8, 0x170 342 1.1 christos vxor 7, 7, 7 343 1.1 christos vspltisb 8,4 344 1.1 christos vspltisb 9,0x0f 345 1.1 christos lvx 10, 12, 11 346 1.1 christos li 11, 0x180 347 1.1 christos lvx 11, 12, 10 348 1.1 christos li 10, 0x190 349 1.1 christos lvx 12, 12, 9 350 1.1 christos li 9, 0x1a0 351 1.1 christos lvx 13, 12, 8 352 1.1 christos li 8, 0x1b0 353 1.1 christos lvx 14, 12, 11 354 1.1 christos li 11, 0x1c0 355 1.1 christos lvx 15, 12, 10 356 1.1 christos li 10, 0x1d0 357 1.1 christos lvx 16, 12, 9 358 1.1 christos li 9, 0x1e0 359 1.1 christos lvx 17, 12, 8 360 1.1 christos li 8, 0x1f0 361 1.1 christos lvx 18, 12, 11 362 1.1 christos li 11, 0x200 363 1.1 christos lvx 19, 12, 10 364 1.1 christos li 10, 0x210 365 1.1 christos lvx 20, 12, 9 366 1.1 christos lvx 21, 12, 8 367 1.1 christos lvx 22, 12, 11 368 1.1 christos lvx 23, 12, 10 369 1.1 christos blr 370 1.1 christos .long 0 371 1.1 christos .byte 0,12,0x14,0,0,0,0,0 372 1.1 christos 373 1.1 christos 374 1.1 christos 375 1.1 christos 376 1.1 christos 377 1.1 christos 378 1.1 christos .align 4 379 1.1 christos _vpaes_decrypt_core: 380 1.1 christos lwz 8, 240(5) 381 1.1 christos li 9, 16 382 1.1 christos lvx 5, 0, 5 383 1.1 christos li 11, 0x30 384 1.1 christos lvx 6, 9, 5 385 1.1 christos addi 9, 9, 16 386 1.1 christos vperm 5, 5, 6, 31 387 1.1 christos vsrb 1, 0, 8 388 1.1 christos vperm 0, 12, 12, 0 389 1.1 christos vperm 1, 13, 13, 1 390 1.1 christos vxor 0, 0, 5 391 1.1 christos vxor 0, 0, 1 392 1.1 christos mtctr 8 393 1.1 christos b .Ldec_entry 394 1.1 christos 395 1.1 christos .align 4 396 1.1 christos .Ldec_loop: 397 1.1 christos 398 1.1 christos 399 1.1 christos 400 1.1 christos lvx 0, 12, 11 401 1.1 christos 402 1.1 christos 403 1.1 christos vperm 4, 16, 7, 2 404 1.1 christos subi 11, 11, 16 405 1.1 christos vperm 1, 17, 7, 3 406 1.1 christos andi. 11, 11, 0x30 407 1.1 christos vxor 5, 5, 4 408 1.1 christos 409 1.1 christos vxor 5, 5, 1 410 1.1 christos 411 1.1 christos 412 1.1 christos vperm 4, 18, 7, 2 413 1.1 christos vperm 5, 5, 7, 0 414 1.1 christos vperm 1, 19, 7, 3 415 1.1 christos vxor 5, 5, 4 416 1.1 christos 417 1.1 christos vxor 5, 5, 1 418 1.1 christos 419 1.1 christos 420 1.1 christos vperm 4, 20, 7, 2 421 1.1 christos vperm 5, 5, 7, 0 422 1.1 christos vperm 1, 21, 7, 3 423 1.1 christos vxor 5, 5, 4 424 1.1 christos 425 1.1 christos vxor 5, 5, 1 426 1.1 christos 427 1.1 christos 428 1.1 christos vperm 4, 22, 7, 2 429 1.1 christos vperm 5, 5, 7, 0 430 1.1 christos vperm 1, 23, 7, 3 431 1.1 christos vxor 0, 5, 4 432 1.1 christos vxor 0, 0, 1 433 1.1 christos 434 1.1 christos .Ldec_entry: 435 1.1 christos 436 1.1 christos vsrb 1, 0, 8 437 1.1 christos vperm 2, 11, 11, 0 438 1.1 christos vxor 0, 0, 1 439 1.1 christos vperm 3, 10, 10, 1 440 1.1 christos vperm 4, 10, 10, 0 441 1.1 christos vand 0, 0, 9 442 1.1 christos vxor 3, 3, 2 443 1.1 christos vxor 4, 4, 2 444 1.1 christos vperm 2, 10, 7, 3 445 1.1.1.2 christos vor 5,6,6 446 1.1 christos lvx 6, 9, 5 447 1.1 christos vperm 3, 10, 7, 4 448 1.1 christos addi 9, 9, 16 449 1.1 christos vxor 2, 2, 0 450 1.1 christos vperm 5, 5, 6, 31 451 1.1 christos vxor 3, 3, 1 452 1.1 christos bc 16,0,.Ldec_loop 453 1.1 christos 454 1.1 christos 455 1.1 christos addi 10, 11, 0x80 456 1.1 christos 457 1.1 christos vperm 4, 14, 7, 2 458 1.1 christos 459 1.1 christos lvx 2, 12, 10 460 1.1 christos vperm 1, 15, 7, 3 461 1.1 christos vxor 4, 4, 5 462 1.1 christos vxor 0, 1, 4 463 1.1 christos vperm 0, 0, 7, 2 464 1.1 christos blr 465 1.1 christos .long 0 466 1.1 christos .byte 0,12,0x14,0,0,0,0,0 467 1.1 christos 468 1.1 christos .globl vpaes_decrypt 469 1.1 christos .type vpaes_decrypt,@function 470 1.1 christos .section ".opd","aw" 471 1.1 christos .align 3 472 1.1 christos vpaes_decrypt: 473 1.1 christos .quad .vpaes_decrypt,.TOC.@tocbase,0 474 1.1 christos .previous 475 1.1 christos .align 5 476 1.1 christos .vpaes_decrypt: 477 1.1 christos stdu 1,-256(1) 478 1.1 christos li 10,63 479 1.1 christos li 11,79 480 1.1 christos mflr 6 481 1.1.1.2 christos mfspr 7,256 482 1.1 christos stvx 20,10,1 483 1.1 christos addi 10,10,32 484 1.1 christos stvx 21,11,1 485 1.1 christos addi 11,11,32 486 1.1 christos stvx 22,10,1 487 1.1 christos addi 10,10,32 488 1.1 christos stvx 23,11,1 489 1.1 christos addi 11,11,32 490 1.1 christos stvx 24,10,1 491 1.1 christos addi 10,10,32 492 1.1 christos stvx 25,11,1 493 1.1 christos addi 11,11,32 494 1.1 christos stvx 26,10,1 495 1.1 christos addi 10,10,32 496 1.1 christos stvx 27,11,1 497 1.1 christos addi 11,11,32 498 1.1 christos stvx 28,10,1 499 1.1 christos addi 10,10,32 500 1.1 christos stvx 29,11,1 501 1.1 christos addi 11,11,32 502 1.1 christos stvx 30,10,1 503 1.1 christos stvx 31,11,1 504 1.1 christos stw 7,252(1) 505 1.1 christos li 0, -1 506 1.1 christos std 6,272(1) 507 1.1.1.2 christos mtspr 256,0 508 1.1 christos 509 1.1 christos bl _vpaes_decrypt_preheat 510 1.1 christos 511 1.1 christos lvsl 27, 0, 3 512 1.1 christos lvx 0, 0, 3 513 1.1 christos addi 3, 3, 15 514 1.1 christos lvsr 29, 0, 4 515 1.1 christos lvsl 31, 0, 5 516 1.1 christos lvx 26, 0, 3 517 1.1 christos vperm 0, 0, 26, 27 518 1.1 christos 519 1.1 christos bl _vpaes_decrypt_core 520 1.1 christos 521 1.1 christos andi. 8, 4, 15 522 1.1 christos li 9, 16 523 1.1 christos beq .Ldec_out_aligned 524 1.1 christos 525 1.1 christos vperm 0, 0, 0, 29 526 1.1 christos mtctr 9 527 1.1 christos .Ldec_out_unaligned: 528 1.1 christos stvebx 0, 0, 4 529 1.1 christos addi 4, 4, 1 530 1.1 christos bc 16,0,.Ldec_out_unaligned 531 1.1 christos b .Ldec_done 532 1.1 christos 533 1.1 christos .align 4 534 1.1 christos .Ldec_out_aligned: 535 1.1 christos stvx 0, 0, 4 536 1.1 christos .Ldec_done: 537 1.1 christos 538 1.1 christos li 10,63 539 1.1 christos li 11,79 540 1.1 christos mtlr 6 541 1.1.1.2 christos mtspr 256,7 542 1.1 christos lvx 20,10,1 543 1.1 christos addi 10,10,32 544 1.1 christos lvx 21,11,1 545 1.1 christos addi 11,11,32 546 1.1 christos lvx 22,10,1 547 1.1 christos addi 10,10,32 548 1.1 christos lvx 23,11,1 549 1.1 christos addi 11,11,32 550 1.1 christos lvx 24,10,1 551 1.1 christos addi 10,10,32 552 1.1 christos lvx 25,11,1 553 1.1 christos addi 11,11,32 554 1.1 christos lvx 26,10,1 555 1.1 christos addi 10,10,32 556 1.1 christos lvx 27,11,1 557 1.1 christos addi 11,11,32 558 1.1 christos lvx 28,10,1 559 1.1 christos addi 10,10,32 560 1.1 christos lvx 29,11,1 561 1.1 christos addi 11,11,32 562 1.1 christos lvx 30,10,1 563 1.1 christos lvx 31,11,1 564 1.1 christos addi 1,1,256 565 1.1 christos blr 566 1.1 christos .long 0 567 1.1 christos .byte 0,12,0x04,1,0x80,0,3,0 568 1.1 christos .long 0 569 1.1 christos 570 1.1 christos 571 1.1 christos .globl vpaes_cbc_encrypt 572 1.1 christos .type vpaes_cbc_encrypt,@function 573 1.1 christos .section ".opd","aw" 574 1.1 christos .align 3 575 1.1 christos vpaes_cbc_encrypt: 576 1.1 christos .quad .vpaes_cbc_encrypt,.TOC.@tocbase,0 577 1.1 christos .previous 578 1.1 christos .align 5 579 1.1 christos .vpaes_cbc_encrypt: 580 1.1 christos cmpldi 5,16 581 1.1 christos bltlr 582 1.1 christos 583 1.1 christos stdu 1,-272(1) 584 1.1 christos mflr 0 585 1.1 christos li 10,63 586 1.1 christos li 11,79 587 1.1.1.2 christos mfspr 12,256 588 1.1 christos stvx 20,10,1 589 1.1 christos addi 10,10,32 590 1.1 christos stvx 21,11,1 591 1.1 christos addi 11,11,32 592 1.1 christos stvx 22,10,1 593 1.1 christos addi 10,10,32 594 1.1 christos stvx 23,11,1 595 1.1 christos addi 11,11,32 596 1.1 christos stvx 24,10,1 597 1.1 christos addi 10,10,32 598 1.1 christos stvx 25,11,1 599 1.1 christos addi 11,11,32 600 1.1 christos stvx 26,10,1 601 1.1 christos addi 10,10,32 602 1.1 christos stvx 27,11,1 603 1.1 christos addi 11,11,32 604 1.1 christos stvx 28,10,1 605 1.1 christos addi 10,10,32 606 1.1 christos stvx 29,11,1 607 1.1 christos addi 11,11,32 608 1.1 christos stvx 30,10,1 609 1.1 christos stvx 31,11,1 610 1.1 christos stw 12,252(1) 611 1.1 christos std 30,256(1) 612 1.1 christos std 31,264(1) 613 1.1 christos li 9, -16 614 1.1 christos std 0, 288(1) 615 1.1 christos 616 1.1 christos and 30, 5, 9 617 1.1 christos andi. 9, 4, 15 618 1.1 christos mr 5, 6 619 1.1 christos mr 31, 7 620 1.1 christos li 6, -1 621 1.1 christos mcrf 1, 0 622 1.1 christos mr 7, 12 623 1.1.1.2 christos mtspr 256,6 624 1.1 christos 625 1.1 christos lvx 24, 0, 31 626 1.1 christos li 9, 15 627 1.1 christos lvsl 27, 0, 31 628 1.1 christos lvx 25, 9, 31 629 1.1 christos vperm 24, 24, 25, 27 630 1.1 christos 631 1.1 christos cmpwi 8, 0 632 1.1 christos neg 8, 3 633 1.1 christos vxor 7, 7, 7 634 1.1 christos lvsl 31, 0, 5 635 1.1 christos lvsr 29, 0, 4 636 1.1 christos lvsr 27, 0, 8 637 1.1 christos vnor 30, 7, 7 638 1.1 christos lvx 26, 0, 3 639 1.1 christos vperm 30, 7, 30, 29 640 1.1 christos addi 3, 3, 15 641 1.1 christos 642 1.1 christos beq .Lcbc_decrypt 643 1.1 christos 644 1.1 christos bl _vpaes_encrypt_preheat 645 1.1 christos li 0, 16 646 1.1 christos 647 1.1 christos beq 1, .Lcbc_enc_loop 648 1.1 christos 649 1.1.1.2 christos vor 0,26,26 650 1.1 christos lvx 26, 0, 3 651 1.1 christos addi 3, 3, 16 652 1.1 christos vperm 0, 0, 26, 27 653 1.1 christos vxor 0, 0, 24 654 1.1 christos 655 1.1 christos bl _vpaes_encrypt_core 656 1.1 christos 657 1.1 christos andi. 8, 4, 15 658 1.1.1.2 christos vor 24,0,0 659 1.1 christos sub 9, 4, 8 660 1.1 christos vperm 28, 0, 0, 29 661 1.1 christos 662 1.1 christos .Lcbc_enc_head: 663 1.1 christos stvebx 28, 8, 9 664 1.1 christos cmpwi 8, 15 665 1.1 christos addi 8, 8, 1 666 1.1 christos bne .Lcbc_enc_head 667 1.1 christos 668 1.1 christos sub. 30, 30, 0 669 1.1 christos addi 4, 4, 16 670 1.1 christos beq .Lcbc_unaligned_done 671 1.1 christos 672 1.1 christos .Lcbc_enc_loop: 673 1.1.1.2 christos vor 0,26,26 674 1.1 christos lvx 26, 0, 3 675 1.1 christos addi 3, 3, 16 676 1.1 christos vperm 0, 0, 26, 27 677 1.1 christos vxor 0, 0, 24 678 1.1 christos 679 1.1 christos bl _vpaes_encrypt_core 680 1.1 christos 681 1.1.1.2 christos vor 24,0,0 682 1.1 christos sub. 30, 30, 0 683 1.1 christos vperm 0, 0, 0, 29 684 1.1 christos vsel 1, 28, 0, 30 685 1.1.1.2 christos vor 28,0,0 686 1.1 christos stvx 1, 0, 4 687 1.1 christos addi 4, 4, 16 688 1.1 christos bne .Lcbc_enc_loop 689 1.1 christos 690 1.1 christos b .Lcbc_done 691 1.1 christos 692 1.1 christos .align 5 693 1.1 christos .Lcbc_decrypt: 694 1.1 christos bl _vpaes_decrypt_preheat 695 1.1 christos li 0, 16 696 1.1 christos 697 1.1 christos beq 1, .Lcbc_dec_loop 698 1.1 christos 699 1.1.1.2 christos vor 0,26,26 700 1.1 christos lvx 26, 0, 3 701 1.1 christos addi 3, 3, 16 702 1.1 christos vperm 0, 0, 26, 27 703 1.1.1.2 christos vor 25,0,0 704 1.1 christos 705 1.1 christos bl _vpaes_decrypt_core 706 1.1 christos 707 1.1 christos andi. 8, 4, 15 708 1.1 christos vxor 0, 0, 24 709 1.1.1.2 christos vor 24,25,25 710 1.1 christos sub 9, 4, 8 711 1.1 christos vperm 28, 0, 0, 29 712 1.1 christos 713 1.1 christos .Lcbc_dec_head: 714 1.1 christos stvebx 28, 8, 9 715 1.1 christos cmpwi 8, 15 716 1.1 christos addi 8, 8, 1 717 1.1 christos bne .Lcbc_dec_head 718 1.1 christos 719 1.1 christos sub. 30, 30, 0 720 1.1 christos addi 4, 4, 16 721 1.1 christos beq .Lcbc_unaligned_done 722 1.1 christos 723 1.1 christos .Lcbc_dec_loop: 724 1.1.1.2 christos vor 0,26,26 725 1.1 christos lvx 26, 0, 3 726 1.1 christos addi 3, 3, 16 727 1.1 christos vperm 0, 0, 26, 27 728 1.1.1.2 christos vor 25,0,0 729 1.1 christos 730 1.1 christos bl _vpaes_decrypt_core 731 1.1 christos 732 1.1 christos vxor 0, 0, 24 733 1.1.1.2 christos vor 24,25,25 734 1.1 christos sub. 30, 30, 0 735 1.1 christos vperm 0, 0, 0, 29 736 1.1 christos vsel 1, 28, 0, 30 737 1.1.1.2 christos vor 28,0,0 738 1.1 christos stvx 1, 0, 4 739 1.1 christos addi 4, 4, 16 740 1.1 christos bne .Lcbc_dec_loop 741 1.1 christos 742 1.1 christos .Lcbc_done: 743 1.1 christos beq 1, .Lcbc_write_iv 744 1.1 christos 745 1.1 christos .Lcbc_unaligned_done: 746 1.1 christos andi. 8, 4, 15 747 1.1 christos sub 4, 4, 8 748 1.1 christos li 9, 0 749 1.1 christos .Lcbc_tail: 750 1.1 christos stvebx 28, 9, 4 751 1.1 christos addi 9, 9, 1 752 1.1 christos cmpw 9, 8 753 1.1 christos bne .Lcbc_tail 754 1.1 christos 755 1.1 christos .Lcbc_write_iv: 756 1.1 christos neg 8, 31 757 1.1 christos li 10, 4 758 1.1 christos lvsl 29, 0, 8 759 1.1 christos li 11, 8 760 1.1 christos li 12, 12 761 1.1 christos vperm 24, 24, 24, 29 762 1.1 christos stvewx 24, 0, 31 763 1.1 christos stvewx 24, 10, 31 764 1.1 christos stvewx 24, 11, 31 765 1.1 christos stvewx 24, 12, 31 766 1.1 christos 767 1.1.1.2 christos mtspr 256,7 768 1.1 christos li 10,63 769 1.1 christos li 11,79 770 1.1 christos lvx 20,10,1 771 1.1 christos addi 10,10,32 772 1.1 christos lvx 21,11,1 773 1.1 christos addi 11,11,32 774 1.1 christos lvx 22,10,1 775 1.1 christos addi 10,10,32 776 1.1 christos lvx 23,11,1 777 1.1 christos addi 11,11,32 778 1.1 christos lvx 24,10,1 779 1.1 christos addi 10,10,32 780 1.1 christos lvx 25,11,1 781 1.1 christos addi 11,11,32 782 1.1 christos lvx 26,10,1 783 1.1 christos addi 10,10,32 784 1.1 christos lvx 27,11,1 785 1.1 christos addi 11,11,32 786 1.1 christos lvx 28,10,1 787 1.1 christos addi 10,10,32 788 1.1 christos lvx 29,11,1 789 1.1 christos addi 11,11,32 790 1.1 christos lvx 30,10,1 791 1.1 christos lvx 31,11,1 792 1.1 christos .Lcbc_abort: 793 1.1 christos ld 0, 288(1) 794 1.1 christos ld 30,256(1) 795 1.1 christos ld 31,264(1) 796 1.1 christos mtlr 0 797 1.1 christos addi 1,1,272 798 1.1 christos blr 799 1.1 christos .long 0 800 1.1 christos .byte 0,12,0x04,1,0x80,2,6,0 801 1.1 christos .long 0 802 1.1 christos 803 1.1 christos 804 1.1 christos 805 1.1 christos 806 1.1 christos 807 1.1 christos 808 1.1 christos .align 4 809 1.1 christos _vpaes_key_preheat: 810 1.1 christos mflr 8 811 1.1 christos bl .Lconsts 812 1.1 christos mtlr 8 813 1.1 christos li 11, 0xc0 814 1.1 christos li 10, 0xd0 815 1.1 christos li 9, 0xe0 816 1.1 christos li 8, 0xf0 817 1.1 christos 818 1.1 christos vspltisb 8,4 819 1.1 christos vxor 9,9,9 820 1.1 christos lvx 10, 12, 11 821 1.1 christos li 11, 0x120 822 1.1 christos lvx 11, 12, 10 823 1.1 christos li 10, 0x130 824 1.1 christos lvx 12, 12, 9 825 1.1 christos li 9, 0x220 826 1.1 christos lvx 13, 12, 8 827 1.1 christos li 8, 0x230 828 1.1 christos 829 1.1 christos lvx 14, 12, 11 830 1.1 christos li 11, 0x240 831 1.1 christos lvx 15, 12, 10 832 1.1 christos li 10, 0x250 833 1.1 christos 834 1.1 christos lvx 16, 12, 9 835 1.1 christos li 9, 0x260 836 1.1 christos lvx 17, 12, 8 837 1.1 christos li 8, 0x270 838 1.1 christos lvx 18, 12, 11 839 1.1 christos li 11, 0x280 840 1.1 christos lvx 19, 12, 10 841 1.1 christos li 10, 0x290 842 1.1 christos lvx 20, 12, 9 843 1.1 christos li 9, 0x2a0 844 1.1 christos lvx 21, 12, 8 845 1.1 christos li 8, 0x2b0 846 1.1 christos lvx 22, 12, 11 847 1.1 christos lvx 23, 12, 10 848 1.1 christos 849 1.1 christos lvx 24, 12, 9 850 1.1 christos lvx 25, 0, 12 851 1.1 christos lvx 26, 12, 8 852 1.1 christos blr 853 1.1 christos .long 0 854 1.1 christos .byte 0,12,0x14,0,0,0,0,0 855 1.1 christos 856 1.1 christos .align 4 857 1.1 christos _vpaes_schedule_core: 858 1.1 christos mflr 7 859 1.1 christos 860 1.1 christos bl _vpaes_key_preheat 861 1.1 christos 862 1.1 christos 863 1.1 christos neg 8, 3 864 1.1 christos lvx 0, 0, 3 865 1.1 christos addi 3, 3, 15 866 1.1 christos lvsr 27, 0, 8 867 1.1 christos lvx 6, 0, 3 868 1.1 christos addi 3, 3, 8 869 1.1 christos vperm 0, 0, 6, 27 870 1.1 christos 871 1.1 christos 872 1.1.1.2 christos vor 3,0,0 873 1.1 christos bl _vpaes_schedule_transform 874 1.1.1.2 christos vor 7,0,0 875 1.1 christos 876 1.1 christos bne 1, .Lschedule_am_decrypting 877 1.1 christos 878 1.1 christos 879 1.1 christos li 8, 0x30 880 1.1 christos li 9, 4 881 1.1 christos li 10, 8 882 1.1 christos li 11, 12 883 1.1 christos 884 1.1 christos lvsr 29, 0, 5 885 1.1 christos vnor 30, 9, 9 886 1.1 christos vperm 30, 9, 30, 29 887 1.1 christos 888 1.1 christos 889 1.1 christos vperm 28, 0, 0, 29 890 1.1 christos stvewx 28, 0, 5 891 1.1 christos stvewx 28, 9, 5 892 1.1 christos stvewx 28, 10, 5 893 1.1 christos addi 10, 12, 0x80 894 1.1 christos stvewx 28, 11, 5 895 1.1 christos b .Lschedule_go 896 1.1 christos 897 1.1 christos .Lschedule_am_decrypting: 898 1.1 christos srwi 8, 4, 1 899 1.1 christos andi. 8, 8, 32 900 1.1 christos xori 8, 8, 32 901 1.1 christos addi 10, 12, 0x80 902 1.1 christos 903 1.1 christos lvx 1, 8, 10 904 1.1 christos li 9, 4 905 1.1 christos li 10, 8 906 1.1 christos li 11, 12 907 1.1 christos vperm 4, 3, 3, 1 908 1.1 christos 909 1.1 christos neg 0, 5 910 1.1 christos lvsl 29, 0, 0 911 1.1 christos vnor 30, 9, 9 912 1.1 christos vperm 30, 30, 9, 29 913 1.1 christos 914 1.1 christos 915 1.1 christos vperm 28, 4, 4, 29 916 1.1 christos stvewx 28, 0, 5 917 1.1 christos stvewx 28, 9, 5 918 1.1 christos stvewx 28, 10, 5 919 1.1 christos addi 10, 12, 0x80 920 1.1 christos stvewx 28, 11, 5 921 1.1 christos addi 5, 5, 15 922 1.1 christos xori 8, 8, 0x30 923 1.1 christos 924 1.1 christos .Lschedule_go: 925 1.1 christos cmplwi 4, 192 926 1.1 christos bgt .Lschedule_256 927 1.1 christos beq .Lschedule_192 928 1.1 christos 929 1.1 christos 930 1.1 christos 931 1.1 christos 932 1.1 christos 933 1.1 christos 934 1.1 christos 935 1.1 christos 936 1.1 christos 937 1.1 christos 938 1.1 christos .Lschedule_128: 939 1.1 christos li 0, 10 940 1.1 christos mtctr 0 941 1.1 christos 942 1.1 christos .Loop_schedule_128: 943 1.1 christos bl _vpaes_schedule_round 944 1.1 christos bdz .Lschedule_mangle_last 945 1.1 christos bl _vpaes_schedule_mangle 946 1.1 christos b .Loop_schedule_128 947 1.1 christos 948 1.1 christos 949 1.1 christos 950 1.1 christos 951 1.1 christos 952 1.1 christos 953 1.1 christos 954 1.1 christos 955 1.1 christos 956 1.1 christos 957 1.1 christos 958 1.1 christos 959 1.1 christos 960 1.1 christos 961 1.1 christos 962 1.1 christos 963 1.1 christos .align 4 964 1.1 christos .Lschedule_192: 965 1.1 christos li 0, 4 966 1.1 christos lvx 0, 0, 3 967 1.1 christos vperm 0, 6, 0, 27 968 1.1 christos vsldoi 0, 3, 0, 8 969 1.1 christos bl _vpaes_schedule_transform 970 1.1 christos vsldoi 6, 0, 9, 8 971 1.1 christos vsldoi 6, 9, 6, 8 972 1.1 christos mtctr 0 973 1.1 christos 974 1.1 christos .Loop_schedule_192: 975 1.1 christos bl _vpaes_schedule_round 976 1.1 christos vsldoi 0, 6, 0, 8 977 1.1 christos bl _vpaes_schedule_mangle 978 1.1 christos bl _vpaes_schedule_192_smear 979 1.1 christos bl _vpaes_schedule_mangle 980 1.1 christos bl _vpaes_schedule_round 981 1.1 christos bdz .Lschedule_mangle_last 982 1.1 christos bl _vpaes_schedule_mangle 983 1.1 christos bl _vpaes_schedule_192_smear 984 1.1 christos b .Loop_schedule_192 985 1.1 christos 986 1.1 christos 987 1.1 christos 988 1.1 christos 989 1.1 christos 990 1.1 christos 991 1.1 christos 992 1.1 christos 993 1.1 christos 994 1.1 christos 995 1.1 christos 996 1.1 christos .align 4 997 1.1 christos .Lschedule_256: 998 1.1 christos li 0, 7 999 1.1 christos addi 3, 3, 8 1000 1.1 christos lvx 0, 0, 3 1001 1.1 christos vperm 0, 6, 0, 27 1002 1.1 christos bl _vpaes_schedule_transform 1003 1.1 christos mtctr 0 1004 1.1 christos 1005 1.1 christos .Loop_schedule_256: 1006 1.1 christos bl _vpaes_schedule_mangle 1007 1.1.1.2 christos vor 6,0,0 1008 1.1 christos 1009 1.1 christos 1010 1.1 christos bl _vpaes_schedule_round 1011 1.1 christos bdz .Lschedule_mangle_last 1012 1.1 christos bl _vpaes_schedule_mangle 1013 1.1 christos 1014 1.1 christos 1015 1.1 christos vspltw 0, 0, 3 1016 1.1.1.2 christos vor 5,7,7 1017 1.1.1.2 christos vor 7,6,6 1018 1.1 christos bl _vpaes_schedule_low_round 1019 1.1.1.2 christos vor 7,5,5 1020 1.1 christos 1021 1.1 christos b .Loop_schedule_256 1022 1.1 christos 1023 1.1 christos 1024 1.1 christos 1025 1.1 christos 1026 1.1 christos 1027 1.1 christos 1028 1.1 christos 1029 1.1 christos 1030 1.1 christos 1031 1.1 christos 1032 1.1 christos .align 4 1033 1.1 christos .Lschedule_mangle_last: 1034 1.1 christos 1035 1.1 christos li 11, 0x2e0 1036 1.1 christos li 9, 0x2f0 1037 1.1 christos bne 1, .Lschedule_mangle_last_dec 1038 1.1 christos 1039 1.1 christos 1040 1.1 christos lvx 1, 8, 10 1041 1.1 christos li 11, 0x2c0 1042 1.1 christos li 9, 0x2d0 1043 1.1 christos vperm 0, 0, 0, 1 1044 1.1 christos 1045 1.1 christos lvx 12, 11, 12 1046 1.1 christos lvx 13, 9, 12 1047 1.1 christos addi 5, 5, 16 1048 1.1 christos vxor 0, 0, 26 1049 1.1 christos bl _vpaes_schedule_transform 1050 1.1 christos 1051 1.1 christos 1052 1.1 christos vperm 0, 0, 0, 29 1053 1.1 christos li 10, 4 1054 1.1 christos vsel 2, 28, 0, 30 1055 1.1 christos li 11, 8 1056 1.1 christos stvx 2, 0, 5 1057 1.1 christos li 12, 12 1058 1.1 christos stvewx 0, 0, 5 1059 1.1 christos stvewx 0, 10, 5 1060 1.1 christos stvewx 0, 11, 5 1061 1.1 christos stvewx 0, 12, 5 1062 1.1 christos b .Lschedule_mangle_done 1063 1.1 christos 1064 1.1 christos .align 4 1065 1.1 christos .Lschedule_mangle_last_dec: 1066 1.1 christos lvx 12, 11, 12 1067 1.1 christos lvx 13, 9, 12 1068 1.1 christos addi 5, 5, -16 1069 1.1 christos vxor 0, 0, 26 1070 1.1 christos bl _vpaes_schedule_transform 1071 1.1 christos 1072 1.1 christos 1073 1.1 christos addi 9, 5, -15 1074 1.1 christos vperm 0, 0, 0, 29 1075 1.1 christos li 10, 4 1076 1.1 christos vsel 2, 28, 0, 30 1077 1.1 christos li 11, 8 1078 1.1 christos stvx 2, 0, 5 1079 1.1 christos li 12, 12 1080 1.1 christos stvewx 0, 0, 9 1081 1.1 christos stvewx 0, 10, 9 1082 1.1 christos stvewx 0, 11, 9 1083 1.1 christos stvewx 0, 12, 9 1084 1.1 christos 1085 1.1 christos 1086 1.1 christos .Lschedule_mangle_done: 1087 1.1 christos mtlr 7 1088 1.1 christos 1089 1.1 christos vxor 0, 0, 0 1090 1.1 christos vxor 1, 1, 1 1091 1.1 christos vxor 2, 2, 2 1092 1.1 christos vxor 3, 3, 3 1093 1.1 christos vxor 4, 4, 4 1094 1.1 christos vxor 5, 5, 5 1095 1.1 christos vxor 6, 6, 6 1096 1.1 christos vxor 7, 7, 7 1097 1.1 christos 1098 1.1 christos blr 1099 1.1 christos .long 0 1100 1.1 christos .byte 0,12,0x14,0,0,0,0,0 1101 1.1 christos 1102 1.1 christos 1103 1.1 christos 1104 1.1 christos 1105 1.1 christos 1106 1.1 christos 1107 1.1 christos 1108 1.1 christos 1109 1.1 christos 1110 1.1 christos 1111 1.1 christos 1112 1.1 christos 1113 1.1 christos 1114 1.1 christos 1115 1.1 christos 1116 1.1 christos .align 4 1117 1.1 christos _vpaes_schedule_192_smear: 1118 1.1 christos vspltw 0, 7, 3 1119 1.1 christos vsldoi 1, 9, 6, 12 1120 1.1 christos vsldoi 0, 7, 0, 8 1121 1.1 christos vxor 6, 6, 1 1122 1.1 christos vxor 6, 6, 0 1123 1.1.1.2 christos vor 0,6,6 1124 1.1 christos vsldoi 6, 6, 9, 8 1125 1.1 christos vsldoi 6, 9, 6, 8 1126 1.1 christos blr 1127 1.1 christos .long 0 1128 1.1 christos .byte 0,12,0x14,0,0,0,0,0 1129 1.1 christos 1130 1.1 christos 1131 1.1 christos 1132 1.1 christos 1133 1.1 christos 1134 1.1 christos 1135 1.1 christos 1136 1.1 christos 1137 1.1 christos 1138 1.1 christos 1139 1.1 christos 1140 1.1 christos 1141 1.1 christos 1142 1.1 christos 1143 1.1 christos 1144 1.1 christos 1145 1.1 christos 1146 1.1 christos 1147 1.1 christos 1148 1.1 christos .align 4 1149 1.1 christos _vpaes_schedule_round: 1150 1.1 christos 1151 1.1 christos 1152 1.1 christos vsldoi 1, 24, 9, 15 1153 1.1 christos vsldoi 24, 24, 24, 15 1154 1.1 christos vxor 7, 7, 1 1155 1.1 christos 1156 1.1 christos 1157 1.1 christos vspltw 0, 0, 3 1158 1.1 christos vsldoi 0, 0, 0, 1 1159 1.1 christos 1160 1.1 christos 1161 1.1 christos 1162 1.1 christos 1163 1.1 christos _vpaes_schedule_low_round: 1164 1.1 christos 1165 1.1 christos vsldoi 1, 9, 7, 12 1166 1.1 christos vxor 7, 7, 1 1167 1.1 christos vspltisb 1, 0x0f 1168 1.1 christos vsldoi 4, 9, 7, 8 1169 1.1 christos 1170 1.1 christos 1171 1.1 christos vand 1, 1, 0 1172 1.1 christos vsrb 0, 0, 8 1173 1.1 christos vxor 7, 7, 4 1174 1.1 christos vperm 2, 11, 9, 1 1175 1.1 christos vxor 1, 1, 0 1176 1.1 christos vperm 3, 10, 9, 0 1177 1.1 christos vxor 3, 3, 2 1178 1.1 christos vperm 4, 10, 9, 1 1179 1.1 christos vxor 7, 7, 26 1180 1.1 christos vperm 3, 10, 9, 3 1181 1.1 christos vxor 4, 4, 2 1182 1.1 christos vperm 2, 10, 9, 4 1183 1.1 christos vxor 3, 3, 1 1184 1.1 christos vxor 2, 2, 0 1185 1.1 christos vperm 4, 15, 9, 3 1186 1.1 christos vperm 1, 14, 9, 2 1187 1.1 christos vxor 1, 1, 4 1188 1.1 christos 1189 1.1 christos 1190 1.1 christos vxor 0, 1, 7 1191 1.1 christos vxor 7, 1, 7 1192 1.1 christos blr 1193 1.1 christos .long 0 1194 1.1 christos .byte 0,12,0x14,0,0,0,0,0 1195 1.1 christos 1196 1.1 christos 1197 1.1 christos 1198 1.1 christos 1199 1.1 christos 1200 1.1 christos 1201 1.1 christos 1202 1.1 christos 1203 1.1 christos 1204 1.1 christos 1205 1.1 christos .align 4 1206 1.1 christos _vpaes_schedule_transform: 1207 1.1 christos 1208 1.1 christos vsrb 2, 0, 8 1209 1.1 christos 1210 1.1 christos vperm 0, 12, 12, 0 1211 1.1 christos 1212 1.1 christos vperm 2, 13, 13, 2 1213 1.1 christos vxor 0, 0, 2 1214 1.1 christos blr 1215 1.1 christos .long 0 1216 1.1 christos .byte 0,12,0x14,0,0,0,0,0 1217 1.1 christos 1218 1.1 christos 1219 1.1 christos 1220 1.1 christos 1221 1.1 christos 1222 1.1 christos 1223 1.1 christos 1224 1.1 christos 1225 1.1 christos 1226 1.1 christos 1227 1.1 christos 1228 1.1 christos 1229 1.1 christos 1230 1.1 christos 1231 1.1 christos 1232 1.1 christos 1233 1.1 christos 1234 1.1 christos 1235 1.1 christos 1236 1.1 christos 1237 1.1 christos 1238 1.1 christos 1239 1.1 christos 1240 1.1 christos 1241 1.1 christos .align 4 1242 1.1 christos _vpaes_schedule_mangle: 1243 1.1 christos 1244 1.1 christos 1245 1.1 christos bne 1, .Lschedule_mangle_dec 1246 1.1 christos 1247 1.1 christos 1248 1.1 christos vxor 4, 0, 26 1249 1.1 christos addi 5, 5, 16 1250 1.1 christos vperm 4, 4, 4, 25 1251 1.1 christos vperm 1, 4, 4, 25 1252 1.1 christos vperm 3, 1, 1, 25 1253 1.1 christos vxor 4, 4, 1 1254 1.1 christos lvx 1, 8, 10 1255 1.1 christos vxor 3, 3, 4 1256 1.1 christos 1257 1.1 christos vperm 3, 3, 3, 1 1258 1.1 christos addi 8, 8, -16 1259 1.1 christos andi. 8, 8, 0x30 1260 1.1 christos 1261 1.1 christos 1262 1.1 christos vperm 1, 3, 3, 29 1263 1.1 christos vsel 2, 28, 1, 30 1264 1.1.1.2 christos vor 28,1,1 1265 1.1 christos stvx 2, 0, 5 1266 1.1 christos blr 1267 1.1 christos 1268 1.1 christos .align 4 1269 1.1 christos .Lschedule_mangle_dec: 1270 1.1 christos 1271 1.1 christos 1272 1.1 christos vsrb 1, 0, 8 1273 1.1 christos 1274 1.1 christos 1275 1.1 christos 1276 1.1 christos vperm 2, 16, 16, 0 1277 1.1 christos 1278 1.1 christos vperm 3, 17, 17, 1 1279 1.1 christos vxor 3, 3, 2 1280 1.1 christos vperm 3, 3, 9, 25 1281 1.1 christos 1282 1.1 christos 1283 1.1 christos vperm 2, 18, 18, 0 1284 1.1 christos vxor 2, 2, 3 1285 1.1 christos 1286 1.1 christos vperm 3, 19, 19, 1 1287 1.1 christos vxor 3, 3, 2 1288 1.1 christos vperm 3, 3, 9, 25 1289 1.1 christos 1290 1.1 christos 1291 1.1 christos vperm 2, 20, 20, 0 1292 1.1 christos vxor 2, 2, 3 1293 1.1 christos 1294 1.1 christos vperm 3, 21, 21, 1 1295 1.1 christos vxor 3, 3, 2 1296 1.1 christos 1297 1.1 christos 1298 1.1 christos vperm 2, 22, 22, 0 1299 1.1 christos vperm 3, 3, 9, 25 1300 1.1 christos 1301 1.1 christos vperm 4, 23, 23, 1 1302 1.1 christos lvx 1, 8, 10 1303 1.1 christos vxor 2, 2, 3 1304 1.1 christos vxor 3, 4, 2 1305 1.1 christos 1306 1.1 christos addi 5, 5, -16 1307 1.1 christos 1308 1.1 christos vperm 3, 3, 3, 1 1309 1.1 christos addi 8, 8, -16 1310 1.1 christos andi. 8, 8, 0x30 1311 1.1 christos 1312 1.1 christos 1313 1.1 christos vperm 1, 3, 3, 29 1314 1.1 christos vsel 2, 28, 1, 30 1315 1.1.1.2 christos vor 28,1,1 1316 1.1 christos stvx 2, 0, 5 1317 1.1 christos blr 1318 1.1 christos .long 0 1319 1.1 christos .byte 0,12,0x14,0,0,0,0,0 1320 1.1 christos 1321 1.1 christos .globl vpaes_set_encrypt_key 1322 1.1 christos .type vpaes_set_encrypt_key,@function 1323 1.1 christos .section ".opd","aw" 1324 1.1 christos .align 3 1325 1.1 christos vpaes_set_encrypt_key: 1326 1.1 christos .quad .vpaes_set_encrypt_key,.TOC.@tocbase,0 1327 1.1 christos .previous 1328 1.1 christos .align 5 1329 1.1 christos .vpaes_set_encrypt_key: 1330 1.1 christos stdu 1,-256(1) 1331 1.1 christos li 10,63 1332 1.1 christos li 11,79 1333 1.1 christos mflr 0 1334 1.1.1.2 christos mfspr 6,256 1335 1.1 christos stvx 20,10,1 1336 1.1 christos addi 10,10,32 1337 1.1 christos stvx 21,11,1 1338 1.1 christos addi 11,11,32 1339 1.1 christos stvx 22,10,1 1340 1.1 christos addi 10,10,32 1341 1.1 christos stvx 23,11,1 1342 1.1 christos addi 11,11,32 1343 1.1 christos stvx 24,10,1 1344 1.1 christos addi 10,10,32 1345 1.1 christos stvx 25,11,1 1346 1.1 christos addi 11,11,32 1347 1.1 christos stvx 26,10,1 1348 1.1 christos addi 10,10,32 1349 1.1 christos stvx 27,11,1 1350 1.1 christos addi 11,11,32 1351 1.1 christos stvx 28,10,1 1352 1.1 christos addi 10,10,32 1353 1.1 christos stvx 29,11,1 1354 1.1 christos addi 11,11,32 1355 1.1 christos stvx 30,10,1 1356 1.1 christos stvx 31,11,1 1357 1.1 christos stw 6,252(1) 1358 1.1 christos li 7, -1 1359 1.1 christos std 0, 272(1) 1360 1.1.1.2 christos mtspr 256,7 1361 1.1 christos 1362 1.1 christos srwi 9, 4, 5 1363 1.1 christos addi 9, 9, 6 1364 1.1 christos stw 9, 240(5) 1365 1.1 christos 1366 1.1.1.2 christos cmplw 1,4,4 1367 1.1 christos li 8, 0x30 1368 1.1 christos bl _vpaes_schedule_core 1369 1.1 christos 1370 1.1 christos ld 0, 272(1) 1371 1.1 christos li 10,63 1372 1.1 christos li 11,79 1373 1.1.1.2 christos mtspr 256,6 1374 1.1 christos mtlr 0 1375 1.1 christos xor 3, 3, 3 1376 1.1 christos lvx 20,10,1 1377 1.1 christos addi 10,10,32 1378 1.1 christos lvx 21,11,1 1379 1.1 christos addi 11,11,32 1380 1.1 christos lvx 22,10,1 1381 1.1 christos addi 10,10,32 1382 1.1 christos lvx 23,11,1 1383 1.1 christos addi 11,11,32 1384 1.1 christos lvx 24,10,1 1385 1.1 christos addi 10,10,32 1386 1.1 christos lvx 25,11,1 1387 1.1 christos addi 11,11,32 1388 1.1 christos lvx 26,10,1 1389 1.1 christos addi 10,10,32 1390 1.1 christos lvx 27,11,1 1391 1.1 christos addi 11,11,32 1392 1.1 christos lvx 28,10,1 1393 1.1 christos addi 10,10,32 1394 1.1 christos lvx 29,11,1 1395 1.1 christos addi 11,11,32 1396 1.1 christos lvx 30,10,1 1397 1.1 christos lvx 31,11,1 1398 1.1 christos addi 1,1,256 1399 1.1 christos blr 1400 1.1 christos .long 0 1401 1.1 christos .byte 0,12,0x04,1,0x80,0,3,0 1402 1.1 christos .long 0 1403 1.1 christos 1404 1.1 christos 1405 1.1 christos .globl vpaes_set_decrypt_key 1406 1.1 christos .type vpaes_set_decrypt_key,@function 1407 1.1 christos .section ".opd","aw" 1408 1.1 christos .align 3 1409 1.1 christos vpaes_set_decrypt_key: 1410 1.1 christos .quad .vpaes_set_decrypt_key,.TOC.@tocbase,0 1411 1.1 christos .previous 1412 1.1 christos .align 4 1413 1.1 christos .vpaes_set_decrypt_key: 1414 1.1 christos stdu 1,-256(1) 1415 1.1 christos li 10,63 1416 1.1 christos li 11,79 1417 1.1 christos mflr 0 1418 1.1.1.2 christos mfspr 6,256 1419 1.1 christos stvx 20,10,1 1420 1.1 christos addi 10,10,32 1421 1.1 christos stvx 21,11,1 1422 1.1 christos addi 11,11,32 1423 1.1 christos stvx 22,10,1 1424 1.1 christos addi 10,10,32 1425 1.1 christos stvx 23,11,1 1426 1.1 christos addi 11,11,32 1427 1.1 christos stvx 24,10,1 1428 1.1 christos addi 10,10,32 1429 1.1 christos stvx 25,11,1 1430 1.1 christos addi 11,11,32 1431 1.1 christos stvx 26,10,1 1432 1.1 christos addi 10,10,32 1433 1.1 christos stvx 27,11,1 1434 1.1 christos addi 11,11,32 1435 1.1 christos stvx 28,10,1 1436 1.1 christos addi 10,10,32 1437 1.1 christos stvx 29,11,1 1438 1.1 christos addi 11,11,32 1439 1.1 christos stvx 30,10,1 1440 1.1 christos stvx 31,11,1 1441 1.1 christos stw 6,252(1) 1442 1.1 christos li 7, -1 1443 1.1 christos std 0, 272(1) 1444 1.1.1.2 christos mtspr 256,7 1445 1.1 christos 1446 1.1 christos srwi 9, 4, 5 1447 1.1 christos addi 9, 9, 6 1448 1.1 christos stw 9, 240(5) 1449 1.1 christos 1450 1.1 christos slwi 9, 9, 4 1451 1.1 christos add 5, 5, 9 1452 1.1 christos 1453 1.1 christos cmplwi 1, 4, 0 1454 1.1 christos srwi 8, 4, 1 1455 1.1 christos andi. 8, 8, 32 1456 1.1 christos xori 8, 8, 32 1457 1.1 christos bl _vpaes_schedule_core 1458 1.1 christos 1459 1.1 christos ld 0, 272(1) 1460 1.1 christos li 10,63 1461 1.1 christos li 11,79 1462 1.1.1.2 christos mtspr 256,6 1463 1.1 christos mtlr 0 1464 1.1 christos xor 3, 3, 3 1465 1.1 christos lvx 20,10,1 1466 1.1 christos addi 10,10,32 1467 1.1 christos lvx 21,11,1 1468 1.1 christos addi 11,11,32 1469 1.1 christos lvx 22,10,1 1470 1.1 christos addi 10,10,32 1471 1.1 christos lvx 23,11,1 1472 1.1 christos addi 11,11,32 1473 1.1 christos lvx 24,10,1 1474 1.1 christos addi 10,10,32 1475 1.1 christos lvx 25,11,1 1476 1.1 christos addi 11,11,32 1477 1.1 christos lvx 26,10,1 1478 1.1 christos addi 10,10,32 1479 1.1 christos lvx 27,11,1 1480 1.1 christos addi 11,11,32 1481 1.1 christos lvx 28,10,1 1482 1.1 christos addi 10,10,32 1483 1.1 christos lvx 29,11,1 1484 1.1 christos addi 11,11,32 1485 1.1 christos lvx 30,10,1 1486 1.1 christos lvx 31,11,1 1487 1.1 christos addi 1,1,256 1488 1.1 christos blr 1489 1.1 christos .long 0 1490 1.1 christos .byte 0,12,0x04,1,0x80,0,3,0 1491 1.1 christos .long 0 1492 1.1 christos 1493