VirtualBox

source: vbox/trunk/src/libs/openssl-3.0.2/crypto/genasm-elf/aesni-sha1-x86_64.S@ 94403

Last change on this file since 94403 was 94096, checked in by vboxsync, 3 years ago

libs/openssl-3.0.1: Fix for gnu assemblers and recreate asm files, ​bugref:10128

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