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

Side by Side Diff: third_party/boringssl/linux-x86_64/crypto/aes/aes-x86_64.S

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

Powered by Google App Engine
This is Rietveld 408576698