aes-ppc.S revision 1.2 1 .machine "any"
2 .text
3
4 .align 7
5 .LAES_Te:
6 mflr 0
7 bcl 20,31,$+4
8 mflr 3
9 addi 3,3,120
10 mtlr 0
11 blr
12 .space 8
13 .LAES_Td:
14 mflr 0
15 bcl 20,31,$+4
16 mflr 3
17 addi 3,3,2392
18 mtlr 0
19 blr
20 .space 72
21 .long 0xc66363a5,0xc66363a5
22 .long 0xf87c7c84,0xf87c7c84
23 .long 0xee777799,0xee777799
24 .long 0xf67b7b8d,0xf67b7b8d
25 .long 0xfff2f20d,0xfff2f20d
26 .long 0xd66b6bbd,0xd66b6bbd
27 .long 0xde6f6fb1,0xde6f6fb1
28 .long 0x91c5c554,0x91c5c554
29 .long 0x60303050,0x60303050
30 .long 0x02010103,0x02010103
31 .long 0xce6767a9,0xce6767a9
32 .long 0x562b2b7d,0x562b2b7d
33 .long 0xe7fefe19,0xe7fefe19
34 .long 0xb5d7d762,0xb5d7d762
35 .long 0x4dababe6,0x4dababe6
36 .long 0xec76769a,0xec76769a
37 .long 0x8fcaca45,0x8fcaca45
38 .long 0x1f82829d,0x1f82829d
39 .long 0x89c9c940,0x89c9c940
40 .long 0xfa7d7d87,0xfa7d7d87
41 .long 0xeffafa15,0xeffafa15
42 .long 0xb25959eb,0xb25959eb
43 .long 0x8e4747c9,0x8e4747c9
44 .long 0xfbf0f00b,0xfbf0f00b
45 .long 0x41adadec,0x41adadec
46 .long 0xb3d4d467,0xb3d4d467
47 .long 0x5fa2a2fd,0x5fa2a2fd
48 .long 0x45afafea,0x45afafea
49 .long 0x239c9cbf,0x239c9cbf
50 .long 0x53a4a4f7,0x53a4a4f7
51 .long 0xe4727296,0xe4727296
52 .long 0x9bc0c05b,0x9bc0c05b
53 .long 0x75b7b7c2,0x75b7b7c2
54 .long 0xe1fdfd1c,0xe1fdfd1c
55 .long 0x3d9393ae,0x3d9393ae
56 .long 0x4c26266a,0x4c26266a
57 .long 0x6c36365a,0x6c36365a
58 .long 0x7e3f3f41,0x7e3f3f41
59 .long 0xf5f7f702,0xf5f7f702
60 .long 0x83cccc4f,0x83cccc4f
61 .long 0x6834345c,0x6834345c
62 .long 0x51a5a5f4,0x51a5a5f4
63 .long 0xd1e5e534,0xd1e5e534
64 .long 0xf9f1f108,0xf9f1f108
65 .long 0xe2717193,0xe2717193
66 .long 0xabd8d873,0xabd8d873
67 .long 0x62313153,0x62313153
68 .long 0x2a15153f,0x2a15153f
69 .long 0x0804040c,0x0804040c
70 .long 0x95c7c752,0x95c7c752
71 .long 0x46232365,0x46232365
72 .long 0x9dc3c35e,0x9dc3c35e
73 .long 0x30181828,0x30181828
74 .long 0x379696a1,0x379696a1
75 .long 0x0a05050f,0x0a05050f
76 .long 0x2f9a9ab5,0x2f9a9ab5
77 .long 0x0e070709,0x0e070709
78 .long 0x24121236,0x24121236
79 .long 0x1b80809b,0x1b80809b
80 .long 0xdfe2e23d,0xdfe2e23d
81 .long 0xcdebeb26,0xcdebeb26
82 .long 0x4e272769,0x4e272769
83 .long 0x7fb2b2cd,0x7fb2b2cd
84 .long 0xea75759f,0xea75759f
85 .long 0x1209091b,0x1209091b
86 .long 0x1d83839e,0x1d83839e
87 .long 0x582c2c74,0x582c2c74
88 .long 0x341a1a2e,0x341a1a2e
89 .long 0x361b1b2d,0x361b1b2d
90 .long 0xdc6e6eb2,0xdc6e6eb2
91 .long 0xb45a5aee,0xb45a5aee
92 .long 0x5ba0a0fb,0x5ba0a0fb
93 .long 0xa45252f6,0xa45252f6
94 .long 0x763b3b4d,0x763b3b4d
95 .long 0xb7d6d661,0xb7d6d661
96 .long 0x7db3b3ce,0x7db3b3ce
97 .long 0x5229297b,0x5229297b
98 .long 0xdde3e33e,0xdde3e33e
99 .long 0x5e2f2f71,0x5e2f2f71
100 .long 0x13848497,0x13848497
101 .long 0xa65353f5,0xa65353f5
102 .long 0xb9d1d168,0xb9d1d168
103 .long 0x00000000,0x00000000
104 .long 0xc1eded2c,0xc1eded2c
105 .long 0x40202060,0x40202060
106 .long 0xe3fcfc1f,0xe3fcfc1f
107 .long 0x79b1b1c8,0x79b1b1c8
108 .long 0xb65b5bed,0xb65b5bed
109 .long 0xd46a6abe,0xd46a6abe
110 .long 0x8dcbcb46,0x8dcbcb46
111 .long 0x67bebed9,0x67bebed9
112 .long 0x7239394b,0x7239394b
113 .long 0x944a4ade,0x944a4ade
114 .long 0x984c4cd4,0x984c4cd4
115 .long 0xb05858e8,0xb05858e8
116 .long 0x85cfcf4a,0x85cfcf4a
117 .long 0xbbd0d06b,0xbbd0d06b
118 .long 0xc5efef2a,0xc5efef2a
119 .long 0x4faaaae5,0x4faaaae5
120 .long 0xedfbfb16,0xedfbfb16
121 .long 0x864343c5,0x864343c5
122 .long 0x9a4d4dd7,0x9a4d4dd7
123 .long 0x66333355,0x66333355
124 .long 0x11858594,0x11858594
125 .long 0x8a4545cf,0x8a4545cf
126 .long 0xe9f9f910,0xe9f9f910
127 .long 0x04020206,0x04020206
128 .long 0xfe7f7f81,0xfe7f7f81
129 .long 0xa05050f0,0xa05050f0
130 .long 0x783c3c44,0x783c3c44
131 .long 0x259f9fba,0x259f9fba
132 .long 0x4ba8a8e3,0x4ba8a8e3
133 .long 0xa25151f3,0xa25151f3
134 .long 0x5da3a3fe,0x5da3a3fe
135 .long 0x804040c0,0x804040c0
136 .long 0x058f8f8a,0x058f8f8a
137 .long 0x3f9292ad,0x3f9292ad
138 .long 0x219d9dbc,0x219d9dbc
139 .long 0x70383848,0x70383848
140 .long 0xf1f5f504,0xf1f5f504
141 .long 0x63bcbcdf,0x63bcbcdf
142 .long 0x77b6b6c1,0x77b6b6c1
143 .long 0xafdada75,0xafdada75
144 .long 0x42212163,0x42212163
145 .long 0x20101030,0x20101030
146 .long 0xe5ffff1a,0xe5ffff1a
147 .long 0xfdf3f30e,0xfdf3f30e
148 .long 0xbfd2d26d,0xbfd2d26d
149 .long 0x81cdcd4c,0x81cdcd4c
150 .long 0x180c0c14,0x180c0c14
151 .long 0x26131335,0x26131335
152 .long 0xc3ecec2f,0xc3ecec2f
153 .long 0xbe5f5fe1,0xbe5f5fe1
154 .long 0x359797a2,0x359797a2
155 .long 0x884444cc,0x884444cc
156 .long 0x2e171739,0x2e171739
157 .long 0x93c4c457,0x93c4c457
158 .long 0x55a7a7f2,0x55a7a7f2
159 .long 0xfc7e7e82,0xfc7e7e82
160 .long 0x7a3d3d47,0x7a3d3d47
161 .long 0xc86464ac,0xc86464ac
162 .long 0xba5d5de7,0xba5d5de7
163 .long 0x3219192b,0x3219192b
164 .long 0xe6737395,0xe6737395
165 .long 0xc06060a0,0xc06060a0
166 .long 0x19818198,0x19818198
167 .long 0x9e4f4fd1,0x9e4f4fd1
168 .long 0xa3dcdc7f,0xa3dcdc7f
169 .long 0x44222266,0x44222266
170 .long 0x542a2a7e,0x542a2a7e
171 .long 0x3b9090ab,0x3b9090ab
172 .long 0x0b888883,0x0b888883
173 .long 0x8c4646ca,0x8c4646ca
174 .long 0xc7eeee29,0xc7eeee29
175 .long 0x6bb8b8d3,0x6bb8b8d3
176 .long 0x2814143c,0x2814143c
177 .long 0xa7dede79,0xa7dede79
178 .long 0xbc5e5ee2,0xbc5e5ee2
179 .long 0x160b0b1d,0x160b0b1d
180 .long 0xaddbdb76,0xaddbdb76
181 .long 0xdbe0e03b,0xdbe0e03b
182 .long 0x64323256,0x64323256
183 .long 0x743a3a4e,0x743a3a4e
184 .long 0x140a0a1e,0x140a0a1e
185 .long 0x924949db,0x924949db
186 .long 0x0c06060a,0x0c06060a
187 .long 0x4824246c,0x4824246c
188 .long 0xb85c5ce4,0xb85c5ce4
189 .long 0x9fc2c25d,0x9fc2c25d
190 .long 0xbdd3d36e,0xbdd3d36e
191 .long 0x43acacef,0x43acacef
192 .long 0xc46262a6,0xc46262a6
193 .long 0x399191a8,0x399191a8
194 .long 0x319595a4,0x319595a4
195 .long 0xd3e4e437,0xd3e4e437
196 .long 0xf279798b,0xf279798b
197 .long 0xd5e7e732,0xd5e7e732
198 .long 0x8bc8c843,0x8bc8c843
199 .long 0x6e373759,0x6e373759
200 .long 0xda6d6db7,0xda6d6db7
201 .long 0x018d8d8c,0x018d8d8c
202 .long 0xb1d5d564,0xb1d5d564
203 .long 0x9c4e4ed2,0x9c4e4ed2
204 .long 0x49a9a9e0,0x49a9a9e0
205 .long 0xd86c6cb4,0xd86c6cb4
206 .long 0xac5656fa,0xac5656fa
207 .long 0xf3f4f407,0xf3f4f407
208 .long 0xcfeaea25,0xcfeaea25
209 .long 0xca6565af,0xca6565af
210 .long 0xf47a7a8e,0xf47a7a8e
211 .long 0x47aeaee9,0x47aeaee9
212 .long 0x10080818,0x10080818
213 .long 0x6fbabad5,0x6fbabad5
214 .long 0xf0787888,0xf0787888
215 .long 0x4a25256f,0x4a25256f
216 .long 0x5c2e2e72,0x5c2e2e72
217 .long 0x381c1c24,0x381c1c24
218 .long 0x57a6a6f1,0x57a6a6f1
219 .long 0x73b4b4c7,0x73b4b4c7
220 .long 0x97c6c651,0x97c6c651
221 .long 0xcbe8e823,0xcbe8e823
222 .long 0xa1dddd7c,0xa1dddd7c
223 .long 0xe874749c,0xe874749c
224 .long 0x3e1f1f21,0x3e1f1f21
225 .long 0x964b4bdd,0x964b4bdd
226 .long 0x61bdbddc,0x61bdbddc
227 .long 0x0d8b8b86,0x0d8b8b86
228 .long 0x0f8a8a85,0x0f8a8a85
229 .long 0xe0707090,0xe0707090
230 .long 0x7c3e3e42,0x7c3e3e42
231 .long 0x71b5b5c4,0x71b5b5c4
232 .long 0xcc6666aa,0xcc6666aa
233 .long 0x904848d8,0x904848d8
234 .long 0x06030305,0x06030305
235 .long 0xf7f6f601,0xf7f6f601
236 .long 0x1c0e0e12,0x1c0e0e12
237 .long 0xc26161a3,0xc26161a3
238 .long 0x6a35355f,0x6a35355f
239 .long 0xae5757f9,0xae5757f9
240 .long 0x69b9b9d0,0x69b9b9d0
241 .long 0x17868691,0x17868691
242 .long 0x99c1c158,0x99c1c158
243 .long 0x3a1d1d27,0x3a1d1d27
244 .long 0x279e9eb9,0x279e9eb9
245 .long 0xd9e1e138,0xd9e1e138
246 .long 0xebf8f813,0xebf8f813
247 .long 0x2b9898b3,0x2b9898b3
248 .long 0x22111133,0x22111133
249 .long 0xd26969bb,0xd26969bb
250 .long 0xa9d9d970,0xa9d9d970
251 .long 0x078e8e89,0x078e8e89
252 .long 0x339494a7,0x339494a7
253 .long 0x2d9b9bb6,0x2d9b9bb6
254 .long 0x3c1e1e22,0x3c1e1e22
255 .long 0x15878792,0x15878792
256 .long 0xc9e9e920,0xc9e9e920
257 .long 0x87cece49,0x87cece49
258 .long 0xaa5555ff,0xaa5555ff
259 .long 0x50282878,0x50282878
260 .long 0xa5dfdf7a,0xa5dfdf7a
261 .long 0x038c8c8f,0x038c8c8f
262 .long 0x59a1a1f8,0x59a1a1f8
263 .long 0x09898980,0x09898980
264 .long 0x1a0d0d17,0x1a0d0d17
265 .long 0x65bfbfda,0x65bfbfda
266 .long 0xd7e6e631,0xd7e6e631
267 .long 0x844242c6,0x844242c6
268 .long 0xd06868b8,0xd06868b8
269 .long 0x824141c3,0x824141c3
270 .long 0x299999b0,0x299999b0
271 .long 0x5a2d2d77,0x5a2d2d77
272 .long 0x1e0f0f11,0x1e0f0f11
273 .long 0x7bb0b0cb,0x7bb0b0cb
274 .long 0xa85454fc,0xa85454fc
275 .long 0x6dbbbbd6,0x6dbbbbd6
276 .long 0x2c16163a,0x2c16163a
277 .byte 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5
278 .byte 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76
279 .byte 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0
280 .byte 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0
281 .byte 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc
282 .byte 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15
283 .byte 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a
284 .byte 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75
285 .byte 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0
286 .byte 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84
287 .byte 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b
288 .byte 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf
289 .byte 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85
290 .byte 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8
291 .byte 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5
292 .byte 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2
293 .byte 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17
294 .byte 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73
295 .byte 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88
296 .byte 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb
297 .byte 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c
298 .byte 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79
299 .byte 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9
300 .byte 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08
301 .byte 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6
302 .byte 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a
303 .byte 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e
304 .byte 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e
305 .byte 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94
306 .byte 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf
307 .byte 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68
308 .byte 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16
309 .long 0x51f4a750,0x51f4a750
310 .long 0x7e416553,0x7e416553
311 .long 0x1a17a4c3,0x1a17a4c3
312 .long 0x3a275e96,0x3a275e96
313 .long 0x3bab6bcb,0x3bab6bcb
314 .long 0x1f9d45f1,0x1f9d45f1
315 .long 0xacfa58ab,0xacfa58ab
316 .long 0x4be30393,0x4be30393
317 .long 0x2030fa55,0x2030fa55
318 .long 0xad766df6,0xad766df6
319 .long 0x88cc7691,0x88cc7691
320 .long 0xf5024c25,0xf5024c25
321 .long 0x4fe5d7fc,0x4fe5d7fc
322 .long 0xc52acbd7,0xc52acbd7
323 .long 0x26354480,0x26354480
324 .long 0xb562a38f,0xb562a38f
325 .long 0xdeb15a49,0xdeb15a49
326 .long 0x25ba1b67,0x25ba1b67
327 .long 0x45ea0e98,0x45ea0e98
328 .long 0x5dfec0e1,0x5dfec0e1
329 .long 0xc32f7502,0xc32f7502
330 .long 0x814cf012,0x814cf012
331 .long 0x8d4697a3,0x8d4697a3
332 .long 0x6bd3f9c6,0x6bd3f9c6
333 .long 0x038f5fe7,0x038f5fe7
334 .long 0x15929c95,0x15929c95
335 .long 0xbf6d7aeb,0xbf6d7aeb
336 .long 0x955259da,0x955259da
337 .long 0xd4be832d,0xd4be832d
338 .long 0x587421d3,0x587421d3
339 .long 0x49e06929,0x49e06929
340 .long 0x8ec9c844,0x8ec9c844
341 .long 0x75c2896a,0x75c2896a
342 .long 0xf48e7978,0xf48e7978
343 .long 0x99583e6b,0x99583e6b
344 .long 0x27b971dd,0x27b971dd
345 .long 0xbee14fb6,0xbee14fb6
346 .long 0xf088ad17,0xf088ad17
347 .long 0xc920ac66,0xc920ac66
348 .long 0x7dce3ab4,0x7dce3ab4
349 .long 0x63df4a18,0x63df4a18
350 .long 0xe51a3182,0xe51a3182
351 .long 0x97513360,0x97513360
352 .long 0x62537f45,0x62537f45
353 .long 0xb16477e0,0xb16477e0
354 .long 0xbb6bae84,0xbb6bae84
355 .long 0xfe81a01c,0xfe81a01c
356 .long 0xf9082b94,0xf9082b94
357 .long 0x70486858,0x70486858
358 .long 0x8f45fd19,0x8f45fd19
359 .long 0x94de6c87,0x94de6c87
360 .long 0x527bf8b7,0x527bf8b7
361 .long 0xab73d323,0xab73d323
362 .long 0x724b02e2,0x724b02e2
363 .long 0xe31f8f57,0xe31f8f57
364 .long 0x6655ab2a,0x6655ab2a
365 .long 0xb2eb2807,0xb2eb2807
366 .long 0x2fb5c203,0x2fb5c203
367 .long 0x86c57b9a,0x86c57b9a
368 .long 0xd33708a5,0xd33708a5
369 .long 0x302887f2,0x302887f2
370 .long 0x23bfa5b2,0x23bfa5b2
371 .long 0x02036aba,0x02036aba
372 .long 0xed16825c,0xed16825c
373 .long 0x8acf1c2b,0x8acf1c2b
374 .long 0xa779b492,0xa779b492
375 .long 0xf307f2f0,0xf307f2f0
376 .long 0x4e69e2a1,0x4e69e2a1
377 .long 0x65daf4cd,0x65daf4cd
378 .long 0x0605bed5,0x0605bed5
379 .long 0xd134621f,0xd134621f
380 .long 0xc4a6fe8a,0xc4a6fe8a
381 .long 0x342e539d,0x342e539d
382 .long 0xa2f355a0,0xa2f355a0
383 .long 0x058ae132,0x058ae132
384 .long 0xa4f6eb75,0xa4f6eb75
385 .long 0x0b83ec39,0x0b83ec39
386 .long 0x4060efaa,0x4060efaa
387 .long 0x5e719f06,0x5e719f06
388 .long 0xbd6e1051,0xbd6e1051
389 .long 0x3e218af9,0x3e218af9
390 .long 0x96dd063d,0x96dd063d
391 .long 0xdd3e05ae,0xdd3e05ae
392 .long 0x4de6bd46,0x4de6bd46
393 .long 0x91548db5,0x91548db5
394 .long 0x71c45d05,0x71c45d05
395 .long 0x0406d46f,0x0406d46f
396 .long 0x605015ff,0x605015ff
397 .long 0x1998fb24,0x1998fb24
398 .long 0xd6bde997,0xd6bde997
399 .long 0x894043cc,0x894043cc
400 .long 0x67d99e77,0x67d99e77
401 .long 0xb0e842bd,0xb0e842bd
402 .long 0x07898b88,0x07898b88
403 .long 0xe7195b38,0xe7195b38
404 .long 0x79c8eedb,0x79c8eedb
405 .long 0xa17c0a47,0xa17c0a47
406 .long 0x7c420fe9,0x7c420fe9
407 .long 0xf8841ec9,0xf8841ec9
408 .long 0x00000000,0x00000000
409 .long 0x09808683,0x09808683
410 .long 0x322bed48,0x322bed48
411 .long 0x1e1170ac,0x1e1170ac
412 .long 0x6c5a724e,0x6c5a724e
413 .long 0xfd0efffb,0xfd0efffb
414 .long 0x0f853856,0x0f853856
415 .long 0x3daed51e,0x3daed51e
416 .long 0x362d3927,0x362d3927
417 .long 0x0a0fd964,0x0a0fd964
418 .long 0x685ca621,0x685ca621
419 .long 0x9b5b54d1,0x9b5b54d1
420 .long 0x24362e3a,0x24362e3a
421 .long 0x0c0a67b1,0x0c0a67b1
422 .long 0x9357e70f,0x9357e70f
423 .long 0xb4ee96d2,0xb4ee96d2
424 .long 0x1b9b919e,0x1b9b919e
425 .long 0x80c0c54f,0x80c0c54f
426 .long 0x61dc20a2,0x61dc20a2
427 .long 0x5a774b69,0x5a774b69
428 .long 0x1c121a16,0x1c121a16
429 .long 0xe293ba0a,0xe293ba0a
430 .long 0xc0a02ae5,0xc0a02ae5
431 .long 0x3c22e043,0x3c22e043
432 .long 0x121b171d,0x121b171d
433 .long 0x0e090d0b,0x0e090d0b
434 .long 0xf28bc7ad,0xf28bc7ad
435 .long 0x2db6a8b9,0x2db6a8b9
436 .long 0x141ea9c8,0x141ea9c8
437 .long 0x57f11985,0x57f11985
438 .long 0xaf75074c,0xaf75074c
439 .long 0xee99ddbb,0xee99ddbb
440 .long 0xa37f60fd,0xa37f60fd
441 .long 0xf701269f,0xf701269f
442 .long 0x5c72f5bc,0x5c72f5bc
443 .long 0x44663bc5,0x44663bc5
444 .long 0x5bfb7e34,0x5bfb7e34
445 .long 0x8b432976,0x8b432976
446 .long 0xcb23c6dc,0xcb23c6dc
447 .long 0xb6edfc68,0xb6edfc68
448 .long 0xb8e4f163,0xb8e4f163
449 .long 0xd731dcca,0xd731dcca
450 .long 0x42638510,0x42638510
451 .long 0x13972240,0x13972240
452 .long 0x84c61120,0x84c61120
453 .long 0x854a247d,0x854a247d
454 .long 0xd2bb3df8,0xd2bb3df8
455 .long 0xaef93211,0xaef93211
456 .long 0xc729a16d,0xc729a16d
457 .long 0x1d9e2f4b,0x1d9e2f4b
458 .long 0xdcb230f3,0xdcb230f3
459 .long 0x0d8652ec,0x0d8652ec
460 .long 0x77c1e3d0,0x77c1e3d0
461 .long 0x2bb3166c,0x2bb3166c
462 .long 0xa970b999,0xa970b999
463 .long 0x119448fa,0x119448fa
464 .long 0x47e96422,0x47e96422
465 .long 0xa8fc8cc4,0xa8fc8cc4
466 .long 0xa0f03f1a,0xa0f03f1a
467 .long 0x567d2cd8,0x567d2cd8
468 .long 0x223390ef,0x223390ef
469 .long 0x87494ec7,0x87494ec7
470 .long 0xd938d1c1,0xd938d1c1
471 .long 0x8ccaa2fe,0x8ccaa2fe
472 .long 0x98d40b36,0x98d40b36
473 .long 0xa6f581cf,0xa6f581cf
474 .long 0xa57ade28,0xa57ade28
475 .long 0xdab78e26,0xdab78e26
476 .long 0x3fadbfa4,0x3fadbfa4
477 .long 0x2c3a9de4,0x2c3a9de4
478 .long 0x5078920d,0x5078920d
479 .long 0x6a5fcc9b,0x6a5fcc9b
480 .long 0x547e4662,0x547e4662
481 .long 0xf68d13c2,0xf68d13c2
482 .long 0x90d8b8e8,0x90d8b8e8
483 .long 0x2e39f75e,0x2e39f75e
484 .long 0x82c3aff5,0x82c3aff5
485 .long 0x9f5d80be,0x9f5d80be
486 .long 0x69d0937c,0x69d0937c
487 .long 0x6fd52da9,0x6fd52da9
488 .long 0xcf2512b3,0xcf2512b3
489 .long 0xc8ac993b,0xc8ac993b
490 .long 0x10187da7,0x10187da7
491 .long 0xe89c636e,0xe89c636e
492 .long 0xdb3bbb7b,0xdb3bbb7b
493 .long 0xcd267809,0xcd267809
494 .long 0x6e5918f4,0x6e5918f4
495 .long 0xec9ab701,0xec9ab701
496 .long 0x834f9aa8,0x834f9aa8
497 .long 0xe6956e65,0xe6956e65
498 .long 0xaaffe67e,0xaaffe67e
499 .long 0x21bccf08,0x21bccf08
500 .long 0xef15e8e6,0xef15e8e6
501 .long 0xbae79bd9,0xbae79bd9
502 .long 0x4a6f36ce,0x4a6f36ce
503 .long 0xea9f09d4,0xea9f09d4
504 .long 0x29b07cd6,0x29b07cd6
505 .long 0x31a4b2af,0x31a4b2af
506 .long 0x2a3f2331,0x2a3f2331
507 .long 0xc6a59430,0xc6a59430
508 .long 0x35a266c0,0x35a266c0
509 .long 0x744ebc37,0x744ebc37
510 .long 0xfc82caa6,0xfc82caa6
511 .long 0xe090d0b0,0xe090d0b0
512 .long 0x33a7d815,0x33a7d815
513 .long 0xf104984a,0xf104984a
514 .long 0x41ecdaf7,0x41ecdaf7
515 .long 0x7fcd500e,0x7fcd500e
516 .long 0x1791f62f,0x1791f62f
517 .long 0x764dd68d,0x764dd68d
518 .long 0x43efb04d,0x43efb04d
519 .long 0xccaa4d54,0xccaa4d54
520 .long 0xe49604df,0xe49604df
521 .long 0x9ed1b5e3,0x9ed1b5e3
522 .long 0x4c6a881b,0x4c6a881b
523 .long 0xc12c1fb8,0xc12c1fb8
524 .long 0x4665517f,0x4665517f
525 .long 0x9d5eea04,0x9d5eea04
526 .long 0x018c355d,0x018c355d
527 .long 0xfa877473,0xfa877473
528 .long 0xfb0b412e,0xfb0b412e
529 .long 0xb3671d5a,0xb3671d5a
530 .long 0x92dbd252,0x92dbd252
531 .long 0xe9105633,0xe9105633
532 .long 0x6dd64713,0x6dd64713
533 .long 0x9ad7618c,0x9ad7618c
534 .long 0x37a10c7a,0x37a10c7a
535 .long 0x59f8148e,0x59f8148e
536 .long 0xeb133c89,0xeb133c89
537 .long 0xcea927ee,0xcea927ee
538 .long 0xb761c935,0xb761c935
539 .long 0xe11ce5ed,0xe11ce5ed
540 .long 0x7a47b13c,0x7a47b13c
541 .long 0x9cd2df59,0x9cd2df59
542 .long 0x55f2733f,0x55f2733f
543 .long 0x1814ce79,0x1814ce79
544 .long 0x73c737bf,0x73c737bf
545 .long 0x53f7cdea,0x53f7cdea
546 .long 0x5ffdaa5b,0x5ffdaa5b
547 .long 0xdf3d6f14,0xdf3d6f14
548 .long 0x7844db86,0x7844db86
549 .long 0xcaaff381,0xcaaff381
550 .long 0xb968c43e,0xb968c43e
551 .long 0x3824342c,0x3824342c
552 .long 0xc2a3405f,0xc2a3405f
553 .long 0x161dc372,0x161dc372
554 .long 0xbce2250c,0xbce2250c
555 .long 0x283c498b,0x283c498b
556 .long 0xff0d9541,0xff0d9541
557 .long 0x39a80171,0x39a80171
558 .long 0x080cb3de,0x080cb3de
559 .long 0xd8b4e49c,0xd8b4e49c
560 .long 0x6456c190,0x6456c190
561 .long 0x7bcb8461,0x7bcb8461
562 .long 0xd532b670,0xd532b670
563 .long 0x486c5c74,0x486c5c74
564 .long 0xd0b85742,0xd0b85742
565 .byte 0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38
566 .byte 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb
567 .byte 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87
568 .byte 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb
569 .byte 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d
570 .byte 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e
571 .byte 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2
572 .byte 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25
573 .byte 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16
574 .byte 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92
575 .byte 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda
576 .byte 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84
577 .byte 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a
578 .byte 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06
579 .byte 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02
580 .byte 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b
581 .byte 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea
582 .byte 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73
583 .byte 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85
584 .byte 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e
585 .byte 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89
586 .byte 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b
587 .byte 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20
588 .byte 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4
589 .byte 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31
590 .byte 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f
591 .byte 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d
592 .byte 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef
593 .byte 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0
594 .byte 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61
595 .byte 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26
596 .byte 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d
597
598
599 .globl AES_encrypt
600 .type AES_encrypt,@function
601 .align 7
602 AES_encrypt:
603 mflr 0
604 stwu 1,-128(1)
605
606 stw 0,44(1)
607 stw 2,48(1)
608 stw 13,52(1)
609 stw 14,56(1)
610 stw 15,60(1)
611 stw 16,64(1)
612 stw 17,68(1)
613 stw 18,72(1)
614 stw 19,76(1)
615 stw 20,80(1)
616 stw 21,84(1)
617 stw 22,88(1)
618 stw 23,92(1)
619 stw 24,96(1)
620 stw 25,100(1)
621 stw 26,104(1)
622 stw 27,108(1)
623 stw 28,112(1)
624 stw 29,116(1)
625 stw 30,120(1)
626 stw 31,124(1)
627
628 lwz 8,0(3)
629 lwz 9,4(3)
630 lwz 10,8(3)
631 lwz 11,12(3)
632 bl .LAES_Te
633 bl .Lppc_AES_encrypt_compact
634 stw 8,0(4)
635 stw 9,4(4)
636 stw 10,8(4)
637 stw 11,12(4)
638
639 lwz 0,44(1)
640 lwz 2,48(1)
641 lwz 13,52(1)
642 lwz 14,56(1)
643 lwz 15,60(1)
644 lwz 16,64(1)
645 lwz 17,68(1)
646 lwz 18,72(1)
647 lwz 19,76(1)
648 lwz 20,80(1)
649 lwz 21,84(1)
650 lwz 22,88(1)
651 lwz 23,92(1)
652 lwz 24,96(1)
653 lwz 25,100(1)
654 lwz 26,104(1)
655 lwz 27,108(1)
656 lwz 28,112(1)
657 lwz 29,116(1)
658 lwz 30,120(1)
659 lwz 31,124(1)
660 mtlr 0
661 addi 1,1,128
662 blr
663
664 .align 5
665 .Lppc_AES_encrypt:
666 lwz 16,240(5)
667 lwz 0,0(5)
668 lwz 13,4(5)
669 lwz 14,8(5)
670 lwz 15,12(5)
671 addi 6,3,3
672 addi 7,3,2
673 addi 12,3,1
674 addi 16,16,-1
675 addi 5,5,16
676 xor 8,8,0
677 xor 9,9,13
678 xor 10,10,14
679 xor 11,11,15
680 mtctr 16
681 .align 4
682 .Lenc_loop:
683 rlwinm 16,8,11,21,28
684 rlwinm 17,9,11,21,28
685 rlwinm 18,10,11,21,28
686 rlwinm 19,11,11,21,28
687 lwz 0,0(5)
688 lwz 13,4(5)
689 rlwinm 20,9,19,21,28
690 rlwinm 21,10,19,21,28
691 lwz 14,8(5)
692 lwz 15,12(5)
693 rlwinm 22,11,19,21,28
694 rlwinm 23,8,19,21,28
695 lwzx 16,3,16
696 lwzx 17,3,17
697 rlwinm 24,10,27,21,28
698 rlwinm 25,11,27,21,28
699 lwzx 18,3,18
700 lwzx 19,3,19
701 rlwinm 26,8,27,21,28
702 rlwinm 27,9,27,21,28
703 lwzx 20,6,20
704 lwzx 21,6,21
705 rlwinm 28,11,3,21,28
706 rlwinm 29,8,3,21,28
707 lwzx 22,6,22
708 lwzx 23,6,23
709 rlwinm 30,9,3,21,28
710 rlwinm 31,10,3,21,28
711 lwzx 24,7,24
712 lwzx 25,7,25
713 xor 0,0,16
714 xor 13,13,17
715 lwzx 26,7,26
716 lwzx 27,7,27
717 xor 14,14,18
718 xor 15,15,19
719 lwzx 28,12,28
720 lwzx 29,12,29
721 xor 0,0,20
722 xor 13,13,21
723 lwzx 30,12,30
724 lwzx 31,12,31
725 xor 14,14,22
726 xor 15,15,23
727 xor 0,0,24
728 xor 13,13,25
729 xor 14,14,26
730 xor 15,15,27
731 xor 8,0,28
732 xor 9,13,29
733 xor 10,14,30
734 xor 11,15,31
735 addi 5,5,16
736 bdnz+ .Lenc_loop
737
738 addi 7,3,2048
739 nop
740 lwz 0,0(5)
741 lwz 13,4(5)
742 rlwinm 16,8,8,24,31
743 rlwinm 17,9,8,24,31
744 lwz 14,8(5)
745 lwz 15,12(5)
746 rlwinm 18,10,8,24,31
747 rlwinm 19,11,8,24,31
748 lwz 24,2048(3)
749 lwz 25,2080(3)
750 rlwinm 20,9,16,24,31
751 rlwinm 21,10,16,24,31
752 lwz 26,2112(3)
753 lwz 27,2144(3)
754 rlwinm 22,11,16,24,31
755 rlwinm 23,8,16,24,31
756 lwz 28,2176(3)
757 lwz 29,2208(3)
758 rlwinm 24,10,24,24,31
759 rlwinm 25,11,24,24,31
760 lwz 30,2240(3)
761 lwz 31,2272(3)
762 rlwinm 26,8,24,24,31
763 rlwinm 27,9,24,24,31
764 lbzx 16,7,16
765 lbzx 17,7,17
766 rlwinm 28,11,0,24,31
767 rlwinm 29,8,0,24,31
768 lbzx 18,7,18
769 lbzx 19,7,19
770 rlwinm 30,9,0,24,31
771 rlwinm 31,10,0,24,31
772 lbzx 20,7,20
773 lbzx 21,7,21
774 rlwinm 8,16,24,0,7
775 rlwinm 9,17,24,0,7
776 lbzx 22,7,22
777 lbzx 23,7,23
778 rlwinm 10,18,24,0,7
779 rlwinm 11,19,24,0,7
780 lbzx 24,7,24
781 lbzx 25,7,25
782 rlwimi 8,20,16,8,15
783 rlwimi 9,21,16,8,15
784 lbzx 26,7,26
785 lbzx 27,7,27
786 rlwimi 10,22,16,8,15
787 rlwimi 11,23,16,8,15
788 lbzx 28,7,28
789 lbzx 29,7,29
790 rlwimi 8,24,8,16,23
791 rlwimi 9,25,8,16,23
792 lbzx 30,7,30
793 lbzx 31,7,31
794 rlwimi 10,26,8,16,23
795 rlwimi 11,27,8,16,23
796 or 8,8,28
797 or 9,9,29
798 or 10,10,30
799 or 11,11,31
800 xor 8,8,0
801 xor 9,9,13
802 xor 10,10,14
803 xor 11,11,15
804 blr
805
806 .align 4
807 .Lppc_AES_encrypt_compact:
808 lwz 16,240(5)
809 lwz 0,0(5)
810 lwz 13,4(5)
811 lwz 14,8(5)
812 lwz 15,12(5)
813 addi 6,3,2048
814 lis 7,0x8080
815 lis 12,0x1b1b
816 addi 5,5,16
817 ori 7,7,0x8080
818 ori 12,12,0x1b1b
819 mtctr 16
820 .align 4
821 .Lenc_compact_loop:
822 xor 8,8,0
823 xor 9,9,13
824 xor 10,10,14
825 xor 11,11,15
826 rlwinm 16,8,8,24,31
827 rlwinm 17,9,8,24,31
828 rlwinm 18,10,8,24,31
829 rlwinm 19,11,8,24,31
830 rlwinm 20,9,16,24,31
831 rlwinm 21,10,16,24,31
832 rlwinm 22,11,16,24,31
833 rlwinm 23,8,16,24,31
834 lbzx 16,6,16
835 lbzx 17,6,17
836 rlwinm 24,10,24,24,31
837 rlwinm 25,11,24,24,31
838 lbzx 18,6,18
839 lbzx 19,6,19
840 rlwinm 26,8,24,24,31
841 rlwinm 27,9,24,24,31
842 lbzx 20,6,20
843 lbzx 21,6,21
844 rlwinm 28,11,0,24,31
845 rlwinm 29,8,0,24,31
846 lbzx 22,6,22
847 lbzx 23,6,23
848 rlwinm 30,9,0,24,31
849 rlwinm 31,10,0,24,31
850 lbzx 24,6,24
851 lbzx 25,6,25
852 rlwinm 8,16,24,0,7
853 rlwinm 9,17,24,0,7
854 lbzx 26,6,26
855 lbzx 27,6,27
856 rlwinm 10,18,24,0,7
857 rlwinm 11,19,24,0,7
858 lbzx 28,6,28
859 lbzx 29,6,29
860 rlwimi 8,20,16,8,15
861 rlwimi 9,21,16,8,15
862 lbzx 30,6,30
863 lbzx 31,6,31
864 rlwimi 10,22,16,8,15
865 rlwimi 11,23,16,8,15
866 rlwimi 8,24,8,16,23
867 rlwimi 9,25,8,16,23
868 rlwimi 10,26,8,16,23
869 rlwimi 11,27,8,16,23
870 lwz 0,0(5)
871 lwz 13,4(5)
872 or 8,8,28
873 or 9,9,29
874 lwz 14,8(5)
875 lwz 15,12(5)
876 or 10,10,30
877 or 11,11,31
878
879 addi 5,5,16
880 bdz .Lenc_compact_done
881
882 and 16,8,7
883 and 17,9,7
884 and 18,10,7
885 and 19,11,7
886 srwi 20,16,7
887 srwi 21,17,7
888 srwi 22,18,7
889 srwi 23,19,7
890 andc 24,8,7
891 andc 25,9,7
892 andc 26,10,7
893 andc 27,11,7
894 sub 16,16,20
895 sub 17,17,21
896 sub 18,18,22
897 sub 19,19,23
898 add 24,24,24
899 add 25,25,25
900 add 26,26,26
901 add 27,27,27
902 and 16,16,12
903 and 17,17,12
904 and 18,18,12
905 and 19,19,12
906 xor 16,16,24
907 xor 17,17,25
908 xor 18,18,26
909 xor 19,19,27
910
911 rotlwi 28,8,16
912 rotlwi 29,9,16
913 rotlwi 30,10,16
914 rotlwi 31,11,16
915 xor 8,8,16
916 xor 9,9,17
917 xor 10,10,18
918 xor 11,11,19
919 rotrwi 8,8,24
920 rotrwi 9,9,24
921 rotrwi 10,10,24
922 rotrwi 11,11,24
923 xor 8,8,16
924 xor 9,9,17
925 xor 10,10,18
926 xor 11,11,19
927 rotlwi 24,28,8
928 rotlwi 25,29,8
929 rotlwi 26,30,8
930 rotlwi 27,31,8
931 xor 8,8,28
932 xor 9,9,29
933 xor 10,10,30
934 xor 11,11,31
935 xor 8,8,24
936 xor 9,9,25
937 xor 10,10,26
938 xor 11,11,27
939
940 b .Lenc_compact_loop
941 .align 4
942 .Lenc_compact_done:
943 xor 8,8,0
944 xor 9,9,13
945 xor 10,10,14
946 xor 11,11,15
947 blr
948
949 .globl AES_decrypt
950 .type AES_decrypt,@function
951 .align 7
952 AES_decrypt:
953 mflr 0
954 stwu 1,-128(1)
955
956 stw 0,44(1)
957 stw 2,48(1)
958 stw 13,52(1)
959 stw 14,56(1)
960 stw 15,60(1)
961 stw 16,64(1)
962 stw 17,68(1)
963 stw 18,72(1)
964 stw 19,76(1)
965 stw 20,80(1)
966 stw 21,84(1)
967 stw 22,88(1)
968 stw 23,92(1)
969 stw 24,96(1)
970 stw 25,100(1)
971 stw 26,104(1)
972 stw 27,108(1)
973 stw 28,112(1)
974 stw 29,116(1)
975 stw 30,120(1)
976 stw 31,124(1)
977
978 lwz 8,0(3)
979 lwz 9,4(3)
980 lwz 10,8(3)
981 lwz 11,12(3)
982 bl .LAES_Td
983 bl .Lppc_AES_decrypt_compact
984 stw 8,0(4)
985 stw 9,4(4)
986 stw 10,8(4)
987 stw 11,12(4)
988
989 lwz 0,44(1)
990 lwz 2,48(1)
991 lwz 13,52(1)
992 lwz 14,56(1)
993 lwz 15,60(1)
994 lwz 16,64(1)
995 lwz 17,68(1)
996 lwz 18,72(1)
997 lwz 19,76(1)
998 lwz 20,80(1)
999 lwz 21,84(1)
1000 lwz 22,88(1)
1001 lwz 23,92(1)
1002 lwz 24,96(1)
1003 lwz 25,100(1)
1004 lwz 26,104(1)
1005 lwz 27,108(1)
1006 lwz 28,112(1)
1007 lwz 29,116(1)
1008 lwz 30,120(1)
1009 lwz 31,124(1)
1010 mtlr 0
1011 addi 1,1,128
1012 blr
1013
1014 .align 5
1015 .Lppc_AES_decrypt:
1016 lwz 16,240(5)
1017 lwz 0,0(5)
1018 lwz 13,4(5)
1019 lwz 14,8(5)
1020 lwz 15,12(5)
1021 addi 6,3,3
1022 addi 7,3,2
1023 addi 12,3,1
1024 addi 16,16,-1
1025 addi 5,5,16
1026 xor 8,8,0
1027 xor 9,9,13
1028 xor 10,10,14
1029 xor 11,11,15
1030 mtctr 16
1031 .align 4
1032 .Ldec_loop:
1033 rlwinm 16,8,11,21,28
1034 rlwinm 17,9,11,21,28
1035 rlwinm 18,10,11,21,28
1036 rlwinm 19,11,11,21,28
1037 lwz 0,0(5)
1038 lwz 13,4(5)
1039 rlwinm 20,11,19,21,28
1040 rlwinm 21,8,19,21,28
1041 lwz 14,8(5)
1042 lwz 15,12(5)
1043 rlwinm 22,9,19,21,28
1044 rlwinm 23,10,19,21,28
1045 lwzx 16,3,16
1046 lwzx 17,3,17
1047 rlwinm 24,10,27,21,28
1048 rlwinm 25,11,27,21,28
1049 lwzx 18,3,18
1050 lwzx 19,3,19
1051 rlwinm 26,8,27,21,28
1052 rlwinm 27,9,27,21,28
1053 lwzx 20,6,20
1054 lwzx 21,6,21
1055 rlwinm 28,9,3,21,28
1056 rlwinm 29,10,3,21,28
1057 lwzx 22,6,22
1058 lwzx 23,6,23
1059 rlwinm 30,11,3,21,28
1060 rlwinm 31,8,3,21,28
1061 lwzx 24,7,24
1062 lwzx 25,7,25
1063 xor 0,0,16
1064 xor 13,13,17
1065 lwzx 26,7,26
1066 lwzx 27,7,27
1067 xor 14,14,18
1068 xor 15,15,19
1069 lwzx 28,12,28
1070 lwzx 29,12,29
1071 xor 0,0,20
1072 xor 13,13,21
1073 lwzx 30,12,30
1074 lwzx 31,12,31
1075 xor 14,14,22
1076 xor 15,15,23
1077 xor 0,0,24
1078 xor 13,13,25
1079 xor 14,14,26
1080 xor 15,15,27
1081 xor 8,0,28
1082 xor 9,13,29
1083 xor 10,14,30
1084 xor 11,15,31
1085 addi 5,5,16
1086 bdnz+ .Ldec_loop
1087
1088 addi 7,3,2048
1089 nop
1090 lwz 0,0(5)
1091 lwz 13,4(5)
1092 rlwinm 16,8,8,24,31
1093 rlwinm 17,9,8,24,31
1094 lwz 14,8(5)
1095 lwz 15,12(5)
1096 rlwinm 18,10,8,24,31
1097 rlwinm 19,11,8,24,31
1098 lwz 24,2048(3)
1099 lwz 25,2080(3)
1100 rlwinm 20,11,16,24,31
1101 rlwinm 21,8,16,24,31
1102 lwz 26,2112(3)
1103 lwz 27,2144(3)
1104 lbzx 16,7,16
1105 lbzx 17,7,17
1106 lwz 28,2176(3)
1107 lwz 29,2208(3)
1108 rlwinm 22,9,16,24,31
1109 rlwinm 23,10,16,24,31
1110 lwz 30,2240(3)
1111 lwz 31,2272(3)
1112 rlwinm 24,10,24,24,31
1113 rlwinm 25,11,24,24,31
1114 lbzx 18,7,18
1115 lbzx 19,7,19
1116 rlwinm 26,8,24,24,31
1117 rlwinm 27,9,24,24,31
1118 lbzx 20,7,20
1119 lbzx 21,7,21
1120 rlwinm 28,9,0,24,31
1121 rlwinm 29,10,0,24,31
1122 lbzx 22,7,22
1123 lbzx 23,7,23
1124 rlwinm 30,11,0,24,31
1125 rlwinm 31,8,0,24,31
1126 lbzx 24,7,24
1127 lbzx 25,7,25
1128 rlwinm 8,16,24,0,7
1129 rlwinm 9,17,24,0,7
1130 lbzx 26,7,26
1131 lbzx 27,7,27
1132 rlwinm 10,18,24,0,7
1133 rlwinm 11,19,24,0,7
1134 lbzx 28,7,28
1135 lbzx 29,7,29
1136 rlwimi 8,20,16,8,15
1137 rlwimi 9,21,16,8,15
1138 lbzx 30,7,30
1139 lbzx 31,7,31
1140 rlwimi 10,22,16,8,15
1141 rlwimi 11,23,16,8,15
1142 rlwimi 8,24,8,16,23
1143 rlwimi 9,25,8,16,23
1144 rlwimi 10,26,8,16,23
1145 rlwimi 11,27,8,16,23
1146 or 8,8,28
1147 or 9,9,29
1148 or 10,10,30
1149 or 11,11,31
1150 xor 8,8,0
1151 xor 9,9,13
1152 xor 10,10,14
1153 xor 11,11,15
1154 blr
1155
1156 .align 4
1157 .Lppc_AES_decrypt_compact:
1158 lwz 16,240(5)
1159 lwz 0,0(5)
1160 lwz 13,4(5)
1161 lwz 14,8(5)
1162 lwz 15,12(5)
1163 addi 6,3,2048
1164 lis 7,0x8080
1165 lis 12,0x1b1b
1166 addi 5,5,16
1167 ori 7,7,0x8080
1168 ori 12,12,0x1b1b
1169 mtctr 16
1170 .align 4
1171 .Ldec_compact_loop:
1172 xor 8,8,0
1173 xor 9,9,13
1174 xor 10,10,14
1175 xor 11,11,15
1176 rlwinm 16,8,8,24,31
1177 rlwinm 17,9,8,24,31
1178 rlwinm 18,10,8,24,31
1179 rlwinm 19,11,8,24,31
1180 rlwinm 20,11,16,24,31
1181 rlwinm 21,8,16,24,31
1182 rlwinm 22,9,16,24,31
1183 rlwinm 23,10,16,24,31
1184 lbzx 16,6,16
1185 lbzx 17,6,17
1186 rlwinm 24,10,24,24,31
1187 rlwinm 25,11,24,24,31
1188 lbzx 18,6,18
1189 lbzx 19,6,19
1190 rlwinm 26,8,24,24,31
1191 rlwinm 27,9,24,24,31
1192 lbzx 20,6,20
1193 lbzx 21,6,21
1194 rlwinm 28,9,0,24,31
1195 rlwinm 29,10,0,24,31
1196 lbzx 22,6,22
1197 lbzx 23,6,23
1198 rlwinm 30,11,0,24,31
1199 rlwinm 31,8,0,24,31
1200 lbzx 24,6,24
1201 lbzx 25,6,25
1202 rlwinm 8,16,24,0,7
1203 rlwinm 9,17,24,0,7
1204 lbzx 26,6,26
1205 lbzx 27,6,27
1206 rlwinm 10,18,24,0,7
1207 rlwinm 11,19,24,0,7
1208 lbzx 28,6,28
1209 lbzx 29,6,29
1210 rlwimi 8,20,16,8,15
1211 rlwimi 9,21,16,8,15
1212 lbzx 30,6,30
1213 lbzx 31,6,31
1214 rlwimi 10,22,16,8,15
1215 rlwimi 11,23,16,8,15
1216 rlwimi 8,24,8,16,23
1217 rlwimi 9,25,8,16,23
1218 rlwimi 10,26,8,16,23
1219 rlwimi 11,27,8,16,23
1220 lwz 0,0(5)
1221 lwz 13,4(5)
1222 or 8,8,28
1223 or 9,9,29
1224 lwz 14,8(5)
1225 lwz 15,12(5)
1226 or 10,10,30
1227 or 11,11,31
1228
1229 addi 5,5,16
1230 bdz .Ldec_compact_done
1231 and 16,8,7
1232 and 17,9,7
1233 and 18,10,7
1234 and 19,11,7
1235 srwi 20,16,7
1236 srwi 21,17,7
1237 srwi 22,18,7
1238 srwi 23,19,7
1239 andc 24,8,7
1240 andc 25,9,7
1241 andc 26,10,7
1242 andc 27,11,7
1243 sub 16,16,20
1244 sub 17,17,21
1245 sub 18,18,22
1246 sub 19,19,23
1247 add 24,24,24
1248 add 25,25,25
1249 add 26,26,26
1250 add 27,27,27
1251 and 16,16,12
1252 and 17,17,12
1253 and 18,18,12
1254 and 19,19,12
1255 xor 16,16,24
1256 xor 17,17,25
1257 xor 18,18,26
1258 xor 19,19,27
1259
1260 and 20,16,7
1261 and 21,17,7
1262 and 22,18,7
1263 and 23,19,7
1264 srwi 24,20,7
1265 srwi 25,21,7
1266 srwi 26,22,7
1267 srwi 27,23,7
1268 andc 28,16,7
1269 andc 29,17,7
1270 andc 30,18,7
1271 andc 31,19,7
1272 sub 20,20,24
1273 sub 21,21,25
1274 sub 22,22,26
1275 sub 23,23,27
1276 add 28,28,28
1277 add 29,29,29
1278 add 30,30,30
1279 add 31,31,31
1280 and 20,20,12
1281 and 21,21,12
1282 and 22,22,12
1283 and 23,23,12
1284 xor 20,20,28
1285 xor 21,21,29
1286 xor 22,22,30
1287 xor 23,23,31
1288
1289 and 24,20,7
1290 and 25,21,7
1291 and 26,22,7
1292 and 27,23,7
1293 srwi 28,24,7
1294 srwi 29,25,7
1295 srwi 30,26,7
1296 srwi 31,27,7
1297 sub 24,24,28
1298 sub 25,25,29
1299 sub 26,26,30
1300 sub 27,27,31
1301 andc 28,20,7
1302 andc 29,21,7
1303 andc 30,22,7
1304 andc 31,23,7
1305 add 28,28,28
1306 add 29,29,29
1307 add 30,30,30
1308 add 31,31,31
1309 and 24,24,12
1310 and 25,25,12
1311 and 26,26,12
1312 and 27,27,12
1313 xor 24,24,28
1314 xor 25,25,29
1315 xor 26,26,30
1316 xor 27,27,31
1317
1318 xor 16,16,8
1319 xor 17,17,9
1320 xor 18,18,10
1321 xor 19,19,11
1322 xor 20,20,8
1323 xor 21,21,9
1324 xor 22,22,10
1325 xor 23,23,11
1326 rotrwi 8,8,8
1327 rotrwi 9,9,8
1328 rotrwi 10,10,8
1329 rotrwi 11,11,8
1330 xor 8,8,16
1331 xor 9,9,17
1332 xor 10,10,18
1333 xor 11,11,19
1334 xor 16,16,24
1335 xor 17,17,25
1336 xor 18,18,26
1337 xor 19,19,27
1338 xor 8,8,20
1339 xor 9,9,21
1340 xor 10,10,22
1341 xor 11,11,23
1342 rotrwi 16,16,24
1343 rotrwi 17,17,24
1344 rotrwi 18,18,24
1345 rotrwi 19,19,24
1346 xor 20,20,24
1347 xor 21,21,25
1348 xor 22,22,26
1349 xor 23,23,27
1350 xor 8,8,24
1351 xor 9,9,25
1352 xor 10,10,26
1353 xor 11,11,27
1354 rotrwi 20,20,16
1355 rotrwi 21,21,16
1356 rotrwi 22,22,16
1357 rotrwi 23,23,16
1358 xor 8,8,16
1359 xor 9,9,17
1360 xor 10,10,18
1361 xor 11,11,19
1362 rotrwi 24,24,8
1363 rotrwi 25,25,8
1364 rotrwi 26,26,8
1365 rotrwi 27,27,8
1366 xor 8,8,20
1367 xor 9,9,21
1368 xor 10,10,22
1369 xor 11,11,23
1370 xor 8,8,24
1371 xor 9,9,25
1372 xor 10,10,26
1373 xor 11,11,27
1374
1375 b .Ldec_compact_loop
1376 .align 4
1377 .Ldec_compact_done:
1378 xor 8,8,0
1379 xor 9,9,13
1380 xor 10,10,14
1381 xor 11,11,15
1382 blr
1383 .long 0
1384 .byte 65,69,83,32,102,111,114,32,80,80,67,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
1385 .align 2
1386 .align 7
1387