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