Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(28)

Side by Side Diff: openssl/crypto/aes/asm/aes-x86_64.S

Issue 2072073002: Delete bundled copy of OpenSSL and replace with README. (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/openssl@master
Patch Set: Delete bundled copy of OpenSSL and replace with README. Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « openssl/crypto/aes/asm/aes-sparcv9.pl ('k') | openssl/crypto/aes/asm/aes-x86_64.pl » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 .text
2 .type _x86_64_AES_encrypt,@function
3 .align 16
4 _x86_64_AES_encrypt:
5 xorl 0(%r15),%eax
6 xorl 4(%r15),%ebx
7 xorl 8(%r15),%ecx
8 xorl 12(%r15),%edx
9
10 movl 240(%r15),%r13d
11 subl $1,%r13d
12 jmp .Lenc_loop
13 .align 16
14 .Lenc_loop:
15
16 movzbl %al,%esi
17 movzbl %bl,%edi
18 movzbl %cl,%ebp
19 movl 0(%r14,%rsi,8),%r10d
20 movl 0(%r14,%rdi,8),%r11d
21 movl 0(%r14,%rbp,8),%r12d
22
23 movzbl %bh,%esi
24 movzbl %ch,%edi
25 movzbl %dl,%ebp
26 xorl 3(%r14,%rsi,8),%r10d
27 xorl 3(%r14,%rdi,8),%r11d
28 movl 0(%r14,%rbp,8),%r8d
29
30 movzbl %dh,%esi
31 shrl $16,%ecx
32 movzbl %ah,%ebp
33 xorl 3(%r14,%rsi,8),%r12d
34 shrl $16,%edx
35 xorl 3(%r14,%rbp,8),%r8d
36
37 shrl $16,%ebx
38 leaq 16(%r15),%r15
39 shrl $16,%eax
40
41 movzbl %cl,%esi
42 movzbl %dl,%edi
43 movzbl %al,%ebp
44 xorl 2(%r14,%rsi,8),%r10d
45 xorl 2(%r14,%rdi,8),%r11d
46 xorl 2(%r14,%rbp,8),%r12d
47
48 movzbl %dh,%esi
49 movzbl %ah,%edi
50 movzbl %bl,%ebp
51 xorl 1(%r14,%rsi,8),%r10d
52 xorl 1(%r14,%rdi,8),%r11d
53 xorl 2(%r14,%rbp,8),%r8d
54
55 movl 12(%r15),%edx
56 movzbl %bh,%edi
57 movzbl %ch,%ebp
58 movl 0(%r15),%eax
59 xorl 1(%r14,%rdi,8),%r12d
60 xorl 1(%r14,%rbp,8),%r8d
61
62 movl 4(%r15),%ebx
63 movl 8(%r15),%ecx
64 xorl %r10d,%eax
65 xorl %r11d,%ebx
66 xorl %r12d,%ecx
67 xorl %r8d,%edx
68 subl $1,%r13d
69 jnz .Lenc_loop
70 movzbl %al,%esi
71 movzbl %bl,%edi
72 movzbl %cl,%ebp
73 movzbl 2(%r14,%rsi,8),%r10d
74 movzbl 2(%r14,%rdi,8),%r11d
75 movzbl 2(%r14,%rbp,8),%r12d
76
77 movzbl %dl,%esi
78 movzbl %bh,%edi
79 movzbl %ch,%ebp
80 movzbl 2(%r14,%rsi,8),%r8d
81 movl 0(%r14,%rdi,8),%edi
82 movl 0(%r14,%rbp,8),%ebp
83
84 andl $65280,%edi
85 andl $65280,%ebp
86
87 xorl %edi,%r10d
88 xorl %ebp,%r11d
89 shrl $16,%ecx
90
91 movzbl %dh,%esi
92 movzbl %ah,%edi
93 shrl $16,%edx
94 movl 0(%r14,%rsi,8),%esi
95 movl 0(%r14,%rdi,8),%edi
96
97 andl $65280,%esi
98 andl $65280,%edi
99 shrl $16,%ebx
100 xorl %esi,%r12d
101 xorl %edi,%r8d
102 shrl $16,%eax
103
104 movzbl %cl,%esi
105 movzbl %dl,%edi
106 movzbl %al,%ebp
107 movl 0(%r14,%rsi,8),%esi
108 movl 0(%r14,%rdi,8),%edi
109 movl 0(%r14,%rbp,8),%ebp
110
111 andl $16711680,%esi
112 andl $16711680,%edi
113 andl $16711680,%ebp
114
115 xorl %esi,%r10d
116 xorl %edi,%r11d
117 xorl %ebp,%r12d
118
119 movzbl %bl,%esi
120 movzbl %dh,%edi
121 movzbl %ah,%ebp
122 movl 0(%r14,%rsi,8),%esi
123 movl 2(%r14,%rdi,8),%edi
124 movl 2(%r14,%rbp,8),%ebp
125
126 andl $16711680,%esi
127 andl $4278190080,%edi
128 andl $4278190080,%ebp
129
130 xorl %esi,%r8d
131 xorl %edi,%r10d
132 xorl %ebp,%r11d
133
134 movzbl %bh,%esi
135 movzbl %ch,%edi
136 movl 16+12(%r15),%edx
137 movl 2(%r14,%rsi,8),%esi
138 movl 2(%r14,%rdi,8),%edi
139 movl 16+0(%r15),%eax
140
141 andl $4278190080,%esi
142 andl $4278190080,%edi
143
144 xorl %esi,%r12d
145 xorl %edi,%r8d
146
147 movl 16+4(%r15),%ebx
148 movl 16+8(%r15),%ecx
149 xorl %r10d,%eax
150 xorl %r11d,%ebx
151 xorl %r12d,%ecx
152 xorl %r8d,%edx
153 .byte 0xf3,0xc3
154 .size _x86_64_AES_encrypt,.-_x86_64_AES_encrypt
155 .type _x86_64_AES_encrypt_compact,@function
156 .align 16
157 _x86_64_AES_encrypt_compact:
158 leaq 128(%r14),%r8
159 movl 0-128(%r8),%edi
160 movl 32-128(%r8),%ebp
161 movl 64-128(%r8),%r10d
162 movl 96-128(%r8),%r11d
163 movl 128-128(%r8),%edi
164 movl 160-128(%r8),%ebp
165 movl 192-128(%r8),%r10d
166 movl 224-128(%r8),%r11d
167 jmp .Lenc_loop_compact
168 .align 16
169 .Lenc_loop_compact:
170 xorl 0(%r15),%eax
171 xorl 4(%r15),%ebx
172 xorl 8(%r15),%ecx
173 xorl 12(%r15),%edx
174 leaq 16(%r15),%r15
175 movzbl %al,%r10d
176 movzbl %bl,%r11d
177 movzbl %cl,%r12d
178 movzbl (%r14,%r10,1),%r10d
179 movzbl (%r14,%r11,1),%r11d
180 movzbl (%r14,%r12,1),%r12d
181
182 movzbl %dl,%r8d
183 movzbl %bh,%esi
184 movzbl %ch,%edi
185 movzbl (%r14,%r8,1),%r8d
186 movzbl (%r14,%rsi,1),%r9d
187 movzbl (%r14,%rdi,1),%r13d
188
189 movzbl %dh,%ebp
190 movzbl %ah,%esi
191 shrl $16,%ecx
192 movzbl (%r14,%rbp,1),%ebp
193 movzbl (%r14,%rsi,1),%esi
194 shrl $16,%edx
195
196 movzbl %cl,%edi
197 shll $8,%r9d
198 shll $8,%r13d
199 movzbl (%r14,%rdi,1),%edi
200 xorl %r9d,%r10d
201 xorl %r13d,%r11d
202
203 movzbl %dl,%r9d
204 shrl $16,%eax
205 shrl $16,%ebx
206 movzbl %al,%r13d
207 shll $8,%ebp
208 shll $8,%esi
209 movzbl (%r14,%r9,1),%r9d
210 movzbl (%r14,%r13,1),%r13d
211 xorl %ebp,%r12d
212 xorl %esi,%r8d
213
214 movzbl %bl,%ebp
215 movzbl %dh,%esi
216 shll $16,%edi
217 movzbl (%r14,%rbp,1),%ebp
218 movzbl (%r14,%rsi,1),%esi
219 xorl %edi,%r10d
220
221 movzbl %ah,%edi
222 shrl $8,%ecx
223 shrl $8,%ebx
224 movzbl (%r14,%rdi,1),%edi
225 movzbl (%r14,%rcx,1),%edx
226 movzbl (%r14,%rbx,1),%ecx
227 shll $16,%r9d
228 shll $16,%r13d
229 shll $16,%ebp
230 xorl %r9d,%r11d
231 xorl %r13d,%r12d
232 xorl %ebp,%r8d
233
234 shll $24,%esi
235 shll $24,%edi
236 shll $24,%edx
237 xorl %esi,%r10d
238 shll $24,%ecx
239 xorl %edi,%r11d
240 movl %r10d,%eax
241 movl %r11d,%ebx
242 xorl %r12d,%ecx
243 xorl %r8d,%edx
244 cmpq 16(%rsp),%r15
245 je .Lenc_compact_done
246 movl %eax,%esi
247 movl %ebx,%edi
248 andl $2155905152,%esi
249 andl $2155905152,%edi
250 movl %esi,%r10d
251 movl %edi,%r11d
252 shrl $7,%r10d
253 leal (%rax,%rax,1),%r8d
254 shrl $7,%r11d
255 leal (%rbx,%rbx,1),%r9d
256 subl %r10d,%esi
257 subl %r11d,%edi
258 andl $4278124286,%r8d
259 andl $4278124286,%r9d
260 andl $454761243,%esi
261 andl $454761243,%edi
262 movl %eax,%r10d
263 movl %ebx,%r11d
264 xorl %esi,%r8d
265 xorl %edi,%r9d
266
267 xorl %r8d,%eax
268 xorl %r9d,%ebx
269 movl %ecx,%esi
270 movl %edx,%edi
271 roll $24,%eax
272 roll $24,%ebx
273 andl $2155905152,%esi
274 andl $2155905152,%edi
275 xorl %r8d,%eax
276 xorl %r9d,%ebx
277 movl %esi,%r12d
278 movl %edi,%ebp
279 rorl $16,%r10d
280 rorl $16,%r11d
281 shrl $7,%r12d
282 leal (%rcx,%rcx,1),%r8d
283 xorl %r10d,%eax
284 xorl %r11d,%ebx
285 shrl $7,%ebp
286 leal (%rdx,%rdx,1),%r9d
287 rorl $8,%r10d
288 rorl $8,%r11d
289 subl %r12d,%esi
290 subl %ebp,%edi
291 xorl %r10d,%eax
292 xorl %r11d,%ebx
293
294 andl $4278124286,%r8d
295 andl $4278124286,%r9d
296 andl $454761243,%esi
297 andl $454761243,%edi
298 movl %ecx,%r12d
299 movl %edx,%ebp
300 xorl %esi,%r8d
301 xorl %edi,%r9d
302
303 xorl %r8d,%ecx
304 xorl %r9d,%edx
305 roll $24,%ecx
306 roll $24,%edx
307 xorl %r8d,%ecx
308 xorl %r9d,%edx
309 movl 0(%r14),%esi
310 rorl $16,%r12d
311 rorl $16,%ebp
312 movl 64(%r14),%edi
313 xorl %r12d,%ecx
314 xorl %ebp,%edx
315 movl 128(%r14),%r8d
316 rorl $8,%r12d
317 rorl $8,%ebp
318 movl 192(%r14),%r9d
319 xorl %r12d,%ecx
320 xorl %ebp,%edx
321 jmp .Lenc_loop_compact
322 .align 16
323 .Lenc_compact_done:
324 xorl 0(%r15),%eax
325 xorl 4(%r15),%ebx
326 xorl 8(%r15),%ecx
327 xorl 12(%r15),%edx
328 .byte 0xf3,0xc3
329 .size _x86_64_AES_encrypt_compact,.-_x86_64_AES_encrypt_compact
330 .globl AES_encrypt
331 .type AES_encrypt,@function
332 .align 16
333 .globl asm_AES_encrypt
334 .hidden asm_AES_encrypt
335 asm_AES_encrypt:
336 AES_encrypt:
337 pushq %rbx
338 pushq %rbp
339 pushq %r12
340 pushq %r13
341 pushq %r14
342 pushq %r15
343
344
345 movq %rsp,%r10
346 leaq -63(%rdx),%rcx
347 andq $-64,%rsp
348 subq %rsp,%rcx
349 negq %rcx
350 andq $960,%rcx
351 subq %rcx,%rsp
352 subq $32,%rsp
353
354 movq %rsi,16(%rsp)
355 movq %r10,24(%rsp)
356 .Lenc_prologue:
357
358 movq %rdx,%r15
359 movl 240(%r15),%r13d
360
361 movl 0(%rdi),%eax
362 movl 4(%rdi),%ebx
363 movl 8(%rdi),%ecx
364 movl 12(%rdi),%edx
365
366 shll $4,%r13d
367 leaq (%r15,%r13,1),%rbp
368 movq %r15,(%rsp)
369 movq %rbp,8(%rsp)
370
371
372 leaq .LAES_Te+2048(%rip),%r14
373 leaq 768(%rsp),%rbp
374 subq %r14,%rbp
375 andq $768,%rbp
376 leaq (%r14,%rbp,1),%r14
377
378 call _x86_64_AES_encrypt_compact
379
380 movq 16(%rsp),%r9
381 movq 24(%rsp),%rsi
382 movl %eax,0(%r9)
383 movl %ebx,4(%r9)
384 movl %ecx,8(%r9)
385 movl %edx,12(%r9)
386
387 movq (%rsi),%r15
388 movq 8(%rsi),%r14
389 movq 16(%rsi),%r13
390 movq 24(%rsi),%r12
391 movq 32(%rsi),%rbp
392 movq 40(%rsi),%rbx
393 leaq 48(%rsi),%rsp
394 .Lenc_epilogue:
395 .byte 0xf3,0xc3
396 .size AES_encrypt,.-AES_encrypt
397 .type _x86_64_AES_decrypt,@function
398 .align 16
399 _x86_64_AES_decrypt:
400 xorl 0(%r15),%eax
401 xorl 4(%r15),%ebx
402 xorl 8(%r15),%ecx
403 xorl 12(%r15),%edx
404
405 movl 240(%r15),%r13d
406 subl $1,%r13d
407 jmp .Ldec_loop
408 .align 16
409 .Ldec_loop:
410
411 movzbl %al,%esi
412 movzbl %bl,%edi
413 movzbl %cl,%ebp
414 movl 0(%r14,%rsi,8),%r10d
415 movl 0(%r14,%rdi,8),%r11d
416 movl 0(%r14,%rbp,8),%r12d
417
418 movzbl %dh,%esi
419 movzbl %ah,%edi
420 movzbl %dl,%ebp
421 xorl 3(%r14,%rsi,8),%r10d
422 xorl 3(%r14,%rdi,8),%r11d
423 movl 0(%r14,%rbp,8),%r8d
424
425 movzbl %bh,%esi
426 shrl $16,%eax
427 movzbl %ch,%ebp
428 xorl 3(%r14,%rsi,8),%r12d
429 shrl $16,%edx
430 xorl 3(%r14,%rbp,8),%r8d
431
432 shrl $16,%ebx
433 leaq 16(%r15),%r15
434 shrl $16,%ecx
435
436 movzbl %cl,%esi
437 movzbl %dl,%edi
438 movzbl %al,%ebp
439 xorl 2(%r14,%rsi,8),%r10d
440 xorl 2(%r14,%rdi,8),%r11d
441 xorl 2(%r14,%rbp,8),%r12d
442
443 movzbl %bh,%esi
444 movzbl %ch,%edi
445 movzbl %bl,%ebp
446 xorl 1(%r14,%rsi,8),%r10d
447 xorl 1(%r14,%rdi,8),%r11d
448 xorl 2(%r14,%rbp,8),%r8d
449
450 movzbl %dh,%esi
451 movl 12(%r15),%edx
452 movzbl %ah,%ebp
453 xorl 1(%r14,%rsi,8),%r12d
454 movl 0(%r15),%eax
455 xorl 1(%r14,%rbp,8),%r8d
456
457 xorl %r10d,%eax
458 movl 4(%r15),%ebx
459 movl 8(%r15),%ecx
460 xorl %r12d,%ecx
461 xorl %r11d,%ebx
462 xorl %r8d,%edx
463 subl $1,%r13d
464 jnz .Ldec_loop
465 leaq 2048(%r14),%r14
466 movzbl %al,%esi
467 movzbl %bl,%edi
468 movzbl %cl,%ebp
469 movzbl (%r14,%rsi,1),%r10d
470 movzbl (%r14,%rdi,1),%r11d
471 movzbl (%r14,%rbp,1),%r12d
472
473 movzbl %dl,%esi
474 movzbl %dh,%edi
475 movzbl %ah,%ebp
476 movzbl (%r14,%rsi,1),%r8d
477 movzbl (%r14,%rdi,1),%edi
478 movzbl (%r14,%rbp,1),%ebp
479
480 shll $8,%edi
481 shll $8,%ebp
482
483 xorl %edi,%r10d
484 xorl %ebp,%r11d
485 shrl $16,%edx
486
487 movzbl %bh,%esi
488 movzbl %ch,%edi
489 shrl $16,%eax
490 movzbl (%r14,%rsi,1),%esi
491 movzbl (%r14,%rdi,1),%edi
492
493 shll $8,%esi
494 shll $8,%edi
495 shrl $16,%ebx
496 xorl %esi,%r12d
497 xorl %edi,%r8d
498 shrl $16,%ecx
499
500 movzbl %cl,%esi
501 movzbl %dl,%edi
502 movzbl %al,%ebp
503 movzbl (%r14,%rsi,1),%esi
504 movzbl (%r14,%rdi,1),%edi
505 movzbl (%r14,%rbp,1),%ebp
506
507 shll $16,%esi
508 shll $16,%edi
509 shll $16,%ebp
510
511 xorl %esi,%r10d
512 xorl %edi,%r11d
513 xorl %ebp,%r12d
514
515 movzbl %bl,%esi
516 movzbl %bh,%edi
517 movzbl %ch,%ebp
518 movzbl (%r14,%rsi,1),%esi
519 movzbl (%r14,%rdi,1),%edi
520 movzbl (%r14,%rbp,1),%ebp
521
522 shll $16,%esi
523 shll $24,%edi
524 shll $24,%ebp
525
526 xorl %esi,%r8d
527 xorl %edi,%r10d
528 xorl %ebp,%r11d
529
530 movzbl %dh,%esi
531 movzbl %ah,%edi
532 movl 16+12(%r15),%edx
533 movzbl (%r14,%rsi,1),%esi
534 movzbl (%r14,%rdi,1),%edi
535 movl 16+0(%r15),%eax
536
537 shll $24,%esi
538 shll $24,%edi
539
540 xorl %esi,%r12d
541 xorl %edi,%r8d
542
543 movl 16+4(%r15),%ebx
544 movl 16+8(%r15),%ecx
545 leaq -2048(%r14),%r14
546 xorl %r10d,%eax
547 xorl %r11d,%ebx
548 xorl %r12d,%ecx
549 xorl %r8d,%edx
550 .byte 0xf3,0xc3
551 .size _x86_64_AES_decrypt,.-_x86_64_AES_decrypt
552 .type _x86_64_AES_decrypt_compact,@function
553 .align 16
554 _x86_64_AES_decrypt_compact:
555 leaq 128(%r14),%r8
556 movl 0-128(%r8),%edi
557 movl 32-128(%r8),%ebp
558 movl 64-128(%r8),%r10d
559 movl 96-128(%r8),%r11d
560 movl 128-128(%r8),%edi
561 movl 160-128(%r8),%ebp
562 movl 192-128(%r8),%r10d
563 movl 224-128(%r8),%r11d
564 jmp .Ldec_loop_compact
565
566 .align 16
567 .Ldec_loop_compact:
568 xorl 0(%r15),%eax
569 xorl 4(%r15),%ebx
570 xorl 8(%r15),%ecx
571 xorl 12(%r15),%edx
572 leaq 16(%r15),%r15
573 movzbl %al,%r10d
574 movzbl %bl,%r11d
575 movzbl %cl,%r12d
576 movzbl (%r14,%r10,1),%r10d
577 movzbl (%r14,%r11,1),%r11d
578 movzbl (%r14,%r12,1),%r12d
579
580 movzbl %dl,%r8d
581 movzbl %dh,%esi
582 movzbl %ah,%edi
583 movzbl (%r14,%r8,1),%r8d
584 movzbl (%r14,%rsi,1),%r9d
585 movzbl (%r14,%rdi,1),%r13d
586
587 movzbl %bh,%ebp
588 movzbl %ch,%esi
589 shrl $16,%ecx
590 movzbl (%r14,%rbp,1),%ebp
591 movzbl (%r14,%rsi,1),%esi
592 shrl $16,%edx
593
594 movzbl %cl,%edi
595 shll $8,%r9d
596 shll $8,%r13d
597 movzbl (%r14,%rdi,1),%edi
598 xorl %r9d,%r10d
599 xorl %r13d,%r11d
600
601 movzbl %dl,%r9d
602 shrl $16,%eax
603 shrl $16,%ebx
604 movzbl %al,%r13d
605 shll $8,%ebp
606 shll $8,%esi
607 movzbl (%r14,%r9,1),%r9d
608 movzbl (%r14,%r13,1),%r13d
609 xorl %ebp,%r12d
610 xorl %esi,%r8d
611
612 movzbl %bl,%ebp
613 movzbl %bh,%esi
614 shll $16,%edi
615 movzbl (%r14,%rbp,1),%ebp
616 movzbl (%r14,%rsi,1),%esi
617 xorl %edi,%r10d
618
619 movzbl %ch,%edi
620 shll $16,%r9d
621 shll $16,%r13d
622 movzbl (%r14,%rdi,1),%ebx
623 xorl %r9d,%r11d
624 xorl %r13d,%r12d
625
626 movzbl %dh,%edi
627 shrl $8,%eax
628 shll $16,%ebp
629 movzbl (%r14,%rdi,1),%ecx
630 movzbl (%r14,%rax,1),%edx
631 xorl %ebp,%r8d
632
633 shll $24,%esi
634 shll $24,%ebx
635 shll $24,%ecx
636 xorl %esi,%r10d
637 shll $24,%edx
638 xorl %r11d,%ebx
639 movl %r10d,%eax
640 xorl %r12d,%ecx
641 xorl %r8d,%edx
642 cmpq 16(%rsp),%r15
643 je .Ldec_compact_done
644
645 movq 256+0(%r14),%rsi
646 shlq $32,%rbx
647 shlq $32,%rdx
648 movq 256+8(%r14),%rdi
649 orq %rbx,%rax
650 orq %rdx,%rcx
651 movq 256+16(%r14),%rbp
652 movq %rax,%rbx
653 movq %rcx,%rdx
654 andq %rsi,%rbx
655 andq %rsi,%rdx
656 movq %rbx,%r9
657 movq %rdx,%r12
658 shrq $7,%r9
659 leaq (%rax,%rax,1),%r8
660 shrq $7,%r12
661 leaq (%rcx,%rcx,1),%r11
662 subq %r9,%rbx
663 subq %r12,%rdx
664 andq %rdi,%r8
665 andq %rdi,%r11
666 andq %rbp,%rbx
667 andq %rbp,%rdx
668 xorq %r8,%rbx
669 xorq %r11,%rdx
670 movq %rbx,%r8
671 movq %rdx,%r11
672
673 andq %rsi,%rbx
674 andq %rsi,%rdx
675 movq %rbx,%r10
676 movq %rdx,%r13
677 shrq $7,%r10
678 leaq (%r8,%r8,1),%r9
679 shrq $7,%r13
680 leaq (%r11,%r11,1),%r12
681 subq %r10,%rbx
682 subq %r13,%rdx
683 andq %rdi,%r9
684 andq %rdi,%r12
685 andq %rbp,%rbx
686 andq %rbp,%rdx
687 xorq %r9,%rbx
688 xorq %r12,%rdx
689 movq %rbx,%r9
690 movq %rdx,%r12
691
692 andq %rsi,%rbx
693 andq %rsi,%rdx
694 movq %rbx,%r10
695 movq %rdx,%r13
696 shrq $7,%r10
697 xorq %rax,%r8
698 shrq $7,%r13
699 xorq %rcx,%r11
700 subq %r10,%rbx
701 subq %r13,%rdx
702 leaq (%r9,%r9,1),%r10
703 leaq (%r12,%r12,1),%r13
704 xorq %rax,%r9
705 xorq %rcx,%r12
706 andq %rdi,%r10
707 andq %rdi,%r13
708 andq %rbp,%rbx
709 andq %rbp,%rdx
710 xorq %rbx,%r10
711 xorq %rdx,%r13
712
713 xorq %r10,%rax
714 xorq %r13,%rcx
715 xorq %r10,%r8
716 xorq %r13,%r11
717 movq %rax,%rbx
718 movq %rcx,%rdx
719 xorq %r10,%r9
720 xorq %r13,%r12
721 shrq $32,%rbx
722 shrq $32,%rdx
723 xorq %r8,%r10
724 xorq %r11,%r13
725 roll $8,%eax
726 roll $8,%ecx
727 xorq %r9,%r10
728 xorq %r12,%r13
729
730 roll $8,%ebx
731 roll $8,%edx
732 xorl %r10d,%eax
733 xorl %r13d,%ecx
734 shrq $32,%r10
735 shrq $32,%r13
736 xorl %r10d,%ebx
737 xorl %r13d,%edx
738
739 movq %r8,%r10
740 movq %r11,%r13
741 shrq $32,%r10
742 shrq $32,%r13
743 roll $24,%r8d
744 roll $24,%r11d
745 roll $24,%r10d
746 roll $24,%r13d
747 xorl %r8d,%eax
748 xorl %r11d,%ecx
749 movq %r9,%r8
750 movq %r12,%r11
751 xorl %r10d,%ebx
752 xorl %r13d,%edx
753
754 movq 0(%r14),%rsi
755 shrq $32,%r8
756 shrq $32,%r11
757 movq 64(%r14),%rdi
758 roll $16,%r9d
759 roll $16,%r12d
760 movq 128(%r14),%rbp
761 roll $16,%r8d
762 roll $16,%r11d
763 movq 192(%r14),%r10
764 xorl %r9d,%eax
765 xorl %r12d,%ecx
766 movq 256(%r14),%r13
767 xorl %r8d,%ebx
768 xorl %r11d,%edx
769 jmp .Ldec_loop_compact
770 .align 16
771 .Ldec_compact_done:
772 xorl 0(%r15),%eax
773 xorl 4(%r15),%ebx
774 xorl 8(%r15),%ecx
775 xorl 12(%r15),%edx
776 .byte 0xf3,0xc3
777 .size _x86_64_AES_decrypt_compact,.-_x86_64_AES_decrypt_compact
778 .globl AES_decrypt
779 .type AES_decrypt,@function
780 .align 16
781 .globl asm_AES_decrypt
782 .hidden asm_AES_decrypt
783 asm_AES_decrypt:
784 AES_decrypt:
785 pushq %rbx
786 pushq %rbp
787 pushq %r12
788 pushq %r13
789 pushq %r14
790 pushq %r15
791
792
793 movq %rsp,%r10
794 leaq -63(%rdx),%rcx
795 andq $-64,%rsp
796 subq %rsp,%rcx
797 negq %rcx
798 andq $960,%rcx
799 subq %rcx,%rsp
800 subq $32,%rsp
801
802 movq %rsi,16(%rsp)
803 movq %r10,24(%rsp)
804 .Ldec_prologue:
805
806 movq %rdx,%r15
807 movl 240(%r15),%r13d
808
809 movl 0(%rdi),%eax
810 movl 4(%rdi),%ebx
811 movl 8(%rdi),%ecx
812 movl 12(%rdi),%edx
813
814 shll $4,%r13d
815 leaq (%r15,%r13,1),%rbp
816 movq %r15,(%rsp)
817 movq %rbp,8(%rsp)
818
819
820 leaq .LAES_Td+2048(%rip),%r14
821 leaq 768(%rsp),%rbp
822 subq %r14,%rbp
823 andq $768,%rbp
824 leaq (%r14,%rbp,1),%r14
825 shrq $3,%rbp
826 addq %rbp,%r14
827
828 call _x86_64_AES_decrypt_compact
829
830 movq 16(%rsp),%r9
831 movq 24(%rsp),%rsi
832 movl %eax,0(%r9)
833 movl %ebx,4(%r9)
834 movl %ecx,8(%r9)
835 movl %edx,12(%r9)
836
837 movq (%rsi),%r15
838 movq 8(%rsi),%r14
839 movq 16(%rsi),%r13
840 movq 24(%rsi),%r12
841 movq 32(%rsi),%rbp
842 movq 40(%rsi),%rbx
843 leaq 48(%rsi),%rsp
844 .Ldec_epilogue:
845 .byte 0xf3,0xc3
846 .size AES_decrypt,.-AES_decrypt
847 .globl private_AES_set_encrypt_key
848 .type private_AES_set_encrypt_key,@function
849 .align 16
850 private_AES_set_encrypt_key:
851 pushq %rbx
852 pushq %rbp
853 pushq %r12
854 pushq %r13
855 pushq %r14
856 pushq %r15
857 subq $8,%rsp
858 .Lenc_key_prologue:
859
860 call _x86_64_AES_set_encrypt_key
861
862 movq 8(%rsp),%r15
863 movq 16(%rsp),%r14
864 movq 24(%rsp),%r13
865 movq 32(%rsp),%r12
866 movq 40(%rsp),%rbp
867 movq 48(%rsp),%rbx
868 addq $56,%rsp
869 .Lenc_key_epilogue:
870 .byte 0xf3,0xc3
871 .size private_AES_set_encrypt_key,.-private_AES_set_encrypt_key
872
873 .type _x86_64_AES_set_encrypt_key,@function
874 .align 16
875 _x86_64_AES_set_encrypt_key:
876 movl %esi,%ecx
877 movq %rdi,%rsi
878 movq %rdx,%rdi
879
880 testq $-1,%rsi
881 jz .Lbadpointer
882 testq $-1,%rdi
883 jz .Lbadpointer
884
885 leaq .LAES_Te(%rip),%rbp
886 leaq 2048+128(%rbp),%rbp
887
888
889 movl 0-128(%rbp),%eax
890 movl 32-128(%rbp),%ebx
891 movl 64-128(%rbp),%r8d
892 movl 96-128(%rbp),%edx
893 movl 128-128(%rbp),%eax
894 movl 160-128(%rbp),%ebx
895 movl 192-128(%rbp),%r8d
896 movl 224-128(%rbp),%edx
897
898 cmpl $128,%ecx
899 je .L10rounds
900 cmpl $192,%ecx
901 je .L12rounds
902 cmpl $256,%ecx
903 je .L14rounds
904 movq $-2,%rax
905 jmp .Lexit
906
907 .L10rounds:
908 movq 0(%rsi),%rax
909 movq 8(%rsi),%rdx
910 movq %rax,0(%rdi)
911 movq %rdx,8(%rdi)
912
913 shrq $32,%rdx
914 xorl %ecx,%ecx
915 jmp .L10shortcut
916 .align 4
917 .L10loop:
918 movl 0(%rdi),%eax
919 movl 12(%rdi),%edx
920 .L10shortcut:
921 movzbl %dl,%esi
922 movzbl -128(%rbp,%rsi,1),%ebx
923 movzbl %dh,%esi
924 shll $24,%ebx
925 xorl %ebx,%eax
926
927 movzbl -128(%rbp,%rsi,1),%ebx
928 shrl $16,%edx
929 movzbl %dl,%esi
930 xorl %ebx,%eax
931
932 movzbl -128(%rbp,%rsi,1),%ebx
933 movzbl %dh,%esi
934 shll $8,%ebx
935 xorl %ebx,%eax
936
937 movzbl -128(%rbp,%rsi,1),%ebx
938 shll $16,%ebx
939 xorl %ebx,%eax
940
941 xorl 1024-128(%rbp,%rcx,4),%eax
942 movl %eax,16(%rdi)
943 xorl 4(%rdi),%eax
944 movl %eax,20(%rdi)
945 xorl 8(%rdi),%eax
946 movl %eax,24(%rdi)
947 xorl 12(%rdi),%eax
948 movl %eax,28(%rdi)
949 addl $1,%ecx
950 leaq 16(%rdi),%rdi
951 cmpl $10,%ecx
952 jl .L10loop
953
954 movl $10,80(%rdi)
955 xorq %rax,%rax
956 jmp .Lexit
957
958 .L12rounds:
959 movq 0(%rsi),%rax
960 movq 8(%rsi),%rbx
961 movq 16(%rsi),%rdx
962 movq %rax,0(%rdi)
963 movq %rbx,8(%rdi)
964 movq %rdx,16(%rdi)
965
966 shrq $32,%rdx
967 xorl %ecx,%ecx
968 jmp .L12shortcut
969 .align 4
970 .L12loop:
971 movl 0(%rdi),%eax
972 movl 20(%rdi),%edx
973 .L12shortcut:
974 movzbl %dl,%esi
975 movzbl -128(%rbp,%rsi,1),%ebx
976 movzbl %dh,%esi
977 shll $24,%ebx
978 xorl %ebx,%eax
979
980 movzbl -128(%rbp,%rsi,1),%ebx
981 shrl $16,%edx
982 movzbl %dl,%esi
983 xorl %ebx,%eax
984
985 movzbl -128(%rbp,%rsi,1),%ebx
986 movzbl %dh,%esi
987 shll $8,%ebx
988 xorl %ebx,%eax
989
990 movzbl -128(%rbp,%rsi,1),%ebx
991 shll $16,%ebx
992 xorl %ebx,%eax
993
994 xorl 1024-128(%rbp,%rcx,4),%eax
995 movl %eax,24(%rdi)
996 xorl 4(%rdi),%eax
997 movl %eax,28(%rdi)
998 xorl 8(%rdi),%eax
999 movl %eax,32(%rdi)
1000 xorl 12(%rdi),%eax
1001 movl %eax,36(%rdi)
1002
1003 cmpl $7,%ecx
1004 je .L12break
1005 addl $1,%ecx
1006
1007 xorl 16(%rdi),%eax
1008 movl %eax,40(%rdi)
1009 xorl 20(%rdi),%eax
1010 movl %eax,44(%rdi)
1011
1012 leaq 24(%rdi),%rdi
1013 jmp .L12loop
1014 .L12break:
1015 movl $12,72(%rdi)
1016 xorq %rax,%rax
1017 jmp .Lexit
1018
1019 .L14rounds:
1020 movq 0(%rsi),%rax
1021 movq 8(%rsi),%rbx
1022 movq 16(%rsi),%rcx
1023 movq 24(%rsi),%rdx
1024 movq %rax,0(%rdi)
1025 movq %rbx,8(%rdi)
1026 movq %rcx,16(%rdi)
1027 movq %rdx,24(%rdi)
1028
1029 shrq $32,%rdx
1030 xorl %ecx,%ecx
1031 jmp .L14shortcut
1032 .align 4
1033 .L14loop:
1034 movl 0(%rdi),%eax
1035 movl 28(%rdi),%edx
1036 .L14shortcut:
1037 movzbl %dl,%esi
1038 movzbl -128(%rbp,%rsi,1),%ebx
1039 movzbl %dh,%esi
1040 shll $24,%ebx
1041 xorl %ebx,%eax
1042
1043 movzbl -128(%rbp,%rsi,1),%ebx
1044 shrl $16,%edx
1045 movzbl %dl,%esi
1046 xorl %ebx,%eax
1047
1048 movzbl -128(%rbp,%rsi,1),%ebx
1049 movzbl %dh,%esi
1050 shll $8,%ebx
1051 xorl %ebx,%eax
1052
1053 movzbl -128(%rbp,%rsi,1),%ebx
1054 shll $16,%ebx
1055 xorl %ebx,%eax
1056
1057 xorl 1024-128(%rbp,%rcx,4),%eax
1058 movl %eax,32(%rdi)
1059 xorl 4(%rdi),%eax
1060 movl %eax,36(%rdi)
1061 xorl 8(%rdi),%eax
1062 movl %eax,40(%rdi)
1063 xorl 12(%rdi),%eax
1064 movl %eax,44(%rdi)
1065
1066 cmpl $6,%ecx
1067 je .L14break
1068 addl $1,%ecx
1069
1070 movl %eax,%edx
1071 movl 16(%rdi),%eax
1072 movzbl %dl,%esi
1073 movzbl -128(%rbp,%rsi,1),%ebx
1074 movzbl %dh,%esi
1075 xorl %ebx,%eax
1076
1077 movzbl -128(%rbp,%rsi,1),%ebx
1078 shrl $16,%edx
1079 shll $8,%ebx
1080 movzbl %dl,%esi
1081 xorl %ebx,%eax
1082
1083 movzbl -128(%rbp,%rsi,1),%ebx
1084 movzbl %dh,%esi
1085 shll $16,%ebx
1086 xorl %ebx,%eax
1087
1088 movzbl -128(%rbp,%rsi,1),%ebx
1089 shll $24,%ebx
1090 xorl %ebx,%eax
1091
1092 movl %eax,48(%rdi)
1093 xorl 20(%rdi),%eax
1094 movl %eax,52(%rdi)
1095 xorl 24(%rdi),%eax
1096 movl %eax,56(%rdi)
1097 xorl 28(%rdi),%eax
1098 movl %eax,60(%rdi)
1099
1100 leaq 32(%rdi),%rdi
1101 jmp .L14loop
1102 .L14break:
1103 movl $14,48(%rdi)
1104 xorq %rax,%rax
1105 jmp .Lexit
1106
1107 .Lbadpointer:
1108 movq $-1,%rax
1109 .Lexit:
1110 .byte 0xf3,0xc3
1111 .size _x86_64_AES_set_encrypt_key,.-_x86_64_AES_set_encrypt_key
1112 .globl private_AES_set_decrypt_key
1113 .type private_AES_set_decrypt_key,@function
1114 .align 16
1115 private_AES_set_decrypt_key:
1116 pushq %rbx
1117 pushq %rbp
1118 pushq %r12
1119 pushq %r13
1120 pushq %r14
1121 pushq %r15
1122 pushq %rdx
1123 .Ldec_key_prologue:
1124
1125 call _x86_64_AES_set_encrypt_key
1126 movq (%rsp),%r8
1127 cmpl $0,%eax
1128 jne .Labort
1129
1130 movl 240(%r8),%r14d
1131 xorq %rdi,%rdi
1132 leaq (%rdi,%r14,4),%rcx
1133 movq %r8,%rsi
1134 leaq (%r8,%rcx,4),%rdi
1135 .align 4
1136 .Linvert:
1137 movq 0(%rsi),%rax
1138 movq 8(%rsi),%rbx
1139 movq 0(%rdi),%rcx
1140 movq 8(%rdi),%rdx
1141 movq %rax,0(%rdi)
1142 movq %rbx,8(%rdi)
1143 movq %rcx,0(%rsi)
1144 movq %rdx,8(%rsi)
1145 leaq 16(%rsi),%rsi
1146 leaq -16(%rdi),%rdi
1147 cmpq %rsi,%rdi
1148 jne .Linvert
1149
1150 leaq .LAES_Te+2048+1024(%rip),%rax
1151
1152 movq 40(%rax),%rsi
1153 movq 48(%rax),%rdi
1154 movq 56(%rax),%rbp
1155
1156 movq %r8,%r15
1157 subl $1,%r14d
1158 .align 4
1159 .Lpermute:
1160 leaq 16(%r15),%r15
1161 movq 0(%r15),%rax
1162 movq 8(%r15),%rcx
1163 movq %rax,%rbx
1164 movq %rcx,%rdx
1165 andq %rsi,%rbx
1166 andq %rsi,%rdx
1167 movq %rbx,%r9
1168 movq %rdx,%r12
1169 shrq $7,%r9
1170 leaq (%rax,%rax,1),%r8
1171 shrq $7,%r12
1172 leaq (%rcx,%rcx,1),%r11
1173 subq %r9,%rbx
1174 subq %r12,%rdx
1175 andq %rdi,%r8
1176 andq %rdi,%r11
1177 andq %rbp,%rbx
1178 andq %rbp,%rdx
1179 xorq %r8,%rbx
1180 xorq %r11,%rdx
1181 movq %rbx,%r8
1182 movq %rdx,%r11
1183
1184 andq %rsi,%rbx
1185 andq %rsi,%rdx
1186 movq %rbx,%r10
1187 movq %rdx,%r13
1188 shrq $7,%r10
1189 leaq (%r8,%r8,1),%r9
1190 shrq $7,%r13
1191 leaq (%r11,%r11,1),%r12
1192 subq %r10,%rbx
1193 subq %r13,%rdx
1194 andq %rdi,%r9
1195 andq %rdi,%r12
1196 andq %rbp,%rbx
1197 andq %rbp,%rdx
1198 xorq %r9,%rbx
1199 xorq %r12,%rdx
1200 movq %rbx,%r9
1201 movq %rdx,%r12
1202
1203 andq %rsi,%rbx
1204 andq %rsi,%rdx
1205 movq %rbx,%r10
1206 movq %rdx,%r13
1207 shrq $7,%r10
1208 xorq %rax,%r8
1209 shrq $7,%r13
1210 xorq %rcx,%r11
1211 subq %r10,%rbx
1212 subq %r13,%rdx
1213 leaq (%r9,%r9,1),%r10
1214 leaq (%r12,%r12,1),%r13
1215 xorq %rax,%r9
1216 xorq %rcx,%r12
1217 andq %rdi,%r10
1218 andq %rdi,%r13
1219 andq %rbp,%rbx
1220 andq %rbp,%rdx
1221 xorq %rbx,%r10
1222 xorq %rdx,%r13
1223
1224 xorq %r10,%rax
1225 xorq %r13,%rcx
1226 xorq %r10,%r8
1227 xorq %r13,%r11
1228 movq %rax,%rbx
1229 movq %rcx,%rdx
1230 xorq %r10,%r9
1231 xorq %r13,%r12
1232 shrq $32,%rbx
1233 shrq $32,%rdx
1234 xorq %r8,%r10
1235 xorq %r11,%r13
1236 roll $8,%eax
1237 roll $8,%ecx
1238 xorq %r9,%r10
1239 xorq %r12,%r13
1240
1241 roll $8,%ebx
1242 roll $8,%edx
1243 xorl %r10d,%eax
1244 xorl %r13d,%ecx
1245 shrq $32,%r10
1246 shrq $32,%r13
1247 xorl %r10d,%ebx
1248 xorl %r13d,%edx
1249
1250 movq %r8,%r10
1251 movq %r11,%r13
1252 shrq $32,%r10
1253 shrq $32,%r13
1254 roll $24,%r8d
1255 roll $24,%r11d
1256 roll $24,%r10d
1257 roll $24,%r13d
1258 xorl %r8d,%eax
1259 xorl %r11d,%ecx
1260 movq %r9,%r8
1261 movq %r12,%r11
1262 xorl %r10d,%ebx
1263 xorl %r13d,%edx
1264
1265
1266 shrq $32,%r8
1267 shrq $32,%r11
1268
1269 roll $16,%r9d
1270 roll $16,%r12d
1271
1272 roll $16,%r8d
1273 roll $16,%r11d
1274
1275 xorl %r9d,%eax
1276 xorl %r12d,%ecx
1277
1278 xorl %r8d,%ebx
1279 xorl %r11d,%edx
1280 movl %eax,0(%r15)
1281 movl %ebx,4(%r15)
1282 movl %ecx,8(%r15)
1283 movl %edx,12(%r15)
1284 subl $1,%r14d
1285 jnz .Lpermute
1286
1287 xorq %rax,%rax
1288 .Labort:
1289 movq 8(%rsp),%r15
1290 movq 16(%rsp),%r14
1291 movq 24(%rsp),%r13
1292 movq 32(%rsp),%r12
1293 movq 40(%rsp),%rbp
1294 movq 48(%rsp),%rbx
1295 addq $56,%rsp
1296 .Ldec_key_epilogue:
1297 .byte 0xf3,0xc3
1298 .size private_AES_set_decrypt_key,.-private_AES_set_decrypt_key
1299 .globl AES_cbc_encrypt
1300 .type AES_cbc_encrypt,@function
1301 .align 16
1302
1303 .globl asm_AES_cbc_encrypt
1304 .hidden asm_AES_cbc_encrypt
1305 asm_AES_cbc_encrypt:
1306 AES_cbc_encrypt:
1307 cmpq $0,%rdx
1308 je .Lcbc_epilogue
1309 pushfq
1310 pushq %rbx
1311 pushq %rbp
1312 pushq %r12
1313 pushq %r13
1314 pushq %r14
1315 pushq %r15
1316 .Lcbc_prologue:
1317
1318 cld
1319 movl %r9d,%r9d
1320
1321 leaq .LAES_Te(%rip),%r14
1322 cmpq $0,%r9
1323 jne .Lcbc_picked_te
1324 leaq .LAES_Td(%rip),%r14
1325 .Lcbc_picked_te:
1326
1327 movl OPENSSL_ia32cap_P(%rip),%r10d
1328 cmpq $512,%rdx
1329 jb .Lcbc_slow_prologue
1330 testq $15,%rdx
1331 jnz .Lcbc_slow_prologue
1332 btl $28,%r10d
1333 jc .Lcbc_slow_prologue
1334
1335
1336 leaq -88-248(%rsp),%r15
1337 andq $-64,%r15
1338
1339
1340 movq %r14,%r10
1341 leaq 2304(%r14),%r11
1342 movq %r15,%r12
1343 andq $4095,%r10
1344 andq $4095,%r11
1345 andq $4095,%r12
1346
1347 cmpq %r11,%r12
1348 jb .Lcbc_te_break_out
1349 subq %r11,%r12
1350 subq %r12,%r15
1351 jmp .Lcbc_te_ok
1352 .Lcbc_te_break_out:
1353 subq %r10,%r12
1354 andq $4095,%r12
1355 addq $320,%r12
1356 subq %r12,%r15
1357 .align 4
1358 .Lcbc_te_ok:
1359
1360 xchgq %rsp,%r15
1361
1362 movq %r15,16(%rsp)
1363 .Lcbc_fast_body:
1364 movq %rdi,24(%rsp)
1365 movq %rsi,32(%rsp)
1366 movq %rdx,40(%rsp)
1367 movq %rcx,48(%rsp)
1368 movq %r8,56(%rsp)
1369 movl $0,80+240(%rsp)
1370 movq %r8,%rbp
1371 movq %r9,%rbx
1372 movq %rsi,%r9
1373 movq %rdi,%r8
1374 movq %rcx,%r15
1375
1376 movl 240(%r15),%eax
1377
1378 movq %r15,%r10
1379 subq %r14,%r10
1380 andq $4095,%r10
1381 cmpq $2304,%r10
1382 jb .Lcbc_do_ecopy
1383 cmpq $4096-248,%r10
1384 jb .Lcbc_skip_ecopy
1385 .align 4
1386 .Lcbc_do_ecopy:
1387 movq %r15,%rsi
1388 leaq 80(%rsp),%rdi
1389 leaq 80(%rsp),%r15
1390 movl $30,%ecx
1391 .long 0x90A548F3
1392 movl %eax,(%rdi)
1393 .Lcbc_skip_ecopy:
1394 movq %r15,0(%rsp)
1395
1396 movl $18,%ecx
1397 .align 4
1398 .Lcbc_prefetch_te:
1399 movq 0(%r14),%r10
1400 movq 32(%r14),%r11
1401 movq 64(%r14),%r12
1402 movq 96(%r14),%r13
1403 leaq 128(%r14),%r14
1404 subl $1,%ecx
1405 jnz .Lcbc_prefetch_te
1406 leaq -2304(%r14),%r14
1407
1408 cmpq $0,%rbx
1409 je .LFAST_DECRYPT
1410
1411
1412 movl 0(%rbp),%eax
1413 movl 4(%rbp),%ebx
1414 movl 8(%rbp),%ecx
1415 movl 12(%rbp),%edx
1416
1417 .align 4
1418 .Lcbc_fast_enc_loop:
1419 xorl 0(%r8),%eax
1420 xorl 4(%r8),%ebx
1421 xorl 8(%r8),%ecx
1422 xorl 12(%r8),%edx
1423 movq 0(%rsp),%r15
1424 movq %r8,24(%rsp)
1425
1426 call _x86_64_AES_encrypt
1427
1428 movq 24(%rsp),%r8
1429 movq 40(%rsp),%r10
1430 movl %eax,0(%r9)
1431 movl %ebx,4(%r9)
1432 movl %ecx,8(%r9)
1433 movl %edx,12(%r9)
1434
1435 leaq 16(%r8),%r8
1436 leaq 16(%r9),%r9
1437 subq $16,%r10
1438 testq $-16,%r10
1439 movq %r10,40(%rsp)
1440 jnz .Lcbc_fast_enc_loop
1441 movq 56(%rsp),%rbp
1442 movl %eax,0(%rbp)
1443 movl %ebx,4(%rbp)
1444 movl %ecx,8(%rbp)
1445 movl %edx,12(%rbp)
1446
1447 jmp .Lcbc_fast_cleanup
1448
1449
1450 .align 16
1451 .LFAST_DECRYPT:
1452 cmpq %r8,%r9
1453 je .Lcbc_fast_dec_in_place
1454
1455 movq %rbp,64(%rsp)
1456 .align 4
1457 .Lcbc_fast_dec_loop:
1458 movl 0(%r8),%eax
1459 movl 4(%r8),%ebx
1460 movl 8(%r8),%ecx
1461 movl 12(%r8),%edx
1462 movq 0(%rsp),%r15
1463 movq %r8,24(%rsp)
1464
1465 call _x86_64_AES_decrypt
1466
1467 movq 64(%rsp),%rbp
1468 movq 24(%rsp),%r8
1469 movq 40(%rsp),%r10
1470 xorl 0(%rbp),%eax
1471 xorl 4(%rbp),%ebx
1472 xorl 8(%rbp),%ecx
1473 xorl 12(%rbp),%edx
1474 movq %r8,%rbp
1475
1476 subq $16,%r10
1477 movq %r10,40(%rsp)
1478 movq %rbp,64(%rsp)
1479
1480 movl %eax,0(%r9)
1481 movl %ebx,4(%r9)
1482 movl %ecx,8(%r9)
1483 movl %edx,12(%r9)
1484
1485 leaq 16(%r8),%r8
1486 leaq 16(%r9),%r9
1487 jnz .Lcbc_fast_dec_loop
1488 movq 56(%rsp),%r12
1489 movq 0(%rbp),%r10
1490 movq 8(%rbp),%r11
1491 movq %r10,0(%r12)
1492 movq %r11,8(%r12)
1493 jmp .Lcbc_fast_cleanup
1494
1495 .align 16
1496 .Lcbc_fast_dec_in_place:
1497 movq 0(%rbp),%r10
1498 movq 8(%rbp),%r11
1499 movq %r10,0+64(%rsp)
1500 movq %r11,8+64(%rsp)
1501 .align 4
1502 .Lcbc_fast_dec_in_place_loop:
1503 movl 0(%r8),%eax
1504 movl 4(%r8),%ebx
1505 movl 8(%r8),%ecx
1506 movl 12(%r8),%edx
1507 movq 0(%rsp),%r15
1508 movq %r8,24(%rsp)
1509
1510 call _x86_64_AES_decrypt
1511
1512 movq 24(%rsp),%r8
1513 movq 40(%rsp),%r10
1514 xorl 0+64(%rsp),%eax
1515 xorl 4+64(%rsp),%ebx
1516 xorl 8+64(%rsp),%ecx
1517 xorl 12+64(%rsp),%edx
1518
1519 movq 0(%r8),%r11
1520 movq 8(%r8),%r12
1521 subq $16,%r10
1522 jz .Lcbc_fast_dec_in_place_done
1523
1524 movq %r11,0+64(%rsp)
1525 movq %r12,8+64(%rsp)
1526
1527 movl %eax,0(%r9)
1528 movl %ebx,4(%r9)
1529 movl %ecx,8(%r9)
1530 movl %edx,12(%r9)
1531
1532 leaq 16(%r8),%r8
1533 leaq 16(%r9),%r9
1534 movq %r10,40(%rsp)
1535 jmp .Lcbc_fast_dec_in_place_loop
1536 .Lcbc_fast_dec_in_place_done:
1537 movq 56(%rsp),%rdi
1538 movq %r11,0(%rdi)
1539 movq %r12,8(%rdi)
1540
1541 movl %eax,0(%r9)
1542 movl %ebx,4(%r9)
1543 movl %ecx,8(%r9)
1544 movl %edx,12(%r9)
1545
1546 .align 4
1547 .Lcbc_fast_cleanup:
1548 cmpl $0,80+240(%rsp)
1549 leaq 80(%rsp),%rdi
1550 je .Lcbc_exit
1551 movl $30,%ecx
1552 xorq %rax,%rax
1553 .long 0x90AB48F3
1554
1555 jmp .Lcbc_exit
1556
1557
1558 .align 16
1559 .Lcbc_slow_prologue:
1560
1561 leaq -88(%rsp),%rbp
1562 andq $-64,%rbp
1563
1564 leaq -88-63(%rcx),%r10
1565 subq %rbp,%r10
1566 negq %r10
1567 andq $960,%r10
1568 subq %r10,%rbp
1569
1570 xchgq %rsp,%rbp
1571
1572 movq %rbp,16(%rsp)
1573 .Lcbc_slow_body:
1574
1575
1576
1577
1578 movq %r8,56(%rsp)
1579 movq %r8,%rbp
1580 movq %r9,%rbx
1581 movq %rsi,%r9
1582 movq %rdi,%r8
1583 movq %rcx,%r15
1584 movq %rdx,%r10
1585
1586 movl 240(%r15),%eax
1587 movq %r15,0(%rsp)
1588 shll $4,%eax
1589 leaq (%r15,%rax,1),%rax
1590 movq %rax,8(%rsp)
1591
1592
1593 leaq 2048(%r14),%r14
1594 leaq 768-8(%rsp),%rax
1595 subq %r14,%rax
1596 andq $768,%rax
1597 leaq (%r14,%rax,1),%r14
1598
1599 cmpq $0,%rbx
1600 je .LSLOW_DECRYPT
1601
1602
1603 testq $-16,%r10
1604 movl 0(%rbp),%eax
1605 movl 4(%rbp),%ebx
1606 movl 8(%rbp),%ecx
1607 movl 12(%rbp),%edx
1608 jz .Lcbc_slow_enc_tail
1609
1610 .align 4
1611 .Lcbc_slow_enc_loop:
1612 xorl 0(%r8),%eax
1613 xorl 4(%r8),%ebx
1614 xorl 8(%r8),%ecx
1615 xorl 12(%r8),%edx
1616 movq 0(%rsp),%r15
1617 movq %r8,24(%rsp)
1618 movq %r9,32(%rsp)
1619 movq %r10,40(%rsp)
1620
1621 call _x86_64_AES_encrypt_compact
1622
1623 movq 24(%rsp),%r8
1624 movq 32(%rsp),%r9
1625 movq 40(%rsp),%r10
1626 movl %eax,0(%r9)
1627 movl %ebx,4(%r9)
1628 movl %ecx,8(%r9)
1629 movl %edx,12(%r9)
1630
1631 leaq 16(%r8),%r8
1632 leaq 16(%r9),%r9
1633 subq $16,%r10
1634 testq $-16,%r10
1635 jnz .Lcbc_slow_enc_loop
1636 testq $15,%r10
1637 jnz .Lcbc_slow_enc_tail
1638 movq 56(%rsp),%rbp
1639 movl %eax,0(%rbp)
1640 movl %ebx,4(%rbp)
1641 movl %ecx,8(%rbp)
1642 movl %edx,12(%rbp)
1643
1644 jmp .Lcbc_exit
1645
1646 .align 4
1647 .Lcbc_slow_enc_tail:
1648 movq %rax,%r11
1649 movq %rcx,%r12
1650 movq %r10,%rcx
1651 movq %r8,%rsi
1652 movq %r9,%rdi
1653 .long 0x9066A4F3
1654 movq $16,%rcx
1655 subq %r10,%rcx
1656 xorq %rax,%rax
1657 .long 0x9066AAF3
1658 movq %r9,%r8
1659 movq $16,%r10
1660 movq %r11,%rax
1661 movq %r12,%rcx
1662 jmp .Lcbc_slow_enc_loop
1663
1664 .align 16
1665 .LSLOW_DECRYPT:
1666 shrq $3,%rax
1667 addq %rax,%r14
1668
1669 movq 0(%rbp),%r11
1670 movq 8(%rbp),%r12
1671 movq %r11,0+64(%rsp)
1672 movq %r12,8+64(%rsp)
1673
1674 .align 4
1675 .Lcbc_slow_dec_loop:
1676 movl 0(%r8),%eax
1677 movl 4(%r8),%ebx
1678 movl 8(%r8),%ecx
1679 movl 12(%r8),%edx
1680 movq 0(%rsp),%r15
1681 movq %r8,24(%rsp)
1682 movq %r9,32(%rsp)
1683 movq %r10,40(%rsp)
1684
1685 call _x86_64_AES_decrypt_compact
1686
1687 movq 24(%rsp),%r8
1688 movq 32(%rsp),%r9
1689 movq 40(%rsp),%r10
1690 xorl 0+64(%rsp),%eax
1691 xorl 4+64(%rsp),%ebx
1692 xorl 8+64(%rsp),%ecx
1693 xorl 12+64(%rsp),%edx
1694
1695 movq 0(%r8),%r11
1696 movq 8(%r8),%r12
1697 subq $16,%r10
1698 jc .Lcbc_slow_dec_partial
1699 jz .Lcbc_slow_dec_done
1700
1701 movq %r11,0+64(%rsp)
1702 movq %r12,8+64(%rsp)
1703
1704 movl %eax,0(%r9)
1705 movl %ebx,4(%r9)
1706 movl %ecx,8(%r9)
1707 movl %edx,12(%r9)
1708
1709 leaq 16(%r8),%r8
1710 leaq 16(%r9),%r9
1711 jmp .Lcbc_slow_dec_loop
1712 .Lcbc_slow_dec_done:
1713 movq 56(%rsp),%rdi
1714 movq %r11,0(%rdi)
1715 movq %r12,8(%rdi)
1716
1717 movl %eax,0(%r9)
1718 movl %ebx,4(%r9)
1719 movl %ecx,8(%r9)
1720 movl %edx,12(%r9)
1721
1722 jmp .Lcbc_exit
1723
1724 .align 4
1725 .Lcbc_slow_dec_partial:
1726 movq 56(%rsp),%rdi
1727 movq %r11,0(%rdi)
1728 movq %r12,8(%rdi)
1729
1730 movl %eax,0+64(%rsp)
1731 movl %ebx,4+64(%rsp)
1732 movl %ecx,8+64(%rsp)
1733 movl %edx,12+64(%rsp)
1734
1735 movq %r9,%rdi
1736 leaq 64(%rsp),%rsi
1737 leaq 16(%r10),%rcx
1738 .long 0x9066A4F3
1739 jmp .Lcbc_exit
1740
1741 .align 16
1742 .Lcbc_exit:
1743 movq 16(%rsp),%rsi
1744 movq (%rsi),%r15
1745 movq 8(%rsi),%r14
1746 movq 16(%rsi),%r13
1747 movq 24(%rsi),%r12
1748 movq 32(%rsi),%rbp
1749 movq 40(%rsi),%rbx
1750 leaq 48(%rsi),%rsp
1751 .Lcbc_popfq:
1752 popfq
1753 .Lcbc_epilogue:
1754 .byte 0xf3,0xc3
1755 .size AES_cbc_encrypt,.-AES_cbc_encrypt
1756 .align 64
1757 .LAES_Te:
1758 .long 0xa56363c6,0xa56363c6
1759 .long 0x847c7cf8,0x847c7cf8
1760 .long 0x997777ee,0x997777ee
1761 .long 0x8d7b7bf6,0x8d7b7bf6
1762 .long 0x0df2f2ff,0x0df2f2ff
1763 .long 0xbd6b6bd6,0xbd6b6bd6
1764 .long 0xb16f6fde,0xb16f6fde
1765 .long 0x54c5c591,0x54c5c591
1766 .long 0x50303060,0x50303060
1767 .long 0x03010102,0x03010102
1768 .long 0xa96767ce,0xa96767ce
1769 .long 0x7d2b2b56,0x7d2b2b56
1770 .long 0x19fefee7,0x19fefee7
1771 .long 0x62d7d7b5,0x62d7d7b5
1772 .long 0xe6abab4d,0xe6abab4d
1773 .long 0x9a7676ec,0x9a7676ec
1774 .long 0x45caca8f,0x45caca8f
1775 .long 0x9d82821f,0x9d82821f
1776 .long 0x40c9c989,0x40c9c989
1777 .long 0x877d7dfa,0x877d7dfa
1778 .long 0x15fafaef,0x15fafaef
1779 .long 0xeb5959b2,0xeb5959b2
1780 .long 0xc947478e,0xc947478e
1781 .long 0x0bf0f0fb,0x0bf0f0fb
1782 .long 0xecadad41,0xecadad41
1783 .long 0x67d4d4b3,0x67d4d4b3
1784 .long 0xfda2a25f,0xfda2a25f
1785 .long 0xeaafaf45,0xeaafaf45
1786 .long 0xbf9c9c23,0xbf9c9c23
1787 .long 0xf7a4a453,0xf7a4a453
1788 .long 0x967272e4,0x967272e4
1789 .long 0x5bc0c09b,0x5bc0c09b
1790 .long 0xc2b7b775,0xc2b7b775
1791 .long 0x1cfdfde1,0x1cfdfde1
1792 .long 0xae93933d,0xae93933d
1793 .long 0x6a26264c,0x6a26264c
1794 .long 0x5a36366c,0x5a36366c
1795 .long 0x413f3f7e,0x413f3f7e
1796 .long 0x02f7f7f5,0x02f7f7f5
1797 .long 0x4fcccc83,0x4fcccc83
1798 .long 0x5c343468,0x5c343468
1799 .long 0xf4a5a551,0xf4a5a551
1800 .long 0x34e5e5d1,0x34e5e5d1
1801 .long 0x08f1f1f9,0x08f1f1f9
1802 .long 0x937171e2,0x937171e2
1803 .long 0x73d8d8ab,0x73d8d8ab
1804 .long 0x53313162,0x53313162
1805 .long 0x3f15152a,0x3f15152a
1806 .long 0x0c040408,0x0c040408
1807 .long 0x52c7c795,0x52c7c795
1808 .long 0x65232346,0x65232346
1809 .long 0x5ec3c39d,0x5ec3c39d
1810 .long 0x28181830,0x28181830
1811 .long 0xa1969637,0xa1969637
1812 .long 0x0f05050a,0x0f05050a
1813 .long 0xb59a9a2f,0xb59a9a2f
1814 .long 0x0907070e,0x0907070e
1815 .long 0x36121224,0x36121224
1816 .long 0x9b80801b,0x9b80801b
1817 .long 0x3de2e2df,0x3de2e2df
1818 .long 0x26ebebcd,0x26ebebcd
1819 .long 0x6927274e,0x6927274e
1820 .long 0xcdb2b27f,0xcdb2b27f
1821 .long 0x9f7575ea,0x9f7575ea
1822 .long 0x1b090912,0x1b090912
1823 .long 0x9e83831d,0x9e83831d
1824 .long 0x742c2c58,0x742c2c58
1825 .long 0x2e1a1a34,0x2e1a1a34
1826 .long 0x2d1b1b36,0x2d1b1b36
1827 .long 0xb26e6edc,0xb26e6edc
1828 .long 0xee5a5ab4,0xee5a5ab4
1829 .long 0xfba0a05b,0xfba0a05b
1830 .long 0xf65252a4,0xf65252a4
1831 .long 0x4d3b3b76,0x4d3b3b76
1832 .long 0x61d6d6b7,0x61d6d6b7
1833 .long 0xceb3b37d,0xceb3b37d
1834 .long 0x7b292952,0x7b292952
1835 .long 0x3ee3e3dd,0x3ee3e3dd
1836 .long 0x712f2f5e,0x712f2f5e
1837 .long 0x97848413,0x97848413
1838 .long 0xf55353a6,0xf55353a6
1839 .long 0x68d1d1b9,0x68d1d1b9
1840 .long 0x00000000,0x00000000
1841 .long 0x2cededc1,0x2cededc1
1842 .long 0x60202040,0x60202040
1843 .long 0x1ffcfce3,0x1ffcfce3
1844 .long 0xc8b1b179,0xc8b1b179
1845 .long 0xed5b5bb6,0xed5b5bb6
1846 .long 0xbe6a6ad4,0xbe6a6ad4
1847 .long 0x46cbcb8d,0x46cbcb8d
1848 .long 0xd9bebe67,0xd9bebe67
1849 .long 0x4b393972,0x4b393972
1850 .long 0xde4a4a94,0xde4a4a94
1851 .long 0xd44c4c98,0xd44c4c98
1852 .long 0xe85858b0,0xe85858b0
1853 .long 0x4acfcf85,0x4acfcf85
1854 .long 0x6bd0d0bb,0x6bd0d0bb
1855 .long 0x2aefefc5,0x2aefefc5
1856 .long 0xe5aaaa4f,0xe5aaaa4f
1857 .long 0x16fbfbed,0x16fbfbed
1858 .long 0xc5434386,0xc5434386
1859 .long 0xd74d4d9a,0xd74d4d9a
1860 .long 0x55333366,0x55333366
1861 .long 0x94858511,0x94858511
1862 .long 0xcf45458a,0xcf45458a
1863 .long 0x10f9f9e9,0x10f9f9e9
1864 .long 0x06020204,0x06020204
1865 .long 0x817f7ffe,0x817f7ffe
1866 .long 0xf05050a0,0xf05050a0
1867 .long 0x443c3c78,0x443c3c78
1868 .long 0xba9f9f25,0xba9f9f25
1869 .long 0xe3a8a84b,0xe3a8a84b
1870 .long 0xf35151a2,0xf35151a2
1871 .long 0xfea3a35d,0xfea3a35d
1872 .long 0xc0404080,0xc0404080
1873 .long 0x8a8f8f05,0x8a8f8f05
1874 .long 0xad92923f,0xad92923f
1875 .long 0xbc9d9d21,0xbc9d9d21
1876 .long 0x48383870,0x48383870
1877 .long 0x04f5f5f1,0x04f5f5f1
1878 .long 0xdfbcbc63,0xdfbcbc63
1879 .long 0xc1b6b677,0xc1b6b677
1880 .long 0x75dadaaf,0x75dadaaf
1881 .long 0x63212142,0x63212142
1882 .long 0x30101020,0x30101020
1883 .long 0x1affffe5,0x1affffe5
1884 .long 0x0ef3f3fd,0x0ef3f3fd
1885 .long 0x6dd2d2bf,0x6dd2d2bf
1886 .long 0x4ccdcd81,0x4ccdcd81
1887 .long 0x140c0c18,0x140c0c18
1888 .long 0x35131326,0x35131326
1889 .long 0x2fececc3,0x2fececc3
1890 .long 0xe15f5fbe,0xe15f5fbe
1891 .long 0xa2979735,0xa2979735
1892 .long 0xcc444488,0xcc444488
1893 .long 0x3917172e,0x3917172e
1894 .long 0x57c4c493,0x57c4c493
1895 .long 0xf2a7a755,0xf2a7a755
1896 .long 0x827e7efc,0x827e7efc
1897 .long 0x473d3d7a,0x473d3d7a
1898 .long 0xac6464c8,0xac6464c8
1899 .long 0xe75d5dba,0xe75d5dba
1900 .long 0x2b191932,0x2b191932
1901 .long 0x957373e6,0x957373e6
1902 .long 0xa06060c0,0xa06060c0
1903 .long 0x98818119,0x98818119
1904 .long 0xd14f4f9e,0xd14f4f9e
1905 .long 0x7fdcdca3,0x7fdcdca3
1906 .long 0x66222244,0x66222244
1907 .long 0x7e2a2a54,0x7e2a2a54
1908 .long 0xab90903b,0xab90903b
1909 .long 0x8388880b,0x8388880b
1910 .long 0xca46468c,0xca46468c
1911 .long 0x29eeeec7,0x29eeeec7
1912 .long 0xd3b8b86b,0xd3b8b86b
1913 .long 0x3c141428,0x3c141428
1914 .long 0x79dedea7,0x79dedea7
1915 .long 0xe25e5ebc,0xe25e5ebc
1916 .long 0x1d0b0b16,0x1d0b0b16
1917 .long 0x76dbdbad,0x76dbdbad
1918 .long 0x3be0e0db,0x3be0e0db
1919 .long 0x56323264,0x56323264
1920 .long 0x4e3a3a74,0x4e3a3a74
1921 .long 0x1e0a0a14,0x1e0a0a14
1922 .long 0xdb494992,0xdb494992
1923 .long 0x0a06060c,0x0a06060c
1924 .long 0x6c242448,0x6c242448
1925 .long 0xe45c5cb8,0xe45c5cb8
1926 .long 0x5dc2c29f,0x5dc2c29f
1927 .long 0x6ed3d3bd,0x6ed3d3bd
1928 .long 0xefacac43,0xefacac43
1929 .long 0xa66262c4,0xa66262c4
1930 .long 0xa8919139,0xa8919139
1931 .long 0xa4959531,0xa4959531
1932 .long 0x37e4e4d3,0x37e4e4d3
1933 .long 0x8b7979f2,0x8b7979f2
1934 .long 0x32e7e7d5,0x32e7e7d5
1935 .long 0x43c8c88b,0x43c8c88b
1936 .long 0x5937376e,0x5937376e
1937 .long 0xb76d6dda,0xb76d6dda
1938 .long 0x8c8d8d01,0x8c8d8d01
1939 .long 0x64d5d5b1,0x64d5d5b1
1940 .long 0xd24e4e9c,0xd24e4e9c
1941 .long 0xe0a9a949,0xe0a9a949
1942 .long 0xb46c6cd8,0xb46c6cd8
1943 .long 0xfa5656ac,0xfa5656ac
1944 .long 0x07f4f4f3,0x07f4f4f3
1945 .long 0x25eaeacf,0x25eaeacf
1946 .long 0xaf6565ca,0xaf6565ca
1947 .long 0x8e7a7af4,0x8e7a7af4
1948 .long 0xe9aeae47,0xe9aeae47
1949 .long 0x18080810,0x18080810
1950 .long 0xd5baba6f,0xd5baba6f
1951 .long 0x887878f0,0x887878f0
1952 .long 0x6f25254a,0x6f25254a
1953 .long 0x722e2e5c,0x722e2e5c
1954 .long 0x241c1c38,0x241c1c38
1955 .long 0xf1a6a657,0xf1a6a657
1956 .long 0xc7b4b473,0xc7b4b473
1957 .long 0x51c6c697,0x51c6c697
1958 .long 0x23e8e8cb,0x23e8e8cb
1959 .long 0x7cdddda1,0x7cdddda1
1960 .long 0x9c7474e8,0x9c7474e8
1961 .long 0x211f1f3e,0x211f1f3e
1962 .long 0xdd4b4b96,0xdd4b4b96
1963 .long 0xdcbdbd61,0xdcbdbd61
1964 .long 0x868b8b0d,0x868b8b0d
1965 .long 0x858a8a0f,0x858a8a0f
1966 .long 0x907070e0,0x907070e0
1967 .long 0x423e3e7c,0x423e3e7c
1968 .long 0xc4b5b571,0xc4b5b571
1969 .long 0xaa6666cc,0xaa6666cc
1970 .long 0xd8484890,0xd8484890
1971 .long 0x05030306,0x05030306
1972 .long 0x01f6f6f7,0x01f6f6f7
1973 .long 0x120e0e1c,0x120e0e1c
1974 .long 0xa36161c2,0xa36161c2
1975 .long 0x5f35356a,0x5f35356a
1976 .long 0xf95757ae,0xf95757ae
1977 .long 0xd0b9b969,0xd0b9b969
1978 .long 0x91868617,0x91868617
1979 .long 0x58c1c199,0x58c1c199
1980 .long 0x271d1d3a,0x271d1d3a
1981 .long 0xb99e9e27,0xb99e9e27
1982 .long 0x38e1e1d9,0x38e1e1d9
1983 .long 0x13f8f8eb,0x13f8f8eb
1984 .long 0xb398982b,0xb398982b
1985 .long 0x33111122,0x33111122
1986 .long 0xbb6969d2,0xbb6969d2
1987 .long 0x70d9d9a9,0x70d9d9a9
1988 .long 0x898e8e07,0x898e8e07
1989 .long 0xa7949433,0xa7949433
1990 .long 0xb69b9b2d,0xb69b9b2d
1991 .long 0x221e1e3c,0x221e1e3c
1992 .long 0x92878715,0x92878715
1993 .long 0x20e9e9c9,0x20e9e9c9
1994 .long 0x49cece87,0x49cece87
1995 .long 0xff5555aa,0xff5555aa
1996 .long 0x78282850,0x78282850
1997 .long 0x7adfdfa5,0x7adfdfa5
1998 .long 0x8f8c8c03,0x8f8c8c03
1999 .long 0xf8a1a159,0xf8a1a159
2000 .long 0x80898909,0x80898909
2001 .long 0x170d0d1a,0x170d0d1a
2002 .long 0xdabfbf65,0xdabfbf65
2003 .long 0x31e6e6d7,0x31e6e6d7
2004 .long 0xc6424284,0xc6424284
2005 .long 0xb86868d0,0xb86868d0
2006 .long 0xc3414182,0xc3414182
2007 .long 0xb0999929,0xb0999929
2008 .long 0x772d2d5a,0x772d2d5a
2009 .long 0x110f0f1e,0x110f0f1e
2010 .long 0xcbb0b07b,0xcbb0b07b
2011 .long 0xfc5454a8,0xfc5454a8
2012 .long 0xd6bbbb6d,0xd6bbbb6d
2013 .long 0x3a16162c,0x3a16162c
2014 .byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5
2015 .byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76
2016 .byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0
2017 .byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0
2018 .byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc
2019 .byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15
2020 .byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a
2021 .byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75
2022 .byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0
2023 .byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84
2024 .byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b
2025 .byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf
2026 .byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85
2027 .byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8
2028 .byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5
2029 .byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2
2030 .byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17
2031 .byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73
2032 .byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88
2033 .byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb
2034 .byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c
2035 .byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79
2036 .byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9
2037 .byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08
2038 .byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6
2039 .byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a
2040 .byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e
2041 .byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e
2042 .byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94
2043 .byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf
2044 .byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68
2045 .byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16
2046 .byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5
2047 .byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76
2048 .byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0
2049 .byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0
2050 .byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc
2051 .byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15
2052 .byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a
2053 .byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75
2054 .byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0
2055 .byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84
2056 .byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b
2057 .byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf
2058 .byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85
2059 .byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8
2060 .byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5
2061 .byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2
2062 .byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17
2063 .byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73
2064 .byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88
2065 .byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb
2066 .byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c
2067 .byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79
2068 .byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9
2069 .byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08
2070 .byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6
2071 .byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a
2072 .byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e
2073 .byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e
2074 .byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94
2075 .byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf
2076 .byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68
2077 .byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16
2078 .byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5
2079 .byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76
2080 .byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0
2081 .byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0
2082 .byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc
2083 .byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15
2084 .byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a
2085 .byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75
2086 .byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0
2087 .byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84
2088 .byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b
2089 .byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf
2090 .byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85
2091 .byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8
2092 .byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5
2093 .byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2
2094 .byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17
2095 .byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73
2096 .byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88
2097 .byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb
2098 .byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c
2099 .byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79
2100 .byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9
2101 .byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08
2102 .byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6
2103 .byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a
2104 .byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e
2105 .byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e
2106 .byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94
2107 .byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf
2108 .byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68
2109 .byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16
2110 .byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5
2111 .byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76
2112 .byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0
2113 .byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0
2114 .byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc
2115 .byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15
2116 .byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a
2117 .byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75
2118 .byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0
2119 .byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84
2120 .byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b
2121 .byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf
2122 .byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85
2123 .byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8
2124 .byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5
2125 .byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2
2126 .byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17
2127 .byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73
2128 .byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88
2129 .byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb
2130 .byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c
2131 .byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79
2132 .byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9
2133 .byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08
2134 .byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6
2135 .byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a
2136 .byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e
2137 .byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e
2138 .byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94
2139 .byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf
2140 .byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68
2141 .byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16
2142 .long 0x00000001, 0x00000002, 0x00000004, 0x00000008
2143 .long 0x00000010, 0x00000020, 0x00000040, 0x00000080
2144 .long 0x0000001b, 0x00000036, 0x80808080, 0x80808080
2145 .long 0xfefefefe, 0xfefefefe, 0x1b1b1b1b, 0x1b1b1b1b
2146 .align 64
2147 .LAES_Td:
2148 .long 0x50a7f451,0x50a7f451
2149 .long 0x5365417e,0x5365417e
2150 .long 0xc3a4171a,0xc3a4171a
2151 .long 0x965e273a,0x965e273a
2152 .long 0xcb6bab3b,0xcb6bab3b
2153 .long 0xf1459d1f,0xf1459d1f
2154 .long 0xab58faac,0xab58faac
2155 .long 0x9303e34b,0x9303e34b
2156 .long 0x55fa3020,0x55fa3020
2157 .long 0xf66d76ad,0xf66d76ad
2158 .long 0x9176cc88,0x9176cc88
2159 .long 0x254c02f5,0x254c02f5
2160 .long 0xfcd7e54f,0xfcd7e54f
2161 .long 0xd7cb2ac5,0xd7cb2ac5
2162 .long 0x80443526,0x80443526
2163 .long 0x8fa362b5,0x8fa362b5
2164 .long 0x495ab1de,0x495ab1de
2165 .long 0x671bba25,0x671bba25
2166 .long 0x980eea45,0x980eea45
2167 .long 0xe1c0fe5d,0xe1c0fe5d
2168 .long 0x02752fc3,0x02752fc3
2169 .long 0x12f04c81,0x12f04c81
2170 .long 0xa397468d,0xa397468d
2171 .long 0xc6f9d36b,0xc6f9d36b
2172 .long 0xe75f8f03,0xe75f8f03
2173 .long 0x959c9215,0x959c9215
2174 .long 0xeb7a6dbf,0xeb7a6dbf
2175 .long 0xda595295,0xda595295
2176 .long 0x2d83bed4,0x2d83bed4
2177 .long 0xd3217458,0xd3217458
2178 .long 0x2969e049,0x2969e049
2179 .long 0x44c8c98e,0x44c8c98e
2180 .long 0x6a89c275,0x6a89c275
2181 .long 0x78798ef4,0x78798ef4
2182 .long 0x6b3e5899,0x6b3e5899
2183 .long 0xdd71b927,0xdd71b927
2184 .long 0xb64fe1be,0xb64fe1be
2185 .long 0x17ad88f0,0x17ad88f0
2186 .long 0x66ac20c9,0x66ac20c9
2187 .long 0xb43ace7d,0xb43ace7d
2188 .long 0x184adf63,0x184adf63
2189 .long 0x82311ae5,0x82311ae5
2190 .long 0x60335197,0x60335197
2191 .long 0x457f5362,0x457f5362
2192 .long 0xe07764b1,0xe07764b1
2193 .long 0x84ae6bbb,0x84ae6bbb
2194 .long 0x1ca081fe,0x1ca081fe
2195 .long 0x942b08f9,0x942b08f9
2196 .long 0x58684870,0x58684870
2197 .long 0x19fd458f,0x19fd458f
2198 .long 0x876cde94,0x876cde94
2199 .long 0xb7f87b52,0xb7f87b52
2200 .long 0x23d373ab,0x23d373ab
2201 .long 0xe2024b72,0xe2024b72
2202 .long 0x578f1fe3,0x578f1fe3
2203 .long 0x2aab5566,0x2aab5566
2204 .long 0x0728ebb2,0x0728ebb2
2205 .long 0x03c2b52f,0x03c2b52f
2206 .long 0x9a7bc586,0x9a7bc586
2207 .long 0xa50837d3,0xa50837d3
2208 .long 0xf2872830,0xf2872830
2209 .long 0xb2a5bf23,0xb2a5bf23
2210 .long 0xba6a0302,0xba6a0302
2211 .long 0x5c8216ed,0x5c8216ed
2212 .long 0x2b1ccf8a,0x2b1ccf8a
2213 .long 0x92b479a7,0x92b479a7
2214 .long 0xf0f207f3,0xf0f207f3
2215 .long 0xa1e2694e,0xa1e2694e
2216 .long 0xcdf4da65,0xcdf4da65
2217 .long 0xd5be0506,0xd5be0506
2218 .long 0x1f6234d1,0x1f6234d1
2219 .long 0x8afea6c4,0x8afea6c4
2220 .long 0x9d532e34,0x9d532e34
2221 .long 0xa055f3a2,0xa055f3a2
2222 .long 0x32e18a05,0x32e18a05
2223 .long 0x75ebf6a4,0x75ebf6a4
2224 .long 0x39ec830b,0x39ec830b
2225 .long 0xaaef6040,0xaaef6040
2226 .long 0x069f715e,0x069f715e
2227 .long 0x51106ebd,0x51106ebd
2228 .long 0xf98a213e,0xf98a213e
2229 .long 0x3d06dd96,0x3d06dd96
2230 .long 0xae053edd,0xae053edd
2231 .long 0x46bde64d,0x46bde64d
2232 .long 0xb58d5491,0xb58d5491
2233 .long 0x055dc471,0x055dc471
2234 .long 0x6fd40604,0x6fd40604
2235 .long 0xff155060,0xff155060
2236 .long 0x24fb9819,0x24fb9819
2237 .long 0x97e9bdd6,0x97e9bdd6
2238 .long 0xcc434089,0xcc434089
2239 .long 0x779ed967,0x779ed967
2240 .long 0xbd42e8b0,0xbd42e8b0
2241 .long 0x888b8907,0x888b8907
2242 .long 0x385b19e7,0x385b19e7
2243 .long 0xdbeec879,0xdbeec879
2244 .long 0x470a7ca1,0x470a7ca1
2245 .long 0xe90f427c,0xe90f427c
2246 .long 0xc91e84f8,0xc91e84f8
2247 .long 0x00000000,0x00000000
2248 .long 0x83868009,0x83868009
2249 .long 0x48ed2b32,0x48ed2b32
2250 .long 0xac70111e,0xac70111e
2251 .long 0x4e725a6c,0x4e725a6c
2252 .long 0xfbff0efd,0xfbff0efd
2253 .long 0x5638850f,0x5638850f
2254 .long 0x1ed5ae3d,0x1ed5ae3d
2255 .long 0x27392d36,0x27392d36
2256 .long 0x64d90f0a,0x64d90f0a
2257 .long 0x21a65c68,0x21a65c68
2258 .long 0xd1545b9b,0xd1545b9b
2259 .long 0x3a2e3624,0x3a2e3624
2260 .long 0xb1670a0c,0xb1670a0c
2261 .long 0x0fe75793,0x0fe75793
2262 .long 0xd296eeb4,0xd296eeb4
2263 .long 0x9e919b1b,0x9e919b1b
2264 .long 0x4fc5c080,0x4fc5c080
2265 .long 0xa220dc61,0xa220dc61
2266 .long 0x694b775a,0x694b775a
2267 .long 0x161a121c,0x161a121c
2268 .long 0x0aba93e2,0x0aba93e2
2269 .long 0xe52aa0c0,0xe52aa0c0
2270 .long 0x43e0223c,0x43e0223c
2271 .long 0x1d171b12,0x1d171b12
2272 .long 0x0b0d090e,0x0b0d090e
2273 .long 0xadc78bf2,0xadc78bf2
2274 .long 0xb9a8b62d,0xb9a8b62d
2275 .long 0xc8a91e14,0xc8a91e14
2276 .long 0x8519f157,0x8519f157
2277 .long 0x4c0775af,0x4c0775af
2278 .long 0xbbdd99ee,0xbbdd99ee
2279 .long 0xfd607fa3,0xfd607fa3
2280 .long 0x9f2601f7,0x9f2601f7
2281 .long 0xbcf5725c,0xbcf5725c
2282 .long 0xc53b6644,0xc53b6644
2283 .long 0x347efb5b,0x347efb5b
2284 .long 0x7629438b,0x7629438b
2285 .long 0xdcc623cb,0xdcc623cb
2286 .long 0x68fcedb6,0x68fcedb6
2287 .long 0x63f1e4b8,0x63f1e4b8
2288 .long 0xcadc31d7,0xcadc31d7
2289 .long 0x10856342,0x10856342
2290 .long 0x40229713,0x40229713
2291 .long 0x2011c684,0x2011c684
2292 .long 0x7d244a85,0x7d244a85
2293 .long 0xf83dbbd2,0xf83dbbd2
2294 .long 0x1132f9ae,0x1132f9ae
2295 .long 0x6da129c7,0x6da129c7
2296 .long 0x4b2f9e1d,0x4b2f9e1d
2297 .long 0xf330b2dc,0xf330b2dc
2298 .long 0xec52860d,0xec52860d
2299 .long 0xd0e3c177,0xd0e3c177
2300 .long 0x6c16b32b,0x6c16b32b
2301 .long 0x99b970a9,0x99b970a9
2302 .long 0xfa489411,0xfa489411
2303 .long 0x2264e947,0x2264e947
2304 .long 0xc48cfca8,0xc48cfca8
2305 .long 0x1a3ff0a0,0x1a3ff0a0
2306 .long 0xd82c7d56,0xd82c7d56
2307 .long 0xef903322,0xef903322
2308 .long 0xc74e4987,0xc74e4987
2309 .long 0xc1d138d9,0xc1d138d9
2310 .long 0xfea2ca8c,0xfea2ca8c
2311 .long 0x360bd498,0x360bd498
2312 .long 0xcf81f5a6,0xcf81f5a6
2313 .long 0x28de7aa5,0x28de7aa5
2314 .long 0x268eb7da,0x268eb7da
2315 .long 0xa4bfad3f,0xa4bfad3f
2316 .long 0xe49d3a2c,0xe49d3a2c
2317 .long 0x0d927850,0x0d927850
2318 .long 0x9bcc5f6a,0x9bcc5f6a
2319 .long 0x62467e54,0x62467e54
2320 .long 0xc2138df6,0xc2138df6
2321 .long 0xe8b8d890,0xe8b8d890
2322 .long 0x5ef7392e,0x5ef7392e
2323 .long 0xf5afc382,0xf5afc382
2324 .long 0xbe805d9f,0xbe805d9f
2325 .long 0x7c93d069,0x7c93d069
2326 .long 0xa92dd56f,0xa92dd56f
2327 .long 0xb31225cf,0xb31225cf
2328 .long 0x3b99acc8,0x3b99acc8
2329 .long 0xa77d1810,0xa77d1810
2330 .long 0x6e639ce8,0x6e639ce8
2331 .long 0x7bbb3bdb,0x7bbb3bdb
2332 .long 0x097826cd,0x097826cd
2333 .long 0xf418596e,0xf418596e
2334 .long 0x01b79aec,0x01b79aec
2335 .long 0xa89a4f83,0xa89a4f83
2336 .long 0x656e95e6,0x656e95e6
2337 .long 0x7ee6ffaa,0x7ee6ffaa
2338 .long 0x08cfbc21,0x08cfbc21
2339 .long 0xe6e815ef,0xe6e815ef
2340 .long 0xd99be7ba,0xd99be7ba
2341 .long 0xce366f4a,0xce366f4a
2342 .long 0xd4099fea,0xd4099fea
2343 .long 0xd67cb029,0xd67cb029
2344 .long 0xafb2a431,0xafb2a431
2345 .long 0x31233f2a,0x31233f2a
2346 .long 0x3094a5c6,0x3094a5c6
2347 .long 0xc066a235,0xc066a235
2348 .long 0x37bc4e74,0x37bc4e74
2349 .long 0xa6ca82fc,0xa6ca82fc
2350 .long 0xb0d090e0,0xb0d090e0
2351 .long 0x15d8a733,0x15d8a733
2352 .long 0x4a9804f1,0x4a9804f1
2353 .long 0xf7daec41,0xf7daec41
2354 .long 0x0e50cd7f,0x0e50cd7f
2355 .long 0x2ff69117,0x2ff69117
2356 .long 0x8dd64d76,0x8dd64d76
2357 .long 0x4db0ef43,0x4db0ef43
2358 .long 0x544daacc,0x544daacc
2359 .long 0xdf0496e4,0xdf0496e4
2360 .long 0xe3b5d19e,0xe3b5d19e
2361 .long 0x1b886a4c,0x1b886a4c
2362 .long 0xb81f2cc1,0xb81f2cc1
2363 .long 0x7f516546,0x7f516546
2364 .long 0x04ea5e9d,0x04ea5e9d
2365 .long 0x5d358c01,0x5d358c01
2366 .long 0x737487fa,0x737487fa
2367 .long 0x2e410bfb,0x2e410bfb
2368 .long 0x5a1d67b3,0x5a1d67b3
2369 .long 0x52d2db92,0x52d2db92
2370 .long 0x335610e9,0x335610e9
2371 .long 0x1347d66d,0x1347d66d
2372 .long 0x8c61d79a,0x8c61d79a
2373 .long 0x7a0ca137,0x7a0ca137
2374 .long 0x8e14f859,0x8e14f859
2375 .long 0x893c13eb,0x893c13eb
2376 .long 0xee27a9ce,0xee27a9ce
2377 .long 0x35c961b7,0x35c961b7
2378 .long 0xede51ce1,0xede51ce1
2379 .long 0x3cb1477a,0x3cb1477a
2380 .long 0x59dfd29c,0x59dfd29c
2381 .long 0x3f73f255,0x3f73f255
2382 .long 0x79ce1418,0x79ce1418
2383 .long 0xbf37c773,0xbf37c773
2384 .long 0xeacdf753,0xeacdf753
2385 .long 0x5baafd5f,0x5baafd5f
2386 .long 0x146f3ddf,0x146f3ddf
2387 .long 0x86db4478,0x86db4478
2388 .long 0x81f3afca,0x81f3afca
2389 .long 0x3ec468b9,0x3ec468b9
2390 .long 0x2c342438,0x2c342438
2391 .long 0x5f40a3c2,0x5f40a3c2
2392 .long 0x72c31d16,0x72c31d16
2393 .long 0x0c25e2bc,0x0c25e2bc
2394 .long 0x8b493c28,0x8b493c28
2395 .long 0x41950dff,0x41950dff
2396 .long 0x7101a839,0x7101a839
2397 .long 0xdeb30c08,0xdeb30c08
2398 .long 0x9ce4b4d8,0x9ce4b4d8
2399 .long 0x90c15664,0x90c15664
2400 .long 0x6184cb7b,0x6184cb7b
2401 .long 0x70b632d5,0x70b632d5
2402 .long 0x745c6c48,0x745c6c48
2403 .long 0x4257b8d0,0x4257b8d0
2404 .byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38
2405 .byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb
2406 .byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87
2407 .byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb
2408 .byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d
2409 .byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e
2410 .byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2
2411 .byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25
2412 .byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16
2413 .byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92
2414 .byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda
2415 .byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84
2416 .byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a
2417 .byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06
2418 .byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02
2419 .byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b
2420 .byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea
2421 .byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73
2422 .byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85
2423 .byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e
2424 .byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89
2425 .byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b
2426 .byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20
2427 .byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4
2428 .byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31
2429 .byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f
2430 .byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d
2431 .byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef
2432 .byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0
2433 .byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61
2434 .byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26
2435 .byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d
2436 .long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe
2437 .long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0
2438 .byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38
2439 .byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb
2440 .byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87
2441 .byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb
2442 .byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d
2443 .byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e
2444 .byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2
2445 .byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25
2446 .byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16
2447 .byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92
2448 .byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda
2449 .byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84
2450 .byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a
2451 .byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06
2452 .byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02
2453 .byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b
2454 .byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea
2455 .byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73
2456 .byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85
2457 .byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e
2458 .byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89
2459 .byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b
2460 .byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20
2461 .byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4
2462 .byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31
2463 .byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f
2464 .byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d
2465 .byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef
2466 .byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0
2467 .byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61
2468 .byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26
2469 .byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d
2470 .long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe
2471 .long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0
2472 .byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38
2473 .byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb
2474 .byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87
2475 .byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb
2476 .byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d
2477 .byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e
2478 .byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2
2479 .byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25
2480 .byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16
2481 .byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92
2482 .byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda
2483 .byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84
2484 .byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a
2485 .byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06
2486 .byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02
2487 .byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b
2488 .byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea
2489 .byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73
2490 .byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85
2491 .byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e
2492 .byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89
2493 .byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b
2494 .byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20
2495 .byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4
2496 .byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31
2497 .byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f
2498 .byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d
2499 .byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef
2500 .byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0
2501 .byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61
2502 .byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26
2503 .byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d
2504 .long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe
2505 .long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0
2506 .byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38
2507 .byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb
2508 .byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87
2509 .byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb
2510 .byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d
2511 .byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e
2512 .byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2
2513 .byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25
2514 .byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16
2515 .byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92
2516 .byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda
2517 .byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84
2518 .byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a
2519 .byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06
2520 .byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02
2521 .byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b
2522 .byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea
2523 .byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73
2524 .byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85
2525 .byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e
2526 .byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89
2527 .byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b
2528 .byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20
2529 .byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4
2530 .byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31
2531 .byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f
2532 .byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d
2533 .byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef
2534 .byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0
2535 .byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61
2536 .byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26
2537 .byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d
2538 .long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe
2539 .long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0
2540 .byte 65,69,83,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71 ,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,1 11,114,103,62,0
2541 .align 64
OLDNEW
« no previous file with comments | « openssl/crypto/aes/asm/aes-sparcv9.pl ('k') | openssl/crypto/aes/asm/aes-x86_64.pl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698