VirtualBox

source: vbox/trunk/src/libs/openssl-1.1.0g/crypto/genasm-macosx/aesni-sha1-x86_64.S@ 69881

Last change on this file since 69881 was 69881, checked in by vboxsync, 7 years ago

Update OpenSSL to 1.1.0g.
bugref:8070: src/libs maintenance

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