VirtualBox

source: vbox/trunk/src/libs/openssl-3.0.7/crypto/genasm-macosx/aesni-sha1-x86_64.S@ 98024

Last change on this file since 98024 was 94083, checked in by vboxsync, 3 years ago

libs/openssl-3.0.1: Recreate asm files, bugref:10128

File size: 30.6 KB
Line 
1.text
2
3
4.globl _aesni_cbc_sha1_enc
5
6.p2align 5
7_aesni_cbc_sha1_enc:
8
9
10 movl _OPENSSL_ia32cap_P+0(%rip),%r10d
11 movq _OPENSSL_ia32cap_P+4(%rip),%r11
12 btq $61,%r11
13 jc aesni_cbc_sha1_enc_shaext
14 jmp aesni_cbc_sha1_enc_ssse3
15 .byte 0xf3,0xc3
16
17
18
19.p2align 5
20aesni_cbc_sha1_enc_ssse3:
21
22 movq 8(%rsp),%r10
23
24
25 pushq %rbx
26
27 pushq %rbp
28
29 pushq %r12
30
31 pushq %r13
32
33 pushq %r14
34
35 pushq %r15
36
37 leaq -104(%rsp),%rsp
38
39
40
41 movq %rdi,%r12
42 movq %rsi,%r13
43 movq %rdx,%r14
44 leaq 112(%rcx),%r15
45 movdqu (%r8),%xmm2
46 movq %r8,88(%rsp)
47 shlq $6,%r14
48 subq %r12,%r13
49 movl 240-112(%r15),%r8d
50 addq %r10,%r14
51
52 leaq K_XX_XX(%rip),%r11
53 movl 0(%r9),%eax
54 movl 4(%r9),%ebx
55 movl 8(%r9),%ecx
56 movl 12(%r9),%edx
57 movl %ebx,%esi
58 movl 16(%r9),%ebp
59 movl %ecx,%edi
60 xorl %edx,%edi
61 andl %edi,%esi
62
63 movdqa 64(%r11),%xmm3
64 movdqa 0(%r11),%xmm13
65 movdqu 0(%r10),%xmm4
66 movdqu 16(%r10),%xmm5
67 movdqu 32(%r10),%xmm6
68 movdqu 48(%r10),%xmm7
69.byte 102,15,56,0,227
70.byte 102,15,56,0,235
71.byte 102,15,56,0,243
72 addq $64,%r10
73 paddd %xmm13,%xmm4
74.byte 102,15,56,0,251
75 paddd %xmm13,%xmm5
76 paddd %xmm13,%xmm6
77 movdqa %xmm4,0(%rsp)
78 psubd %xmm13,%xmm4
79 movdqa %xmm5,16(%rsp)
80 psubd %xmm13,%xmm5
81 movdqa %xmm6,32(%rsp)
82 psubd %xmm13,%xmm6
83 movups -112(%r15),%xmm15
84 movups 16-112(%r15),%xmm0
85 jmp L$oop_ssse3
86.p2align 5
87L$oop_ssse3:
88 rorl $2,%ebx
89 movups 0(%r12),%xmm14
90 xorps %xmm15,%xmm14
91 xorps %xmm14,%xmm2
92 movups -80(%r15),%xmm1
93.byte 102,15,56,220,208
94 pshufd $238,%xmm4,%xmm8
95 xorl %edx,%esi
96 movdqa %xmm7,%xmm12
97 paddd %xmm7,%xmm13
98 movl %eax,%edi
99 addl 0(%rsp),%ebp
100 punpcklqdq %xmm5,%xmm8
101 xorl %ecx,%ebx
102 roll $5,%eax
103 addl %esi,%ebp
104 psrldq $4,%xmm12
105 andl %ebx,%edi
106 xorl %ecx,%ebx
107 pxor %xmm4,%xmm8
108 addl %eax,%ebp
109 rorl $7,%eax
110 pxor %xmm6,%xmm12
111 xorl %ecx,%edi
112 movl %ebp,%esi
113 addl 4(%rsp),%edx
114 pxor %xmm12,%xmm8
115 xorl %ebx,%eax
116 roll $5,%ebp
117 movdqa %xmm13,48(%rsp)
118 addl %edi,%edx
119 movups -64(%r15),%xmm0
120.byte 102,15,56,220,209
121 andl %eax,%esi
122 movdqa %xmm8,%xmm3
123 xorl %ebx,%eax
124 addl %ebp,%edx
125 rorl $7,%ebp
126 movdqa %xmm8,%xmm12
127 xorl %ebx,%esi
128 pslldq $12,%xmm3
129 paddd %xmm8,%xmm8
130 movl %edx,%edi
131 addl 8(%rsp),%ecx
132 psrld $31,%xmm12
133 xorl %eax,%ebp
134 roll $5,%edx
135 addl %esi,%ecx
136 movdqa %xmm3,%xmm13
137 andl %ebp,%edi
138 xorl %eax,%ebp
139 psrld $30,%xmm3
140 addl %edx,%ecx
141 rorl $7,%edx
142 por %xmm12,%xmm8
143 xorl %eax,%edi
144 movl %ecx,%esi
145 addl 12(%rsp),%ebx
146 movups -48(%r15),%xmm1
147.byte 102,15,56,220,208
148 pslld $2,%xmm13
149 pxor %xmm3,%xmm8
150 xorl %ebp,%edx
151 movdqa 0(%r11),%xmm3
152 roll $5,%ecx
153 addl %edi,%ebx
154 andl %edx,%esi
155 pxor %xmm13,%xmm8
156 xorl %ebp,%edx
157 addl %ecx,%ebx
158 rorl $7,%ecx
159 pshufd $238,%xmm5,%xmm9
160 xorl %ebp,%esi
161 movdqa %xmm8,%xmm13
162 paddd %xmm8,%xmm3
163 movl %ebx,%edi
164 addl 16(%rsp),%eax
165 punpcklqdq %xmm6,%xmm9
166 xorl %edx,%ecx
167 roll $5,%ebx
168 addl %esi,%eax
169 psrldq $4,%xmm13
170 andl %ecx,%edi
171 xorl %edx,%ecx
172 pxor %xmm5,%xmm9
173 addl %ebx,%eax
174 rorl $7,%ebx
175 movups -32(%r15),%xmm0
176.byte 102,15,56,220,209
177 pxor %xmm7,%xmm13
178 xorl %edx,%edi
179 movl %eax,%esi
180 addl 20(%rsp),%ebp
181 pxor %xmm13,%xmm9
182 xorl %ecx,%ebx
183 roll $5,%eax
184 movdqa %xmm3,0(%rsp)
185 addl %edi,%ebp
186 andl %ebx,%esi
187 movdqa %xmm9,%xmm12
188 xorl %ecx,%ebx
189 addl %eax,%ebp
190 rorl $7,%eax
191 movdqa %xmm9,%xmm13
192 xorl %ecx,%esi
193 pslldq $12,%xmm12
194 paddd %xmm9,%xmm9
195 movl %ebp,%edi
196 addl 24(%rsp),%edx
197 psrld $31,%xmm13
198 xorl %ebx,%eax
199 roll $5,%ebp
200 addl %esi,%edx
201 movups -16(%r15),%xmm1
202.byte 102,15,56,220,208
203 movdqa %xmm12,%xmm3
204 andl %eax,%edi
205 xorl %ebx,%eax
206 psrld $30,%xmm12
207 addl %ebp,%edx
208 rorl $7,%ebp
209 por %xmm13,%xmm9
210 xorl %ebx,%edi
211 movl %edx,%esi
212 addl 28(%rsp),%ecx
213 pslld $2,%xmm3
214 pxor %xmm12,%xmm9
215 xorl %eax,%ebp
216 movdqa 16(%r11),%xmm12
217 roll $5,%edx
218 addl %edi,%ecx
219 andl %ebp,%esi
220 pxor %xmm3,%xmm9
221 xorl %eax,%ebp
222 addl %edx,%ecx
223 rorl $7,%edx
224 pshufd $238,%xmm6,%xmm10
225 xorl %eax,%esi
226 movdqa %xmm9,%xmm3
227 paddd %xmm9,%xmm12
228 movl %ecx,%edi
229 addl 32(%rsp),%ebx
230 movups 0(%r15),%xmm0
231.byte 102,15,56,220,209
232 punpcklqdq %xmm7,%xmm10
233 xorl %ebp,%edx
234 roll $5,%ecx
235 addl %esi,%ebx
236 psrldq $4,%xmm3
237 andl %edx,%edi
238 xorl %ebp,%edx
239 pxor %xmm6,%xmm10
240 addl %ecx,%ebx
241 rorl $7,%ecx
242 pxor %xmm8,%xmm3
243 xorl %ebp,%edi
244 movl %ebx,%esi
245 addl 36(%rsp),%eax
246 pxor %xmm3,%xmm10
247 xorl %edx,%ecx
248 roll $5,%ebx
249 movdqa %xmm12,16(%rsp)
250 addl %edi,%eax
251 andl %ecx,%esi
252 movdqa %xmm10,%xmm13
253 xorl %edx,%ecx
254 addl %ebx,%eax
255 rorl $7,%ebx
256 movups 16(%r15),%xmm1
257.byte 102,15,56,220,208
258 movdqa %xmm10,%xmm3
259 xorl %edx,%esi
260 pslldq $12,%xmm13
261 paddd %xmm10,%xmm10
262 movl %eax,%edi
263 addl 40(%rsp),%ebp
264 psrld $31,%xmm3
265 xorl %ecx,%ebx
266 roll $5,%eax
267 addl %esi,%ebp
268 movdqa %xmm13,%xmm12
269 andl %ebx,%edi
270 xorl %ecx,%ebx
271 psrld $30,%xmm13
272 addl %eax,%ebp
273 rorl $7,%eax
274 por %xmm3,%xmm10
275 xorl %ecx,%edi
276 movl %ebp,%esi
277 addl 44(%rsp),%edx
278 pslld $2,%xmm12
279 pxor %xmm13,%xmm10
280 xorl %ebx,%eax
281 movdqa 16(%r11),%xmm13
282 roll $5,%ebp
283 addl %edi,%edx
284 movups 32(%r15),%xmm0
285.byte 102,15,56,220,209
286 andl %eax,%esi
287 pxor %xmm12,%xmm10
288 xorl %ebx,%eax
289 addl %ebp,%edx
290 rorl $7,%ebp
291 pshufd $238,%xmm7,%xmm11
292 xorl %ebx,%esi
293 movdqa %xmm10,%xmm12
294 paddd %xmm10,%xmm13
295 movl %edx,%edi
296 addl 48(%rsp),%ecx
297 punpcklqdq %xmm8,%xmm11
298 xorl %eax,%ebp
299 roll $5,%edx
300 addl %esi,%ecx
301 psrldq $4,%xmm12
302 andl %ebp,%edi
303 xorl %eax,%ebp
304 pxor %xmm7,%xmm11
305 addl %edx,%ecx
306 rorl $7,%edx
307 pxor %xmm9,%xmm12
308 xorl %eax,%edi
309 movl %ecx,%esi
310 addl 52(%rsp),%ebx
311 movups 48(%r15),%xmm1
312.byte 102,15,56,220,208
313 pxor %xmm12,%xmm11
314 xorl %ebp,%edx
315 roll $5,%ecx
316 movdqa %xmm13,32(%rsp)
317 addl %edi,%ebx
318 andl %edx,%esi
319 movdqa %xmm11,%xmm3
320 xorl %ebp,%edx
321 addl %ecx,%ebx
322 rorl $7,%ecx
323 movdqa %xmm11,%xmm12
324 xorl %ebp,%esi
325 pslldq $12,%xmm3
326 paddd %xmm11,%xmm11
327 movl %ebx,%edi
328 addl 56(%rsp),%eax
329 psrld $31,%xmm12
330 xorl %edx,%ecx
331 roll $5,%ebx
332 addl %esi,%eax
333 movdqa %xmm3,%xmm13
334 andl %ecx,%edi
335 xorl %edx,%ecx
336 psrld $30,%xmm3
337 addl %ebx,%eax
338 rorl $7,%ebx
339 cmpl $11,%r8d
340 jb L$aesenclast1
341 movups 64(%r15),%xmm0
342.byte 102,15,56,220,209
343 movups 80(%r15),%xmm1
344.byte 102,15,56,220,208
345 je L$aesenclast1
346 movups 96(%r15),%xmm0
347.byte 102,15,56,220,209
348 movups 112(%r15),%xmm1
349.byte 102,15,56,220,208
350L$aesenclast1:
351.byte 102,15,56,221,209
352 movups 16-112(%r15),%xmm0
353 por %xmm12,%xmm11
354 xorl %edx,%edi
355 movl %eax,%esi
356 addl 60(%rsp),%ebp
357 pslld $2,%xmm13
358 pxor %xmm3,%xmm11
359 xorl %ecx,%ebx
360 movdqa 16(%r11),%xmm3
361 roll $5,%eax
362 addl %edi,%ebp
363 andl %ebx,%esi
364 pxor %xmm13,%xmm11
365 pshufd $238,%xmm10,%xmm13
366 xorl %ecx,%ebx
367 addl %eax,%ebp
368 rorl $7,%eax
369 pxor %xmm8,%xmm4
370 xorl %ecx,%esi
371 movl %ebp,%edi
372 addl 0(%rsp),%edx
373 punpcklqdq %xmm11,%xmm13
374 xorl %ebx,%eax
375 roll $5,%ebp
376 pxor %xmm5,%xmm4
377 addl %esi,%edx
378 movups 16(%r12),%xmm14
379 xorps %xmm15,%xmm14
380 movups %xmm2,0(%r12,%r13,1)
381 xorps %xmm14,%xmm2
382 movups -80(%r15),%xmm1
383.byte 102,15,56,220,208
384 andl %eax,%edi
385 movdqa %xmm3,%xmm12
386 xorl %ebx,%eax
387 paddd %xmm11,%xmm3
388 addl %ebp,%edx
389 pxor %xmm13,%xmm4
390 rorl $7,%ebp
391 xorl %ebx,%edi
392 movl %edx,%esi
393 addl 4(%rsp),%ecx
394 movdqa %xmm4,%xmm13
395 xorl %eax,%ebp
396 roll $5,%edx
397 movdqa %xmm3,48(%rsp)
398 addl %edi,%ecx
399 andl %ebp,%esi
400 xorl %eax,%ebp
401 pslld $2,%xmm4
402 addl %edx,%ecx
403 rorl $7,%edx
404 psrld $30,%xmm13
405 xorl %eax,%esi
406 movl %ecx,%edi
407 addl 8(%rsp),%ebx
408 movups -64(%r15),%xmm0
409.byte 102,15,56,220,209
410 por %xmm13,%xmm4
411 xorl %ebp,%edx
412 roll $5,%ecx
413 pshufd $238,%xmm11,%xmm3
414 addl %esi,%ebx
415 andl %edx,%edi
416 xorl %ebp,%edx
417 addl %ecx,%ebx
418 addl 12(%rsp),%eax
419 xorl %ebp,%edi
420 movl %ebx,%esi
421 roll $5,%ebx
422 addl %edi,%eax
423 xorl %edx,%esi
424 rorl $7,%ecx
425 addl %ebx,%eax
426 pxor %xmm9,%xmm5
427 addl 16(%rsp),%ebp
428 movups -48(%r15),%xmm1
429.byte 102,15,56,220,208
430 xorl %ecx,%esi
431 punpcklqdq %xmm4,%xmm3
432 movl %eax,%edi
433 roll $5,%eax
434 pxor %xmm6,%xmm5
435 addl %esi,%ebp
436 xorl %ecx,%edi
437 movdqa %xmm12,%xmm13
438 rorl $7,%ebx
439 paddd %xmm4,%xmm12
440 addl %eax,%ebp
441 pxor %xmm3,%xmm5
442 addl 20(%rsp),%edx
443 xorl %ebx,%edi
444 movl %ebp,%esi
445 roll $5,%ebp
446 movdqa %xmm5,%xmm3
447 addl %edi,%edx
448 xorl %ebx,%esi
449 movdqa %xmm12,0(%rsp)
450 rorl $7,%eax
451 addl %ebp,%edx
452 addl 24(%rsp),%ecx
453 pslld $2,%xmm5
454 xorl %eax,%esi
455 movl %edx,%edi
456 psrld $30,%xmm3
457 roll $5,%edx
458 addl %esi,%ecx
459 movups -32(%r15),%xmm0
460.byte 102,15,56,220,209
461 xorl %eax,%edi
462 rorl $7,%ebp
463 por %xmm3,%xmm5
464 addl %edx,%ecx
465 addl 28(%rsp),%ebx
466 pshufd $238,%xmm4,%xmm12
467 xorl %ebp,%edi
468 movl %ecx,%esi
469 roll $5,%ecx
470 addl %edi,%ebx
471 xorl %ebp,%esi
472 rorl $7,%edx
473 addl %ecx,%ebx
474 pxor %xmm10,%xmm6
475 addl 32(%rsp),%eax
476 xorl %edx,%esi
477 punpcklqdq %xmm5,%xmm12
478 movl %ebx,%edi
479 roll $5,%ebx
480 pxor %xmm7,%xmm6
481 addl %esi,%eax
482 xorl %edx,%edi
483 movdqa 32(%r11),%xmm3
484 rorl $7,%ecx
485 paddd %xmm5,%xmm13
486 addl %ebx,%eax
487 pxor %xmm12,%xmm6
488 addl 36(%rsp),%ebp
489 movups -16(%r15),%xmm1
490.byte 102,15,56,220,208
491 xorl %ecx,%edi
492 movl %eax,%esi
493 roll $5,%eax
494 movdqa %xmm6,%xmm12
495 addl %edi,%ebp
496 xorl %ecx,%esi
497 movdqa %xmm13,16(%rsp)
498 rorl $7,%ebx
499 addl %eax,%ebp
500 addl 40(%rsp),%edx
501 pslld $2,%xmm6
502 xorl %ebx,%esi
503 movl %ebp,%edi
504 psrld $30,%xmm12
505 roll $5,%ebp
506 addl %esi,%edx
507 xorl %ebx,%edi
508 rorl $7,%eax
509 por %xmm12,%xmm6
510 addl %ebp,%edx
511 addl 44(%rsp),%ecx
512 pshufd $238,%xmm5,%xmm13
513 xorl %eax,%edi
514 movl %edx,%esi
515 roll $5,%edx
516 addl %edi,%ecx
517 movups 0(%r15),%xmm0
518.byte 102,15,56,220,209
519 xorl %eax,%esi
520 rorl $7,%ebp
521 addl %edx,%ecx
522 pxor %xmm11,%xmm7
523 addl 48(%rsp),%ebx
524 xorl %ebp,%esi
525 punpcklqdq %xmm6,%xmm13
526 movl %ecx,%edi
527 roll $5,%ecx
528 pxor %xmm8,%xmm7
529 addl %esi,%ebx
530 xorl %ebp,%edi
531 movdqa %xmm3,%xmm12
532 rorl $7,%edx
533 paddd %xmm6,%xmm3
534 addl %ecx,%ebx
535 pxor %xmm13,%xmm7
536 addl 52(%rsp),%eax
537 xorl %edx,%edi
538 movl %ebx,%esi
539 roll $5,%ebx
540 movdqa %xmm7,%xmm13
541 addl %edi,%eax
542 xorl %edx,%esi
543 movdqa %xmm3,32(%rsp)
544 rorl $7,%ecx
545 addl %ebx,%eax
546 addl 56(%rsp),%ebp
547 movups 16(%r15),%xmm1
548.byte 102,15,56,220,208
549 pslld $2,%xmm7
550 xorl %ecx,%esi
551 movl %eax,%edi
552 psrld $30,%xmm13
553 roll $5,%eax
554 addl %esi,%ebp
555 xorl %ecx,%edi
556 rorl $7,%ebx
557 por %xmm13,%xmm7
558 addl %eax,%ebp
559 addl 60(%rsp),%edx
560 pshufd $238,%xmm6,%xmm3
561 xorl %ebx,%edi
562 movl %ebp,%esi
563 roll $5,%ebp
564 addl %edi,%edx
565 xorl %ebx,%esi
566 rorl $7,%eax
567 addl %ebp,%edx
568 pxor %xmm4,%xmm8
569 addl 0(%rsp),%ecx
570 xorl %eax,%esi
571 punpcklqdq %xmm7,%xmm3
572 movl %edx,%edi
573 roll $5,%edx
574 pxor %xmm9,%xmm8
575 addl %esi,%ecx
576 movups 32(%r15),%xmm0
577.byte 102,15,56,220,209
578 xorl %eax,%edi
579 movdqa %xmm12,%xmm13
580 rorl $7,%ebp
581 paddd %xmm7,%xmm12
582 addl %edx,%ecx
583 pxor %xmm3,%xmm8
584 addl 4(%rsp),%ebx
585 xorl %ebp,%edi
586 movl %ecx,%esi
587 roll $5,%ecx
588 movdqa %xmm8,%xmm3
589 addl %edi,%ebx
590 xorl %ebp,%esi
591 movdqa %xmm12,48(%rsp)
592 rorl $7,%edx
593 addl %ecx,%ebx
594 addl 8(%rsp),%eax
595 pslld $2,%xmm8
596 xorl %edx,%esi
597 movl %ebx,%edi
598 psrld $30,%xmm3
599 roll $5,%ebx
600 addl %esi,%eax
601 xorl %edx,%edi
602 rorl $7,%ecx
603 por %xmm3,%xmm8
604 addl %ebx,%eax
605 addl 12(%rsp),%ebp
606 movups 48(%r15),%xmm1
607.byte 102,15,56,220,208
608 pshufd $238,%xmm7,%xmm12
609 xorl %ecx,%edi
610 movl %eax,%esi
611 roll $5,%eax
612 addl %edi,%ebp
613 xorl %ecx,%esi
614 rorl $7,%ebx
615 addl %eax,%ebp
616 pxor %xmm5,%xmm9
617 addl 16(%rsp),%edx
618 xorl %ebx,%esi
619 punpcklqdq %xmm8,%xmm12
620 movl %ebp,%edi
621 roll $5,%ebp
622 pxor %xmm10,%xmm9
623 addl %esi,%edx
624 xorl %ebx,%edi
625 movdqa %xmm13,%xmm3
626 rorl $7,%eax
627 paddd %xmm8,%xmm13
628 addl %ebp,%edx
629 pxor %xmm12,%xmm9
630 addl 20(%rsp),%ecx
631 xorl %eax,%edi
632 movl %edx,%esi
633 roll $5,%edx
634 movdqa %xmm9,%xmm12
635 addl %edi,%ecx
636 cmpl $11,%r8d
637 jb L$aesenclast2
638 movups 64(%r15),%xmm0
639.byte 102,15,56,220,209
640 movups 80(%r15),%xmm1
641.byte 102,15,56,220,208
642 je L$aesenclast2
643 movups 96(%r15),%xmm0
644.byte 102,15,56,220,209
645 movups 112(%r15),%xmm1
646.byte 102,15,56,220,208
647L$aesenclast2:
648.byte 102,15,56,221,209
649 movups 16-112(%r15),%xmm0
650 xorl %eax,%esi
651 movdqa %xmm13,0(%rsp)
652 rorl $7,%ebp
653 addl %edx,%ecx
654 addl 24(%rsp),%ebx
655 pslld $2,%xmm9
656 xorl %ebp,%esi
657 movl %ecx,%edi
658 psrld $30,%xmm12
659 roll $5,%ecx
660 addl %esi,%ebx
661 xorl %ebp,%edi
662 rorl $7,%edx
663 por %xmm12,%xmm9
664 addl %ecx,%ebx
665 addl 28(%rsp),%eax
666 pshufd $238,%xmm8,%xmm13
667 rorl $7,%ecx
668 movl %ebx,%esi
669 xorl %edx,%edi
670 roll $5,%ebx
671 addl %edi,%eax
672 xorl %ecx,%esi
673 xorl %edx,%ecx
674 addl %ebx,%eax
675 pxor %xmm6,%xmm10
676 addl 32(%rsp),%ebp
677 movups 32(%r12),%xmm14
678 xorps %xmm15,%xmm14
679 movups %xmm2,16(%r13,%r12,1)
680 xorps %xmm14,%xmm2
681 movups -80(%r15),%xmm1
682.byte 102,15,56,220,208
683 andl %ecx,%esi
684 xorl %edx,%ecx
685 rorl $7,%ebx
686 punpcklqdq %xmm9,%xmm13
687 movl %eax,%edi
688 xorl %ecx,%esi
689 pxor %xmm11,%xmm10
690 roll $5,%eax
691 addl %esi,%ebp
692 movdqa %xmm3,%xmm12
693 xorl %ebx,%edi
694 paddd %xmm9,%xmm3
695 xorl %ecx,%ebx
696 pxor %xmm13,%xmm10
697 addl %eax,%ebp
698 addl 36(%rsp),%edx
699 andl %ebx,%edi
700 xorl %ecx,%ebx
701 rorl $7,%eax
702 movdqa %xmm10,%xmm13
703 movl %ebp,%esi
704 xorl %ebx,%edi
705 movdqa %xmm3,16(%rsp)
706 roll $5,%ebp
707 addl %edi,%edx
708 movups -64(%r15),%xmm0
709.byte 102,15,56,220,209
710 xorl %eax,%esi
711 pslld $2,%xmm10
712 xorl %ebx,%eax
713 addl %ebp,%edx
714 psrld $30,%xmm13
715 addl 40(%rsp),%ecx
716 andl %eax,%esi
717 xorl %ebx,%eax
718 por %xmm13,%xmm10
719 rorl $7,%ebp
720 movl %edx,%edi
721 xorl %eax,%esi
722 roll $5,%edx
723 pshufd $238,%xmm9,%xmm3
724 addl %esi,%ecx
725 xorl %ebp,%edi
726 xorl %eax,%ebp
727 addl %edx,%ecx
728 addl 44(%rsp),%ebx
729 andl %ebp,%edi
730 xorl %eax,%ebp
731 rorl $7,%edx
732 movups -48(%r15),%xmm1
733.byte 102,15,56,220,208
734 movl %ecx,%esi
735 xorl %ebp,%edi
736 roll $5,%ecx
737 addl %edi,%ebx
738 xorl %edx,%esi
739 xorl %ebp,%edx
740 addl %ecx,%ebx
741 pxor %xmm7,%xmm11
742 addl 48(%rsp),%eax
743 andl %edx,%esi
744 xorl %ebp,%edx
745 rorl $7,%ecx
746 punpcklqdq %xmm10,%xmm3
747 movl %ebx,%edi
748 xorl %edx,%esi
749 pxor %xmm4,%xmm11
750 roll $5,%ebx
751 addl %esi,%eax
752 movdqa 48(%r11),%xmm13
753 xorl %ecx,%edi
754 paddd %xmm10,%xmm12
755 xorl %edx,%ecx
756 pxor %xmm3,%xmm11
757 addl %ebx,%eax
758 addl 52(%rsp),%ebp
759 movups -32(%r15),%xmm0
760.byte 102,15,56,220,209
761 andl %ecx,%edi
762 xorl %edx,%ecx
763 rorl $7,%ebx
764 movdqa %xmm11,%xmm3
765 movl %eax,%esi
766 xorl %ecx,%edi
767 movdqa %xmm12,32(%rsp)
768 roll $5,%eax
769 addl %edi,%ebp
770 xorl %ebx,%esi
771 pslld $2,%xmm11
772 xorl %ecx,%ebx
773 addl %eax,%ebp
774 psrld $30,%xmm3
775 addl 56(%rsp),%edx
776 andl %ebx,%esi
777 xorl %ecx,%ebx
778 por %xmm3,%xmm11
779 rorl $7,%eax
780 movl %ebp,%edi
781 xorl %ebx,%esi
782 roll $5,%ebp
783 pshufd $238,%xmm10,%xmm12
784 addl %esi,%edx
785 movups -16(%r15),%xmm1
786.byte 102,15,56,220,208
787 xorl %eax,%edi
788 xorl %ebx,%eax
789 addl %ebp,%edx
790 addl 60(%rsp),%ecx
791 andl %eax,%edi
792 xorl %ebx,%eax
793 rorl $7,%ebp
794 movl %edx,%esi
795 xorl %eax,%edi
796 roll $5,%edx
797 addl %edi,%ecx
798 xorl %ebp,%esi
799 xorl %eax,%ebp
800 addl %edx,%ecx
801 pxor %xmm8,%xmm4
802 addl 0(%rsp),%ebx
803 andl %ebp,%esi
804 xorl %eax,%ebp
805 rorl $7,%edx
806 movups 0(%r15),%xmm0
807.byte 102,15,56,220,209
808 punpcklqdq %xmm11,%xmm12
809 movl %ecx,%edi
810 xorl %ebp,%esi
811 pxor %xmm5,%xmm4
812 roll $5,%ecx
813 addl %esi,%ebx
814 movdqa %xmm13,%xmm3
815 xorl %edx,%edi
816 paddd %xmm11,%xmm13
817 xorl %ebp,%edx
818 pxor %xmm12,%xmm4
819 addl %ecx,%ebx
820 addl 4(%rsp),%eax
821 andl %edx,%edi
822 xorl %ebp,%edx
823 rorl $7,%ecx
824 movdqa %xmm4,%xmm12
825 movl %ebx,%esi
826 xorl %edx,%edi
827 movdqa %xmm13,48(%rsp)
828 roll $5,%ebx
829 addl %edi,%eax
830 xorl %ecx,%esi
831 pslld $2,%xmm4
832 xorl %edx,%ecx
833 addl %ebx,%eax
834 psrld $30,%xmm12
835 addl 8(%rsp),%ebp
836 movups 16(%r15),%xmm1
837.byte 102,15,56,220,208
838 andl %ecx,%esi
839 xorl %edx,%ecx
840 por %xmm12,%xmm4
841 rorl $7,%ebx
842 movl %eax,%edi
843 xorl %ecx,%esi
844 roll $5,%eax
845 pshufd $238,%xmm11,%xmm13
846 addl %esi,%ebp
847 xorl %ebx,%edi
848 xorl %ecx,%ebx
849 addl %eax,%ebp
850 addl 12(%rsp),%edx
851 andl %ebx,%edi
852 xorl %ecx,%ebx
853 rorl $7,%eax
854 movl %ebp,%esi
855 xorl %ebx,%edi
856 roll $5,%ebp
857 addl %edi,%edx
858 movups 32(%r15),%xmm0
859.byte 102,15,56,220,209
860 xorl %eax,%esi
861 xorl %ebx,%eax
862 addl %ebp,%edx
863 pxor %xmm9,%xmm5
864 addl 16(%rsp),%ecx
865 andl %eax,%esi
866 xorl %ebx,%eax
867 rorl $7,%ebp
868 punpcklqdq %xmm4,%xmm13
869 movl %edx,%edi
870 xorl %eax,%esi
871 pxor %xmm6,%xmm5
872 roll $5,%edx
873 addl %esi,%ecx
874 movdqa %xmm3,%xmm12
875 xorl %ebp,%edi
876 paddd %xmm4,%xmm3
877 xorl %eax,%ebp
878 pxor %xmm13,%xmm5
879 addl %edx,%ecx
880 addl 20(%rsp),%ebx
881 andl %ebp,%edi
882 xorl %eax,%ebp
883 rorl $7,%edx
884 movups 48(%r15),%xmm1
885.byte 102,15,56,220,208
886 movdqa %xmm5,%xmm13
887 movl %ecx,%esi
888 xorl %ebp,%edi
889 movdqa %xmm3,0(%rsp)
890 roll $5,%ecx
891 addl %edi,%ebx
892 xorl %edx,%esi
893 pslld $2,%xmm5
894 xorl %ebp,%edx
895 addl %ecx,%ebx
896 psrld $30,%xmm13
897 addl 24(%rsp),%eax
898 andl %edx,%esi
899 xorl %ebp,%edx
900 por %xmm13,%xmm5
901 rorl $7,%ecx
902 movl %ebx,%edi
903 xorl %edx,%esi
904 roll $5,%ebx
905 pshufd $238,%xmm4,%xmm3
906 addl %esi,%eax
907 xorl %ecx,%edi
908 xorl %edx,%ecx
909 addl %ebx,%eax
910 addl 28(%rsp),%ebp
911 cmpl $11,%r8d
912 jb L$aesenclast3
913 movups 64(%r15),%xmm0
914.byte 102,15,56,220,209
915 movups 80(%r15),%xmm1
916.byte 102,15,56,220,208
917 je L$aesenclast3
918 movups 96(%r15),%xmm0
919.byte 102,15,56,220,209
920 movups 112(%r15),%xmm1
921.byte 102,15,56,220,208
922L$aesenclast3:
923.byte 102,15,56,221,209
924 movups 16-112(%r15),%xmm0
925 andl %ecx,%edi
926 xorl %edx,%ecx
927 rorl $7,%ebx
928 movl %eax,%esi
929 xorl %ecx,%edi
930 roll $5,%eax
931 addl %edi,%ebp
932 xorl %ebx,%esi
933 xorl %ecx,%ebx
934 addl %eax,%ebp
935 pxor %xmm10,%xmm6
936 addl 32(%rsp),%edx
937 andl %ebx,%esi
938 xorl %ecx,%ebx
939 rorl $7,%eax
940 punpcklqdq %xmm5,%xmm3
941 movl %ebp,%edi
942 xorl %ebx,%esi
943 pxor %xmm7,%xmm6
944 roll $5,%ebp
945 addl %esi,%edx
946 movups 48(%r12),%xmm14
947 xorps %xmm15,%xmm14
948 movups %xmm2,32(%r13,%r12,1)
949 xorps %xmm14,%xmm2
950 movups -80(%r15),%xmm1
951.byte 102,15,56,220,208
952 movdqa %xmm12,%xmm13
953 xorl %eax,%edi
954 paddd %xmm5,%xmm12
955 xorl %ebx,%eax
956 pxor %xmm3,%xmm6
957 addl %ebp,%edx
958 addl 36(%rsp),%ecx
959 andl %eax,%edi
960 xorl %ebx,%eax
961 rorl $7,%ebp
962 movdqa %xmm6,%xmm3
963 movl %edx,%esi
964 xorl %eax,%edi
965 movdqa %xmm12,16(%rsp)
966 roll $5,%edx
967 addl %edi,%ecx
968 xorl %ebp,%esi
969 pslld $2,%xmm6
970 xorl %eax,%ebp
971 addl %edx,%ecx
972 psrld $30,%xmm3
973 addl 40(%rsp),%ebx
974 andl %ebp,%esi
975 xorl %eax,%ebp
976 por %xmm3,%xmm6
977 rorl $7,%edx
978 movups -64(%r15),%xmm0
979.byte 102,15,56,220,209
980 movl %ecx,%edi
981 xorl %ebp,%esi
982 roll $5,%ecx
983 pshufd $238,%xmm5,%xmm12
984 addl %esi,%ebx
985 xorl %edx,%edi
986 xorl %ebp,%edx
987 addl %ecx,%ebx
988 addl 44(%rsp),%eax
989 andl %edx,%edi
990 xorl %ebp,%edx
991 rorl $7,%ecx
992 movl %ebx,%esi
993 xorl %edx,%edi
994 roll $5,%ebx
995 addl %edi,%eax
996 xorl %edx,%esi
997 addl %ebx,%eax
998 pxor %xmm11,%xmm7
999 addl 48(%rsp),%ebp
1000 movups -48(%r15),%xmm1
1001.byte 102,15,56,220,208
1002 xorl %ecx,%esi
1003 punpcklqdq %xmm6,%xmm12
1004 movl %eax,%edi
1005 roll $5,%eax
1006 pxor %xmm8,%xmm7
1007 addl %esi,%ebp
1008 xorl %ecx,%edi
1009 movdqa %xmm13,%xmm3
1010 rorl $7,%ebx
1011 paddd %xmm6,%xmm13
1012 addl %eax,%ebp
1013 pxor %xmm12,%xmm7
1014 addl 52(%rsp),%edx
1015 xorl %ebx,%edi
1016 movl %ebp,%esi
1017 roll $5,%ebp
1018 movdqa %xmm7,%xmm12
1019 addl %edi,%edx
1020 xorl %ebx,%esi
1021 movdqa %xmm13,32(%rsp)
1022 rorl $7,%eax
1023 addl %ebp,%edx
1024 addl 56(%rsp),%ecx
1025 pslld $2,%xmm7
1026 xorl %eax,%esi
1027 movl %edx,%edi
1028 psrld $30,%xmm12
1029 roll $5,%edx
1030 addl %esi,%ecx
1031 movups -32(%r15),%xmm0
1032.byte 102,15,56,220,209
1033 xorl %eax,%edi
1034 rorl $7,%ebp
1035 por %xmm12,%xmm7
1036 addl %edx,%ecx
1037 addl 60(%rsp),%ebx
1038 xorl %ebp,%edi
1039 movl %ecx,%esi
1040 roll $5,%ecx
1041 addl %edi,%ebx
1042 xorl %ebp,%esi
1043 rorl $7,%edx
1044 addl %ecx,%ebx
1045 addl 0(%rsp),%eax
1046 xorl %edx,%esi
1047 movl %ebx,%edi
1048 roll $5,%ebx
1049 paddd %xmm7,%xmm3
1050 addl %esi,%eax
1051 xorl %edx,%edi
1052 movdqa %xmm3,48(%rsp)
1053 rorl $7,%ecx
1054 addl %ebx,%eax
1055 addl 4(%rsp),%ebp
1056 movups -16(%r15),%xmm1
1057.byte 102,15,56,220,208
1058 xorl %ecx,%edi
1059 movl %eax,%esi
1060 roll $5,%eax
1061 addl %edi,%ebp
1062 xorl %ecx,%esi
1063 rorl $7,%ebx
1064 addl %eax,%ebp
1065 addl 8(%rsp),%edx
1066 xorl %ebx,%esi
1067 movl %ebp,%edi
1068 roll $5,%ebp
1069 addl %esi,%edx
1070 xorl %ebx,%edi
1071 rorl $7,%eax
1072 addl %ebp,%edx
1073 addl 12(%rsp),%ecx
1074 xorl %eax,%edi
1075 movl %edx,%esi
1076 roll $5,%edx
1077 addl %edi,%ecx
1078 movups 0(%r15),%xmm0
1079.byte 102,15,56,220,209
1080 xorl %eax,%esi
1081 rorl $7,%ebp
1082 addl %edx,%ecx
1083 cmpq %r14,%r10
1084 je L$done_ssse3
1085 movdqa 64(%r11),%xmm3
1086 movdqa 0(%r11),%xmm13
1087 movdqu 0(%r10),%xmm4
1088 movdqu 16(%r10),%xmm5
1089 movdqu 32(%r10),%xmm6
1090 movdqu 48(%r10),%xmm7
1091.byte 102,15,56,0,227
1092 addq $64,%r10
1093 addl 16(%rsp),%ebx
1094 xorl %ebp,%esi
1095 movl %ecx,%edi
1096.byte 102,15,56,0,235
1097 roll $5,%ecx
1098 addl %esi,%ebx
1099 xorl %ebp,%edi
1100 rorl $7,%edx
1101 paddd %xmm13,%xmm4
1102 addl %ecx,%ebx
1103 addl 20(%rsp),%eax
1104 xorl %edx,%edi
1105 movl %ebx,%esi
1106 movdqa %xmm4,0(%rsp)
1107 roll $5,%ebx
1108 addl %edi,%eax
1109 xorl %edx,%esi
1110 rorl $7,%ecx
1111 psubd %xmm13,%xmm4
1112 addl %ebx,%eax
1113 addl 24(%rsp),%ebp
1114 movups 16(%r15),%xmm1
1115.byte 102,15,56,220,208
1116 xorl %ecx,%esi
1117 movl %eax,%edi
1118 roll $5,%eax
1119 addl %esi,%ebp
1120 xorl %ecx,%edi
1121 rorl $7,%ebx
1122 addl %eax,%ebp
1123 addl 28(%rsp),%edx
1124 xorl %ebx,%edi
1125 movl %ebp,%esi
1126 roll $5,%ebp
1127 addl %edi,%edx
1128 xorl %ebx,%esi
1129 rorl $7,%eax
1130 addl %ebp,%edx
1131 addl 32(%rsp),%ecx
1132 xorl %eax,%esi
1133 movl %edx,%edi
1134.byte 102,15,56,0,243
1135 roll $5,%edx
1136 addl %esi,%ecx
1137 movups 32(%r15),%xmm0
1138.byte 102,15,56,220,209
1139 xorl %eax,%edi
1140 rorl $7,%ebp
1141 paddd %xmm13,%xmm5
1142 addl %edx,%ecx
1143 addl 36(%rsp),%ebx
1144 xorl %ebp,%edi
1145 movl %ecx,%esi
1146 movdqa %xmm5,16(%rsp)
1147 roll $5,%ecx
1148 addl %edi,%ebx
1149 xorl %ebp,%esi
1150 rorl $7,%edx
1151 psubd %xmm13,%xmm5
1152 addl %ecx,%ebx
1153 addl 40(%rsp),%eax
1154 xorl %edx,%esi
1155 movl %ebx,%edi
1156 roll $5,%ebx
1157 addl %esi,%eax
1158 xorl %edx,%edi
1159 rorl $7,%ecx
1160 addl %ebx,%eax
1161 addl 44(%rsp),%ebp
1162 movups 48(%r15),%xmm1
1163.byte 102,15,56,220,208
1164 xorl %ecx,%edi
1165 movl %eax,%esi
1166 roll $5,%eax
1167 addl %edi,%ebp
1168 xorl %ecx,%esi
1169 rorl $7,%ebx
1170 addl %eax,%ebp
1171 addl 48(%rsp),%edx
1172 xorl %ebx,%esi
1173 movl %ebp,%edi
1174.byte 102,15,56,0,251
1175 roll $5,%ebp
1176 addl %esi,%edx
1177 xorl %ebx,%edi
1178 rorl $7,%eax
1179 paddd %xmm13,%xmm6
1180 addl %ebp,%edx
1181 addl 52(%rsp),%ecx
1182 xorl %eax,%edi
1183 movl %edx,%esi
1184 movdqa %xmm6,32(%rsp)
1185 roll $5,%edx
1186 addl %edi,%ecx
1187 cmpl $11,%r8d
1188 jb L$aesenclast4
1189 movups 64(%r15),%xmm0
1190.byte 102,15,56,220,209
1191 movups 80(%r15),%xmm1
1192.byte 102,15,56,220,208
1193 je L$aesenclast4
1194 movups 96(%r15),%xmm0
1195.byte 102,15,56,220,209
1196 movups 112(%r15),%xmm1
1197.byte 102,15,56,220,208
1198L$aesenclast4:
1199.byte 102,15,56,221,209
1200 movups 16-112(%r15),%xmm0
1201 xorl %eax,%esi
1202 rorl $7,%ebp
1203 psubd %xmm13,%xmm6
1204 addl %edx,%ecx
1205 addl 56(%rsp),%ebx
1206 xorl %ebp,%esi
1207 movl %ecx,%edi
1208 roll $5,%ecx
1209 addl %esi,%ebx
1210 xorl %ebp,%edi
1211 rorl $7,%edx
1212 addl %ecx,%ebx
1213 addl 60(%rsp),%eax
1214 xorl %edx,%edi
1215 movl %ebx,%esi
1216 roll $5,%ebx
1217 addl %edi,%eax
1218 rorl $7,%ecx
1219 addl %ebx,%eax
1220 movups %xmm2,48(%r13,%r12,1)
1221 leaq 64(%r12),%r12
1222
1223 addl 0(%r9),%eax
1224 addl 4(%r9),%esi
1225 addl 8(%r9),%ecx
1226 addl 12(%r9),%edx
1227 movl %eax,0(%r9)
1228 addl 16(%r9),%ebp
1229 movl %esi,4(%r9)
1230 movl %esi,%ebx
1231 movl %ecx,8(%r9)
1232 movl %ecx,%edi
1233 movl %edx,12(%r9)
1234 xorl %edx,%edi
1235 movl %ebp,16(%r9)
1236 andl %edi,%esi
1237 jmp L$oop_ssse3
1238
1239L$done_ssse3:
1240 addl 16(%rsp),%ebx
1241 xorl %ebp,%esi
1242 movl %ecx,%edi
1243 roll $5,%ecx
1244 addl %esi,%ebx
1245 xorl %ebp,%edi
1246 rorl $7,%edx
1247 addl %ecx,%ebx
1248 addl 20(%rsp),%eax
1249 xorl %edx,%edi
1250 movl %ebx,%esi
1251 roll $5,%ebx
1252 addl %edi,%eax
1253 xorl %edx,%esi
1254 rorl $7,%ecx
1255 addl %ebx,%eax
1256 addl 24(%rsp),%ebp
1257 movups 16(%r15),%xmm1
1258.byte 102,15,56,220,208
1259 xorl %ecx,%esi
1260 movl %eax,%edi
1261 roll $5,%eax
1262 addl %esi,%ebp
1263 xorl %ecx,%edi
1264 rorl $7,%ebx
1265 addl %eax,%ebp
1266 addl 28(%rsp),%edx
1267 xorl %ebx,%edi
1268 movl %ebp,%esi
1269 roll $5,%ebp
1270 addl %edi,%edx
1271 xorl %ebx,%esi
1272 rorl $7,%eax
1273 addl %ebp,%edx
1274 addl 32(%rsp),%ecx
1275 xorl %eax,%esi
1276 movl %edx,%edi
1277 roll $5,%edx
1278 addl %esi,%ecx
1279 movups 32(%r15),%xmm0
1280.byte 102,15,56,220,209
1281 xorl %eax,%edi
1282 rorl $7,%ebp
1283 addl %edx,%ecx
1284 addl 36(%rsp),%ebx
1285 xorl %ebp,%edi
1286 movl %ecx,%esi
1287 roll $5,%ecx
1288 addl %edi,%ebx
1289 xorl %ebp,%esi
1290 rorl $7,%edx
1291 addl %ecx,%ebx
1292 addl 40(%rsp),%eax
1293 xorl %edx,%esi
1294 movl %ebx,%edi
1295 roll $5,%ebx
1296 addl %esi,%eax
1297 xorl %edx,%edi
1298 rorl $7,%ecx
1299 addl %ebx,%eax
1300 addl 44(%rsp),%ebp
1301 movups 48(%r15),%xmm1
1302.byte 102,15,56,220,208
1303 xorl %ecx,%edi
1304 movl %eax,%esi
1305 roll $5,%eax
1306 addl %edi,%ebp
1307 xorl %ecx,%esi
1308 rorl $7,%ebx
1309 addl %eax,%ebp
1310 addl 48(%rsp),%edx
1311 xorl %ebx,%esi
1312 movl %ebp,%edi
1313 roll $5,%ebp
1314 addl %esi,%edx
1315 xorl %ebx,%edi
1316 rorl $7,%eax
1317 addl %ebp,%edx
1318 addl 52(%rsp),%ecx
1319 xorl %eax,%edi
1320 movl %edx,%esi
1321 roll $5,%edx
1322 addl %edi,%ecx
1323 cmpl $11,%r8d
1324 jb L$aesenclast5
1325 movups 64(%r15),%xmm0
1326.byte 102,15,56,220,209
1327 movups 80(%r15),%xmm1
1328.byte 102,15,56,220,208
1329 je L$aesenclast5
1330 movups 96(%r15),%xmm0
1331.byte 102,15,56,220,209
1332 movups 112(%r15),%xmm1
1333.byte 102,15,56,220,208
1334L$aesenclast5:
1335.byte 102,15,56,221,209
1336 movups 16-112(%r15),%xmm0
1337 xorl %eax,%esi
1338 rorl $7,%ebp
1339 addl %edx,%ecx
1340 addl 56(%rsp),%ebx
1341 xorl %ebp,%esi
1342 movl %ecx,%edi
1343 roll $5,%ecx
1344 addl %esi,%ebx
1345 xorl %ebp,%edi
1346 rorl $7,%edx
1347 addl %ecx,%ebx
1348 addl 60(%rsp),%eax
1349 xorl %edx,%edi
1350 movl %ebx,%esi
1351 roll $5,%ebx
1352 addl %edi,%eax
1353 rorl $7,%ecx
1354 addl %ebx,%eax
1355 movups %xmm2,48(%r13,%r12,1)
1356 movq 88(%rsp),%r8
1357
1358 addl 0(%r9),%eax
1359 addl 4(%r9),%esi
1360 addl 8(%r9),%ecx
1361 movl %eax,0(%r9)
1362 addl 12(%r9),%edx
1363 movl %esi,4(%r9)
1364 addl 16(%r9),%ebp
1365 movl %ecx,8(%r9)
1366 movl %edx,12(%r9)
1367 movl %ebp,16(%r9)
1368 movups %xmm2,(%r8)
1369 leaq 104(%rsp),%rsi
1370
1371 movq 0(%rsi),%r15
1372
1373 movq 8(%rsi),%r14
1374
1375 movq 16(%rsi),%r13
1376
1377 movq 24(%rsi),%r12
1378
1379 movq 32(%rsi),%rbp
1380
1381 movq 40(%rsi),%rbx
1382
1383 leaq 48(%rsi),%rsp
1384
1385L$epilogue_ssse3:
1386 .byte 0xf3,0xc3
1387
1388
1389.p2align 6
1390K_XX_XX:
1391.long 0x5a827999,0x5a827999,0x5a827999,0x5a827999
1392.long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
1393.long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
1394.long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
1395.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
1396.byte 0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0
1397
1398.byte 65,69,83,78,73,45,67,66,67,43,83,72,65,49,32,115,116,105,116,99,104,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,111,114,103,62,0
1399.p2align 6
1400
1401.p2align 5
1402aesni_cbc_sha1_enc_shaext:
1403
1404 movq 8(%rsp),%r10
1405 movdqu (%r9),%xmm8
1406 movd 16(%r9),%xmm9
1407 movdqa K_XX_XX+80(%rip),%xmm7
1408
1409 movl 240(%rcx),%r11d
1410 subq %rdi,%rsi
1411 movups (%rcx),%xmm15
1412 movups (%r8),%xmm2
1413 movups 16(%rcx),%xmm0
1414 leaq 112(%rcx),%rcx
1415
1416 pshufd $27,%xmm8,%xmm8
1417 pshufd $27,%xmm9,%xmm9
1418 jmp L$oop_shaext
1419
1420.p2align 4
1421L$oop_shaext:
1422 movups 0(%rdi),%xmm14
1423 xorps %xmm15,%xmm14
1424 xorps %xmm14,%xmm2
1425 movups -80(%rcx),%xmm1
1426.byte 102,15,56,220,208
1427 movdqu (%r10),%xmm3
1428 movdqa %xmm9,%xmm12
1429.byte 102,15,56,0,223
1430 movdqu 16(%r10),%xmm4
1431 movdqa %xmm8,%xmm11
1432 movups -64(%rcx),%xmm0
1433.byte 102,15,56,220,209
1434.byte 102,15,56,0,231
1435
1436 paddd %xmm3,%xmm9
1437 movdqu 32(%r10),%xmm5
1438 leaq 64(%r10),%r10
1439 pxor %xmm12,%xmm3
1440 movups -48(%rcx),%xmm1
1441.byte 102,15,56,220,208
1442 pxor %xmm12,%xmm3
1443 movdqa %xmm8,%xmm10
1444.byte 102,15,56,0,239
1445.byte 69,15,58,204,193,0
1446.byte 68,15,56,200,212
1447 movups -32(%rcx),%xmm0
1448.byte 102,15,56,220,209
1449.byte 15,56,201,220
1450 movdqu -16(%r10),%xmm6
1451 movdqa %xmm8,%xmm9
1452.byte 102,15,56,0,247
1453 movups -16(%rcx),%xmm1
1454.byte 102,15,56,220,208
1455.byte 69,15,58,204,194,0
1456.byte 68,15,56,200,205
1457 pxor %xmm5,%xmm3
1458.byte 15,56,201,229
1459 movups 0(%rcx),%xmm0
1460.byte 102,15,56,220,209
1461 movdqa %xmm8,%xmm10
1462.byte 69,15,58,204,193,0
1463.byte 68,15,56,200,214
1464 movups 16(%rcx),%xmm1
1465.byte 102,15,56,220,208
1466.byte 15,56,202,222
1467 pxor %xmm6,%xmm4
1468.byte 15,56,201,238
1469 movups 32(%rcx),%xmm0
1470.byte 102,15,56,220,209
1471 movdqa %xmm8,%xmm9
1472.byte 69,15,58,204,194,0
1473.byte 68,15,56,200,203
1474 movups 48(%rcx),%xmm1
1475.byte 102,15,56,220,208
1476.byte 15,56,202,227
1477 pxor %xmm3,%xmm5
1478.byte 15,56,201,243
1479 cmpl $11,%r11d
1480 jb L$aesenclast6
1481 movups 64(%rcx),%xmm0
1482.byte 102,15,56,220,209
1483 movups 80(%rcx),%xmm1
1484.byte 102,15,56,220,208
1485 je L$aesenclast6
1486 movups 96(%rcx),%xmm0
1487.byte 102,15,56,220,209
1488 movups 112(%rcx),%xmm1
1489.byte 102,15,56,220,208
1490L$aesenclast6:
1491.byte 102,15,56,221,209
1492 movups 16-112(%rcx),%xmm0
1493 movdqa %xmm8,%xmm10
1494.byte 69,15,58,204,193,0
1495.byte 68,15,56,200,212
1496 movups 16(%rdi),%xmm14
1497 xorps %xmm15,%xmm14
1498 movups %xmm2,0(%rsi,%rdi,1)
1499 xorps %xmm14,%xmm2
1500 movups -80(%rcx),%xmm1
1501.byte 102,15,56,220,208
1502.byte 15,56,202,236
1503 pxor %xmm4,%xmm6
1504.byte 15,56,201,220
1505 movups -64(%rcx),%xmm0
1506.byte 102,15,56,220,209
1507 movdqa %xmm8,%xmm9
1508.byte 69,15,58,204,194,1
1509.byte 68,15,56,200,205
1510 movups -48(%rcx),%xmm1
1511.byte 102,15,56,220,208
1512.byte 15,56,202,245
1513 pxor %xmm5,%xmm3
1514.byte 15,56,201,229
1515 movups -32(%rcx),%xmm0
1516.byte 102,15,56,220,209
1517 movdqa %xmm8,%xmm10
1518.byte 69,15,58,204,193,1
1519.byte 68,15,56,200,214
1520 movups -16(%rcx),%xmm1
1521.byte 102,15,56,220,208
1522.byte 15,56,202,222
1523 pxor %xmm6,%xmm4
1524.byte 15,56,201,238
1525 movups 0(%rcx),%xmm0
1526.byte 102,15,56,220,209
1527 movdqa %xmm8,%xmm9
1528.byte 69,15,58,204,194,1
1529.byte 68,15,56,200,203
1530 movups 16(%rcx),%xmm1
1531.byte 102,15,56,220,208
1532.byte 15,56,202,227
1533 pxor %xmm3,%xmm5
1534.byte 15,56,201,243
1535 movups 32(%rcx),%xmm0
1536.byte 102,15,56,220,209
1537 movdqa %xmm8,%xmm10
1538.byte 69,15,58,204,193,1
1539.byte 68,15,56,200,212
1540 movups 48(%rcx),%xmm1
1541.byte 102,15,56,220,208
1542.byte 15,56,202,236
1543 pxor %xmm4,%xmm6
1544.byte 15,56,201,220
1545 cmpl $11,%r11d
1546 jb L$aesenclast7
1547 movups 64(%rcx),%xmm0
1548.byte 102,15,56,220,209
1549 movups 80(%rcx),%xmm1
1550.byte 102,15,56,220,208
1551 je L$aesenclast7
1552 movups 96(%rcx),%xmm0
1553.byte 102,15,56,220,209
1554 movups 112(%rcx),%xmm1
1555.byte 102,15,56,220,208
1556L$aesenclast7:
1557.byte 102,15,56,221,209
1558 movups 16-112(%rcx),%xmm0
1559 movdqa %xmm8,%xmm9
1560.byte 69,15,58,204,194,1
1561.byte 68,15,56,200,205
1562 movups 32(%rdi),%xmm14
1563 xorps %xmm15,%xmm14
1564 movups %xmm2,16(%rsi,%rdi,1)
1565 xorps %xmm14,%xmm2
1566 movups -80(%rcx),%xmm1
1567.byte 102,15,56,220,208
1568.byte 15,56,202,245
1569 pxor %xmm5,%xmm3
1570.byte 15,56,201,229
1571 movups -64(%rcx),%xmm0
1572.byte 102,15,56,220,209
1573 movdqa %xmm8,%xmm10
1574.byte 69,15,58,204,193,2
1575.byte 68,15,56,200,214
1576 movups -48(%rcx),%xmm1
1577.byte 102,15,56,220,208
1578.byte 15,56,202,222
1579 pxor %xmm6,%xmm4
1580.byte 15,56,201,238
1581 movups -32(%rcx),%xmm0
1582.byte 102,15,56,220,209
1583 movdqa %xmm8,%xmm9
1584.byte 69,15,58,204,194,2
1585.byte 68,15,56,200,203
1586 movups -16(%rcx),%xmm1
1587.byte 102,15,56,220,208
1588.byte 15,56,202,227
1589 pxor %xmm3,%xmm5
1590.byte 15,56,201,243
1591 movups 0(%rcx),%xmm0
1592.byte 102,15,56,220,209
1593 movdqa %xmm8,%xmm10
1594.byte 69,15,58,204,193,2
1595.byte 68,15,56,200,212
1596 movups 16(%rcx),%xmm1
1597.byte 102,15,56,220,208
1598.byte 15,56,202,236
1599 pxor %xmm4,%xmm6
1600.byte 15,56,201,220
1601 movups 32(%rcx),%xmm0
1602.byte 102,15,56,220,209
1603 movdqa %xmm8,%xmm9
1604.byte 69,15,58,204,194,2
1605.byte 68,15,56,200,205
1606 movups 48(%rcx),%xmm1
1607.byte 102,15,56,220,208
1608.byte 15,56,202,245
1609 pxor %xmm5,%xmm3
1610.byte 15,56,201,229
1611 cmpl $11,%r11d
1612 jb L$aesenclast8
1613 movups 64(%rcx),%xmm0
1614.byte 102,15,56,220,209
1615 movups 80(%rcx),%xmm1
1616.byte 102,15,56,220,208
1617 je L$aesenclast8
1618 movups 96(%rcx),%xmm0
1619.byte 102,15,56,220,209
1620 movups 112(%rcx),%xmm1
1621.byte 102,15,56,220,208
1622L$aesenclast8:
1623.byte 102,15,56,221,209
1624 movups 16-112(%rcx),%xmm0
1625 movdqa %xmm8,%xmm10
1626.byte 69,15,58,204,193,2
1627.byte 68,15,56,200,214
1628 movups 48(%rdi),%xmm14
1629 xorps %xmm15,%xmm14
1630 movups %xmm2,32(%rsi,%rdi,1)
1631 xorps %xmm14,%xmm2
1632 movups -80(%rcx),%xmm1
1633.byte 102,15,56,220,208
1634.byte 15,56,202,222
1635 pxor %xmm6,%xmm4
1636.byte 15,56,201,238
1637 movups -64(%rcx),%xmm0
1638.byte 102,15,56,220,209
1639 movdqa %xmm8,%xmm9
1640.byte 69,15,58,204,194,3
1641.byte 68,15,56,200,203
1642 movups -48(%rcx),%xmm1
1643.byte 102,15,56,220,208
1644.byte 15,56,202,227
1645 pxor %xmm3,%xmm5
1646.byte 15,56,201,243
1647 movups -32(%rcx),%xmm0
1648.byte 102,15,56,220,209
1649 movdqa %xmm8,%xmm10
1650.byte 69,15,58,204,193,3
1651.byte 68,15,56,200,212
1652.byte 15,56,202,236
1653 pxor %xmm4,%xmm6
1654 movups -16(%rcx),%xmm1
1655.byte 102,15,56,220,208
1656 movdqa %xmm8,%xmm9
1657.byte 69,15,58,204,194,3
1658.byte 68,15,56,200,205
1659.byte 15,56,202,245
1660 movups 0(%rcx),%xmm0
1661.byte 102,15,56,220,209
1662 movdqa %xmm12,%xmm5
1663 movdqa %xmm8,%xmm10
1664.byte 69,15,58,204,193,3
1665.byte 68,15,56,200,214
1666 movups 16(%rcx),%xmm1
1667.byte 102,15,56,220,208
1668 movdqa %xmm8,%xmm9
1669.byte 69,15,58,204,194,3
1670.byte 68,15,56,200,205
1671 movups 32(%rcx),%xmm0
1672.byte 102,15,56,220,209
1673 movups 48(%rcx),%xmm1
1674.byte 102,15,56,220,208
1675 cmpl $11,%r11d
1676 jb L$aesenclast9
1677 movups 64(%rcx),%xmm0
1678.byte 102,15,56,220,209
1679 movups 80(%rcx),%xmm1
1680.byte 102,15,56,220,208
1681 je L$aesenclast9
1682 movups 96(%rcx),%xmm0
1683.byte 102,15,56,220,209
1684 movups 112(%rcx),%xmm1
1685.byte 102,15,56,220,208
1686L$aesenclast9:
1687.byte 102,15,56,221,209
1688 movups 16-112(%rcx),%xmm0
1689 decq %rdx
1690
1691 paddd %xmm11,%xmm8
1692 movups %xmm2,48(%rsi,%rdi,1)
1693 leaq 64(%rdi),%rdi
1694 jnz L$oop_shaext
1695
1696 pshufd $27,%xmm8,%xmm8
1697 pshufd $27,%xmm9,%xmm9
1698 movups %xmm2,(%r8)
1699 movdqu %xmm8,(%r9)
1700 movd %xmm9,16(%r9)
1701 .byte 0xf3,0xc3
1702
1703
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette