VirtualBox

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