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