]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - secure/lib/libcrypto/i386/wp-mmx.S
Merge compiler-rt trunk r351319, and resolve conflicts.
[FreeBSD/FreeBSD.git] / secure / lib / libcrypto / i386 / wp-mmx.S
1 /* $FreeBSD$ */
2 /* Do not modify. This file is auto-generated from wp-mmx.pl. */
3 #ifdef PIC
4 .text
5 .globl  whirlpool_block_mmx
6 .type   whirlpool_block_mmx,@function
7 .align  16
8 whirlpool_block_mmx:
9 .L_whirlpool_block_mmx_begin:
10         pushl   %ebp
11         pushl   %ebx
12         pushl   %esi
13         pushl   %edi
14         movl    20(%esp),%esi
15         movl    24(%esp),%edi
16         movl    28(%esp),%ebp
17         movl    %esp,%eax
18         subl    $148,%esp
19         andl    $-64,%esp
20         leal    128(%esp),%ebx
21         movl    %esi,(%ebx)
22         movl    %edi,4(%ebx)
23         movl    %ebp,8(%ebx)
24         movl    %eax,16(%ebx)
25         call    .L000pic_point
26 .L000pic_point:
27         popl    %ebp
28         leal    .L001table-.L000pic_point(%ebp),%ebp
29         xorl    %ecx,%ecx
30         xorl    %edx,%edx
31         movq    (%esi),%mm0
32         movq    8(%esi),%mm1
33         movq    16(%esi),%mm2
34         movq    24(%esi),%mm3
35         movq    32(%esi),%mm4
36         movq    40(%esi),%mm5
37         movq    48(%esi),%mm6
38         movq    56(%esi),%mm7
39 .L002outerloop:
40         movq    %mm0,(%esp)
41         movq    %mm1,8(%esp)
42         movq    %mm2,16(%esp)
43         movq    %mm3,24(%esp)
44         movq    %mm4,32(%esp)
45         movq    %mm5,40(%esp)
46         movq    %mm6,48(%esp)
47         movq    %mm7,56(%esp)
48         pxor    (%edi),%mm0
49         pxor    8(%edi),%mm1
50         pxor    16(%edi),%mm2
51         pxor    24(%edi),%mm3
52         pxor    32(%edi),%mm4
53         pxor    40(%edi),%mm5
54         pxor    48(%edi),%mm6
55         pxor    56(%edi),%mm7
56         movq    %mm0,64(%esp)
57         movq    %mm1,72(%esp)
58         movq    %mm2,80(%esp)
59         movq    %mm3,88(%esp)
60         movq    %mm4,96(%esp)
61         movq    %mm5,104(%esp)
62         movq    %mm6,112(%esp)
63         movq    %mm7,120(%esp)
64         xorl    %esi,%esi
65         movl    %esi,12(%ebx)
66 .align  16
67 .L003round:
68         movq    4096(%ebp,%esi,8),%mm0
69         movl    (%esp),%eax
70         movl    4(%esp),%ebx
71         movzbl  %al,%ecx
72         movzbl  %ah,%edx
73         shrl    $16,%eax
74         leal    (%ecx,%ecx,1),%esi
75         movzbl  %al,%ecx
76         leal    (%edx,%edx,1),%edi
77         movzbl  %ah,%edx
78         pxor    (%ebp,%esi,8),%mm0
79         movq    7(%ebp,%edi,8),%mm1
80         movl    8(%esp),%eax
81         leal    (%ecx,%ecx,1),%esi
82         movzbl  %bl,%ecx
83         leal    (%edx,%edx,1),%edi
84         movzbl  %bh,%edx
85         movq    6(%ebp,%esi,8),%mm2
86         movq    5(%ebp,%edi,8),%mm3
87         shrl    $16,%ebx
88         leal    (%ecx,%ecx,1),%esi
89         movzbl  %bl,%ecx
90         leal    (%edx,%edx,1),%edi
91         movzbl  %bh,%edx
92         movq    4(%ebp,%esi,8),%mm4
93         movq    3(%ebp,%edi,8),%mm5
94         movl    12(%esp),%ebx
95         leal    (%ecx,%ecx,1),%esi
96         movzbl  %al,%ecx
97         leal    (%edx,%edx,1),%edi
98         movzbl  %ah,%edx
99         movq    2(%ebp,%esi,8),%mm6
100         movq    1(%ebp,%edi,8),%mm7
101         shrl    $16,%eax
102         leal    (%ecx,%ecx,1),%esi
103         movzbl  %al,%ecx
104         leal    (%edx,%edx,1),%edi
105         movzbl  %ah,%edx
106         pxor    (%ebp,%esi,8),%mm1
107         pxor    7(%ebp,%edi,8),%mm2
108         movl    16(%esp),%eax
109         leal    (%ecx,%ecx,1),%esi
110         movzbl  %bl,%ecx
111         leal    (%edx,%edx,1),%edi
112         movzbl  %bh,%edx
113         pxor    6(%ebp,%esi,8),%mm3
114         pxor    5(%ebp,%edi,8),%mm4
115         shrl    $16,%ebx
116         leal    (%ecx,%ecx,1),%esi
117         movzbl  %bl,%ecx
118         leal    (%edx,%edx,1),%edi
119         movzbl  %bh,%edx
120         pxor    4(%ebp,%esi,8),%mm5
121         pxor    3(%ebp,%edi,8),%mm6
122         movl    20(%esp),%ebx
123         leal    (%ecx,%ecx,1),%esi
124         movzbl  %al,%ecx
125         leal    (%edx,%edx,1),%edi
126         movzbl  %ah,%edx
127         pxor    2(%ebp,%esi,8),%mm7
128         pxor    1(%ebp,%edi,8),%mm0
129         shrl    $16,%eax
130         leal    (%ecx,%ecx,1),%esi
131         movzbl  %al,%ecx
132         leal    (%edx,%edx,1),%edi
133         movzbl  %ah,%edx
134         pxor    (%ebp,%esi,8),%mm2
135         pxor    7(%ebp,%edi,8),%mm3
136         movl    24(%esp),%eax
137         leal    (%ecx,%ecx,1),%esi
138         movzbl  %bl,%ecx
139         leal    (%edx,%edx,1),%edi
140         movzbl  %bh,%edx
141         pxor    6(%ebp,%esi,8),%mm4
142         pxor    5(%ebp,%edi,8),%mm5
143         shrl    $16,%ebx
144         leal    (%ecx,%ecx,1),%esi
145         movzbl  %bl,%ecx
146         leal    (%edx,%edx,1),%edi
147         movzbl  %bh,%edx
148         pxor    4(%ebp,%esi,8),%mm6
149         pxor    3(%ebp,%edi,8),%mm7
150         movl    28(%esp),%ebx
151         leal    (%ecx,%ecx,1),%esi
152         movzbl  %al,%ecx
153         leal    (%edx,%edx,1),%edi
154         movzbl  %ah,%edx
155         pxor    2(%ebp,%esi,8),%mm0
156         pxor    1(%ebp,%edi,8),%mm1
157         shrl    $16,%eax
158         leal    (%ecx,%ecx,1),%esi
159         movzbl  %al,%ecx
160         leal    (%edx,%edx,1),%edi
161         movzbl  %ah,%edx
162         pxor    (%ebp,%esi,8),%mm3
163         pxor    7(%ebp,%edi,8),%mm4
164         movl    32(%esp),%eax
165         leal    (%ecx,%ecx,1),%esi
166         movzbl  %bl,%ecx
167         leal    (%edx,%edx,1),%edi
168         movzbl  %bh,%edx
169         pxor    6(%ebp,%esi,8),%mm5
170         pxor    5(%ebp,%edi,8),%mm6
171         shrl    $16,%ebx
172         leal    (%ecx,%ecx,1),%esi
173         movzbl  %bl,%ecx
174         leal    (%edx,%edx,1),%edi
175         movzbl  %bh,%edx
176         pxor    4(%ebp,%esi,8),%mm7
177         pxor    3(%ebp,%edi,8),%mm0
178         movl    36(%esp),%ebx
179         leal    (%ecx,%ecx,1),%esi
180         movzbl  %al,%ecx
181         leal    (%edx,%edx,1),%edi
182         movzbl  %ah,%edx
183         pxor    2(%ebp,%esi,8),%mm1
184         pxor    1(%ebp,%edi,8),%mm2
185         shrl    $16,%eax
186         leal    (%ecx,%ecx,1),%esi
187         movzbl  %al,%ecx
188         leal    (%edx,%edx,1),%edi
189         movzbl  %ah,%edx
190         pxor    (%ebp,%esi,8),%mm4
191         pxor    7(%ebp,%edi,8),%mm5
192         movl    40(%esp),%eax
193         leal    (%ecx,%ecx,1),%esi
194         movzbl  %bl,%ecx
195         leal    (%edx,%edx,1),%edi
196         movzbl  %bh,%edx
197         pxor    6(%ebp,%esi,8),%mm6
198         pxor    5(%ebp,%edi,8),%mm7
199         shrl    $16,%ebx
200         leal    (%ecx,%ecx,1),%esi
201         movzbl  %bl,%ecx
202         leal    (%edx,%edx,1),%edi
203         movzbl  %bh,%edx
204         pxor    4(%ebp,%esi,8),%mm0
205         pxor    3(%ebp,%edi,8),%mm1
206         movl    44(%esp),%ebx
207         leal    (%ecx,%ecx,1),%esi
208         movzbl  %al,%ecx
209         leal    (%edx,%edx,1),%edi
210         movzbl  %ah,%edx
211         pxor    2(%ebp,%esi,8),%mm2
212         pxor    1(%ebp,%edi,8),%mm3
213         shrl    $16,%eax
214         leal    (%ecx,%ecx,1),%esi
215         movzbl  %al,%ecx
216         leal    (%edx,%edx,1),%edi
217         movzbl  %ah,%edx
218         pxor    (%ebp,%esi,8),%mm5
219         pxor    7(%ebp,%edi,8),%mm6
220         movl    48(%esp),%eax
221         leal    (%ecx,%ecx,1),%esi
222         movzbl  %bl,%ecx
223         leal    (%edx,%edx,1),%edi
224         movzbl  %bh,%edx
225         pxor    6(%ebp,%esi,8),%mm7
226         pxor    5(%ebp,%edi,8),%mm0
227         shrl    $16,%ebx
228         leal    (%ecx,%ecx,1),%esi
229         movzbl  %bl,%ecx
230         leal    (%edx,%edx,1),%edi
231         movzbl  %bh,%edx
232         pxor    4(%ebp,%esi,8),%mm1
233         pxor    3(%ebp,%edi,8),%mm2
234         movl    52(%esp),%ebx
235         leal    (%ecx,%ecx,1),%esi
236         movzbl  %al,%ecx
237         leal    (%edx,%edx,1),%edi
238         movzbl  %ah,%edx
239         pxor    2(%ebp,%esi,8),%mm3
240         pxor    1(%ebp,%edi,8),%mm4
241         shrl    $16,%eax
242         leal    (%ecx,%ecx,1),%esi
243         movzbl  %al,%ecx
244         leal    (%edx,%edx,1),%edi
245         movzbl  %ah,%edx
246         pxor    (%ebp,%esi,8),%mm6
247         pxor    7(%ebp,%edi,8),%mm7
248         movl    56(%esp),%eax
249         leal    (%ecx,%ecx,1),%esi
250         movzbl  %bl,%ecx
251         leal    (%edx,%edx,1),%edi
252         movzbl  %bh,%edx
253         pxor    6(%ebp,%esi,8),%mm0
254         pxor    5(%ebp,%edi,8),%mm1
255         shrl    $16,%ebx
256         leal    (%ecx,%ecx,1),%esi
257         movzbl  %bl,%ecx
258         leal    (%edx,%edx,1),%edi
259         movzbl  %bh,%edx
260         pxor    4(%ebp,%esi,8),%mm2
261         pxor    3(%ebp,%edi,8),%mm3
262         movl    60(%esp),%ebx
263         leal    (%ecx,%ecx,1),%esi
264         movzbl  %al,%ecx
265         leal    (%edx,%edx,1),%edi
266         movzbl  %ah,%edx
267         pxor    2(%ebp,%esi,8),%mm4
268         pxor    1(%ebp,%edi,8),%mm5
269         shrl    $16,%eax
270         leal    (%ecx,%ecx,1),%esi
271         movzbl  %al,%ecx
272         leal    (%edx,%edx,1),%edi
273         movzbl  %ah,%edx
274         pxor    (%ebp,%esi,8),%mm7
275         pxor    7(%ebp,%edi,8),%mm0
276         movl    64(%esp),%eax
277         leal    (%ecx,%ecx,1),%esi
278         movzbl  %bl,%ecx
279         leal    (%edx,%edx,1),%edi
280         movzbl  %bh,%edx
281         pxor    6(%ebp,%esi,8),%mm1
282         pxor    5(%ebp,%edi,8),%mm2
283         shrl    $16,%ebx
284         leal    (%ecx,%ecx,1),%esi
285         movzbl  %bl,%ecx
286         leal    (%edx,%edx,1),%edi
287         movzbl  %bh,%edx
288         pxor    4(%ebp,%esi,8),%mm3
289         pxor    3(%ebp,%edi,8),%mm4
290         movl    68(%esp),%ebx
291         leal    (%ecx,%ecx,1),%esi
292         movzbl  %al,%ecx
293         leal    (%edx,%edx,1),%edi
294         movzbl  %ah,%edx
295         pxor    2(%ebp,%esi,8),%mm5
296         pxor    1(%ebp,%edi,8),%mm6
297         movq    %mm0,(%esp)
298         movq    %mm1,8(%esp)
299         movq    %mm2,16(%esp)
300         movq    %mm3,24(%esp)
301         movq    %mm4,32(%esp)
302         movq    %mm5,40(%esp)
303         movq    %mm6,48(%esp)
304         movq    %mm7,56(%esp)
305         shrl    $16,%eax
306         leal    (%ecx,%ecx,1),%esi
307         movzbl  %al,%ecx
308         leal    (%edx,%edx,1),%edi
309         movzbl  %ah,%edx
310         pxor    (%ebp,%esi,8),%mm0
311         pxor    7(%ebp,%edi,8),%mm1
312         movl    72(%esp),%eax
313         leal    (%ecx,%ecx,1),%esi
314         movzbl  %bl,%ecx
315         leal    (%edx,%edx,1),%edi
316         movzbl  %bh,%edx
317         pxor    6(%ebp,%esi,8),%mm2
318         pxor    5(%ebp,%edi,8),%mm3
319         shrl    $16,%ebx
320         leal    (%ecx,%ecx,1),%esi
321         movzbl  %bl,%ecx
322         leal    (%edx,%edx,1),%edi
323         movzbl  %bh,%edx
324         pxor    4(%ebp,%esi,8),%mm4
325         pxor    3(%ebp,%edi,8),%mm5
326         movl    76(%esp),%ebx
327         leal    (%ecx,%ecx,1),%esi
328         movzbl  %al,%ecx
329         leal    (%edx,%edx,1),%edi
330         movzbl  %ah,%edx
331         pxor    2(%ebp,%esi,8),%mm6
332         pxor    1(%ebp,%edi,8),%mm7
333         shrl    $16,%eax
334         leal    (%ecx,%ecx,1),%esi
335         movzbl  %al,%ecx
336         leal    (%edx,%edx,1),%edi
337         movzbl  %ah,%edx
338         pxor    (%ebp,%esi,8),%mm1
339         pxor    7(%ebp,%edi,8),%mm2
340         movl    80(%esp),%eax
341         leal    (%ecx,%ecx,1),%esi
342         movzbl  %bl,%ecx
343         leal    (%edx,%edx,1),%edi
344         movzbl  %bh,%edx
345         pxor    6(%ebp,%esi,8),%mm3
346         pxor    5(%ebp,%edi,8),%mm4
347         shrl    $16,%ebx
348         leal    (%ecx,%ecx,1),%esi
349         movzbl  %bl,%ecx
350         leal    (%edx,%edx,1),%edi
351         movzbl  %bh,%edx
352         pxor    4(%ebp,%esi,8),%mm5
353         pxor    3(%ebp,%edi,8),%mm6
354         movl    84(%esp),%ebx
355         leal    (%ecx,%ecx,1),%esi
356         movzbl  %al,%ecx
357         leal    (%edx,%edx,1),%edi
358         movzbl  %ah,%edx
359         pxor    2(%ebp,%esi,8),%mm7
360         pxor    1(%ebp,%edi,8),%mm0
361         shrl    $16,%eax
362         leal    (%ecx,%ecx,1),%esi
363         movzbl  %al,%ecx
364         leal    (%edx,%edx,1),%edi
365         movzbl  %ah,%edx
366         pxor    (%ebp,%esi,8),%mm2
367         pxor    7(%ebp,%edi,8),%mm3
368         movl    88(%esp),%eax
369         leal    (%ecx,%ecx,1),%esi
370         movzbl  %bl,%ecx
371         leal    (%edx,%edx,1),%edi
372         movzbl  %bh,%edx
373         pxor    6(%ebp,%esi,8),%mm4
374         pxor    5(%ebp,%edi,8),%mm5
375         shrl    $16,%ebx
376         leal    (%ecx,%ecx,1),%esi
377         movzbl  %bl,%ecx
378         leal    (%edx,%edx,1),%edi
379         movzbl  %bh,%edx
380         pxor    4(%ebp,%esi,8),%mm6
381         pxor    3(%ebp,%edi,8),%mm7
382         movl    92(%esp),%ebx
383         leal    (%ecx,%ecx,1),%esi
384         movzbl  %al,%ecx
385         leal    (%edx,%edx,1),%edi
386         movzbl  %ah,%edx
387         pxor    2(%ebp,%esi,8),%mm0
388         pxor    1(%ebp,%edi,8),%mm1
389         shrl    $16,%eax
390         leal    (%ecx,%ecx,1),%esi
391         movzbl  %al,%ecx
392         leal    (%edx,%edx,1),%edi
393         movzbl  %ah,%edx
394         pxor    (%ebp,%esi,8),%mm3
395         pxor    7(%ebp,%edi,8),%mm4
396         movl    96(%esp),%eax
397         leal    (%ecx,%ecx,1),%esi
398         movzbl  %bl,%ecx
399         leal    (%edx,%edx,1),%edi
400         movzbl  %bh,%edx
401         pxor    6(%ebp,%esi,8),%mm5
402         pxor    5(%ebp,%edi,8),%mm6
403         shrl    $16,%ebx
404         leal    (%ecx,%ecx,1),%esi
405         movzbl  %bl,%ecx
406         leal    (%edx,%edx,1),%edi
407         movzbl  %bh,%edx
408         pxor    4(%ebp,%esi,8),%mm7
409         pxor    3(%ebp,%edi,8),%mm0
410         movl    100(%esp),%ebx
411         leal    (%ecx,%ecx,1),%esi
412         movzbl  %al,%ecx
413         leal    (%edx,%edx,1),%edi
414         movzbl  %ah,%edx
415         pxor    2(%ebp,%esi,8),%mm1
416         pxor    1(%ebp,%edi,8),%mm2
417         shrl    $16,%eax
418         leal    (%ecx,%ecx,1),%esi
419         movzbl  %al,%ecx
420         leal    (%edx,%edx,1),%edi
421         movzbl  %ah,%edx
422         pxor    (%ebp,%esi,8),%mm4
423         pxor    7(%ebp,%edi,8),%mm5
424         movl    104(%esp),%eax
425         leal    (%ecx,%ecx,1),%esi
426         movzbl  %bl,%ecx
427         leal    (%edx,%edx,1),%edi
428         movzbl  %bh,%edx
429         pxor    6(%ebp,%esi,8),%mm6
430         pxor    5(%ebp,%edi,8),%mm7
431         shrl    $16,%ebx
432         leal    (%ecx,%ecx,1),%esi
433         movzbl  %bl,%ecx
434         leal    (%edx,%edx,1),%edi
435         movzbl  %bh,%edx
436         pxor    4(%ebp,%esi,8),%mm0
437         pxor    3(%ebp,%edi,8),%mm1
438         movl    108(%esp),%ebx
439         leal    (%ecx,%ecx,1),%esi
440         movzbl  %al,%ecx
441         leal    (%edx,%edx,1),%edi
442         movzbl  %ah,%edx
443         pxor    2(%ebp,%esi,8),%mm2
444         pxor    1(%ebp,%edi,8),%mm3
445         shrl    $16,%eax
446         leal    (%ecx,%ecx,1),%esi
447         movzbl  %al,%ecx
448         leal    (%edx,%edx,1),%edi
449         movzbl  %ah,%edx
450         pxor    (%ebp,%esi,8),%mm5
451         pxor    7(%ebp,%edi,8),%mm6
452         movl    112(%esp),%eax
453         leal    (%ecx,%ecx,1),%esi
454         movzbl  %bl,%ecx
455         leal    (%edx,%edx,1),%edi
456         movzbl  %bh,%edx
457         pxor    6(%ebp,%esi,8),%mm7
458         pxor    5(%ebp,%edi,8),%mm0
459         shrl    $16,%ebx
460         leal    (%ecx,%ecx,1),%esi
461         movzbl  %bl,%ecx
462         leal    (%edx,%edx,1),%edi
463         movzbl  %bh,%edx
464         pxor    4(%ebp,%esi,8),%mm1
465         pxor    3(%ebp,%edi,8),%mm2
466         movl    116(%esp),%ebx
467         leal    (%ecx,%ecx,1),%esi
468         movzbl  %al,%ecx
469         leal    (%edx,%edx,1),%edi
470         movzbl  %ah,%edx
471         pxor    2(%ebp,%esi,8),%mm3
472         pxor    1(%ebp,%edi,8),%mm4
473         shrl    $16,%eax
474         leal    (%ecx,%ecx,1),%esi
475         movzbl  %al,%ecx
476         leal    (%edx,%edx,1),%edi
477         movzbl  %ah,%edx
478         pxor    (%ebp,%esi,8),%mm6
479         pxor    7(%ebp,%edi,8),%mm7
480         movl    120(%esp),%eax
481         leal    (%ecx,%ecx,1),%esi
482         movzbl  %bl,%ecx
483         leal    (%edx,%edx,1),%edi
484         movzbl  %bh,%edx
485         pxor    6(%ebp,%esi,8),%mm0
486         pxor    5(%ebp,%edi,8),%mm1
487         shrl    $16,%ebx
488         leal    (%ecx,%ecx,1),%esi
489         movzbl  %bl,%ecx
490         leal    (%edx,%edx,1),%edi
491         movzbl  %bh,%edx
492         pxor    4(%ebp,%esi,8),%mm2
493         pxor    3(%ebp,%edi,8),%mm3
494         movl    124(%esp),%ebx
495         leal    (%ecx,%ecx,1),%esi
496         movzbl  %al,%ecx
497         leal    (%edx,%edx,1),%edi
498         movzbl  %ah,%edx
499         pxor    2(%ebp,%esi,8),%mm4
500         pxor    1(%ebp,%edi,8),%mm5
501         shrl    $16,%eax
502         leal    (%ecx,%ecx,1),%esi
503         movzbl  %al,%ecx
504         leal    (%edx,%edx,1),%edi
505         movzbl  %ah,%edx
506         pxor    (%ebp,%esi,8),%mm7
507         pxor    7(%ebp,%edi,8),%mm0
508         leal    (%ecx,%ecx,1),%esi
509         movzbl  %bl,%ecx
510         leal    (%edx,%edx,1),%edi
511         movzbl  %bh,%edx
512         pxor    6(%ebp,%esi,8),%mm1
513         pxor    5(%ebp,%edi,8),%mm2
514         shrl    $16,%ebx
515         leal    (%ecx,%ecx,1),%esi
516         movzbl  %bl,%ecx
517         leal    (%edx,%edx,1),%edi
518         movzbl  %bh,%edx
519         pxor    4(%ebp,%esi,8),%mm3
520         pxor    3(%ebp,%edi,8),%mm4
521         leal    (%ecx,%ecx,1),%esi
522         movzbl  %al,%ecx
523         leal    (%edx,%edx,1),%edi
524         movzbl  %ah,%edx
525         pxor    2(%ebp,%esi,8),%mm5
526         pxor    1(%ebp,%edi,8),%mm6
527         leal    128(%esp),%ebx
528         movl    12(%ebx),%esi
529         addl    $1,%esi
530         cmpl    $10,%esi
531         je      .L004roundsdone
532         movl    %esi,12(%ebx)
533         movq    %mm0,64(%esp)
534         movq    %mm1,72(%esp)
535         movq    %mm2,80(%esp)
536         movq    %mm3,88(%esp)
537         movq    %mm4,96(%esp)
538         movq    %mm5,104(%esp)
539         movq    %mm6,112(%esp)
540         movq    %mm7,120(%esp)
541         jmp     .L003round
542 .align  16
543 .L004roundsdone:
544         movl    (%ebx),%esi
545         movl    4(%ebx),%edi
546         movl    8(%ebx),%eax
547         pxor    (%edi),%mm0
548         pxor    8(%edi),%mm1
549         pxor    16(%edi),%mm2
550         pxor    24(%edi),%mm3
551         pxor    32(%edi),%mm4
552         pxor    40(%edi),%mm5
553         pxor    48(%edi),%mm6
554         pxor    56(%edi),%mm7
555         pxor    (%esi),%mm0
556         pxor    8(%esi),%mm1
557         pxor    16(%esi),%mm2
558         pxor    24(%esi),%mm3
559         pxor    32(%esi),%mm4
560         pxor    40(%esi),%mm5
561         pxor    48(%esi),%mm6
562         pxor    56(%esi),%mm7
563         movq    %mm0,(%esi)
564         movq    %mm1,8(%esi)
565         movq    %mm2,16(%esi)
566         movq    %mm3,24(%esi)
567         movq    %mm4,32(%esi)
568         movq    %mm5,40(%esi)
569         movq    %mm6,48(%esi)
570         movq    %mm7,56(%esi)
571         leal    64(%edi),%edi
572         subl    $1,%eax
573         jz      .L005alldone
574         movl    %edi,4(%ebx)
575         movl    %eax,8(%ebx)
576         jmp     .L002outerloop
577 .L005alldone:
578         emms
579         movl    16(%ebx),%esp
580         popl    %edi
581         popl    %esi
582         popl    %ebx
583         popl    %ebp
584         ret
585 .align  64
586 .L001table:
587 .byte   24,24,96,24,192,120,48,216
588 .byte   24,24,96,24,192,120,48,216
589 .byte   35,35,140,35,5,175,70,38
590 .byte   35,35,140,35,5,175,70,38
591 .byte   198,198,63,198,126,249,145,184
592 .byte   198,198,63,198,126,249,145,184
593 .byte   232,232,135,232,19,111,205,251
594 .byte   232,232,135,232,19,111,205,251
595 .byte   135,135,38,135,76,161,19,203
596 .byte   135,135,38,135,76,161,19,203
597 .byte   184,184,218,184,169,98,109,17
598 .byte   184,184,218,184,169,98,109,17
599 .byte   1,1,4,1,8,5,2,9
600 .byte   1,1,4,1,8,5,2,9
601 .byte   79,79,33,79,66,110,158,13
602 .byte   79,79,33,79,66,110,158,13
603 .byte   54,54,216,54,173,238,108,155
604 .byte   54,54,216,54,173,238,108,155
605 .byte   166,166,162,166,89,4,81,255
606 .byte   166,166,162,166,89,4,81,255
607 .byte   210,210,111,210,222,189,185,12
608 .byte   210,210,111,210,222,189,185,12
609 .byte   245,245,243,245,251,6,247,14
610 .byte   245,245,243,245,251,6,247,14
611 .byte   121,121,249,121,239,128,242,150
612 .byte   121,121,249,121,239,128,242,150
613 .byte   111,111,161,111,95,206,222,48
614 .byte   111,111,161,111,95,206,222,48
615 .byte   145,145,126,145,252,239,63,109
616 .byte   145,145,126,145,252,239,63,109
617 .byte   82,82,85,82,170,7,164,248
618 .byte   82,82,85,82,170,7,164,248
619 .byte   96,96,157,96,39,253,192,71
620 .byte   96,96,157,96,39,253,192,71
621 .byte   188,188,202,188,137,118,101,53
622 .byte   188,188,202,188,137,118,101,53
623 .byte   155,155,86,155,172,205,43,55
624 .byte   155,155,86,155,172,205,43,55
625 .byte   142,142,2,142,4,140,1,138
626 .byte   142,142,2,142,4,140,1,138
627 .byte   163,163,182,163,113,21,91,210
628 .byte   163,163,182,163,113,21,91,210
629 .byte   12,12,48,12,96,60,24,108
630 .byte   12,12,48,12,96,60,24,108
631 .byte   123,123,241,123,255,138,246,132
632 .byte   123,123,241,123,255,138,246,132
633 .byte   53,53,212,53,181,225,106,128
634 .byte   53,53,212,53,181,225,106,128
635 .byte   29,29,116,29,232,105,58,245
636 .byte   29,29,116,29,232,105,58,245
637 .byte   224,224,167,224,83,71,221,179
638 .byte   224,224,167,224,83,71,221,179
639 .byte   215,215,123,215,246,172,179,33
640 .byte   215,215,123,215,246,172,179,33
641 .byte   194,194,47,194,94,237,153,156
642 .byte   194,194,47,194,94,237,153,156
643 .byte   46,46,184,46,109,150,92,67
644 .byte   46,46,184,46,109,150,92,67
645 .byte   75,75,49,75,98,122,150,41
646 .byte   75,75,49,75,98,122,150,41
647 .byte   254,254,223,254,163,33,225,93
648 .byte   254,254,223,254,163,33,225,93
649 .byte   87,87,65,87,130,22,174,213
650 .byte   87,87,65,87,130,22,174,213
651 .byte   21,21,84,21,168,65,42,189
652 .byte   21,21,84,21,168,65,42,189
653 .byte   119,119,193,119,159,182,238,232
654 .byte   119,119,193,119,159,182,238,232
655 .byte   55,55,220,55,165,235,110,146
656 .byte   55,55,220,55,165,235,110,146
657 .byte   229,229,179,229,123,86,215,158
658 .byte   229,229,179,229,123,86,215,158
659 .byte   159,159,70,159,140,217,35,19
660 .byte   159,159,70,159,140,217,35,19
661 .byte   240,240,231,240,211,23,253,35
662 .byte   240,240,231,240,211,23,253,35
663 .byte   74,74,53,74,106,127,148,32
664 .byte   74,74,53,74,106,127,148,32
665 .byte   218,218,79,218,158,149,169,68
666 .byte   218,218,79,218,158,149,169,68
667 .byte   88,88,125,88,250,37,176,162
668 .byte   88,88,125,88,250,37,176,162
669 .byte   201,201,3,201,6,202,143,207
670 .byte   201,201,3,201,6,202,143,207
671 .byte   41,41,164,41,85,141,82,124
672 .byte   41,41,164,41,85,141,82,124
673 .byte   10,10,40,10,80,34,20,90
674 .byte   10,10,40,10,80,34,20,90
675 .byte   177,177,254,177,225,79,127,80
676 .byte   177,177,254,177,225,79,127,80
677 .byte   160,160,186,160,105,26,93,201
678 .byte   160,160,186,160,105,26,93,201
679 .byte   107,107,177,107,127,218,214,20
680 .byte   107,107,177,107,127,218,214,20
681 .byte   133,133,46,133,92,171,23,217
682 .byte   133,133,46,133,92,171,23,217
683 .byte   189,189,206,189,129,115,103,60
684 .byte   189,189,206,189,129,115,103,60
685 .byte   93,93,105,93,210,52,186,143
686 .byte   93,93,105,93,210,52,186,143
687 .byte   16,16,64,16,128,80,32,144
688 .byte   16,16,64,16,128,80,32,144
689 .byte   244,244,247,244,243,3,245,7
690 .byte   244,244,247,244,243,3,245,7
691 .byte   203,203,11,203,22,192,139,221
692 .byte   203,203,11,203,22,192,139,221
693 .byte   62,62,248,62,237,198,124,211
694 .byte   62,62,248,62,237,198,124,211
695 .byte   5,5,20,5,40,17,10,45
696 .byte   5,5,20,5,40,17,10,45
697 .byte   103,103,129,103,31,230,206,120
698 .byte   103,103,129,103,31,230,206,120
699 .byte   228,228,183,228,115,83,213,151
700 .byte   228,228,183,228,115,83,213,151
701 .byte   39,39,156,39,37,187,78,2
702 .byte   39,39,156,39,37,187,78,2
703 .byte   65,65,25,65,50,88,130,115
704 .byte   65,65,25,65,50,88,130,115
705 .byte   139,139,22,139,44,157,11,167
706 .byte   139,139,22,139,44,157,11,167
707 .byte   167,167,166,167,81,1,83,246
708 .byte   167,167,166,167,81,1,83,246
709 .byte   125,125,233,125,207,148,250,178
710 .byte   125,125,233,125,207,148,250,178
711 .byte   149,149,110,149,220,251,55,73
712 .byte   149,149,110,149,220,251,55,73
713 .byte   216,216,71,216,142,159,173,86
714 .byte   216,216,71,216,142,159,173,86
715 .byte   251,251,203,251,139,48,235,112
716 .byte   251,251,203,251,139,48,235,112
717 .byte   238,238,159,238,35,113,193,205
718 .byte   238,238,159,238,35,113,193,205
719 .byte   124,124,237,124,199,145,248,187
720 .byte   124,124,237,124,199,145,248,187
721 .byte   102,102,133,102,23,227,204,113
722 .byte   102,102,133,102,23,227,204,113
723 .byte   221,221,83,221,166,142,167,123
724 .byte   221,221,83,221,166,142,167,123
725 .byte   23,23,92,23,184,75,46,175
726 .byte   23,23,92,23,184,75,46,175
727 .byte   71,71,1,71,2,70,142,69
728 .byte   71,71,1,71,2,70,142,69
729 .byte   158,158,66,158,132,220,33,26
730 .byte   158,158,66,158,132,220,33,26
731 .byte   202,202,15,202,30,197,137,212
732 .byte   202,202,15,202,30,197,137,212
733 .byte   45,45,180,45,117,153,90,88
734 .byte   45,45,180,45,117,153,90,88
735 .byte   191,191,198,191,145,121,99,46
736 .byte   191,191,198,191,145,121,99,46
737 .byte   7,7,28,7,56,27,14,63
738 .byte   7,7,28,7,56,27,14,63
739 .byte   173,173,142,173,1,35,71,172
740 .byte   173,173,142,173,1,35,71,172
741 .byte   90,90,117,90,234,47,180,176
742 .byte   90,90,117,90,234,47,180,176
743 .byte   131,131,54,131,108,181,27,239
744 .byte   131,131,54,131,108,181,27,239
745 .byte   51,51,204,51,133,255,102,182
746 .byte   51,51,204,51,133,255,102,182
747 .byte   99,99,145,99,63,242,198,92
748 .byte   99,99,145,99,63,242,198,92
749 .byte   2,2,8,2,16,10,4,18
750 .byte   2,2,8,2,16,10,4,18
751 .byte   170,170,146,170,57,56,73,147
752 .byte   170,170,146,170,57,56,73,147
753 .byte   113,113,217,113,175,168,226,222
754 .byte   113,113,217,113,175,168,226,222
755 .byte   200,200,7,200,14,207,141,198
756 .byte   200,200,7,200,14,207,141,198
757 .byte   25,25,100,25,200,125,50,209
758 .byte   25,25,100,25,200,125,50,209
759 .byte   73,73,57,73,114,112,146,59
760 .byte   73,73,57,73,114,112,146,59
761 .byte   217,217,67,217,134,154,175,95
762 .byte   217,217,67,217,134,154,175,95
763 .byte   242,242,239,242,195,29,249,49
764 .byte   242,242,239,242,195,29,249,49
765 .byte   227,227,171,227,75,72,219,168
766 .byte   227,227,171,227,75,72,219,168
767 .byte   91,91,113,91,226,42,182,185
768 .byte   91,91,113,91,226,42,182,185
769 .byte   136,136,26,136,52,146,13,188
770 .byte   136,136,26,136,52,146,13,188
771 .byte   154,154,82,154,164,200,41,62
772 .byte   154,154,82,154,164,200,41,62
773 .byte   38,38,152,38,45,190,76,11
774 .byte   38,38,152,38,45,190,76,11
775 .byte   50,50,200,50,141,250,100,191
776 .byte   50,50,200,50,141,250,100,191
777 .byte   176,176,250,176,233,74,125,89
778 .byte   176,176,250,176,233,74,125,89
779 .byte   233,233,131,233,27,106,207,242
780 .byte   233,233,131,233,27,106,207,242
781 .byte   15,15,60,15,120,51,30,119
782 .byte   15,15,60,15,120,51,30,119
783 .byte   213,213,115,213,230,166,183,51
784 .byte   213,213,115,213,230,166,183,51
785 .byte   128,128,58,128,116,186,29,244
786 .byte   128,128,58,128,116,186,29,244
787 .byte   190,190,194,190,153,124,97,39
788 .byte   190,190,194,190,153,124,97,39
789 .byte   205,205,19,205,38,222,135,235
790 .byte   205,205,19,205,38,222,135,235
791 .byte   52,52,208,52,189,228,104,137
792 .byte   52,52,208,52,189,228,104,137
793 .byte   72,72,61,72,122,117,144,50
794 .byte   72,72,61,72,122,117,144,50
795 .byte   255,255,219,255,171,36,227,84
796 .byte   255,255,219,255,171,36,227,84
797 .byte   122,122,245,122,247,143,244,141
798 .byte   122,122,245,122,247,143,244,141
799 .byte   144,144,122,144,244,234,61,100
800 .byte   144,144,122,144,244,234,61,100
801 .byte   95,95,97,95,194,62,190,157
802 .byte   95,95,97,95,194,62,190,157
803 .byte   32,32,128,32,29,160,64,61
804 .byte   32,32,128,32,29,160,64,61
805 .byte   104,104,189,104,103,213,208,15
806 .byte   104,104,189,104,103,213,208,15
807 .byte   26,26,104,26,208,114,52,202
808 .byte   26,26,104,26,208,114,52,202
809 .byte   174,174,130,174,25,44,65,183
810 .byte   174,174,130,174,25,44,65,183
811 .byte   180,180,234,180,201,94,117,125
812 .byte   180,180,234,180,201,94,117,125
813 .byte   84,84,77,84,154,25,168,206
814 .byte   84,84,77,84,154,25,168,206
815 .byte   147,147,118,147,236,229,59,127
816 .byte   147,147,118,147,236,229,59,127
817 .byte   34,34,136,34,13,170,68,47
818 .byte   34,34,136,34,13,170,68,47
819 .byte   100,100,141,100,7,233,200,99
820 .byte   100,100,141,100,7,233,200,99
821 .byte   241,241,227,241,219,18,255,42
822 .byte   241,241,227,241,219,18,255,42
823 .byte   115,115,209,115,191,162,230,204
824 .byte   115,115,209,115,191,162,230,204
825 .byte   18,18,72,18,144,90,36,130
826 .byte   18,18,72,18,144,90,36,130
827 .byte   64,64,29,64,58,93,128,122
828 .byte   64,64,29,64,58,93,128,122
829 .byte   8,8,32,8,64,40,16,72
830 .byte   8,8,32,8,64,40,16,72
831 .byte   195,195,43,195,86,232,155,149
832 .byte   195,195,43,195,86,232,155,149
833 .byte   236,236,151,236,51,123,197,223
834 .byte   236,236,151,236,51,123,197,223
835 .byte   219,219,75,219,150,144,171,77
836 .byte   219,219,75,219,150,144,171,77
837 .byte   161,161,190,161,97,31,95,192
838 .byte   161,161,190,161,97,31,95,192
839 .byte   141,141,14,141,28,131,7,145
840 .byte   141,141,14,141,28,131,7,145
841 .byte   61,61,244,61,245,201,122,200
842 .byte   61,61,244,61,245,201,122,200
843 .byte   151,151,102,151,204,241,51,91
844 .byte   151,151,102,151,204,241,51,91
845 .byte   0,0,0,0,0,0,0,0
846 .byte   0,0,0,0,0,0,0,0
847 .byte   207,207,27,207,54,212,131,249
848 .byte   207,207,27,207,54,212,131,249
849 .byte   43,43,172,43,69,135,86,110
850 .byte   43,43,172,43,69,135,86,110
851 .byte   118,118,197,118,151,179,236,225
852 .byte   118,118,197,118,151,179,236,225
853 .byte   130,130,50,130,100,176,25,230
854 .byte   130,130,50,130,100,176,25,230
855 .byte   214,214,127,214,254,169,177,40
856 .byte   214,214,127,214,254,169,177,40
857 .byte   27,27,108,27,216,119,54,195
858 .byte   27,27,108,27,216,119,54,195
859 .byte   181,181,238,181,193,91,119,116
860 .byte   181,181,238,181,193,91,119,116
861 .byte   175,175,134,175,17,41,67,190
862 .byte   175,175,134,175,17,41,67,190
863 .byte   106,106,181,106,119,223,212,29
864 .byte   106,106,181,106,119,223,212,29
865 .byte   80,80,93,80,186,13,160,234
866 .byte   80,80,93,80,186,13,160,234
867 .byte   69,69,9,69,18,76,138,87
868 .byte   69,69,9,69,18,76,138,87
869 .byte   243,243,235,243,203,24,251,56
870 .byte   243,243,235,243,203,24,251,56
871 .byte   48,48,192,48,157,240,96,173
872 .byte   48,48,192,48,157,240,96,173
873 .byte   239,239,155,239,43,116,195,196
874 .byte   239,239,155,239,43,116,195,196
875 .byte   63,63,252,63,229,195,126,218
876 .byte   63,63,252,63,229,195,126,218
877 .byte   85,85,73,85,146,28,170,199
878 .byte   85,85,73,85,146,28,170,199
879 .byte   162,162,178,162,121,16,89,219
880 .byte   162,162,178,162,121,16,89,219
881 .byte   234,234,143,234,3,101,201,233
882 .byte   234,234,143,234,3,101,201,233
883 .byte   101,101,137,101,15,236,202,106
884 .byte   101,101,137,101,15,236,202,106
885 .byte   186,186,210,186,185,104,105,3
886 .byte   186,186,210,186,185,104,105,3
887 .byte   47,47,188,47,101,147,94,74
888 .byte   47,47,188,47,101,147,94,74
889 .byte   192,192,39,192,78,231,157,142
890 .byte   192,192,39,192,78,231,157,142
891 .byte   222,222,95,222,190,129,161,96
892 .byte   222,222,95,222,190,129,161,96
893 .byte   28,28,112,28,224,108,56,252
894 .byte   28,28,112,28,224,108,56,252
895 .byte   253,253,211,253,187,46,231,70
896 .byte   253,253,211,253,187,46,231,70
897 .byte   77,77,41,77,82,100,154,31
898 .byte   77,77,41,77,82,100,154,31
899 .byte   146,146,114,146,228,224,57,118
900 .byte   146,146,114,146,228,224,57,118
901 .byte   117,117,201,117,143,188,234,250
902 .byte   117,117,201,117,143,188,234,250
903 .byte   6,6,24,6,48,30,12,54
904 .byte   6,6,24,6,48,30,12,54
905 .byte   138,138,18,138,36,152,9,174
906 .byte   138,138,18,138,36,152,9,174
907 .byte   178,178,242,178,249,64,121,75
908 .byte   178,178,242,178,249,64,121,75
909 .byte   230,230,191,230,99,89,209,133
910 .byte   230,230,191,230,99,89,209,133
911 .byte   14,14,56,14,112,54,28,126
912 .byte   14,14,56,14,112,54,28,126
913 .byte   31,31,124,31,248,99,62,231
914 .byte   31,31,124,31,248,99,62,231
915 .byte   98,98,149,98,55,247,196,85
916 .byte   98,98,149,98,55,247,196,85
917 .byte   212,212,119,212,238,163,181,58
918 .byte   212,212,119,212,238,163,181,58
919 .byte   168,168,154,168,41,50,77,129
920 .byte   168,168,154,168,41,50,77,129
921 .byte   150,150,98,150,196,244,49,82
922 .byte   150,150,98,150,196,244,49,82
923 .byte   249,249,195,249,155,58,239,98
924 .byte   249,249,195,249,155,58,239,98
925 .byte   197,197,51,197,102,246,151,163
926 .byte   197,197,51,197,102,246,151,163
927 .byte   37,37,148,37,53,177,74,16
928 .byte   37,37,148,37,53,177,74,16
929 .byte   89,89,121,89,242,32,178,171
930 .byte   89,89,121,89,242,32,178,171
931 .byte   132,132,42,132,84,174,21,208
932 .byte   132,132,42,132,84,174,21,208
933 .byte   114,114,213,114,183,167,228,197
934 .byte   114,114,213,114,183,167,228,197
935 .byte   57,57,228,57,213,221,114,236
936 .byte   57,57,228,57,213,221,114,236
937 .byte   76,76,45,76,90,97,152,22
938 .byte   76,76,45,76,90,97,152,22
939 .byte   94,94,101,94,202,59,188,148
940 .byte   94,94,101,94,202,59,188,148
941 .byte   120,120,253,120,231,133,240,159
942 .byte   120,120,253,120,231,133,240,159
943 .byte   56,56,224,56,221,216,112,229
944 .byte   56,56,224,56,221,216,112,229
945 .byte   140,140,10,140,20,134,5,152
946 .byte   140,140,10,140,20,134,5,152
947 .byte   209,209,99,209,198,178,191,23
948 .byte   209,209,99,209,198,178,191,23
949 .byte   165,165,174,165,65,11,87,228
950 .byte   165,165,174,165,65,11,87,228
951 .byte   226,226,175,226,67,77,217,161
952 .byte   226,226,175,226,67,77,217,161
953 .byte   97,97,153,97,47,248,194,78
954 .byte   97,97,153,97,47,248,194,78
955 .byte   179,179,246,179,241,69,123,66
956 .byte   179,179,246,179,241,69,123,66
957 .byte   33,33,132,33,21,165,66,52
958 .byte   33,33,132,33,21,165,66,52
959 .byte   156,156,74,156,148,214,37,8
960 .byte   156,156,74,156,148,214,37,8
961 .byte   30,30,120,30,240,102,60,238
962 .byte   30,30,120,30,240,102,60,238
963 .byte   67,67,17,67,34,82,134,97
964 .byte   67,67,17,67,34,82,134,97
965 .byte   199,199,59,199,118,252,147,177
966 .byte   199,199,59,199,118,252,147,177
967 .byte   252,252,215,252,179,43,229,79
968 .byte   252,252,215,252,179,43,229,79
969 .byte   4,4,16,4,32,20,8,36
970 .byte   4,4,16,4,32,20,8,36
971 .byte   81,81,89,81,178,8,162,227
972 .byte   81,81,89,81,178,8,162,227
973 .byte   153,153,94,153,188,199,47,37
974 .byte   153,153,94,153,188,199,47,37
975 .byte   109,109,169,109,79,196,218,34
976 .byte   109,109,169,109,79,196,218,34
977 .byte   13,13,52,13,104,57,26,101
978 .byte   13,13,52,13,104,57,26,101
979 .byte   250,250,207,250,131,53,233,121
980 .byte   250,250,207,250,131,53,233,121
981 .byte   223,223,91,223,182,132,163,105
982 .byte   223,223,91,223,182,132,163,105
983 .byte   126,126,229,126,215,155,252,169
984 .byte   126,126,229,126,215,155,252,169
985 .byte   36,36,144,36,61,180,72,25
986 .byte   36,36,144,36,61,180,72,25
987 .byte   59,59,236,59,197,215,118,254
988 .byte   59,59,236,59,197,215,118,254
989 .byte   171,171,150,171,49,61,75,154
990 .byte   171,171,150,171,49,61,75,154
991 .byte   206,206,31,206,62,209,129,240
992 .byte   206,206,31,206,62,209,129,240
993 .byte   17,17,68,17,136,85,34,153
994 .byte   17,17,68,17,136,85,34,153
995 .byte   143,143,6,143,12,137,3,131
996 .byte   143,143,6,143,12,137,3,131
997 .byte   78,78,37,78,74,107,156,4
998 .byte   78,78,37,78,74,107,156,4
999 .byte   183,183,230,183,209,81,115,102
1000 .byte   183,183,230,183,209,81,115,102
1001 .byte   235,235,139,235,11,96,203,224
1002 .byte   235,235,139,235,11,96,203,224
1003 .byte   60,60,240,60,253,204,120,193
1004 .byte   60,60,240,60,253,204,120,193
1005 .byte   129,129,62,129,124,191,31,253
1006 .byte   129,129,62,129,124,191,31,253
1007 .byte   148,148,106,148,212,254,53,64
1008 .byte   148,148,106,148,212,254,53,64
1009 .byte   247,247,251,247,235,12,243,28
1010 .byte   247,247,251,247,235,12,243,28
1011 .byte   185,185,222,185,161,103,111,24
1012 .byte   185,185,222,185,161,103,111,24
1013 .byte   19,19,76,19,152,95,38,139
1014 .byte   19,19,76,19,152,95,38,139
1015 .byte   44,44,176,44,125,156,88,81
1016 .byte   44,44,176,44,125,156,88,81
1017 .byte   211,211,107,211,214,184,187,5
1018 .byte   211,211,107,211,214,184,187,5
1019 .byte   231,231,187,231,107,92,211,140
1020 .byte   231,231,187,231,107,92,211,140
1021 .byte   110,110,165,110,87,203,220,57
1022 .byte   110,110,165,110,87,203,220,57
1023 .byte   196,196,55,196,110,243,149,170
1024 .byte   196,196,55,196,110,243,149,170
1025 .byte   3,3,12,3,24,15,6,27
1026 .byte   3,3,12,3,24,15,6,27
1027 .byte   86,86,69,86,138,19,172,220
1028 .byte   86,86,69,86,138,19,172,220
1029 .byte   68,68,13,68,26,73,136,94
1030 .byte   68,68,13,68,26,73,136,94
1031 .byte   127,127,225,127,223,158,254,160
1032 .byte   127,127,225,127,223,158,254,160
1033 .byte   169,169,158,169,33,55,79,136
1034 .byte   169,169,158,169,33,55,79,136
1035 .byte   42,42,168,42,77,130,84,103
1036 .byte   42,42,168,42,77,130,84,103
1037 .byte   187,187,214,187,177,109,107,10
1038 .byte   187,187,214,187,177,109,107,10
1039 .byte   193,193,35,193,70,226,159,135
1040 .byte   193,193,35,193,70,226,159,135
1041 .byte   83,83,81,83,162,2,166,241
1042 .byte   83,83,81,83,162,2,166,241
1043 .byte   220,220,87,220,174,139,165,114
1044 .byte   220,220,87,220,174,139,165,114
1045 .byte   11,11,44,11,88,39,22,83
1046 .byte   11,11,44,11,88,39,22,83
1047 .byte   157,157,78,157,156,211,39,1
1048 .byte   157,157,78,157,156,211,39,1
1049 .byte   108,108,173,108,71,193,216,43
1050 .byte   108,108,173,108,71,193,216,43
1051 .byte   49,49,196,49,149,245,98,164
1052 .byte   49,49,196,49,149,245,98,164
1053 .byte   116,116,205,116,135,185,232,243
1054 .byte   116,116,205,116,135,185,232,243
1055 .byte   246,246,255,246,227,9,241,21
1056 .byte   246,246,255,246,227,9,241,21
1057 .byte   70,70,5,70,10,67,140,76
1058 .byte   70,70,5,70,10,67,140,76
1059 .byte   172,172,138,172,9,38,69,165
1060 .byte   172,172,138,172,9,38,69,165
1061 .byte   137,137,30,137,60,151,15,181
1062 .byte   137,137,30,137,60,151,15,181
1063 .byte   20,20,80,20,160,68,40,180
1064 .byte   20,20,80,20,160,68,40,180
1065 .byte   225,225,163,225,91,66,223,186
1066 .byte   225,225,163,225,91,66,223,186
1067 .byte   22,22,88,22,176,78,44,166
1068 .byte   22,22,88,22,176,78,44,166
1069 .byte   58,58,232,58,205,210,116,247
1070 .byte   58,58,232,58,205,210,116,247
1071 .byte   105,105,185,105,111,208,210,6
1072 .byte   105,105,185,105,111,208,210,6
1073 .byte   9,9,36,9,72,45,18,65
1074 .byte   9,9,36,9,72,45,18,65
1075 .byte   112,112,221,112,167,173,224,215
1076 .byte   112,112,221,112,167,173,224,215
1077 .byte   182,182,226,182,217,84,113,111
1078 .byte   182,182,226,182,217,84,113,111
1079 .byte   208,208,103,208,206,183,189,30
1080 .byte   208,208,103,208,206,183,189,30
1081 .byte   237,237,147,237,59,126,199,214
1082 .byte   237,237,147,237,59,126,199,214
1083 .byte   204,204,23,204,46,219,133,226
1084 .byte   204,204,23,204,46,219,133,226
1085 .byte   66,66,21,66,42,87,132,104
1086 .byte   66,66,21,66,42,87,132,104
1087 .byte   152,152,90,152,180,194,45,44
1088 .byte   152,152,90,152,180,194,45,44
1089 .byte   164,164,170,164,73,14,85,237
1090 .byte   164,164,170,164,73,14,85,237
1091 .byte   40,40,160,40,93,136,80,117
1092 .byte   40,40,160,40,93,136,80,117
1093 .byte   92,92,109,92,218,49,184,134
1094 .byte   92,92,109,92,218,49,184,134
1095 .byte   248,248,199,248,147,63,237,107
1096 .byte   248,248,199,248,147,63,237,107
1097 .byte   134,134,34,134,68,164,17,194
1098 .byte   134,134,34,134,68,164,17,194
1099 .byte   24,35,198,232,135,184,1,79
1100 .byte   54,166,210,245,121,111,145,82
1101 .byte   96,188,155,142,163,12,123,53
1102 .byte   29,224,215,194,46,75,254,87
1103 .byte   21,119,55,229,159,240,74,218
1104 .byte   88,201,41,10,177,160,107,133
1105 .byte   189,93,16,244,203,62,5,103
1106 .byte   228,39,65,139,167,125,149,216
1107 .byte   251,238,124,102,221,23,71,158
1108 .byte   202,45,191,7,173,90,131,51
1109 .size   whirlpool_block_mmx,.-.L_whirlpool_block_mmx_begin
1110 #else
1111 .text
1112 .globl  whirlpool_block_mmx
1113 .type   whirlpool_block_mmx,@function
1114 .align  16
1115 whirlpool_block_mmx:
1116 .L_whirlpool_block_mmx_begin:
1117         pushl   %ebp
1118         pushl   %ebx
1119         pushl   %esi
1120         pushl   %edi
1121         movl    20(%esp),%esi
1122         movl    24(%esp),%edi
1123         movl    28(%esp),%ebp
1124         movl    %esp,%eax
1125         subl    $148,%esp
1126         andl    $-64,%esp
1127         leal    128(%esp),%ebx
1128         movl    %esi,(%ebx)
1129         movl    %edi,4(%ebx)
1130         movl    %ebp,8(%ebx)
1131         movl    %eax,16(%ebx)
1132         call    .L000pic_point
1133 .L000pic_point:
1134         popl    %ebp
1135         leal    .L001table-.L000pic_point(%ebp),%ebp
1136         xorl    %ecx,%ecx
1137         xorl    %edx,%edx
1138         movq    (%esi),%mm0
1139         movq    8(%esi),%mm1
1140         movq    16(%esi),%mm2
1141         movq    24(%esi),%mm3
1142         movq    32(%esi),%mm4
1143         movq    40(%esi),%mm5
1144         movq    48(%esi),%mm6
1145         movq    56(%esi),%mm7
1146 .L002outerloop:
1147         movq    %mm0,(%esp)
1148         movq    %mm1,8(%esp)
1149         movq    %mm2,16(%esp)
1150         movq    %mm3,24(%esp)
1151         movq    %mm4,32(%esp)
1152         movq    %mm5,40(%esp)
1153         movq    %mm6,48(%esp)
1154         movq    %mm7,56(%esp)
1155         pxor    (%edi),%mm0
1156         pxor    8(%edi),%mm1
1157         pxor    16(%edi),%mm2
1158         pxor    24(%edi),%mm3
1159         pxor    32(%edi),%mm4
1160         pxor    40(%edi),%mm5
1161         pxor    48(%edi),%mm6
1162         pxor    56(%edi),%mm7
1163         movq    %mm0,64(%esp)
1164         movq    %mm1,72(%esp)
1165         movq    %mm2,80(%esp)
1166         movq    %mm3,88(%esp)
1167         movq    %mm4,96(%esp)
1168         movq    %mm5,104(%esp)
1169         movq    %mm6,112(%esp)
1170         movq    %mm7,120(%esp)
1171         xorl    %esi,%esi
1172         movl    %esi,12(%ebx)
1173 .align  16
1174 .L003round:
1175         movq    4096(%ebp,%esi,8),%mm0
1176         movl    (%esp),%eax
1177         movl    4(%esp),%ebx
1178         movzbl  %al,%ecx
1179         movzbl  %ah,%edx
1180         shrl    $16,%eax
1181         leal    (%ecx,%ecx,1),%esi
1182         movzbl  %al,%ecx
1183         leal    (%edx,%edx,1),%edi
1184         movzbl  %ah,%edx
1185         pxor    (%ebp,%esi,8),%mm0
1186         movq    7(%ebp,%edi,8),%mm1
1187         movl    8(%esp),%eax
1188         leal    (%ecx,%ecx,1),%esi
1189         movzbl  %bl,%ecx
1190         leal    (%edx,%edx,1),%edi
1191         movzbl  %bh,%edx
1192         movq    6(%ebp,%esi,8),%mm2
1193         movq    5(%ebp,%edi,8),%mm3
1194         shrl    $16,%ebx
1195         leal    (%ecx,%ecx,1),%esi
1196         movzbl  %bl,%ecx
1197         leal    (%edx,%edx,1),%edi
1198         movzbl  %bh,%edx
1199         movq    4(%ebp,%esi,8),%mm4
1200         movq    3(%ebp,%edi,8),%mm5
1201         movl    12(%esp),%ebx
1202         leal    (%ecx,%ecx,1),%esi
1203         movzbl  %al,%ecx
1204         leal    (%edx,%edx,1),%edi
1205         movzbl  %ah,%edx
1206         movq    2(%ebp,%esi,8),%mm6
1207         movq    1(%ebp,%edi,8),%mm7
1208         shrl    $16,%eax
1209         leal    (%ecx,%ecx,1),%esi
1210         movzbl  %al,%ecx
1211         leal    (%edx,%edx,1),%edi
1212         movzbl  %ah,%edx
1213         pxor    (%ebp,%esi,8),%mm1
1214         pxor    7(%ebp,%edi,8),%mm2
1215         movl    16(%esp),%eax
1216         leal    (%ecx,%ecx,1),%esi
1217         movzbl  %bl,%ecx
1218         leal    (%edx,%edx,1),%edi
1219         movzbl  %bh,%edx
1220         pxor    6(%ebp,%esi,8),%mm3
1221         pxor    5(%ebp,%edi,8),%mm4
1222         shrl    $16,%ebx
1223         leal    (%ecx,%ecx,1),%esi
1224         movzbl  %bl,%ecx
1225         leal    (%edx,%edx,1),%edi
1226         movzbl  %bh,%edx
1227         pxor    4(%ebp,%esi,8),%mm5
1228         pxor    3(%ebp,%edi,8),%mm6
1229         movl    20(%esp),%ebx
1230         leal    (%ecx,%ecx,1),%esi
1231         movzbl  %al,%ecx
1232         leal    (%edx,%edx,1),%edi
1233         movzbl  %ah,%edx
1234         pxor    2(%ebp,%esi,8),%mm7
1235         pxor    1(%ebp,%edi,8),%mm0
1236         shrl    $16,%eax
1237         leal    (%ecx,%ecx,1),%esi
1238         movzbl  %al,%ecx
1239         leal    (%edx,%edx,1),%edi
1240         movzbl  %ah,%edx
1241         pxor    (%ebp,%esi,8),%mm2
1242         pxor    7(%ebp,%edi,8),%mm3
1243         movl    24(%esp),%eax
1244         leal    (%ecx,%ecx,1),%esi
1245         movzbl  %bl,%ecx
1246         leal    (%edx,%edx,1),%edi
1247         movzbl  %bh,%edx
1248         pxor    6(%ebp,%esi,8),%mm4
1249         pxor    5(%ebp,%edi,8),%mm5
1250         shrl    $16,%ebx
1251         leal    (%ecx,%ecx,1),%esi
1252         movzbl  %bl,%ecx
1253         leal    (%edx,%edx,1),%edi
1254         movzbl  %bh,%edx
1255         pxor    4(%ebp,%esi,8),%mm6
1256         pxor    3(%ebp,%edi,8),%mm7
1257         movl    28(%esp),%ebx
1258         leal    (%ecx,%ecx,1),%esi
1259         movzbl  %al,%ecx
1260         leal    (%edx,%edx,1),%edi
1261         movzbl  %ah,%edx
1262         pxor    2(%ebp,%esi,8),%mm0
1263         pxor    1(%ebp,%edi,8),%mm1
1264         shrl    $16,%eax
1265         leal    (%ecx,%ecx,1),%esi
1266         movzbl  %al,%ecx
1267         leal    (%edx,%edx,1),%edi
1268         movzbl  %ah,%edx
1269         pxor    (%ebp,%esi,8),%mm3
1270         pxor    7(%ebp,%edi,8),%mm4
1271         movl    32(%esp),%eax
1272         leal    (%ecx,%ecx,1),%esi
1273         movzbl  %bl,%ecx
1274         leal    (%edx,%edx,1),%edi
1275         movzbl  %bh,%edx
1276         pxor    6(%ebp,%esi,8),%mm5
1277         pxor    5(%ebp,%edi,8),%mm6
1278         shrl    $16,%ebx
1279         leal    (%ecx,%ecx,1),%esi
1280         movzbl  %bl,%ecx
1281         leal    (%edx,%edx,1),%edi
1282         movzbl  %bh,%edx
1283         pxor    4(%ebp,%esi,8),%mm7
1284         pxor    3(%ebp,%edi,8),%mm0
1285         movl    36(%esp),%ebx
1286         leal    (%ecx,%ecx,1),%esi
1287         movzbl  %al,%ecx
1288         leal    (%edx,%edx,1),%edi
1289         movzbl  %ah,%edx
1290         pxor    2(%ebp,%esi,8),%mm1
1291         pxor    1(%ebp,%edi,8),%mm2
1292         shrl    $16,%eax
1293         leal    (%ecx,%ecx,1),%esi
1294         movzbl  %al,%ecx
1295         leal    (%edx,%edx,1),%edi
1296         movzbl  %ah,%edx
1297         pxor    (%ebp,%esi,8),%mm4
1298         pxor    7(%ebp,%edi,8),%mm5
1299         movl    40(%esp),%eax
1300         leal    (%ecx,%ecx,1),%esi
1301         movzbl  %bl,%ecx
1302         leal    (%edx,%edx,1),%edi
1303         movzbl  %bh,%edx
1304         pxor    6(%ebp,%esi,8),%mm6
1305         pxor    5(%ebp,%edi,8),%mm7
1306         shrl    $16,%ebx
1307         leal    (%ecx,%ecx,1),%esi
1308         movzbl  %bl,%ecx
1309         leal    (%edx,%edx,1),%edi
1310         movzbl  %bh,%edx
1311         pxor    4(%ebp,%esi,8),%mm0
1312         pxor    3(%ebp,%edi,8),%mm1
1313         movl    44(%esp),%ebx
1314         leal    (%ecx,%ecx,1),%esi
1315         movzbl  %al,%ecx
1316         leal    (%edx,%edx,1),%edi
1317         movzbl  %ah,%edx
1318         pxor    2(%ebp,%esi,8),%mm2
1319         pxor    1(%ebp,%edi,8),%mm3
1320         shrl    $16,%eax
1321         leal    (%ecx,%ecx,1),%esi
1322         movzbl  %al,%ecx
1323         leal    (%edx,%edx,1),%edi
1324         movzbl  %ah,%edx
1325         pxor    (%ebp,%esi,8),%mm5
1326         pxor    7(%ebp,%edi,8),%mm6
1327         movl    48(%esp),%eax
1328         leal    (%ecx,%ecx,1),%esi
1329         movzbl  %bl,%ecx
1330         leal    (%edx,%edx,1),%edi
1331         movzbl  %bh,%edx
1332         pxor    6(%ebp,%esi,8),%mm7
1333         pxor    5(%ebp,%edi,8),%mm0
1334         shrl    $16,%ebx
1335         leal    (%ecx,%ecx,1),%esi
1336         movzbl  %bl,%ecx
1337         leal    (%edx,%edx,1),%edi
1338         movzbl  %bh,%edx
1339         pxor    4(%ebp,%esi,8),%mm1
1340         pxor    3(%ebp,%edi,8),%mm2
1341         movl    52(%esp),%ebx
1342         leal    (%ecx,%ecx,1),%esi
1343         movzbl  %al,%ecx
1344         leal    (%edx,%edx,1),%edi
1345         movzbl  %ah,%edx
1346         pxor    2(%ebp,%esi,8),%mm3
1347         pxor    1(%ebp,%edi,8),%mm4
1348         shrl    $16,%eax
1349         leal    (%ecx,%ecx,1),%esi
1350         movzbl  %al,%ecx
1351         leal    (%edx,%edx,1),%edi
1352         movzbl  %ah,%edx
1353         pxor    (%ebp,%esi,8),%mm6
1354         pxor    7(%ebp,%edi,8),%mm7
1355         movl    56(%esp),%eax
1356         leal    (%ecx,%ecx,1),%esi
1357         movzbl  %bl,%ecx
1358         leal    (%edx,%edx,1),%edi
1359         movzbl  %bh,%edx
1360         pxor    6(%ebp,%esi,8),%mm0
1361         pxor    5(%ebp,%edi,8),%mm1
1362         shrl    $16,%ebx
1363         leal    (%ecx,%ecx,1),%esi
1364         movzbl  %bl,%ecx
1365         leal    (%edx,%edx,1),%edi
1366         movzbl  %bh,%edx
1367         pxor    4(%ebp,%esi,8),%mm2
1368         pxor    3(%ebp,%edi,8),%mm3
1369         movl    60(%esp),%ebx
1370         leal    (%ecx,%ecx,1),%esi
1371         movzbl  %al,%ecx
1372         leal    (%edx,%edx,1),%edi
1373         movzbl  %ah,%edx
1374         pxor    2(%ebp,%esi,8),%mm4
1375         pxor    1(%ebp,%edi,8),%mm5
1376         shrl    $16,%eax
1377         leal    (%ecx,%ecx,1),%esi
1378         movzbl  %al,%ecx
1379         leal    (%edx,%edx,1),%edi
1380         movzbl  %ah,%edx
1381         pxor    (%ebp,%esi,8),%mm7
1382         pxor    7(%ebp,%edi,8),%mm0
1383         movl    64(%esp),%eax
1384         leal    (%ecx,%ecx,1),%esi
1385         movzbl  %bl,%ecx
1386         leal    (%edx,%edx,1),%edi
1387         movzbl  %bh,%edx
1388         pxor    6(%ebp,%esi,8),%mm1
1389         pxor    5(%ebp,%edi,8),%mm2
1390         shrl    $16,%ebx
1391         leal    (%ecx,%ecx,1),%esi
1392         movzbl  %bl,%ecx
1393         leal    (%edx,%edx,1),%edi
1394         movzbl  %bh,%edx
1395         pxor    4(%ebp,%esi,8),%mm3
1396         pxor    3(%ebp,%edi,8),%mm4
1397         movl    68(%esp),%ebx
1398         leal    (%ecx,%ecx,1),%esi
1399         movzbl  %al,%ecx
1400         leal    (%edx,%edx,1),%edi
1401         movzbl  %ah,%edx
1402         pxor    2(%ebp,%esi,8),%mm5
1403         pxor    1(%ebp,%edi,8),%mm6
1404         movq    %mm0,(%esp)
1405         movq    %mm1,8(%esp)
1406         movq    %mm2,16(%esp)
1407         movq    %mm3,24(%esp)
1408         movq    %mm4,32(%esp)
1409         movq    %mm5,40(%esp)
1410         movq    %mm6,48(%esp)
1411         movq    %mm7,56(%esp)
1412         shrl    $16,%eax
1413         leal    (%ecx,%ecx,1),%esi
1414         movzbl  %al,%ecx
1415         leal    (%edx,%edx,1),%edi
1416         movzbl  %ah,%edx
1417         pxor    (%ebp,%esi,8),%mm0
1418         pxor    7(%ebp,%edi,8),%mm1
1419         movl    72(%esp),%eax
1420         leal    (%ecx,%ecx,1),%esi
1421         movzbl  %bl,%ecx
1422         leal    (%edx,%edx,1),%edi
1423         movzbl  %bh,%edx
1424         pxor    6(%ebp,%esi,8),%mm2
1425         pxor    5(%ebp,%edi,8),%mm3
1426         shrl    $16,%ebx
1427         leal    (%ecx,%ecx,1),%esi
1428         movzbl  %bl,%ecx
1429         leal    (%edx,%edx,1),%edi
1430         movzbl  %bh,%edx
1431         pxor    4(%ebp,%esi,8),%mm4
1432         pxor    3(%ebp,%edi,8),%mm5
1433         movl    76(%esp),%ebx
1434         leal    (%ecx,%ecx,1),%esi
1435         movzbl  %al,%ecx
1436         leal    (%edx,%edx,1),%edi
1437         movzbl  %ah,%edx
1438         pxor    2(%ebp,%esi,8),%mm6
1439         pxor    1(%ebp,%edi,8),%mm7
1440         shrl    $16,%eax
1441         leal    (%ecx,%ecx,1),%esi
1442         movzbl  %al,%ecx
1443         leal    (%edx,%edx,1),%edi
1444         movzbl  %ah,%edx
1445         pxor    (%ebp,%esi,8),%mm1
1446         pxor    7(%ebp,%edi,8),%mm2
1447         movl    80(%esp),%eax
1448         leal    (%ecx,%ecx,1),%esi
1449         movzbl  %bl,%ecx
1450         leal    (%edx,%edx,1),%edi
1451         movzbl  %bh,%edx
1452         pxor    6(%ebp,%esi,8),%mm3
1453         pxor    5(%ebp,%edi,8),%mm4
1454         shrl    $16,%ebx
1455         leal    (%ecx,%ecx,1),%esi
1456         movzbl  %bl,%ecx
1457         leal    (%edx,%edx,1),%edi
1458         movzbl  %bh,%edx
1459         pxor    4(%ebp,%esi,8),%mm5
1460         pxor    3(%ebp,%edi,8),%mm6
1461         movl    84(%esp),%ebx
1462         leal    (%ecx,%ecx,1),%esi
1463         movzbl  %al,%ecx
1464         leal    (%edx,%edx,1),%edi
1465         movzbl  %ah,%edx
1466         pxor    2(%ebp,%esi,8),%mm7
1467         pxor    1(%ebp,%edi,8),%mm0
1468         shrl    $16,%eax
1469         leal    (%ecx,%ecx,1),%esi
1470         movzbl  %al,%ecx
1471         leal    (%edx,%edx,1),%edi
1472         movzbl  %ah,%edx
1473         pxor    (%ebp,%esi,8),%mm2
1474         pxor    7(%ebp,%edi,8),%mm3
1475         movl    88(%esp),%eax
1476         leal    (%ecx,%ecx,1),%esi
1477         movzbl  %bl,%ecx
1478         leal    (%edx,%edx,1),%edi
1479         movzbl  %bh,%edx
1480         pxor    6(%ebp,%esi,8),%mm4
1481         pxor    5(%ebp,%edi,8),%mm5
1482         shrl    $16,%ebx
1483         leal    (%ecx,%ecx,1),%esi
1484         movzbl  %bl,%ecx
1485         leal    (%edx,%edx,1),%edi
1486         movzbl  %bh,%edx
1487         pxor    4(%ebp,%esi,8),%mm6
1488         pxor    3(%ebp,%edi,8),%mm7
1489         movl    92(%esp),%ebx
1490         leal    (%ecx,%ecx,1),%esi
1491         movzbl  %al,%ecx
1492         leal    (%edx,%edx,1),%edi
1493         movzbl  %ah,%edx
1494         pxor    2(%ebp,%esi,8),%mm0
1495         pxor    1(%ebp,%edi,8),%mm1
1496         shrl    $16,%eax
1497         leal    (%ecx,%ecx,1),%esi
1498         movzbl  %al,%ecx
1499         leal    (%edx,%edx,1),%edi
1500         movzbl  %ah,%edx
1501         pxor    (%ebp,%esi,8),%mm3
1502         pxor    7(%ebp,%edi,8),%mm4
1503         movl    96(%esp),%eax
1504         leal    (%ecx,%ecx,1),%esi
1505         movzbl  %bl,%ecx
1506         leal    (%edx,%edx,1),%edi
1507         movzbl  %bh,%edx
1508         pxor    6(%ebp,%esi,8),%mm5
1509         pxor    5(%ebp,%edi,8),%mm6
1510         shrl    $16,%ebx
1511         leal    (%ecx,%ecx,1),%esi
1512         movzbl  %bl,%ecx
1513         leal    (%edx,%edx,1),%edi
1514         movzbl  %bh,%edx
1515         pxor    4(%ebp,%esi,8),%mm7
1516         pxor    3(%ebp,%edi,8),%mm0
1517         movl    100(%esp),%ebx
1518         leal    (%ecx,%ecx,1),%esi
1519         movzbl  %al,%ecx
1520         leal    (%edx,%edx,1),%edi
1521         movzbl  %ah,%edx
1522         pxor    2(%ebp,%esi,8),%mm1
1523         pxor    1(%ebp,%edi,8),%mm2
1524         shrl    $16,%eax
1525         leal    (%ecx,%ecx,1),%esi
1526         movzbl  %al,%ecx
1527         leal    (%edx,%edx,1),%edi
1528         movzbl  %ah,%edx
1529         pxor    (%ebp,%esi,8),%mm4
1530         pxor    7(%ebp,%edi,8),%mm5
1531         movl    104(%esp),%eax
1532         leal    (%ecx,%ecx,1),%esi
1533         movzbl  %bl,%ecx
1534         leal    (%edx,%edx,1),%edi
1535         movzbl  %bh,%edx
1536         pxor    6(%ebp,%esi,8),%mm6
1537         pxor    5(%ebp,%edi,8),%mm7
1538         shrl    $16,%ebx
1539         leal    (%ecx,%ecx,1),%esi
1540         movzbl  %bl,%ecx
1541         leal    (%edx,%edx,1),%edi
1542         movzbl  %bh,%edx
1543         pxor    4(%ebp,%esi,8),%mm0
1544         pxor    3(%ebp,%edi,8),%mm1
1545         movl    108(%esp),%ebx
1546         leal    (%ecx,%ecx,1),%esi
1547         movzbl  %al,%ecx
1548         leal    (%edx,%edx,1),%edi
1549         movzbl  %ah,%edx
1550         pxor    2(%ebp,%esi,8),%mm2
1551         pxor    1(%ebp,%edi,8),%mm3
1552         shrl    $16,%eax
1553         leal    (%ecx,%ecx,1),%esi
1554         movzbl  %al,%ecx
1555         leal    (%edx,%edx,1),%edi
1556         movzbl  %ah,%edx
1557         pxor    (%ebp,%esi,8),%mm5
1558         pxor    7(%ebp,%edi,8),%mm6
1559         movl    112(%esp),%eax
1560         leal    (%ecx,%ecx,1),%esi
1561         movzbl  %bl,%ecx
1562         leal    (%edx,%edx,1),%edi
1563         movzbl  %bh,%edx
1564         pxor    6(%ebp,%esi,8),%mm7
1565         pxor    5(%ebp,%edi,8),%mm0
1566         shrl    $16,%ebx
1567         leal    (%ecx,%ecx,1),%esi
1568         movzbl  %bl,%ecx
1569         leal    (%edx,%edx,1),%edi
1570         movzbl  %bh,%edx
1571         pxor    4(%ebp,%esi,8),%mm1
1572         pxor    3(%ebp,%edi,8),%mm2
1573         movl    116(%esp),%ebx
1574         leal    (%ecx,%ecx,1),%esi
1575         movzbl  %al,%ecx
1576         leal    (%edx,%edx,1),%edi
1577         movzbl  %ah,%edx
1578         pxor    2(%ebp,%esi,8),%mm3
1579         pxor    1(%ebp,%edi,8),%mm4
1580         shrl    $16,%eax
1581         leal    (%ecx,%ecx,1),%esi
1582         movzbl  %al,%ecx
1583         leal    (%edx,%edx,1),%edi
1584         movzbl  %ah,%edx
1585         pxor    (%ebp,%esi,8),%mm6
1586         pxor    7(%ebp,%edi,8),%mm7
1587         movl    120(%esp),%eax
1588         leal    (%ecx,%ecx,1),%esi
1589         movzbl  %bl,%ecx
1590         leal    (%edx,%edx,1),%edi
1591         movzbl  %bh,%edx
1592         pxor    6(%ebp,%esi,8),%mm0
1593         pxor    5(%ebp,%edi,8),%mm1
1594         shrl    $16,%ebx
1595         leal    (%ecx,%ecx,1),%esi
1596         movzbl  %bl,%ecx
1597         leal    (%edx,%edx,1),%edi
1598         movzbl  %bh,%edx
1599         pxor    4(%ebp,%esi,8),%mm2
1600         pxor    3(%ebp,%edi,8),%mm3
1601         movl    124(%esp),%ebx
1602         leal    (%ecx,%ecx,1),%esi
1603         movzbl  %al,%ecx
1604         leal    (%edx,%edx,1),%edi
1605         movzbl  %ah,%edx
1606         pxor    2(%ebp,%esi,8),%mm4
1607         pxor    1(%ebp,%edi,8),%mm5
1608         shrl    $16,%eax
1609         leal    (%ecx,%ecx,1),%esi
1610         movzbl  %al,%ecx
1611         leal    (%edx,%edx,1),%edi
1612         movzbl  %ah,%edx
1613         pxor    (%ebp,%esi,8),%mm7
1614         pxor    7(%ebp,%edi,8),%mm0
1615         leal    (%ecx,%ecx,1),%esi
1616         movzbl  %bl,%ecx
1617         leal    (%edx,%edx,1),%edi
1618         movzbl  %bh,%edx
1619         pxor    6(%ebp,%esi,8),%mm1
1620         pxor    5(%ebp,%edi,8),%mm2
1621         shrl    $16,%ebx
1622         leal    (%ecx,%ecx,1),%esi
1623         movzbl  %bl,%ecx
1624         leal    (%edx,%edx,1),%edi
1625         movzbl  %bh,%edx
1626         pxor    4(%ebp,%esi,8),%mm3
1627         pxor    3(%ebp,%edi,8),%mm4
1628         leal    (%ecx,%ecx,1),%esi
1629         movzbl  %al,%ecx
1630         leal    (%edx,%edx,1),%edi
1631         movzbl  %ah,%edx
1632         pxor    2(%ebp,%esi,8),%mm5
1633         pxor    1(%ebp,%edi,8),%mm6
1634         leal    128(%esp),%ebx
1635         movl    12(%ebx),%esi
1636         addl    $1,%esi
1637         cmpl    $10,%esi
1638         je      .L004roundsdone
1639         movl    %esi,12(%ebx)
1640         movq    %mm0,64(%esp)
1641         movq    %mm1,72(%esp)
1642         movq    %mm2,80(%esp)
1643         movq    %mm3,88(%esp)
1644         movq    %mm4,96(%esp)
1645         movq    %mm5,104(%esp)
1646         movq    %mm6,112(%esp)
1647         movq    %mm7,120(%esp)
1648         jmp     .L003round
1649 .align  16
1650 .L004roundsdone:
1651         movl    (%ebx),%esi
1652         movl    4(%ebx),%edi
1653         movl    8(%ebx),%eax
1654         pxor    (%edi),%mm0
1655         pxor    8(%edi),%mm1
1656         pxor    16(%edi),%mm2
1657         pxor    24(%edi),%mm3
1658         pxor    32(%edi),%mm4
1659         pxor    40(%edi),%mm5
1660         pxor    48(%edi),%mm6
1661         pxor    56(%edi),%mm7
1662         pxor    (%esi),%mm0
1663         pxor    8(%esi),%mm1
1664         pxor    16(%esi),%mm2
1665         pxor    24(%esi),%mm3
1666         pxor    32(%esi),%mm4
1667         pxor    40(%esi),%mm5
1668         pxor    48(%esi),%mm6
1669         pxor    56(%esi),%mm7
1670         movq    %mm0,(%esi)
1671         movq    %mm1,8(%esi)
1672         movq    %mm2,16(%esi)
1673         movq    %mm3,24(%esi)
1674         movq    %mm4,32(%esi)
1675         movq    %mm5,40(%esi)
1676         movq    %mm6,48(%esi)
1677         movq    %mm7,56(%esi)
1678         leal    64(%edi),%edi
1679         subl    $1,%eax
1680         jz      .L005alldone
1681         movl    %edi,4(%ebx)
1682         movl    %eax,8(%ebx)
1683         jmp     .L002outerloop
1684 .L005alldone:
1685         emms
1686         movl    16(%ebx),%esp
1687         popl    %edi
1688         popl    %esi
1689         popl    %ebx
1690         popl    %ebp
1691         ret
1692 .align  64
1693 .L001table:
1694 .byte   24,24,96,24,192,120,48,216
1695 .byte   24,24,96,24,192,120,48,216
1696 .byte   35,35,140,35,5,175,70,38
1697 .byte   35,35,140,35,5,175,70,38
1698 .byte   198,198,63,198,126,249,145,184
1699 .byte   198,198,63,198,126,249,145,184
1700 .byte   232,232,135,232,19,111,205,251
1701 .byte   232,232,135,232,19,111,205,251
1702 .byte   135,135,38,135,76,161,19,203
1703 .byte   135,135,38,135,76,161,19,203
1704 .byte   184,184,218,184,169,98,109,17
1705 .byte   184,184,218,184,169,98,109,17
1706 .byte   1,1,4,1,8,5,2,9
1707 .byte   1,1,4,1,8,5,2,9
1708 .byte   79,79,33,79,66,110,158,13
1709 .byte   79,79,33,79,66,110,158,13
1710 .byte   54,54,216,54,173,238,108,155
1711 .byte   54,54,216,54,173,238,108,155
1712 .byte   166,166,162,166,89,4,81,255
1713 .byte   166,166,162,166,89,4,81,255
1714 .byte   210,210,111,210,222,189,185,12
1715 .byte   210,210,111,210,222,189,185,12
1716 .byte   245,245,243,245,251,6,247,14
1717 .byte   245,245,243,245,251,6,247,14
1718 .byte   121,121,249,121,239,128,242,150
1719 .byte   121,121,249,121,239,128,242,150
1720 .byte   111,111,161,111,95,206,222,48
1721 .byte   111,111,161,111,95,206,222,48
1722 .byte   145,145,126,145,252,239,63,109
1723 .byte   145,145,126,145,252,239,63,109
1724 .byte   82,82,85,82,170,7,164,248
1725 .byte   82,82,85,82,170,7,164,248
1726 .byte   96,96,157,96,39,253,192,71
1727 .byte   96,96,157,96,39,253,192,71
1728 .byte   188,188,202,188,137,118,101,53
1729 .byte   188,188,202,188,137,118,101,53
1730 .byte   155,155,86,155,172,205,43,55
1731 .byte   155,155,86,155,172,205,43,55
1732 .byte   142,142,2,142,4,140,1,138
1733 .byte   142,142,2,142,4,140,1,138
1734 .byte   163,163,182,163,113,21,91,210
1735 .byte   163,163,182,163,113,21,91,210
1736 .byte   12,12,48,12,96,60,24,108
1737 .byte   12,12,48,12,96,60,24,108
1738 .byte   123,123,241,123,255,138,246,132
1739 .byte   123,123,241,123,255,138,246,132
1740 .byte   53,53,212,53,181,225,106,128
1741 .byte   53,53,212,53,181,225,106,128
1742 .byte   29,29,116,29,232,105,58,245
1743 .byte   29,29,116,29,232,105,58,245
1744 .byte   224,224,167,224,83,71,221,179
1745 .byte   224,224,167,224,83,71,221,179
1746 .byte   215,215,123,215,246,172,179,33
1747 .byte   215,215,123,215,246,172,179,33
1748 .byte   194,194,47,194,94,237,153,156
1749 .byte   194,194,47,194,94,237,153,156
1750 .byte   46,46,184,46,109,150,92,67
1751 .byte   46,46,184,46,109,150,92,67
1752 .byte   75,75,49,75,98,122,150,41
1753 .byte   75,75,49,75,98,122,150,41
1754 .byte   254,254,223,254,163,33,225,93
1755 .byte   254,254,223,254,163,33,225,93
1756 .byte   87,87,65,87,130,22,174,213
1757 .byte   87,87,65,87,130,22,174,213
1758 .byte   21,21,84,21,168,65,42,189
1759 .byte   21,21,84,21,168,65,42,189
1760 .byte   119,119,193,119,159,182,238,232
1761 .byte   119,119,193,119,159,182,238,232
1762 .byte   55,55,220,55,165,235,110,146
1763 .byte   55,55,220,55,165,235,110,146
1764 .byte   229,229,179,229,123,86,215,158
1765 .byte   229,229,179,229,123,86,215,158
1766 .byte   159,159,70,159,140,217,35,19
1767 .byte   159,159,70,159,140,217,35,19
1768 .byte   240,240,231,240,211,23,253,35
1769 .byte   240,240,231,240,211,23,253,35
1770 .byte   74,74,53,74,106,127,148,32
1771 .byte   74,74,53,74,106,127,148,32
1772 .byte   218,218,79,218,158,149,169,68
1773 .byte   218,218,79,218,158,149,169,68
1774 .byte   88,88,125,88,250,37,176,162
1775 .byte   88,88,125,88,250,37,176,162
1776 .byte   201,201,3,201,6,202,143,207
1777 .byte   201,201,3,201,6,202,143,207
1778 .byte   41,41,164,41,85,141,82,124
1779 .byte   41,41,164,41,85,141,82,124
1780 .byte   10,10,40,10,80,34,20,90
1781 .byte   10,10,40,10,80,34,20,90
1782 .byte   177,177,254,177,225,79,127,80
1783 .byte   177,177,254,177,225,79,127,80
1784 .byte   160,160,186,160,105,26,93,201
1785 .byte   160,160,186,160,105,26,93,201
1786 .byte   107,107,177,107,127,218,214,20
1787 .byte   107,107,177,107,127,218,214,20
1788 .byte   133,133,46,133,92,171,23,217
1789 .byte   133,133,46,133,92,171,23,217
1790 .byte   189,189,206,189,129,115,103,60
1791 .byte   189,189,206,189,129,115,103,60
1792 .byte   93,93,105,93,210,52,186,143
1793 .byte   93,93,105,93,210,52,186,143
1794 .byte   16,16,64,16,128,80,32,144
1795 .byte   16,16,64,16,128,80,32,144
1796 .byte   244,244,247,244,243,3,245,7
1797 .byte   244,244,247,244,243,3,245,7
1798 .byte   203,203,11,203,22,192,139,221
1799 .byte   203,203,11,203,22,192,139,221
1800 .byte   62,62,248,62,237,198,124,211
1801 .byte   62,62,248,62,237,198,124,211
1802 .byte   5,5,20,5,40,17,10,45
1803 .byte   5,5,20,5,40,17,10,45
1804 .byte   103,103,129,103,31,230,206,120
1805 .byte   103,103,129,103,31,230,206,120
1806 .byte   228,228,183,228,115,83,213,151
1807 .byte   228,228,183,228,115,83,213,151
1808 .byte   39,39,156,39,37,187,78,2
1809 .byte   39,39,156,39,37,187,78,2
1810 .byte   65,65,25,65,50,88,130,115
1811 .byte   65,65,25,65,50,88,130,115
1812 .byte   139,139,22,139,44,157,11,167
1813 .byte   139,139,22,139,44,157,11,167
1814 .byte   167,167,166,167,81,1,83,246
1815 .byte   167,167,166,167,81,1,83,246
1816 .byte   125,125,233,125,207,148,250,178
1817 .byte   125,125,233,125,207,148,250,178
1818 .byte   149,149,110,149,220,251,55,73
1819 .byte   149,149,110,149,220,251,55,73
1820 .byte   216,216,71,216,142,159,173,86
1821 .byte   216,216,71,216,142,159,173,86
1822 .byte   251,251,203,251,139,48,235,112
1823 .byte   251,251,203,251,139,48,235,112
1824 .byte   238,238,159,238,35,113,193,205
1825 .byte   238,238,159,238,35,113,193,205
1826 .byte   124,124,237,124,199,145,248,187
1827 .byte   124,124,237,124,199,145,248,187
1828 .byte   102,102,133,102,23,227,204,113
1829 .byte   102,102,133,102,23,227,204,113
1830 .byte   221,221,83,221,166,142,167,123
1831 .byte   221,221,83,221,166,142,167,123
1832 .byte   23,23,92,23,184,75,46,175
1833 .byte   23,23,92,23,184,75,46,175
1834 .byte   71,71,1,71,2,70,142,69
1835 .byte   71,71,1,71,2,70,142,69
1836 .byte   158,158,66,158,132,220,33,26
1837 .byte   158,158,66,158,132,220,33,26
1838 .byte   202,202,15,202,30,197,137,212
1839 .byte   202,202,15,202,30,197,137,212
1840 .byte   45,45,180,45,117,153,90,88
1841 .byte   45,45,180,45,117,153,90,88
1842 .byte   191,191,198,191,145,121,99,46
1843 .byte   191,191,198,191,145,121,99,46
1844 .byte   7,7,28,7,56,27,14,63
1845 .byte   7,7,28,7,56,27,14,63
1846 .byte   173,173,142,173,1,35,71,172
1847 .byte   173,173,142,173,1,35,71,172
1848 .byte   90,90,117,90,234,47,180,176
1849 .byte   90,90,117,90,234,47,180,176
1850 .byte   131,131,54,131,108,181,27,239
1851 .byte   131,131,54,131,108,181,27,239
1852 .byte   51,51,204,51,133,255,102,182
1853 .byte   51,51,204,51,133,255,102,182
1854 .byte   99,99,145,99,63,242,198,92
1855 .byte   99,99,145,99,63,242,198,92
1856 .byte   2,2,8,2,16,10,4,18
1857 .byte   2,2,8,2,16,10,4,18
1858 .byte   170,170,146,170,57,56,73,147
1859 .byte   170,170,146,170,57,56,73,147
1860 .byte   113,113,217,113,175,168,226,222
1861 .byte   113,113,217,113,175,168,226,222
1862 .byte   200,200,7,200,14,207,141,198
1863 .byte   200,200,7,200,14,207,141,198
1864 .byte   25,25,100,25,200,125,50,209
1865 .byte   25,25,100,25,200,125,50,209
1866 .byte   73,73,57,73,114,112,146,59
1867 .byte   73,73,57,73,114,112,146,59
1868 .byte   217,217,67,217,134,154,175,95
1869 .byte   217,217,67,217,134,154,175,95
1870 .byte   242,242,239,242,195,29,249,49
1871 .byte   242,242,239,242,195,29,249,49
1872 .byte   227,227,171,227,75,72,219,168
1873 .byte   227,227,171,227,75,72,219,168
1874 .byte   91,91,113,91,226,42,182,185
1875 .byte   91,91,113,91,226,42,182,185
1876 .byte   136,136,26,136,52,146,13,188
1877 .byte   136,136,26,136,52,146,13,188
1878 .byte   154,154,82,154,164,200,41,62
1879 .byte   154,154,82,154,164,200,41,62
1880 .byte   38,38,152,38,45,190,76,11
1881 .byte   38,38,152,38,45,190,76,11
1882 .byte   50,50,200,50,141,250,100,191
1883 .byte   50,50,200,50,141,250,100,191
1884 .byte   176,176,250,176,233,74,125,89
1885 .byte   176,176,250,176,233,74,125,89
1886 .byte   233,233,131,233,27,106,207,242
1887 .byte   233,233,131,233,27,106,207,242
1888 .byte   15,15,60,15,120,51,30,119
1889 .byte   15,15,60,15,120,51,30,119
1890 .byte   213,213,115,213,230,166,183,51
1891 .byte   213,213,115,213,230,166,183,51
1892 .byte   128,128,58,128,116,186,29,244
1893 .byte   128,128,58,128,116,186,29,244
1894 .byte   190,190,194,190,153,124,97,39
1895 .byte   190,190,194,190,153,124,97,39
1896 .byte   205,205,19,205,38,222,135,235
1897 .byte   205,205,19,205,38,222,135,235
1898 .byte   52,52,208,52,189,228,104,137
1899 .byte   52,52,208,52,189,228,104,137
1900 .byte   72,72,61,72,122,117,144,50
1901 .byte   72,72,61,72,122,117,144,50
1902 .byte   255,255,219,255,171,36,227,84
1903 .byte   255,255,219,255,171,36,227,84
1904 .byte   122,122,245,122,247,143,244,141
1905 .byte   122,122,245,122,247,143,244,141
1906 .byte   144,144,122,144,244,234,61,100
1907 .byte   144,144,122,144,244,234,61,100
1908 .byte   95,95,97,95,194,62,190,157
1909 .byte   95,95,97,95,194,62,190,157
1910 .byte   32,32,128,32,29,160,64,61
1911 .byte   32,32,128,32,29,160,64,61
1912 .byte   104,104,189,104,103,213,208,15
1913 .byte   104,104,189,104,103,213,208,15
1914 .byte   26,26,104,26,208,114,52,202
1915 .byte   26,26,104,26,208,114,52,202
1916 .byte   174,174,130,174,25,44,65,183
1917 .byte   174,174,130,174,25,44,65,183
1918 .byte   180,180,234,180,201,94,117,125
1919 .byte   180,180,234,180,201,94,117,125
1920 .byte   84,84,77,84,154,25,168,206
1921 .byte   84,84,77,84,154,25,168,206
1922 .byte   147,147,118,147,236,229,59,127
1923 .byte   147,147,118,147,236,229,59,127
1924 .byte   34,34,136,34,13,170,68,47
1925 .byte   34,34,136,34,13,170,68,47
1926 .byte   100,100,141,100,7,233,200,99
1927 .byte   100,100,141,100,7,233,200,99
1928 .byte   241,241,227,241,219,18,255,42
1929 .byte   241,241,227,241,219,18,255,42
1930 .byte   115,115,209,115,191,162,230,204
1931 .byte   115,115,209,115,191,162,230,204
1932 .byte   18,18,72,18,144,90,36,130
1933 .byte   18,18,72,18,144,90,36,130
1934 .byte   64,64,29,64,58,93,128,122
1935 .byte   64,64,29,64,58,93,128,122
1936 .byte   8,8,32,8,64,40,16,72
1937 .byte   8,8,32,8,64,40,16,72
1938 .byte   195,195,43,195,86,232,155,149
1939 .byte   195,195,43,195,86,232,155,149
1940 .byte   236,236,151,236,51,123,197,223
1941 .byte   236,236,151,236,51,123,197,223
1942 .byte   219,219,75,219,150,144,171,77
1943 .byte   219,219,75,219,150,144,171,77
1944 .byte   161,161,190,161,97,31,95,192
1945 .byte   161,161,190,161,97,31,95,192
1946 .byte   141,141,14,141,28,131,7,145
1947 .byte   141,141,14,141,28,131,7,145
1948 .byte   61,61,244,61,245,201,122,200
1949 .byte   61,61,244,61,245,201,122,200
1950 .byte   151,151,102,151,204,241,51,91
1951 .byte   151,151,102,151,204,241,51,91
1952 .byte   0,0,0,0,0,0,0,0
1953 .byte   0,0,0,0,0,0,0,0
1954 .byte   207,207,27,207,54,212,131,249
1955 .byte   207,207,27,207,54,212,131,249
1956 .byte   43,43,172,43,69,135,86,110
1957 .byte   43,43,172,43,69,135,86,110
1958 .byte   118,118,197,118,151,179,236,225
1959 .byte   118,118,197,118,151,179,236,225
1960 .byte   130,130,50,130,100,176,25,230
1961 .byte   130,130,50,130,100,176,25,230
1962 .byte   214,214,127,214,254,169,177,40
1963 .byte   214,214,127,214,254,169,177,40
1964 .byte   27,27,108,27,216,119,54,195
1965 .byte   27,27,108,27,216,119,54,195
1966 .byte   181,181,238,181,193,91,119,116
1967 .byte   181,181,238,181,193,91,119,116
1968 .byte   175,175,134,175,17,41,67,190
1969 .byte   175,175,134,175,17,41,67,190
1970 .byte   106,106,181,106,119,223,212,29
1971 .byte   106,106,181,106,119,223,212,29
1972 .byte   80,80,93,80,186,13,160,234
1973 .byte   80,80,93,80,186,13,160,234
1974 .byte   69,69,9,69,18,76,138,87
1975 .byte   69,69,9,69,18,76,138,87
1976 .byte   243,243,235,243,203,24,251,56
1977 .byte   243,243,235,243,203,24,251,56
1978 .byte   48,48,192,48,157,240,96,173
1979 .byte   48,48,192,48,157,240,96,173
1980 .byte   239,239,155,239,43,116,195,196
1981 .byte   239,239,155,239,43,116,195,196
1982 .byte   63,63,252,63,229,195,126,218
1983 .byte   63,63,252,63,229,195,126,218
1984 .byte   85,85,73,85,146,28,170,199
1985 .byte   85,85,73,85,146,28,170,199
1986 .byte   162,162,178,162,121,16,89,219
1987 .byte   162,162,178,162,121,16,89,219
1988 .byte   234,234,143,234,3,101,201,233
1989 .byte   234,234,143,234,3,101,201,233
1990 .byte   101,101,137,101,15,236,202,106
1991 .byte   101,101,137,101,15,236,202,106
1992 .byte   186,186,210,186,185,104,105,3
1993 .byte   186,186,210,186,185,104,105,3
1994 .byte   47,47,188,47,101,147,94,74
1995 .byte   47,47,188,47,101,147,94,74
1996 .byte   192,192,39,192,78,231,157,142
1997 .byte   192,192,39,192,78,231,157,142
1998 .byte   222,222,95,222,190,129,161,96
1999 .byte   222,222,95,222,190,129,161,96
2000 .byte   28,28,112,28,224,108,56,252
2001 .byte   28,28,112,28,224,108,56,252
2002 .byte   253,253,211,253,187,46,231,70
2003 .byte   253,253,211,253,187,46,231,70
2004 .byte   77,77,41,77,82,100,154,31
2005 .byte   77,77,41,77,82,100,154,31
2006 .byte   146,146,114,146,228,224,57,118
2007 .byte   146,146,114,146,228,224,57,118
2008 .byte   117,117,201,117,143,188,234,250
2009 .byte   117,117,201,117,143,188,234,250
2010 .byte   6,6,24,6,48,30,12,54
2011 .byte   6,6,24,6,48,30,12,54
2012 .byte   138,138,18,138,36,152,9,174
2013 .byte   138,138,18,138,36,152,9,174
2014 .byte   178,178,242,178,249,64,121,75
2015 .byte   178,178,242,178,249,64,121,75
2016 .byte   230,230,191,230,99,89,209,133
2017 .byte   230,230,191,230,99,89,209,133
2018 .byte   14,14,56,14,112,54,28,126
2019 .byte   14,14,56,14,112,54,28,126
2020 .byte   31,31,124,31,248,99,62,231
2021 .byte   31,31,124,31,248,99,62,231
2022 .byte   98,98,149,98,55,247,196,85
2023 .byte   98,98,149,98,55,247,196,85
2024 .byte   212,212,119,212,238,163,181,58
2025 .byte   212,212,119,212,238,163,181,58
2026 .byte   168,168,154,168,41,50,77,129
2027 .byte   168,168,154,168,41,50,77,129
2028 .byte   150,150,98,150,196,244,49,82
2029 .byte   150,150,98,150,196,244,49,82
2030 .byte   249,249,195,249,155,58,239,98
2031 .byte   249,249,195,249,155,58,239,98
2032 .byte   197,197,51,197,102,246,151,163
2033 .byte   197,197,51,197,102,246,151,163
2034 .byte   37,37,148,37,53,177,74,16
2035 .byte   37,37,148,37,53,177,74,16
2036 .byte   89,89,121,89,242,32,178,171
2037 .byte   89,89,121,89,242,32,178,171
2038 .byte   132,132,42,132,84,174,21,208
2039 .byte   132,132,42,132,84,174,21,208
2040 .byte   114,114,213,114,183,167,228,197
2041 .byte   114,114,213,114,183,167,228,197
2042 .byte   57,57,228,57,213,221,114,236
2043 .byte   57,57,228,57,213,221,114,236
2044 .byte   76,76,45,76,90,97,152,22
2045 .byte   76,76,45,76,90,97,152,22
2046 .byte   94,94,101,94,202,59,188,148
2047 .byte   94,94,101,94,202,59,188,148
2048 .byte   120,120,253,120,231,133,240,159
2049 .byte   120,120,253,120,231,133,240,159
2050 .byte   56,56,224,56,221,216,112,229
2051 .byte   56,56,224,56,221,216,112,229
2052 .byte   140,140,10,140,20,134,5,152
2053 .byte   140,140,10,140,20,134,5,152
2054 .byte   209,209,99,209,198,178,191,23
2055 .byte   209,209,99,209,198,178,191,23
2056 .byte   165,165,174,165,65,11,87,228
2057 .byte   165,165,174,165,65,11,87,228
2058 .byte   226,226,175,226,67,77,217,161
2059 .byte   226,226,175,226,67,77,217,161
2060 .byte   97,97,153,97,47,248,194,78
2061 .byte   97,97,153,97,47,248,194,78
2062 .byte   179,179,246,179,241,69,123,66
2063 .byte   179,179,246,179,241,69,123,66
2064 .byte   33,33,132,33,21,165,66,52
2065 .byte   33,33,132,33,21,165,66,52
2066 .byte   156,156,74,156,148,214,37,8
2067 .byte   156,156,74,156,148,214,37,8
2068 .byte   30,30,120,30,240,102,60,238
2069 .byte   30,30,120,30,240,102,60,238
2070 .byte   67,67,17,67,34,82,134,97
2071 .byte   67,67,17,67,34,82,134,97
2072 .byte   199,199,59,199,118,252,147,177
2073 .byte   199,199,59,199,118,252,147,177
2074 .byte   252,252,215,252,179,43,229,79
2075 .byte   252,252,215,252,179,43,229,79
2076 .byte   4,4,16,4,32,20,8,36
2077 .byte   4,4,16,4,32,20,8,36
2078 .byte   81,81,89,81,178,8,162,227
2079 .byte   81,81,89,81,178,8,162,227
2080 .byte   153,153,94,153,188,199,47,37
2081 .byte   153,153,94,153,188,199,47,37
2082 .byte   109,109,169,109,79,196,218,34
2083 .byte   109,109,169,109,79,196,218,34
2084 .byte   13,13,52,13,104,57,26,101
2085 .byte   13,13,52,13,104,57,26,101
2086 .byte   250,250,207,250,131,53,233,121
2087 .byte   250,250,207,250,131,53,233,121
2088 .byte   223,223,91,223,182,132,163,105
2089 .byte   223,223,91,223,182,132,163,105
2090 .byte   126,126,229,126,215,155,252,169
2091 .byte   126,126,229,126,215,155,252,169
2092 .byte   36,36,144,36,61,180,72,25
2093 .byte   36,36,144,36,61,180,72,25
2094 .byte   59,59,236,59,197,215,118,254
2095 .byte   59,59,236,59,197,215,118,254
2096 .byte   171,171,150,171,49,61,75,154
2097 .byte   171,171,150,171,49,61,75,154
2098 .byte   206,206,31,206,62,209,129,240
2099 .byte   206,206,31,206,62,209,129,240
2100 .byte   17,17,68,17,136,85,34,153
2101 .byte   17,17,68,17,136,85,34,153
2102 .byte   143,143,6,143,12,137,3,131
2103 .byte   143,143,6,143,12,137,3,131
2104 .byte   78,78,37,78,74,107,156,4
2105 .byte   78,78,37,78,74,107,156,4
2106 .byte   183,183,230,183,209,81,115,102
2107 .byte   183,183,230,183,209,81,115,102
2108 .byte   235,235,139,235,11,96,203,224
2109 .byte   235,235,139,235,11,96,203,224
2110 .byte   60,60,240,60,253,204,120,193
2111 .byte   60,60,240,60,253,204,120,193
2112 .byte   129,129,62,129,124,191,31,253
2113 .byte   129,129,62,129,124,191,31,253
2114 .byte   148,148,106,148,212,254,53,64
2115 .byte   148,148,106,148,212,254,53,64
2116 .byte   247,247,251,247,235,12,243,28
2117 .byte   247,247,251,247,235,12,243,28
2118 .byte   185,185,222,185,161,103,111,24
2119 .byte   185,185,222,185,161,103,111,24
2120 .byte   19,19,76,19,152,95,38,139
2121 .byte   19,19,76,19,152,95,38,139
2122 .byte   44,44,176,44,125,156,88,81
2123 .byte   44,44,176,44,125,156,88,81
2124 .byte   211,211,107,211,214,184,187,5
2125 .byte   211,211,107,211,214,184,187,5
2126 .byte   231,231,187,231,107,92,211,140
2127 .byte   231,231,187,231,107,92,211,140
2128 .byte   110,110,165,110,87,203,220,57
2129 .byte   110,110,165,110,87,203,220,57
2130 .byte   196,196,55,196,110,243,149,170
2131 .byte   196,196,55,196,110,243,149,170
2132 .byte   3,3,12,3,24,15,6,27
2133 .byte   3,3,12,3,24,15,6,27
2134 .byte   86,86,69,86,138,19,172,220
2135 .byte   86,86,69,86,138,19,172,220
2136 .byte   68,68,13,68,26,73,136,94
2137 .byte   68,68,13,68,26,73,136,94
2138 .byte   127,127,225,127,223,158,254,160
2139 .byte   127,127,225,127,223,158,254,160
2140 .byte   169,169,158,169,33,55,79,136
2141 .byte   169,169,158,169,33,55,79,136
2142 .byte   42,42,168,42,77,130,84,103
2143 .byte   42,42,168,42,77,130,84,103
2144 .byte   187,187,214,187,177,109,107,10
2145 .byte   187,187,214,187,177,109,107,10
2146 .byte   193,193,35,193,70,226,159,135
2147 .byte   193,193,35,193,70,226,159,135
2148 .byte   83,83,81,83,162,2,166,241
2149 .byte   83,83,81,83,162,2,166,241
2150 .byte   220,220,87,220,174,139,165,114
2151 .byte   220,220,87,220,174,139,165,114
2152 .byte   11,11,44,11,88,39,22,83
2153 .byte   11,11,44,11,88,39,22,83
2154 .byte   157,157,78,157,156,211,39,1
2155 .byte   157,157,78,157,156,211,39,1
2156 .byte   108,108,173,108,71,193,216,43
2157 .byte   108,108,173,108,71,193,216,43
2158 .byte   49,49,196,49,149,245,98,164
2159 .byte   49,49,196,49,149,245,98,164
2160 .byte   116,116,205,116,135,185,232,243
2161 .byte   116,116,205,116,135,185,232,243
2162 .byte   246,246,255,246,227,9,241,21
2163 .byte   246,246,255,246,227,9,241,21
2164 .byte   70,70,5,70,10,67,140,76
2165 .byte   70,70,5,70,10,67,140,76
2166 .byte   172,172,138,172,9,38,69,165
2167 .byte   172,172,138,172,9,38,69,165
2168 .byte   137,137,30,137,60,151,15,181
2169 .byte   137,137,30,137,60,151,15,181
2170 .byte   20,20,80,20,160,68,40,180
2171 .byte   20,20,80,20,160,68,40,180
2172 .byte   225,225,163,225,91,66,223,186
2173 .byte   225,225,163,225,91,66,223,186
2174 .byte   22,22,88,22,176,78,44,166
2175 .byte   22,22,88,22,176,78,44,166
2176 .byte   58,58,232,58,205,210,116,247
2177 .byte   58,58,232,58,205,210,116,247
2178 .byte   105,105,185,105,111,208,210,6
2179 .byte   105,105,185,105,111,208,210,6
2180 .byte   9,9,36,9,72,45,18,65
2181 .byte   9,9,36,9,72,45,18,65
2182 .byte   112,112,221,112,167,173,224,215
2183 .byte   112,112,221,112,167,173,224,215
2184 .byte   182,182,226,182,217,84,113,111
2185 .byte   182,182,226,182,217,84,113,111
2186 .byte   208,208,103,208,206,183,189,30
2187 .byte   208,208,103,208,206,183,189,30
2188 .byte   237,237,147,237,59,126,199,214
2189 .byte   237,237,147,237,59,126,199,214
2190 .byte   204,204,23,204,46,219,133,226
2191 .byte   204,204,23,204,46,219,133,226
2192 .byte   66,66,21,66,42,87,132,104
2193 .byte   66,66,21,66,42,87,132,104
2194 .byte   152,152,90,152,180,194,45,44
2195 .byte   152,152,90,152,180,194,45,44
2196 .byte   164,164,170,164,73,14,85,237
2197 .byte   164,164,170,164,73,14,85,237
2198 .byte   40,40,160,40,93,136,80,117
2199 .byte   40,40,160,40,93,136,80,117
2200 .byte   92,92,109,92,218,49,184,134
2201 .byte   92,92,109,92,218,49,184,134
2202 .byte   248,248,199,248,147,63,237,107
2203 .byte   248,248,199,248,147,63,237,107
2204 .byte   134,134,34,134,68,164,17,194
2205 .byte   134,134,34,134,68,164,17,194
2206 .byte   24,35,198,232,135,184,1,79
2207 .byte   54,166,210,245,121,111,145,82
2208 .byte   96,188,155,142,163,12,123,53
2209 .byte   29,224,215,194,46,75,254,87
2210 .byte   21,119,55,229,159,240,74,218
2211 .byte   88,201,41,10,177,160,107,133
2212 .byte   189,93,16,244,203,62,5,103
2213 .byte   228,39,65,139,167,125,149,216
2214 .byte   251,238,124,102,221,23,71,158
2215 .byte   202,45,191,7,173,90,131,51
2216 .size   whirlpool_block_mmx,.-.L_whirlpool_block_mmx_begin
2217 #endif