VirtualBox

source: vbox/trunk/src/libs/openssl-1.1.1f/crypto/genasm-macosx/aesni-sha1-x86_64.S@ 83531

Last change on this file since 83531 was 83531, checked in by vboxsync, 5 years ago

setting svn:sync-process=export for openssl-1.1.1f, all files except tests

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

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