VirtualBox

source: vbox/trunk/src/libs/openssl-1.1.1f/crypto/genasm-macosx/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: 45.0 KB
Line 
1.text
2
3
4.globl _sha1_block_data_order
5
6.p2align 4
7_sha1_block_data_order:
8
9 movl _OPENSSL_ia32cap_P+0(%rip),%r9d
10 movl _OPENSSL_ia32cap_P+4(%rip),%r8d
11 movl _OPENSSL_ia32cap_P+8(%rip),%r10d
12 testl $512,%r8d
13 jz L$ialu
14 testl $536870912,%r10d
15 jnz _shaext_shortcut
16 jmp _ssse3_shortcut
17
18.p2align 4
19L$ialu:
20 movq %rsp,%rax
21
22 pushq %rbx
23
24 pushq %rbp
25
26 pushq %r12
27
28 pushq %r13
29
30 pushq %r14
31
32 movq %rdi,%r8
33 subq $72,%rsp
34 movq %rsi,%r9
35 andq $-64,%rsp
36 movq %rdx,%r10
37 movq %rax,64(%rsp)
38
39L$prologue:
40
41 movl 0(%r8),%esi
42 movl 4(%r8),%edi
43 movl 8(%r8),%r11d
44 movl 12(%r8),%r12d
45 movl 16(%r8),%r13d
46 jmp L$loop
47
48.p2align 4
49L$loop:
50 movl 0(%r9),%edx
51 bswapl %edx
52 movl 4(%r9),%ebp
53 movl %r12d,%eax
54 movl %edx,0(%rsp)
55 movl %esi,%ecx
56 bswapl %ebp
57 xorl %r11d,%eax
58 roll $5,%ecx
59 andl %edi,%eax
60 leal 1518500249(%rdx,%r13,1),%r13d
61 addl %ecx,%r13d
62 xorl %r12d,%eax
63 roll $30,%edi
64 addl %eax,%r13d
65 movl 8(%r9),%r14d
66 movl %r11d,%eax
67 movl %ebp,4(%rsp)
68 movl %r13d,%ecx
69 bswapl %r14d
70 xorl %edi,%eax
71 roll $5,%ecx
72 andl %esi,%eax
73 leal 1518500249(%rbp,%r12,1),%r12d
74 addl %ecx,%r12d
75 xorl %r11d,%eax
76 roll $30,%esi
77 addl %eax,%r12d
78 movl 12(%r9),%edx
79 movl %edi,%eax
80 movl %r14d,8(%rsp)
81 movl %r12d,%ecx
82 bswapl %edx
83 xorl %esi,%eax
84 roll $5,%ecx
85 andl %r13d,%eax
86 leal 1518500249(%r14,%r11,1),%r11d
87 addl %ecx,%r11d
88 xorl %edi,%eax
89 roll $30,%r13d
90 addl %eax,%r11d
91 movl 16(%r9),%ebp
92 movl %esi,%eax
93 movl %edx,12(%rsp)
94 movl %r11d,%ecx
95 bswapl %ebp
96 xorl %r13d,%eax
97 roll $5,%ecx
98 andl %r12d,%eax
99 leal 1518500249(%rdx,%rdi,1),%edi
100 addl %ecx,%edi
101 xorl %esi,%eax
102 roll $30,%r12d
103 addl %eax,%edi
104 movl 20(%r9),%r14d
105 movl %r13d,%eax
106 movl %ebp,16(%rsp)
107 movl %edi,%ecx
108 bswapl %r14d
109 xorl %r12d,%eax
110 roll $5,%ecx
111 andl %r11d,%eax
112 leal 1518500249(%rbp,%rsi,1),%esi
113 addl %ecx,%esi
114 xorl %r13d,%eax
115 roll $30,%r11d
116 addl %eax,%esi
117 movl 24(%r9),%edx
118 movl %r12d,%eax
119 movl %r14d,20(%rsp)
120 movl %esi,%ecx
121 bswapl %edx
122 xorl %r11d,%eax
123 roll $5,%ecx
124 andl %edi,%eax
125 leal 1518500249(%r14,%r13,1),%r13d
126 addl %ecx,%r13d
127 xorl %r12d,%eax
128 roll $30,%edi
129 addl %eax,%r13d
130 movl 28(%r9),%ebp
131 movl %r11d,%eax
132 movl %edx,24(%rsp)
133 movl %r13d,%ecx
134 bswapl %ebp
135 xorl %edi,%eax
136 roll $5,%ecx
137 andl %esi,%eax
138 leal 1518500249(%rdx,%r12,1),%r12d
139 addl %ecx,%r12d
140 xorl %r11d,%eax
141 roll $30,%esi
142 addl %eax,%r12d
143 movl 32(%r9),%r14d
144 movl %edi,%eax
145 movl %ebp,28(%rsp)
146 movl %r12d,%ecx
147 bswapl %r14d
148 xorl %esi,%eax
149 roll $5,%ecx
150 andl %r13d,%eax
151 leal 1518500249(%rbp,%r11,1),%r11d
152 addl %ecx,%r11d
153 xorl %edi,%eax
154 roll $30,%r13d
155 addl %eax,%r11d
156 movl 36(%r9),%edx
157 movl %esi,%eax
158 movl %r14d,32(%rsp)
159 movl %r11d,%ecx
160 bswapl %edx
161 xorl %r13d,%eax
162 roll $5,%ecx
163 andl %r12d,%eax
164 leal 1518500249(%r14,%rdi,1),%edi
165 addl %ecx,%edi
166 xorl %esi,%eax
167 roll $30,%r12d
168 addl %eax,%edi
169 movl 40(%r9),%ebp
170 movl %r13d,%eax
171 movl %edx,36(%rsp)
172 movl %edi,%ecx
173 bswapl %ebp
174 xorl %r12d,%eax
175 roll $5,%ecx
176 andl %r11d,%eax
177 leal 1518500249(%rdx,%rsi,1),%esi
178 addl %ecx,%esi
179 xorl %r13d,%eax
180 roll $30,%r11d
181 addl %eax,%esi
182 movl 44(%r9),%r14d
183 movl %r12d,%eax
184 movl %ebp,40(%rsp)
185 movl %esi,%ecx
186 bswapl %r14d
187 xorl %r11d,%eax
188 roll $5,%ecx
189 andl %edi,%eax
190 leal 1518500249(%rbp,%r13,1),%r13d
191 addl %ecx,%r13d
192 xorl %r12d,%eax
193 roll $30,%edi
194 addl %eax,%r13d
195 movl 48(%r9),%edx
196 movl %r11d,%eax
197 movl %r14d,44(%rsp)
198 movl %r13d,%ecx
199 bswapl %edx
200 xorl %edi,%eax
201 roll $5,%ecx
202 andl %esi,%eax
203 leal 1518500249(%r14,%r12,1),%r12d
204 addl %ecx,%r12d
205 xorl %r11d,%eax
206 roll $30,%esi
207 addl %eax,%r12d
208 movl 52(%r9),%ebp
209 movl %edi,%eax
210 movl %edx,48(%rsp)
211 movl %r12d,%ecx
212 bswapl %ebp
213 xorl %esi,%eax
214 roll $5,%ecx
215 andl %r13d,%eax
216 leal 1518500249(%rdx,%r11,1),%r11d
217 addl %ecx,%r11d
218 xorl %edi,%eax
219 roll $30,%r13d
220 addl %eax,%r11d
221 movl 56(%r9),%r14d
222 movl %esi,%eax
223 movl %ebp,52(%rsp)
224 movl %r11d,%ecx
225 bswapl %r14d
226 xorl %r13d,%eax
227 roll $5,%ecx
228 andl %r12d,%eax
229 leal 1518500249(%rbp,%rdi,1),%edi
230 addl %ecx,%edi
231 xorl %esi,%eax
232 roll $30,%r12d
233 addl %eax,%edi
234 movl 60(%r9),%edx
235 movl %r13d,%eax
236 movl %r14d,56(%rsp)
237 movl %edi,%ecx
238 bswapl %edx
239 xorl %r12d,%eax
240 roll $5,%ecx
241 andl %r11d,%eax
242 leal 1518500249(%r14,%rsi,1),%esi
243 addl %ecx,%esi
244 xorl %r13d,%eax
245 roll $30,%r11d
246 addl %eax,%esi
247 xorl 0(%rsp),%ebp
248 movl %r12d,%eax
249 movl %edx,60(%rsp)
250 movl %esi,%ecx
251 xorl 8(%rsp),%ebp
252 xorl %r11d,%eax
253 roll $5,%ecx
254 xorl 32(%rsp),%ebp
255 andl %edi,%eax
256 leal 1518500249(%rdx,%r13,1),%r13d
257 roll $30,%edi
258 xorl %r12d,%eax
259 addl %ecx,%r13d
260 roll $1,%ebp
261 addl %eax,%r13d
262 xorl 4(%rsp),%r14d
263 movl %r11d,%eax
264 movl %ebp,0(%rsp)
265 movl %r13d,%ecx
266 xorl 12(%rsp),%r14d
267 xorl %edi,%eax
268 roll $5,%ecx
269 xorl 36(%rsp),%r14d
270 andl %esi,%eax
271 leal 1518500249(%rbp,%r12,1),%r12d
272 roll $30,%esi
273 xorl %r11d,%eax
274 addl %ecx,%r12d
275 roll $1,%r14d
276 addl %eax,%r12d
277 xorl 8(%rsp),%edx
278 movl %edi,%eax
279 movl %r14d,4(%rsp)
280 movl %r12d,%ecx
281 xorl 16(%rsp),%edx
282 xorl %esi,%eax
283 roll $5,%ecx
284 xorl 40(%rsp),%edx
285 andl %r13d,%eax
286 leal 1518500249(%r14,%r11,1),%r11d
287 roll $30,%r13d
288 xorl %edi,%eax
289 addl %ecx,%r11d
290 roll $1,%edx
291 addl %eax,%r11d
292 xorl 12(%rsp),%ebp
293 movl %esi,%eax
294 movl %edx,8(%rsp)
295 movl %r11d,%ecx
296 xorl 20(%rsp),%ebp
297 xorl %r13d,%eax
298 roll $5,%ecx
299 xorl 44(%rsp),%ebp
300 andl %r12d,%eax
301 leal 1518500249(%rdx,%rdi,1),%edi
302 roll $30,%r12d
303 xorl %esi,%eax
304 addl %ecx,%edi
305 roll $1,%ebp
306 addl %eax,%edi
307 xorl 16(%rsp),%r14d
308 movl %r13d,%eax
309 movl %ebp,12(%rsp)
310 movl %edi,%ecx
311 xorl 24(%rsp),%r14d
312 xorl %r12d,%eax
313 roll $5,%ecx
314 xorl 48(%rsp),%r14d
315 andl %r11d,%eax
316 leal 1518500249(%rbp,%rsi,1),%esi
317 roll $30,%r11d
318 xorl %r13d,%eax
319 addl %ecx,%esi
320 roll $1,%r14d
321 addl %eax,%esi
322 xorl 20(%rsp),%edx
323 movl %edi,%eax
324 movl %r14d,16(%rsp)
325 movl %esi,%ecx
326 xorl 28(%rsp),%edx
327 xorl %r12d,%eax
328 roll $5,%ecx
329 xorl 52(%rsp),%edx
330 leal 1859775393(%r14,%r13,1),%r13d
331 xorl %r11d,%eax
332 addl %ecx,%r13d
333 roll $30,%edi
334 addl %eax,%r13d
335 roll $1,%edx
336 xorl 24(%rsp),%ebp
337 movl %esi,%eax
338 movl %edx,20(%rsp)
339 movl %r13d,%ecx
340 xorl 32(%rsp),%ebp
341 xorl %r11d,%eax
342 roll $5,%ecx
343 xorl 56(%rsp),%ebp
344 leal 1859775393(%rdx,%r12,1),%r12d
345 xorl %edi,%eax
346 addl %ecx,%r12d
347 roll $30,%esi
348 addl %eax,%r12d
349 roll $1,%ebp
350 xorl 28(%rsp),%r14d
351 movl %r13d,%eax
352 movl %ebp,24(%rsp)
353 movl %r12d,%ecx
354 xorl 36(%rsp),%r14d
355 xorl %edi,%eax
356 roll $5,%ecx
357 xorl 60(%rsp),%r14d
358 leal 1859775393(%rbp,%r11,1),%r11d
359 xorl %esi,%eax
360 addl %ecx,%r11d
361 roll $30,%r13d
362 addl %eax,%r11d
363 roll $1,%r14d
364 xorl 32(%rsp),%edx
365 movl %r12d,%eax
366 movl %r14d,28(%rsp)
367 movl %r11d,%ecx
368 xorl 40(%rsp),%edx
369 xorl %esi,%eax
370 roll $5,%ecx
371 xorl 0(%rsp),%edx
372 leal 1859775393(%r14,%rdi,1),%edi
373 xorl %r13d,%eax
374 addl %ecx,%edi
375 roll $30,%r12d
376 addl %eax,%edi
377 roll $1,%edx
378 xorl 36(%rsp),%ebp
379 movl %r11d,%eax
380 movl %edx,32(%rsp)
381 movl %edi,%ecx
382 xorl 44(%rsp),%ebp
383 xorl %r13d,%eax
384 roll $5,%ecx
385 xorl 4(%rsp),%ebp
386 leal 1859775393(%rdx,%rsi,1),%esi
387 xorl %r12d,%eax
388 addl %ecx,%esi
389 roll $30,%r11d
390 addl %eax,%esi
391 roll $1,%ebp
392 xorl 40(%rsp),%r14d
393 movl %edi,%eax
394 movl %ebp,36(%rsp)
395 movl %esi,%ecx
396 xorl 48(%rsp),%r14d
397 xorl %r12d,%eax
398 roll $5,%ecx
399 xorl 8(%rsp),%r14d
400 leal 1859775393(%rbp,%r13,1),%r13d
401 xorl %r11d,%eax
402 addl %ecx,%r13d
403 roll $30,%edi
404 addl %eax,%r13d
405 roll $1,%r14d
406 xorl 44(%rsp),%edx
407 movl %esi,%eax
408 movl %r14d,40(%rsp)
409 movl %r13d,%ecx
410 xorl 52(%rsp),%edx
411 xorl %r11d,%eax
412 roll $5,%ecx
413 xorl 12(%rsp),%edx
414 leal 1859775393(%r14,%r12,1),%r12d
415 xorl %edi,%eax
416 addl %ecx,%r12d
417 roll $30,%esi
418 addl %eax,%r12d
419 roll $1,%edx
420 xorl 48(%rsp),%ebp
421 movl %r13d,%eax
422 movl %edx,44(%rsp)
423 movl %r12d,%ecx
424 xorl 56(%rsp),%ebp
425 xorl %edi,%eax
426 roll $5,%ecx
427 xorl 16(%rsp),%ebp
428 leal 1859775393(%rdx,%r11,1),%r11d
429 xorl %esi,%eax
430 addl %ecx,%r11d
431 roll $30,%r13d
432 addl %eax,%r11d
433 roll $1,%ebp
434 xorl 52(%rsp),%r14d
435 movl %r12d,%eax
436 movl %ebp,48(%rsp)
437 movl %r11d,%ecx
438 xorl 60(%rsp),%r14d
439 xorl %esi,%eax
440 roll $5,%ecx
441 xorl 20(%rsp),%r14d
442 leal 1859775393(%rbp,%rdi,1),%edi
443 xorl %r13d,%eax
444 addl %ecx,%edi
445 roll $30,%r12d
446 addl %eax,%edi
447 roll $1,%r14d
448 xorl 56(%rsp),%edx
449 movl %r11d,%eax
450 movl %r14d,52(%rsp)
451 movl %edi,%ecx
452 xorl 0(%rsp),%edx
453 xorl %r13d,%eax
454 roll $5,%ecx
455 xorl 24(%rsp),%edx
456 leal 1859775393(%r14,%rsi,1),%esi
457 xorl %r12d,%eax
458 addl %ecx,%esi
459 roll $30,%r11d
460 addl %eax,%esi
461 roll $1,%edx
462 xorl 60(%rsp),%ebp
463 movl %edi,%eax
464 movl %edx,56(%rsp)
465 movl %esi,%ecx
466 xorl 4(%rsp),%ebp
467 xorl %r12d,%eax
468 roll $5,%ecx
469 xorl 28(%rsp),%ebp
470 leal 1859775393(%rdx,%r13,1),%r13d
471 xorl %r11d,%eax
472 addl %ecx,%r13d
473 roll $30,%edi
474 addl %eax,%r13d
475 roll $1,%ebp
476 xorl 0(%rsp),%r14d
477 movl %esi,%eax
478 movl %ebp,60(%rsp)
479 movl %r13d,%ecx
480 xorl 8(%rsp),%r14d
481 xorl %r11d,%eax
482 roll $5,%ecx
483 xorl 32(%rsp),%r14d
484 leal 1859775393(%rbp,%r12,1),%r12d
485 xorl %edi,%eax
486 addl %ecx,%r12d
487 roll $30,%esi
488 addl %eax,%r12d
489 roll $1,%r14d
490 xorl 4(%rsp),%edx
491 movl %r13d,%eax
492 movl %r14d,0(%rsp)
493 movl %r12d,%ecx
494 xorl 12(%rsp),%edx
495 xorl %edi,%eax
496 roll $5,%ecx
497 xorl 36(%rsp),%edx
498 leal 1859775393(%r14,%r11,1),%r11d
499 xorl %esi,%eax
500 addl %ecx,%r11d
501 roll $30,%r13d
502 addl %eax,%r11d
503 roll $1,%edx
504 xorl 8(%rsp),%ebp
505 movl %r12d,%eax
506 movl %edx,4(%rsp)
507 movl %r11d,%ecx
508 xorl 16(%rsp),%ebp
509 xorl %esi,%eax
510 roll $5,%ecx
511 xorl 40(%rsp),%ebp
512 leal 1859775393(%rdx,%rdi,1),%edi
513 xorl %r13d,%eax
514 addl %ecx,%edi
515 roll $30,%r12d
516 addl %eax,%edi
517 roll $1,%ebp
518 xorl 12(%rsp),%r14d
519 movl %r11d,%eax
520 movl %ebp,8(%rsp)
521 movl %edi,%ecx
522 xorl 20(%rsp),%r14d
523 xorl %r13d,%eax
524 roll $5,%ecx
525 xorl 44(%rsp),%r14d
526 leal 1859775393(%rbp,%rsi,1),%esi
527 xorl %r12d,%eax
528 addl %ecx,%esi
529 roll $30,%r11d
530 addl %eax,%esi
531 roll $1,%r14d
532 xorl 16(%rsp),%edx
533 movl %edi,%eax
534 movl %r14d,12(%rsp)
535 movl %esi,%ecx
536 xorl 24(%rsp),%edx
537 xorl %r12d,%eax
538 roll $5,%ecx
539 xorl 48(%rsp),%edx
540 leal 1859775393(%r14,%r13,1),%r13d
541 xorl %r11d,%eax
542 addl %ecx,%r13d
543 roll $30,%edi
544 addl %eax,%r13d
545 roll $1,%edx
546 xorl 20(%rsp),%ebp
547 movl %esi,%eax
548 movl %edx,16(%rsp)
549 movl %r13d,%ecx
550 xorl 28(%rsp),%ebp
551 xorl %r11d,%eax
552 roll $5,%ecx
553 xorl 52(%rsp),%ebp
554 leal 1859775393(%rdx,%r12,1),%r12d
555 xorl %edi,%eax
556 addl %ecx,%r12d
557 roll $30,%esi
558 addl %eax,%r12d
559 roll $1,%ebp
560 xorl 24(%rsp),%r14d
561 movl %r13d,%eax
562 movl %ebp,20(%rsp)
563 movl %r12d,%ecx
564 xorl 32(%rsp),%r14d
565 xorl %edi,%eax
566 roll $5,%ecx
567 xorl 56(%rsp),%r14d
568 leal 1859775393(%rbp,%r11,1),%r11d
569 xorl %esi,%eax
570 addl %ecx,%r11d
571 roll $30,%r13d
572 addl %eax,%r11d
573 roll $1,%r14d
574 xorl 28(%rsp),%edx
575 movl %r12d,%eax
576 movl %r14d,24(%rsp)
577 movl %r11d,%ecx
578 xorl 36(%rsp),%edx
579 xorl %esi,%eax
580 roll $5,%ecx
581 xorl 60(%rsp),%edx
582 leal 1859775393(%r14,%rdi,1),%edi
583 xorl %r13d,%eax
584 addl %ecx,%edi
585 roll $30,%r12d
586 addl %eax,%edi
587 roll $1,%edx
588 xorl 32(%rsp),%ebp
589 movl %r11d,%eax
590 movl %edx,28(%rsp)
591 movl %edi,%ecx
592 xorl 40(%rsp),%ebp
593 xorl %r13d,%eax
594 roll $5,%ecx
595 xorl 0(%rsp),%ebp
596 leal 1859775393(%rdx,%rsi,1),%esi
597 xorl %r12d,%eax
598 addl %ecx,%esi
599 roll $30,%r11d
600 addl %eax,%esi
601 roll $1,%ebp
602 xorl 36(%rsp),%r14d
603 movl %r12d,%eax
604 movl %ebp,32(%rsp)
605 movl %r12d,%ebx
606 xorl 44(%rsp),%r14d
607 andl %r11d,%eax
608 movl %esi,%ecx
609 xorl 4(%rsp),%r14d
610 leal -1894007588(%rbp,%r13,1),%r13d
611 xorl %r11d,%ebx
612 roll $5,%ecx
613 addl %eax,%r13d
614 roll $1,%r14d
615 andl %edi,%ebx
616 addl %ecx,%r13d
617 roll $30,%edi
618 addl %ebx,%r13d
619 xorl 40(%rsp),%edx
620 movl %r11d,%eax
621 movl %r14d,36(%rsp)
622 movl %r11d,%ebx
623 xorl 48(%rsp),%edx
624 andl %edi,%eax
625 movl %r13d,%ecx
626 xorl 8(%rsp),%edx
627 leal -1894007588(%r14,%r12,1),%r12d
628 xorl %edi,%ebx
629 roll $5,%ecx
630 addl %eax,%r12d
631 roll $1,%edx
632 andl %esi,%ebx
633 addl %ecx,%r12d
634 roll $30,%esi
635 addl %ebx,%r12d
636 xorl 44(%rsp),%ebp
637 movl %edi,%eax
638 movl %edx,40(%rsp)
639 movl %edi,%ebx
640 xorl 52(%rsp),%ebp
641 andl %esi,%eax
642 movl %r12d,%ecx
643 xorl 12(%rsp),%ebp
644 leal -1894007588(%rdx,%r11,1),%r11d
645 xorl %esi,%ebx
646 roll $5,%ecx
647 addl %eax,%r11d
648 roll $1,%ebp
649 andl %r13d,%ebx
650 addl %ecx,%r11d
651 roll $30,%r13d
652 addl %ebx,%r11d
653 xorl 48(%rsp),%r14d
654 movl %esi,%eax
655 movl %ebp,44(%rsp)
656 movl %esi,%ebx
657 xorl 56(%rsp),%r14d
658 andl %r13d,%eax
659 movl %r11d,%ecx
660 xorl 16(%rsp),%r14d
661 leal -1894007588(%rbp,%rdi,1),%edi
662 xorl %r13d,%ebx
663 roll $5,%ecx
664 addl %eax,%edi
665 roll $1,%r14d
666 andl %r12d,%ebx
667 addl %ecx,%edi
668 roll $30,%r12d
669 addl %ebx,%edi
670 xorl 52(%rsp),%edx
671 movl %r13d,%eax
672 movl %r14d,48(%rsp)
673 movl %r13d,%ebx
674 xorl 60(%rsp),%edx
675 andl %r12d,%eax
676 movl %edi,%ecx
677 xorl 20(%rsp),%edx
678 leal -1894007588(%r14,%rsi,1),%esi
679 xorl %r12d,%ebx
680 roll $5,%ecx
681 addl %eax,%esi
682 roll $1,%edx
683 andl %r11d,%ebx
684 addl %ecx,%esi
685 roll $30,%r11d
686 addl %ebx,%esi
687 xorl 56(%rsp),%ebp
688 movl %r12d,%eax
689 movl %edx,52(%rsp)
690 movl %r12d,%ebx
691 xorl 0(%rsp),%ebp
692 andl %r11d,%eax
693 movl %esi,%ecx
694 xorl 24(%rsp),%ebp
695 leal -1894007588(%rdx,%r13,1),%r13d
696 xorl %r11d,%ebx
697 roll $5,%ecx
698 addl %eax,%r13d
699 roll $1,%ebp
700 andl %edi,%ebx
701 addl %ecx,%r13d
702 roll $30,%edi
703 addl %ebx,%r13d
704 xorl 60(%rsp),%r14d
705 movl %r11d,%eax
706 movl %ebp,56(%rsp)
707 movl %r11d,%ebx
708 xorl 4(%rsp),%r14d
709 andl %edi,%eax
710 movl %r13d,%ecx
711 xorl 28(%rsp),%r14d
712 leal -1894007588(%rbp,%r12,1),%r12d
713 xorl %edi,%ebx
714 roll $5,%ecx
715 addl %eax,%r12d
716 roll $1,%r14d
717 andl %esi,%ebx
718 addl %ecx,%r12d
719 roll $30,%esi
720 addl %ebx,%r12d
721 xorl 0(%rsp),%edx
722 movl %edi,%eax
723 movl %r14d,60(%rsp)
724 movl %edi,%ebx
725 xorl 8(%rsp),%edx
726 andl %esi,%eax
727 movl %r12d,%ecx
728 xorl 32(%rsp),%edx
729 leal -1894007588(%r14,%r11,1),%r11d
730 xorl %esi,%ebx
731 roll $5,%ecx
732 addl %eax,%r11d
733 roll $1,%edx
734 andl %r13d,%ebx
735 addl %ecx,%r11d
736 roll $30,%r13d
737 addl %ebx,%r11d
738 xorl 4(%rsp),%ebp
739 movl %esi,%eax
740 movl %edx,0(%rsp)
741 movl %esi,%ebx
742 xorl 12(%rsp),%ebp
743 andl %r13d,%eax
744 movl %r11d,%ecx
745 xorl 36(%rsp),%ebp
746 leal -1894007588(%rdx,%rdi,1),%edi
747 xorl %r13d,%ebx
748 roll $5,%ecx
749 addl %eax,%edi
750 roll $1,%ebp
751 andl %r12d,%ebx
752 addl %ecx,%edi
753 roll $30,%r12d
754 addl %ebx,%edi
755 xorl 8(%rsp),%r14d
756 movl %r13d,%eax
757 movl %ebp,4(%rsp)
758 movl %r13d,%ebx
759 xorl 16(%rsp),%r14d
760 andl %r12d,%eax
761 movl %edi,%ecx
762 xorl 40(%rsp),%r14d
763 leal -1894007588(%rbp,%rsi,1),%esi
764 xorl %r12d,%ebx
765 roll $5,%ecx
766 addl %eax,%esi
767 roll $1,%r14d
768 andl %r11d,%ebx
769 addl %ecx,%esi
770 roll $30,%r11d
771 addl %ebx,%esi
772 xorl 12(%rsp),%edx
773 movl %r12d,%eax
774 movl %r14d,8(%rsp)
775 movl %r12d,%ebx
776 xorl 20(%rsp),%edx
777 andl %r11d,%eax
778 movl %esi,%ecx
779 xorl 44(%rsp),%edx
780 leal -1894007588(%r14,%r13,1),%r13d
781 xorl %r11d,%ebx
782 roll $5,%ecx
783 addl %eax,%r13d
784 roll $1,%edx
785 andl %edi,%ebx
786 addl %ecx,%r13d
787 roll $30,%edi
788 addl %ebx,%r13d
789 xorl 16(%rsp),%ebp
790 movl %r11d,%eax
791 movl %edx,12(%rsp)
792 movl %r11d,%ebx
793 xorl 24(%rsp),%ebp
794 andl %edi,%eax
795 movl %r13d,%ecx
796 xorl 48(%rsp),%ebp
797 leal -1894007588(%rdx,%r12,1),%r12d
798 xorl %edi,%ebx
799 roll $5,%ecx
800 addl %eax,%r12d
801 roll $1,%ebp
802 andl %esi,%ebx
803 addl %ecx,%r12d
804 roll $30,%esi
805 addl %ebx,%r12d
806 xorl 20(%rsp),%r14d
807 movl %edi,%eax
808 movl %ebp,16(%rsp)
809 movl %edi,%ebx
810 xorl 28(%rsp),%r14d
811 andl %esi,%eax
812 movl %r12d,%ecx
813 xorl 52(%rsp),%r14d
814 leal -1894007588(%rbp,%r11,1),%r11d
815 xorl %esi,%ebx
816 roll $5,%ecx
817 addl %eax,%r11d
818 roll $1,%r14d
819 andl %r13d,%ebx
820 addl %ecx,%r11d
821 roll $30,%r13d
822 addl %ebx,%r11d
823 xorl 24(%rsp),%edx
824 movl %esi,%eax
825 movl %r14d,20(%rsp)
826 movl %esi,%ebx
827 xorl 32(%rsp),%edx
828 andl %r13d,%eax
829 movl %r11d,%ecx
830 xorl 56(%rsp),%edx
831 leal -1894007588(%r14,%rdi,1),%edi
832 xorl %r13d,%ebx
833 roll $5,%ecx
834 addl %eax,%edi
835 roll $1,%edx
836 andl %r12d,%ebx
837 addl %ecx,%edi
838 roll $30,%r12d
839 addl %ebx,%edi
840 xorl 28(%rsp),%ebp
841 movl %r13d,%eax
842 movl %edx,24(%rsp)
843 movl %r13d,%ebx
844 xorl 36(%rsp),%ebp
845 andl %r12d,%eax
846 movl %edi,%ecx
847 xorl 60(%rsp),%ebp
848 leal -1894007588(%rdx,%rsi,1),%esi
849 xorl %r12d,%ebx
850 roll $5,%ecx
851 addl %eax,%esi
852 roll $1,%ebp
853 andl %r11d,%ebx
854 addl %ecx,%esi
855 roll $30,%r11d
856 addl %ebx,%esi
857 xorl 32(%rsp),%r14d
858 movl %r12d,%eax
859 movl %ebp,28(%rsp)
860 movl %r12d,%ebx
861 xorl 40(%rsp),%r14d
862 andl %r11d,%eax
863 movl %esi,%ecx
864 xorl 0(%rsp),%r14d
865 leal -1894007588(%rbp,%r13,1),%r13d
866 xorl %r11d,%ebx
867 roll $5,%ecx
868 addl %eax,%r13d
869 roll $1,%r14d
870 andl %edi,%ebx
871 addl %ecx,%r13d
872 roll $30,%edi
873 addl %ebx,%r13d
874 xorl 36(%rsp),%edx
875 movl %r11d,%eax
876 movl %r14d,32(%rsp)
877 movl %r11d,%ebx
878 xorl 44(%rsp),%edx
879 andl %edi,%eax
880 movl %r13d,%ecx
881 xorl 4(%rsp),%edx
882 leal -1894007588(%r14,%r12,1),%r12d
883 xorl %edi,%ebx
884 roll $5,%ecx
885 addl %eax,%r12d
886 roll $1,%edx
887 andl %esi,%ebx
888 addl %ecx,%r12d
889 roll $30,%esi
890 addl %ebx,%r12d
891 xorl 40(%rsp),%ebp
892 movl %edi,%eax
893 movl %edx,36(%rsp)
894 movl %edi,%ebx
895 xorl 48(%rsp),%ebp
896 andl %esi,%eax
897 movl %r12d,%ecx
898 xorl 8(%rsp),%ebp
899 leal -1894007588(%rdx,%r11,1),%r11d
900 xorl %esi,%ebx
901 roll $5,%ecx
902 addl %eax,%r11d
903 roll $1,%ebp
904 andl %r13d,%ebx
905 addl %ecx,%r11d
906 roll $30,%r13d
907 addl %ebx,%r11d
908 xorl 44(%rsp),%r14d
909 movl %esi,%eax
910 movl %ebp,40(%rsp)
911 movl %esi,%ebx
912 xorl 52(%rsp),%r14d
913 andl %r13d,%eax
914 movl %r11d,%ecx
915 xorl 12(%rsp),%r14d
916 leal -1894007588(%rbp,%rdi,1),%edi
917 xorl %r13d,%ebx
918 roll $5,%ecx
919 addl %eax,%edi
920 roll $1,%r14d
921 andl %r12d,%ebx
922 addl %ecx,%edi
923 roll $30,%r12d
924 addl %ebx,%edi
925 xorl 48(%rsp),%edx
926 movl %r13d,%eax
927 movl %r14d,44(%rsp)
928 movl %r13d,%ebx
929 xorl 56(%rsp),%edx
930 andl %r12d,%eax
931 movl %edi,%ecx
932 xorl 16(%rsp),%edx
933 leal -1894007588(%r14,%rsi,1),%esi
934 xorl %r12d,%ebx
935 roll $5,%ecx
936 addl %eax,%esi
937 roll $1,%edx
938 andl %r11d,%ebx
939 addl %ecx,%esi
940 roll $30,%r11d
941 addl %ebx,%esi
942 xorl 52(%rsp),%ebp
943 movl %edi,%eax
944 movl %edx,48(%rsp)
945 movl %esi,%ecx
946 xorl 60(%rsp),%ebp
947 xorl %r12d,%eax
948 roll $5,%ecx
949 xorl 20(%rsp),%ebp
950 leal -899497514(%rdx,%r13,1),%r13d
951 xorl %r11d,%eax
952 addl %ecx,%r13d
953 roll $30,%edi
954 addl %eax,%r13d
955 roll $1,%ebp
956 xorl 56(%rsp),%r14d
957 movl %esi,%eax
958 movl %ebp,52(%rsp)
959 movl %r13d,%ecx
960 xorl 0(%rsp),%r14d
961 xorl %r11d,%eax
962 roll $5,%ecx
963 xorl 24(%rsp),%r14d
964 leal -899497514(%rbp,%r12,1),%r12d
965 xorl %edi,%eax
966 addl %ecx,%r12d
967 roll $30,%esi
968 addl %eax,%r12d
969 roll $1,%r14d
970 xorl 60(%rsp),%edx
971 movl %r13d,%eax
972 movl %r14d,56(%rsp)
973 movl %r12d,%ecx
974 xorl 4(%rsp),%edx
975 xorl %edi,%eax
976 roll $5,%ecx
977 xorl 28(%rsp),%edx
978 leal -899497514(%r14,%r11,1),%r11d
979 xorl %esi,%eax
980 addl %ecx,%r11d
981 roll $30,%r13d
982 addl %eax,%r11d
983 roll $1,%edx
984 xorl 0(%rsp),%ebp
985 movl %r12d,%eax
986 movl %edx,60(%rsp)
987 movl %r11d,%ecx
988 xorl 8(%rsp),%ebp
989 xorl %esi,%eax
990 roll $5,%ecx
991 xorl 32(%rsp),%ebp
992 leal -899497514(%rdx,%rdi,1),%edi
993 xorl %r13d,%eax
994 addl %ecx,%edi
995 roll $30,%r12d
996 addl %eax,%edi
997 roll $1,%ebp
998 xorl 4(%rsp),%r14d
999 movl %r11d,%eax
1000 movl %ebp,0(%rsp)
1001 movl %edi,%ecx
1002 xorl 12(%rsp),%r14d
1003 xorl %r13d,%eax
1004 roll $5,%ecx
1005 xorl 36(%rsp),%r14d
1006 leal -899497514(%rbp,%rsi,1),%esi
1007 xorl %r12d,%eax
1008 addl %ecx,%esi
1009 roll $30,%r11d
1010 addl %eax,%esi
1011 roll $1,%r14d
1012 xorl 8(%rsp),%edx
1013 movl %edi,%eax
1014 movl %r14d,4(%rsp)
1015 movl %esi,%ecx
1016 xorl 16(%rsp),%edx
1017 xorl %r12d,%eax
1018 roll $5,%ecx
1019 xorl 40(%rsp),%edx
1020 leal -899497514(%r14,%r13,1),%r13d
1021 xorl %r11d,%eax
1022 addl %ecx,%r13d
1023 roll $30,%edi
1024 addl %eax,%r13d
1025 roll $1,%edx
1026 xorl 12(%rsp),%ebp
1027 movl %esi,%eax
1028 movl %edx,8(%rsp)
1029 movl %r13d,%ecx
1030 xorl 20(%rsp),%ebp
1031 xorl %r11d,%eax
1032 roll $5,%ecx
1033 xorl 44(%rsp),%ebp
1034 leal -899497514(%rdx,%r12,1),%r12d
1035 xorl %edi,%eax
1036 addl %ecx,%r12d
1037 roll $30,%esi
1038 addl %eax,%r12d
1039 roll $1,%ebp
1040 xorl 16(%rsp),%r14d
1041 movl %r13d,%eax
1042 movl %ebp,12(%rsp)
1043 movl %r12d,%ecx
1044 xorl 24(%rsp),%r14d
1045 xorl %edi,%eax
1046 roll $5,%ecx
1047 xorl 48(%rsp),%r14d
1048 leal -899497514(%rbp,%r11,1),%r11d
1049 xorl %esi,%eax
1050 addl %ecx,%r11d
1051 roll $30,%r13d
1052 addl %eax,%r11d
1053 roll $1,%r14d
1054 xorl 20(%rsp),%edx
1055 movl %r12d,%eax
1056 movl %r14d,16(%rsp)
1057 movl %r11d,%ecx
1058 xorl 28(%rsp),%edx
1059 xorl %esi,%eax
1060 roll $5,%ecx
1061 xorl 52(%rsp),%edx
1062 leal -899497514(%r14,%rdi,1),%edi
1063 xorl %r13d,%eax
1064 addl %ecx,%edi
1065 roll $30,%r12d
1066 addl %eax,%edi
1067 roll $1,%edx
1068 xorl 24(%rsp),%ebp
1069 movl %r11d,%eax
1070 movl %edx,20(%rsp)
1071 movl %edi,%ecx
1072 xorl 32(%rsp),%ebp
1073 xorl %r13d,%eax
1074 roll $5,%ecx
1075 xorl 56(%rsp),%ebp
1076 leal -899497514(%rdx,%rsi,1),%esi
1077 xorl %r12d,%eax
1078 addl %ecx,%esi
1079 roll $30,%r11d
1080 addl %eax,%esi
1081 roll $1,%ebp
1082 xorl 28(%rsp),%r14d
1083 movl %edi,%eax
1084 movl %ebp,24(%rsp)
1085 movl %esi,%ecx
1086 xorl 36(%rsp),%r14d
1087 xorl %r12d,%eax
1088 roll $5,%ecx
1089 xorl 60(%rsp),%r14d
1090 leal -899497514(%rbp,%r13,1),%r13d
1091 xorl %r11d,%eax
1092 addl %ecx,%r13d
1093 roll $30,%edi
1094 addl %eax,%r13d
1095 roll $1,%r14d
1096 xorl 32(%rsp),%edx
1097 movl %esi,%eax
1098 movl %r14d,28(%rsp)
1099 movl %r13d,%ecx
1100 xorl 40(%rsp),%edx
1101 xorl %r11d,%eax
1102 roll $5,%ecx
1103 xorl 0(%rsp),%edx
1104 leal -899497514(%r14,%r12,1),%r12d
1105 xorl %edi,%eax
1106 addl %ecx,%r12d
1107 roll $30,%esi
1108 addl %eax,%r12d
1109 roll $1,%edx
1110 xorl 36(%rsp),%ebp
1111 movl %r13d,%eax
1112
1113 movl %r12d,%ecx
1114 xorl 44(%rsp),%ebp
1115 xorl %edi,%eax
1116 roll $5,%ecx
1117 xorl 4(%rsp),%ebp
1118 leal -899497514(%rdx,%r11,1),%r11d
1119 xorl %esi,%eax
1120 addl %ecx,%r11d
1121 roll $30,%r13d
1122 addl %eax,%r11d
1123 roll $1,%ebp
1124 xorl 40(%rsp),%r14d
1125 movl %r12d,%eax
1126
1127 movl %r11d,%ecx
1128 xorl 48(%rsp),%r14d
1129 xorl %esi,%eax
1130 roll $5,%ecx
1131 xorl 8(%rsp),%r14d
1132 leal -899497514(%rbp,%rdi,1),%edi
1133 xorl %r13d,%eax
1134 addl %ecx,%edi
1135 roll $30,%r12d
1136 addl %eax,%edi
1137 roll $1,%r14d
1138 xorl 44(%rsp),%edx
1139 movl %r11d,%eax
1140
1141 movl %edi,%ecx
1142 xorl 52(%rsp),%edx
1143 xorl %r13d,%eax
1144 roll $5,%ecx
1145 xorl 12(%rsp),%edx
1146 leal -899497514(%r14,%rsi,1),%esi
1147 xorl %r12d,%eax
1148 addl %ecx,%esi
1149 roll $30,%r11d
1150 addl %eax,%esi
1151 roll $1,%edx
1152 xorl 48(%rsp),%ebp
1153 movl %edi,%eax
1154
1155 movl %esi,%ecx
1156 xorl 56(%rsp),%ebp
1157 xorl %r12d,%eax
1158 roll $5,%ecx
1159 xorl 16(%rsp),%ebp
1160 leal -899497514(%rdx,%r13,1),%r13d
1161 xorl %r11d,%eax
1162 addl %ecx,%r13d
1163 roll $30,%edi
1164 addl %eax,%r13d
1165 roll $1,%ebp
1166 xorl 52(%rsp),%r14d
1167 movl %esi,%eax
1168
1169 movl %r13d,%ecx
1170 xorl 60(%rsp),%r14d
1171 xorl %r11d,%eax
1172 roll $5,%ecx
1173 xorl 20(%rsp),%r14d
1174 leal -899497514(%rbp,%r12,1),%r12d
1175 xorl %edi,%eax
1176 addl %ecx,%r12d
1177 roll $30,%esi
1178 addl %eax,%r12d
1179 roll $1,%r14d
1180 xorl 56(%rsp),%edx
1181 movl %r13d,%eax
1182
1183 movl %r12d,%ecx
1184 xorl 0(%rsp),%edx
1185 xorl %edi,%eax
1186 roll $5,%ecx
1187 xorl 24(%rsp),%edx
1188 leal -899497514(%r14,%r11,1),%r11d
1189 xorl %esi,%eax
1190 addl %ecx,%r11d
1191 roll $30,%r13d
1192 addl %eax,%r11d
1193 roll $1,%edx
1194 xorl 60(%rsp),%ebp
1195 movl %r12d,%eax
1196
1197 movl %r11d,%ecx
1198 xorl 4(%rsp),%ebp
1199 xorl %esi,%eax
1200 roll $5,%ecx
1201 xorl 28(%rsp),%ebp
1202 leal -899497514(%rdx,%rdi,1),%edi
1203 xorl %r13d,%eax
1204 addl %ecx,%edi
1205 roll $30,%r12d
1206 addl %eax,%edi
1207 roll $1,%ebp
1208 movl %r11d,%eax
1209 movl %edi,%ecx
1210 xorl %r13d,%eax
1211 leal -899497514(%rbp,%rsi,1),%esi
1212 roll $5,%ecx
1213 xorl %r12d,%eax
1214 addl %ecx,%esi
1215 roll $30,%r11d
1216 addl %eax,%esi
1217 addl 0(%r8),%esi
1218 addl 4(%r8),%edi
1219 addl 8(%r8),%r11d
1220 addl 12(%r8),%r12d
1221 addl 16(%r8),%r13d
1222 movl %esi,0(%r8)
1223 movl %edi,4(%r8)
1224 movl %r11d,8(%r8)
1225 movl %r12d,12(%r8)
1226 movl %r13d,16(%r8)
1227
1228 subq $1,%r10
1229 leaq 64(%r9),%r9
1230 jnz L$loop
1231
1232 movq 64(%rsp),%rsi
1233
1234 movq -40(%rsi),%r14
1235
1236 movq -32(%rsi),%r13
1237
1238 movq -24(%rsi),%r12
1239
1240 movq -16(%rsi),%rbp
1241
1242 movq -8(%rsi),%rbx
1243
1244 leaq (%rsi),%rsp
1245
1246L$epilogue:
1247 .byte 0xf3,0xc3
1248
1249
1250
1251.p2align 5
1252sha1_block_data_order_shaext:
1253_shaext_shortcut:
1254
1255 movdqu (%rdi),%xmm0
1256 movd 16(%rdi),%xmm1
1257 movdqa K_XX_XX+160(%rip),%xmm3
1258
1259 movdqu (%rsi),%xmm4
1260 pshufd $27,%xmm0,%xmm0
1261 movdqu 16(%rsi),%xmm5
1262 pshufd $27,%xmm1,%xmm1
1263 movdqu 32(%rsi),%xmm6
1264.byte 102,15,56,0,227
1265 movdqu 48(%rsi),%xmm7
1266.byte 102,15,56,0,235
1267.byte 102,15,56,0,243
1268 movdqa %xmm1,%xmm9
1269.byte 102,15,56,0,251
1270 jmp L$oop_shaext
1271
1272.p2align 4
1273L$oop_shaext:
1274 decq %rdx
1275 leaq 64(%rsi),%r8
1276 paddd %xmm4,%xmm1
1277 cmovneq %r8,%rsi
1278 movdqa %xmm0,%xmm8
1279.byte 15,56,201,229
1280 movdqa %xmm0,%xmm2
1281.byte 15,58,204,193,0
1282.byte 15,56,200,213
1283 pxor %xmm6,%xmm4
1284.byte 15,56,201,238
1285.byte 15,56,202,231
1286
1287 movdqa %xmm0,%xmm1
1288.byte 15,58,204,194,0
1289.byte 15,56,200,206
1290 pxor %xmm7,%xmm5
1291.byte 15,56,202,236
1292.byte 15,56,201,247
1293 movdqa %xmm0,%xmm2
1294.byte 15,58,204,193,0
1295.byte 15,56,200,215
1296 pxor %xmm4,%xmm6
1297.byte 15,56,201,252
1298.byte 15,56,202,245
1299
1300 movdqa %xmm0,%xmm1
1301.byte 15,58,204,194,0
1302.byte 15,56,200,204
1303 pxor %xmm5,%xmm7
1304.byte 15,56,202,254
1305.byte 15,56,201,229
1306 movdqa %xmm0,%xmm2
1307.byte 15,58,204,193,0
1308.byte 15,56,200,213
1309 pxor %xmm6,%xmm4
1310.byte 15,56,201,238
1311.byte 15,56,202,231
1312
1313 movdqa %xmm0,%xmm1
1314.byte 15,58,204,194,1
1315.byte 15,56,200,206
1316 pxor %xmm7,%xmm5
1317.byte 15,56,202,236
1318.byte 15,56,201,247
1319 movdqa %xmm0,%xmm2
1320.byte 15,58,204,193,1
1321.byte 15,56,200,215
1322 pxor %xmm4,%xmm6
1323.byte 15,56,201,252
1324.byte 15,56,202,245
1325
1326 movdqa %xmm0,%xmm1
1327.byte 15,58,204,194,1
1328.byte 15,56,200,204
1329 pxor %xmm5,%xmm7
1330.byte 15,56,202,254
1331.byte 15,56,201,229
1332 movdqa %xmm0,%xmm2
1333.byte 15,58,204,193,1
1334.byte 15,56,200,213
1335 pxor %xmm6,%xmm4
1336.byte 15,56,201,238
1337.byte 15,56,202,231
1338
1339 movdqa %xmm0,%xmm1
1340.byte 15,58,204,194,1
1341.byte 15,56,200,206
1342 pxor %xmm7,%xmm5
1343.byte 15,56,202,236
1344.byte 15,56,201,247
1345 movdqa %xmm0,%xmm2
1346.byte 15,58,204,193,2
1347.byte 15,56,200,215
1348 pxor %xmm4,%xmm6
1349.byte 15,56,201,252
1350.byte 15,56,202,245
1351
1352 movdqa %xmm0,%xmm1
1353.byte 15,58,204,194,2
1354.byte 15,56,200,204
1355 pxor %xmm5,%xmm7
1356.byte 15,56,202,254
1357.byte 15,56,201,229
1358 movdqa %xmm0,%xmm2
1359.byte 15,58,204,193,2
1360.byte 15,56,200,213
1361 pxor %xmm6,%xmm4
1362.byte 15,56,201,238
1363.byte 15,56,202,231
1364
1365 movdqa %xmm0,%xmm1
1366.byte 15,58,204,194,2
1367.byte 15,56,200,206
1368 pxor %xmm7,%xmm5
1369.byte 15,56,202,236
1370.byte 15,56,201,247
1371 movdqa %xmm0,%xmm2
1372.byte 15,58,204,193,2
1373.byte 15,56,200,215
1374 pxor %xmm4,%xmm6
1375.byte 15,56,201,252
1376.byte 15,56,202,245
1377
1378 movdqa %xmm0,%xmm1
1379.byte 15,58,204,194,3
1380.byte 15,56,200,204
1381 pxor %xmm5,%xmm7
1382.byte 15,56,202,254
1383 movdqu (%rsi),%xmm4
1384 movdqa %xmm0,%xmm2
1385.byte 15,58,204,193,3
1386.byte 15,56,200,213
1387 movdqu 16(%rsi),%xmm5
1388.byte 102,15,56,0,227
1389
1390 movdqa %xmm0,%xmm1
1391.byte 15,58,204,194,3
1392.byte 15,56,200,206
1393 movdqu 32(%rsi),%xmm6
1394.byte 102,15,56,0,235
1395
1396 movdqa %xmm0,%xmm2
1397.byte 15,58,204,193,3
1398.byte 15,56,200,215
1399 movdqu 48(%rsi),%xmm7
1400.byte 102,15,56,0,243
1401
1402 movdqa %xmm0,%xmm1
1403.byte 15,58,204,194,3
1404.byte 65,15,56,200,201
1405.byte 102,15,56,0,251
1406
1407 paddd %xmm8,%xmm0
1408 movdqa %xmm1,%xmm9
1409
1410 jnz L$oop_shaext
1411
1412 pshufd $27,%xmm0,%xmm0
1413 pshufd $27,%xmm1,%xmm1
1414 movdqu %xmm0,(%rdi)
1415 movd %xmm1,16(%rdi)
1416
1417 .byte 0xf3,0xc3
1418
1419
1420.p2align 4
1421sha1_block_data_order_ssse3:
1422_ssse3_shortcut:
1423
1424 movq %rsp,%r11
1425
1426 pushq %rbx
1427
1428 pushq %rbp
1429
1430 pushq %r12
1431
1432 pushq %r13
1433
1434 pushq %r14
1435
1436 leaq -64(%rsp),%rsp
1437 andq $-64,%rsp
1438 movq %rdi,%r8
1439 movq %rsi,%r9
1440 movq %rdx,%r10
1441
1442 shlq $6,%r10
1443 addq %r9,%r10
1444 leaq K_XX_XX+64(%rip),%r14
1445
1446 movl 0(%r8),%eax
1447 movl 4(%r8),%ebx
1448 movl 8(%r8),%ecx
1449 movl 12(%r8),%edx
1450 movl %ebx,%esi
1451 movl 16(%r8),%ebp
1452 movl %ecx,%edi
1453 xorl %edx,%edi
1454 andl %edi,%esi
1455
1456 movdqa 64(%r14),%xmm6
1457 movdqa -64(%r14),%xmm9
1458 movdqu 0(%r9),%xmm0
1459 movdqu 16(%r9),%xmm1
1460 movdqu 32(%r9),%xmm2
1461 movdqu 48(%r9),%xmm3
1462.byte 102,15,56,0,198
1463.byte 102,15,56,0,206
1464.byte 102,15,56,0,214
1465 addq $64,%r9
1466 paddd %xmm9,%xmm0
1467.byte 102,15,56,0,222
1468 paddd %xmm9,%xmm1
1469 paddd %xmm9,%xmm2
1470 movdqa %xmm0,0(%rsp)
1471 psubd %xmm9,%xmm0
1472 movdqa %xmm1,16(%rsp)
1473 psubd %xmm9,%xmm1
1474 movdqa %xmm2,32(%rsp)
1475 psubd %xmm9,%xmm2
1476 jmp L$oop_ssse3
1477.p2align 4
1478L$oop_ssse3:
1479 rorl $2,%ebx
1480 pshufd $238,%xmm0,%xmm4
1481 xorl %edx,%esi
1482 movdqa %xmm3,%xmm8
1483 paddd %xmm3,%xmm9
1484 movl %eax,%edi
1485 addl 0(%rsp),%ebp
1486 punpcklqdq %xmm1,%xmm4
1487 xorl %ecx,%ebx
1488 roll $5,%eax
1489 addl %esi,%ebp
1490 psrldq $4,%xmm8
1491 andl %ebx,%edi
1492 xorl %ecx,%ebx
1493 pxor %xmm0,%xmm4
1494 addl %eax,%ebp
1495 rorl $7,%eax
1496 pxor %xmm2,%xmm8
1497 xorl %ecx,%edi
1498 movl %ebp,%esi
1499 addl 4(%rsp),%edx
1500 pxor %xmm8,%xmm4
1501 xorl %ebx,%eax
1502 roll $5,%ebp
1503 movdqa %xmm9,48(%rsp)
1504 addl %edi,%edx
1505 andl %eax,%esi
1506 movdqa %xmm4,%xmm10
1507 xorl %ebx,%eax
1508 addl %ebp,%edx
1509 rorl $7,%ebp
1510 movdqa %xmm4,%xmm8
1511 xorl %ebx,%esi
1512 pslldq $12,%xmm10
1513 paddd %xmm4,%xmm4
1514 movl %edx,%edi
1515 addl 8(%rsp),%ecx
1516 psrld $31,%xmm8
1517 xorl %eax,%ebp
1518 roll $5,%edx
1519 addl %esi,%ecx
1520 movdqa %xmm10,%xmm9
1521 andl %ebp,%edi
1522 xorl %eax,%ebp
1523 psrld $30,%xmm10
1524 addl %edx,%ecx
1525 rorl $7,%edx
1526 por %xmm8,%xmm4
1527 xorl %eax,%edi
1528 movl %ecx,%esi
1529 addl 12(%rsp),%ebx
1530 pslld $2,%xmm9
1531 pxor %xmm10,%xmm4
1532 xorl %ebp,%edx
1533 movdqa -64(%r14),%xmm10
1534 roll $5,%ecx
1535 addl %edi,%ebx
1536 andl %edx,%esi
1537 pxor %xmm9,%xmm4
1538 xorl %ebp,%edx
1539 addl %ecx,%ebx
1540 rorl $7,%ecx
1541 pshufd $238,%xmm1,%xmm5
1542 xorl %ebp,%esi
1543 movdqa %xmm4,%xmm9
1544 paddd %xmm4,%xmm10
1545 movl %ebx,%edi
1546 addl 16(%rsp),%eax
1547 punpcklqdq %xmm2,%xmm5
1548 xorl %edx,%ecx
1549 roll $5,%ebx
1550 addl %esi,%eax
1551 psrldq $4,%xmm9
1552 andl %ecx,%edi
1553 xorl %edx,%ecx
1554 pxor %xmm1,%xmm5
1555 addl %ebx,%eax
1556 rorl $7,%ebx
1557 pxor %xmm3,%xmm9
1558 xorl %edx,%edi
1559 movl %eax,%esi
1560 addl 20(%rsp),%ebp
1561 pxor %xmm9,%xmm5
1562 xorl %ecx,%ebx
1563 roll $5,%eax
1564 movdqa %xmm10,0(%rsp)
1565 addl %edi,%ebp
1566 andl %ebx,%esi
1567 movdqa %xmm5,%xmm8
1568 xorl %ecx,%ebx
1569 addl %eax,%ebp
1570 rorl $7,%eax
1571 movdqa %xmm5,%xmm9
1572 xorl %ecx,%esi
1573 pslldq $12,%xmm8
1574 paddd %xmm5,%xmm5
1575 movl %ebp,%edi
1576 addl 24(%rsp),%edx
1577 psrld $31,%xmm9
1578 xorl %ebx,%eax
1579 roll $5,%ebp
1580 addl %esi,%edx
1581 movdqa %xmm8,%xmm10
1582 andl %eax,%edi
1583 xorl %ebx,%eax
1584 psrld $30,%xmm8
1585 addl %ebp,%edx
1586 rorl $7,%ebp
1587 por %xmm9,%xmm5
1588 xorl %ebx,%edi
1589 movl %edx,%esi
1590 addl 28(%rsp),%ecx
1591 pslld $2,%xmm10
1592 pxor %xmm8,%xmm5
1593 xorl %eax,%ebp
1594 movdqa -32(%r14),%xmm8
1595 roll $5,%edx
1596 addl %edi,%ecx
1597 andl %ebp,%esi
1598 pxor %xmm10,%xmm5
1599 xorl %eax,%ebp
1600 addl %edx,%ecx
1601 rorl $7,%edx
1602 pshufd $238,%xmm2,%xmm6
1603 xorl %eax,%esi
1604 movdqa %xmm5,%xmm10
1605 paddd %xmm5,%xmm8
1606 movl %ecx,%edi
1607 addl 32(%rsp),%ebx
1608 punpcklqdq %xmm3,%xmm6
1609 xorl %ebp,%edx
1610 roll $5,%ecx
1611 addl %esi,%ebx
1612 psrldq $4,%xmm10
1613 andl %edx,%edi
1614 xorl %ebp,%edx
1615 pxor %xmm2,%xmm6
1616 addl %ecx,%ebx
1617 rorl $7,%ecx
1618 pxor %xmm4,%xmm10
1619 xorl %ebp,%edi
1620 movl %ebx,%esi
1621 addl 36(%rsp),%eax
1622 pxor %xmm10,%xmm6
1623 xorl %edx,%ecx
1624 roll $5,%ebx
1625 movdqa %xmm8,16(%rsp)
1626 addl %edi,%eax
1627 andl %ecx,%esi
1628 movdqa %xmm6,%xmm9
1629 xorl %edx,%ecx
1630 addl %ebx,%eax
1631 rorl $7,%ebx
1632 movdqa %xmm6,%xmm10
1633 xorl %edx,%esi
1634 pslldq $12,%xmm9
1635 paddd %xmm6,%xmm6
1636 movl %eax,%edi
1637 addl 40(%rsp),%ebp
1638 psrld $31,%xmm10
1639 xorl %ecx,%ebx
1640 roll $5,%eax
1641 addl %esi,%ebp
1642 movdqa %xmm9,%xmm8
1643 andl %ebx,%edi
1644 xorl %ecx,%ebx
1645 psrld $30,%xmm9
1646 addl %eax,%ebp
1647 rorl $7,%eax
1648 por %xmm10,%xmm6
1649 xorl %ecx,%edi
1650 movl %ebp,%esi
1651 addl 44(%rsp),%edx
1652 pslld $2,%xmm8
1653 pxor %xmm9,%xmm6
1654 xorl %ebx,%eax
1655 movdqa -32(%r14),%xmm9
1656 roll $5,%ebp
1657 addl %edi,%edx
1658 andl %eax,%esi
1659 pxor %xmm8,%xmm6
1660 xorl %ebx,%eax
1661 addl %ebp,%edx
1662 rorl $7,%ebp
1663 pshufd $238,%xmm3,%xmm7
1664 xorl %ebx,%esi
1665 movdqa %xmm6,%xmm8
1666 paddd %xmm6,%xmm9
1667 movl %edx,%edi
1668 addl 48(%rsp),%ecx
1669 punpcklqdq %xmm4,%xmm7
1670 xorl %eax,%ebp
1671 roll $5,%edx
1672 addl %esi,%ecx
1673 psrldq $4,%xmm8
1674 andl %ebp,%edi
1675 xorl %eax,%ebp
1676 pxor %xmm3,%xmm7
1677 addl %edx,%ecx
1678 rorl $7,%edx
1679 pxor %xmm5,%xmm8
1680 xorl %eax,%edi
1681 movl %ecx,%esi
1682 addl 52(%rsp),%ebx
1683 pxor %xmm8,%xmm7
1684 xorl %ebp,%edx
1685 roll $5,%ecx
1686 movdqa %xmm9,32(%rsp)
1687 addl %edi,%ebx
1688 andl %edx,%esi
1689 movdqa %xmm7,%xmm10
1690 xorl %ebp,%edx
1691 addl %ecx,%ebx
1692 rorl $7,%ecx
1693 movdqa %xmm7,%xmm8
1694 xorl %ebp,%esi
1695 pslldq $12,%xmm10
1696 paddd %xmm7,%xmm7
1697 movl %ebx,%edi
1698 addl 56(%rsp),%eax
1699 psrld $31,%xmm8
1700 xorl %edx,%ecx
1701 roll $5,%ebx
1702 addl %esi,%eax
1703 movdqa %xmm10,%xmm9
1704 andl %ecx,%edi
1705 xorl %edx,%ecx
1706 psrld $30,%xmm10
1707 addl %ebx,%eax
1708 rorl $7,%ebx
1709 por %xmm8,%xmm7
1710 xorl %edx,%edi
1711 movl %eax,%esi
1712 addl 60(%rsp),%ebp
1713 pslld $2,%xmm9
1714 pxor %xmm10,%xmm7
1715 xorl %ecx,%ebx
1716 movdqa -32(%r14),%xmm10
1717 roll $5,%eax
1718 addl %edi,%ebp
1719 andl %ebx,%esi
1720 pxor %xmm9,%xmm7
1721 pshufd $238,%xmm6,%xmm9
1722 xorl %ecx,%ebx
1723 addl %eax,%ebp
1724 rorl $7,%eax
1725 pxor %xmm4,%xmm0
1726 xorl %ecx,%esi
1727 movl %ebp,%edi
1728 addl 0(%rsp),%edx
1729 punpcklqdq %xmm7,%xmm9
1730 xorl %ebx,%eax
1731 roll $5,%ebp
1732 pxor %xmm1,%xmm0
1733 addl %esi,%edx
1734 andl %eax,%edi
1735 movdqa %xmm10,%xmm8
1736 xorl %ebx,%eax
1737 paddd %xmm7,%xmm10
1738 addl %ebp,%edx
1739 pxor %xmm9,%xmm0
1740 rorl $7,%ebp
1741 xorl %ebx,%edi
1742 movl %edx,%esi
1743 addl 4(%rsp),%ecx
1744 movdqa %xmm0,%xmm9
1745 xorl %eax,%ebp
1746 roll $5,%edx
1747 movdqa %xmm10,48(%rsp)
1748 addl %edi,%ecx
1749 andl %ebp,%esi
1750 xorl %eax,%ebp
1751 pslld $2,%xmm0
1752 addl %edx,%ecx
1753 rorl $7,%edx
1754 psrld $30,%xmm9
1755 xorl %eax,%esi
1756 movl %ecx,%edi
1757 addl 8(%rsp),%ebx
1758 por %xmm9,%xmm0
1759 xorl %ebp,%edx
1760 roll $5,%ecx
1761 pshufd $238,%xmm7,%xmm10
1762 addl %esi,%ebx
1763 andl %edx,%edi
1764 xorl %ebp,%edx
1765 addl %ecx,%ebx
1766 addl 12(%rsp),%eax
1767 xorl %ebp,%edi
1768 movl %ebx,%esi
1769 roll $5,%ebx
1770 addl %edi,%eax
1771 xorl %edx,%esi
1772 rorl $7,%ecx
1773 addl %ebx,%eax
1774 pxor %xmm5,%xmm1
1775 addl 16(%rsp),%ebp
1776 xorl %ecx,%esi
1777 punpcklqdq %xmm0,%xmm10
1778 movl %eax,%edi
1779 roll $5,%eax
1780 pxor %xmm2,%xmm1
1781 addl %esi,%ebp
1782 xorl %ecx,%edi
1783 movdqa %xmm8,%xmm9
1784 rorl $7,%ebx
1785 paddd %xmm0,%xmm8
1786 addl %eax,%ebp
1787 pxor %xmm10,%xmm1
1788 addl 20(%rsp),%edx
1789 xorl %ebx,%edi
1790 movl %ebp,%esi
1791 roll $5,%ebp
1792 movdqa %xmm1,%xmm10
1793 addl %edi,%edx
1794 xorl %ebx,%esi
1795 movdqa %xmm8,0(%rsp)
1796 rorl $7,%eax
1797 addl %ebp,%edx
1798 addl 24(%rsp),%ecx
1799 pslld $2,%xmm1
1800 xorl %eax,%esi
1801 movl %edx,%edi
1802 psrld $30,%xmm10
1803 roll $5,%edx
1804 addl %esi,%ecx
1805 xorl %eax,%edi
1806 rorl $7,%ebp
1807 por %xmm10,%xmm1
1808 addl %edx,%ecx
1809 addl 28(%rsp),%ebx
1810 pshufd $238,%xmm0,%xmm8
1811 xorl %ebp,%edi
1812 movl %ecx,%esi
1813 roll $5,%ecx
1814 addl %edi,%ebx
1815 xorl %ebp,%esi
1816 rorl $7,%edx
1817 addl %ecx,%ebx
1818 pxor %xmm6,%xmm2
1819 addl 32(%rsp),%eax
1820 xorl %edx,%esi
1821 punpcklqdq %xmm1,%xmm8
1822 movl %ebx,%edi
1823 roll $5,%ebx
1824 pxor %xmm3,%xmm2
1825 addl %esi,%eax
1826 xorl %edx,%edi
1827 movdqa 0(%r14),%xmm10
1828 rorl $7,%ecx
1829 paddd %xmm1,%xmm9
1830 addl %ebx,%eax
1831 pxor %xmm8,%xmm2
1832 addl 36(%rsp),%ebp
1833 xorl %ecx,%edi
1834 movl %eax,%esi
1835 roll $5,%eax
1836 movdqa %xmm2,%xmm8
1837 addl %edi,%ebp
1838 xorl %ecx,%esi
1839 movdqa %xmm9,16(%rsp)
1840 rorl $7,%ebx
1841 addl %eax,%ebp
1842 addl 40(%rsp),%edx
1843 pslld $2,%xmm2
1844 xorl %ebx,%esi
1845 movl %ebp,%edi
1846 psrld $30,%xmm8
1847 roll $5,%ebp
1848 addl %esi,%edx
1849 xorl %ebx,%edi
1850 rorl $7,%eax
1851 por %xmm8,%xmm2
1852 addl %ebp,%edx
1853 addl 44(%rsp),%ecx
1854 pshufd $238,%xmm1,%xmm9
1855 xorl %eax,%edi
1856 movl %edx,%esi
1857 roll $5,%edx
1858 addl %edi,%ecx
1859 xorl %eax,%esi
1860 rorl $7,%ebp
1861 addl %edx,%ecx
1862 pxor %xmm7,%xmm3
1863 addl 48(%rsp),%ebx
1864 xorl %ebp,%esi
1865 punpcklqdq %xmm2,%xmm9
1866 movl %ecx,%edi
1867 roll $5,%ecx
1868 pxor %xmm4,%xmm3
1869 addl %esi,%ebx
1870 xorl %ebp,%edi
1871 movdqa %xmm10,%xmm8
1872 rorl $7,%edx
1873 paddd %xmm2,%xmm10
1874 addl %ecx,%ebx
1875 pxor %xmm9,%xmm3
1876 addl 52(%rsp),%eax
1877 xorl %edx,%edi
1878 movl %ebx,%esi
1879 roll $5,%ebx
1880 movdqa %xmm3,%xmm9
1881 addl %edi,%eax
1882 xorl %edx,%esi
1883 movdqa %xmm10,32(%rsp)
1884 rorl $7,%ecx
1885 addl %ebx,%eax
1886 addl 56(%rsp),%ebp
1887 pslld $2,%xmm3
1888 xorl %ecx,%esi
1889 movl %eax,%edi
1890 psrld $30,%xmm9
1891 roll $5,%eax
1892 addl %esi,%ebp
1893 xorl %ecx,%edi
1894 rorl $7,%ebx
1895 por %xmm9,%xmm3
1896 addl %eax,%ebp
1897 addl 60(%rsp),%edx
1898 pshufd $238,%xmm2,%xmm10
1899 xorl %ebx,%edi
1900 movl %ebp,%esi
1901 roll $5,%ebp
1902 addl %edi,%edx
1903 xorl %ebx,%esi
1904 rorl $7,%eax
1905 addl %ebp,%edx
1906 pxor %xmm0,%xmm4
1907 addl 0(%rsp),%ecx
1908 xorl %eax,%esi
1909 punpcklqdq %xmm3,%xmm10
1910 movl %edx,%edi
1911 roll $5,%edx
1912 pxor %xmm5,%xmm4
1913 addl %esi,%ecx
1914 xorl %eax,%edi
1915 movdqa %xmm8,%xmm9
1916 rorl $7,%ebp
1917 paddd %xmm3,%xmm8
1918 addl %edx,%ecx
1919 pxor %xmm10,%xmm4
1920 addl 4(%rsp),%ebx
1921 xorl %ebp,%edi
1922 movl %ecx,%esi
1923 roll $5,%ecx
1924 movdqa %xmm4,%xmm10
1925 addl %edi,%ebx
1926 xorl %ebp,%esi
1927 movdqa %xmm8,48(%rsp)
1928 rorl $7,%edx
1929 addl %ecx,%ebx
1930 addl 8(%rsp),%eax
1931 pslld $2,%xmm4
1932 xorl %edx,%esi
1933 movl %ebx,%edi
1934 psrld $30,%xmm10
1935 roll $5,%ebx
1936 addl %esi,%eax
1937 xorl %edx,%edi
1938 rorl $7,%ecx
1939 por %xmm10,%xmm4
1940 addl %ebx,%eax
1941 addl 12(%rsp),%ebp
1942 pshufd $238,%xmm3,%xmm8
1943 xorl %ecx,%edi
1944 movl %eax,%esi
1945 roll $5,%eax
1946 addl %edi,%ebp
1947 xorl %ecx,%esi
1948 rorl $7,%ebx
1949 addl %eax,%ebp
1950 pxor %xmm1,%xmm5
1951 addl 16(%rsp),%edx
1952 xorl %ebx,%esi
1953 punpcklqdq %xmm4,%xmm8
1954 movl %ebp,%edi
1955 roll $5,%ebp
1956 pxor %xmm6,%xmm5
1957 addl %esi,%edx
1958 xorl %ebx,%edi
1959 movdqa %xmm9,%xmm10
1960 rorl $7,%eax
1961 paddd %xmm4,%xmm9
1962 addl %ebp,%edx
1963 pxor %xmm8,%xmm5
1964 addl 20(%rsp),%ecx
1965 xorl %eax,%edi
1966 movl %edx,%esi
1967 roll $5,%edx
1968 movdqa %xmm5,%xmm8
1969 addl %edi,%ecx
1970 xorl %eax,%esi
1971 movdqa %xmm9,0(%rsp)
1972 rorl $7,%ebp
1973 addl %edx,%ecx
1974 addl 24(%rsp),%ebx
1975 pslld $2,%xmm5
1976 xorl %ebp,%esi
1977 movl %ecx,%edi
1978 psrld $30,%xmm8
1979 roll $5,%ecx
1980 addl %esi,%ebx
1981 xorl %ebp,%edi
1982 rorl $7,%edx
1983 por %xmm8,%xmm5
1984 addl %ecx,%ebx
1985 addl 28(%rsp),%eax
1986 pshufd $238,%xmm4,%xmm9
1987 rorl $7,%ecx
1988 movl %ebx,%esi
1989 xorl %edx,%edi
1990 roll $5,%ebx
1991 addl %edi,%eax
1992 xorl %ecx,%esi
1993 xorl %edx,%ecx
1994 addl %ebx,%eax
1995 pxor %xmm2,%xmm6
1996 addl 32(%rsp),%ebp
1997 andl %ecx,%esi
1998 xorl %edx,%ecx
1999 rorl $7,%ebx
2000 punpcklqdq %xmm5,%xmm9
2001 movl %eax,%edi
2002 xorl %ecx,%esi
2003 pxor %xmm7,%xmm6
2004 roll $5,%eax
2005 addl %esi,%ebp
2006 movdqa %xmm10,%xmm8
2007 xorl %ebx,%edi
2008 paddd %xmm5,%xmm10
2009 xorl %ecx,%ebx
2010 pxor %xmm9,%xmm6
2011 addl %eax,%ebp
2012 addl 36(%rsp),%edx
2013 andl %ebx,%edi
2014 xorl %ecx,%ebx
2015 rorl $7,%eax
2016 movdqa %xmm6,%xmm9
2017 movl %ebp,%esi
2018 xorl %ebx,%edi
2019 movdqa %xmm10,16(%rsp)
2020 roll $5,%ebp
2021 addl %edi,%edx
2022 xorl %eax,%esi
2023 pslld $2,%xmm6
2024 xorl %ebx,%eax
2025 addl %ebp,%edx
2026 psrld $30,%xmm9
2027 addl 40(%rsp),%ecx
2028 andl %eax,%esi
2029 xorl %ebx,%eax
2030 por %xmm9,%xmm6
2031 rorl $7,%ebp
2032 movl %edx,%edi
2033 xorl %eax,%esi
2034 roll $5,%edx
2035 pshufd $238,%xmm5,%xmm10
2036 addl %esi,%ecx
2037 xorl %ebp,%edi
2038 xorl %eax,%ebp
2039 addl %edx,%ecx
2040 addl 44(%rsp),%ebx
2041 andl %ebp,%edi
2042 xorl %eax,%ebp
2043 rorl $7,%edx
2044 movl %ecx,%esi
2045 xorl %ebp,%edi
2046 roll $5,%ecx
2047 addl %edi,%ebx
2048 xorl %edx,%esi
2049 xorl %ebp,%edx
2050 addl %ecx,%ebx
2051 pxor %xmm3,%xmm7
2052 addl 48(%rsp),%eax
2053 andl %edx,%esi
2054 xorl %ebp,%edx
2055 rorl $7,%ecx
2056 punpcklqdq %xmm6,%xmm10
2057 movl %ebx,%edi
2058 xorl %edx,%esi
2059 pxor %xmm0,%xmm7
2060 roll $5,%ebx
2061 addl %esi,%eax
2062 movdqa 32(%r14),%xmm9
2063 xorl %ecx,%edi
2064 paddd %xmm6,%xmm8
2065 xorl %edx,%ecx
2066 pxor %xmm10,%xmm7
2067 addl %ebx,%eax
2068 addl 52(%rsp),%ebp
2069 andl %ecx,%edi
2070 xorl %edx,%ecx
2071 rorl $7,%ebx
2072 movdqa %xmm7,%xmm10
2073 movl %eax,%esi
2074 xorl %ecx,%edi
2075 movdqa %xmm8,32(%rsp)
2076 roll $5,%eax
2077 addl %edi,%ebp
2078 xorl %ebx,%esi
2079 pslld $2,%xmm7
2080 xorl %ecx,%ebx
2081 addl %eax,%ebp
2082 psrld $30,%xmm10
2083 addl 56(%rsp),%edx
2084 andl %ebx,%esi
2085 xorl %ecx,%ebx
2086 por %xmm10,%xmm7
2087 rorl $7,%eax
2088 movl %ebp,%edi
2089 xorl %ebx,%esi
2090 roll $5,%ebp
2091 pshufd $238,%xmm6,%xmm8
2092 addl %esi,%edx
2093 xorl %eax,%edi
2094 xorl %ebx,%eax
2095 addl %ebp,%edx
2096 addl 60(%rsp),%ecx
2097 andl %eax,%edi
2098 xorl %ebx,%eax
2099 rorl $7,%ebp
2100 movl %edx,%esi
2101 xorl %eax,%edi
2102 roll $5,%edx
2103 addl %edi,%ecx
2104 xorl %ebp,%esi
2105 xorl %eax,%ebp
2106 addl %edx,%ecx
2107 pxor %xmm4,%xmm0
2108 addl 0(%rsp),%ebx
2109 andl %ebp,%esi
2110 xorl %eax,%ebp
2111 rorl $7,%edx
2112 punpcklqdq %xmm7,%xmm8
2113 movl %ecx,%edi
2114 xorl %ebp,%esi
2115 pxor %xmm1,%xmm0
2116 roll $5,%ecx
2117 addl %esi,%ebx
2118 movdqa %xmm9,%xmm10
2119 xorl %edx,%edi
2120 paddd %xmm7,%xmm9
2121 xorl %ebp,%edx
2122 pxor %xmm8,%xmm0
2123 addl %ecx,%ebx
2124 addl 4(%rsp),%eax
2125 andl %edx,%edi
2126 xorl %ebp,%edx
2127 rorl $7,%ecx
2128 movdqa %xmm0,%xmm8
2129 movl %ebx,%esi
2130 xorl %edx,%edi
2131 movdqa %xmm9,48(%rsp)
2132 roll $5,%ebx
2133 addl %edi,%eax
2134 xorl %ecx,%esi
2135 pslld $2,%xmm0
2136 xorl %edx,%ecx
2137 addl %ebx,%eax
2138 psrld $30,%xmm8
2139 addl 8(%rsp),%ebp
2140 andl %ecx,%esi
2141 xorl %edx,%ecx
2142 por %xmm8,%xmm0
2143 rorl $7,%ebx
2144 movl %eax,%edi
2145 xorl %ecx,%esi
2146 roll $5,%eax
2147 pshufd $238,%xmm7,%xmm9
2148 addl %esi,%ebp
2149 xorl %ebx,%edi
2150 xorl %ecx,%ebx
2151 addl %eax,%ebp
2152 addl 12(%rsp),%edx
2153 andl %ebx,%edi
2154 xorl %ecx,%ebx
2155 rorl $7,%eax
2156 movl %ebp,%esi
2157 xorl %ebx,%edi
2158 roll $5,%ebp
2159 addl %edi,%edx
2160 xorl %eax,%esi
2161 xorl %ebx,%eax
2162 addl %ebp,%edx
2163 pxor %xmm5,%xmm1
2164 addl 16(%rsp),%ecx
2165 andl %eax,%esi
2166 xorl %ebx,%eax
2167 rorl $7,%ebp
2168 punpcklqdq %xmm0,%xmm9
2169 movl %edx,%edi
2170 xorl %eax,%esi
2171 pxor %xmm2,%xmm1
2172 roll $5,%edx
2173 addl %esi,%ecx
2174 movdqa %xmm10,%xmm8
2175 xorl %ebp,%edi
2176 paddd %xmm0,%xmm10
2177 xorl %eax,%ebp
2178 pxor %xmm9,%xmm1
2179 addl %edx,%ecx
2180 addl 20(%rsp),%ebx
2181 andl %ebp,%edi
2182 xorl %eax,%ebp
2183 rorl $7,%edx
2184 movdqa %xmm1,%xmm9
2185 movl %ecx,%esi
2186 xorl %ebp,%edi
2187 movdqa %xmm10,0(%rsp)
2188 roll $5,%ecx
2189 addl %edi,%ebx
2190 xorl %edx,%esi
2191 pslld $2,%xmm1
2192 xorl %ebp,%edx
2193 addl %ecx,%ebx
2194 psrld $30,%xmm9
2195 addl 24(%rsp),%eax
2196 andl %edx,%esi
2197 xorl %ebp,%edx
2198 por %xmm9,%xmm1
2199 rorl $7,%ecx
2200 movl %ebx,%edi
2201 xorl %edx,%esi
2202 roll $5,%ebx
2203 pshufd $238,%xmm0,%xmm10
2204 addl %esi,%eax
2205 xorl %ecx,%edi
2206 xorl %edx,%ecx
2207 addl %ebx,%eax
2208 addl 28(%rsp),%ebp
2209 andl %ecx,%edi
2210 xorl %edx,%ecx
2211 rorl $7,%ebx
2212 movl %eax,%esi
2213 xorl %ecx,%edi
2214 roll $5,%eax
2215 addl %edi,%ebp
2216 xorl %ebx,%esi
2217 xorl %ecx,%ebx
2218 addl %eax,%ebp
2219 pxor %xmm6,%xmm2
2220 addl 32(%rsp),%edx
2221 andl %ebx,%esi
2222 xorl %ecx,%ebx
2223 rorl $7,%eax
2224 punpcklqdq %xmm1,%xmm10
2225 movl %ebp,%edi
2226 xorl %ebx,%esi
2227 pxor %xmm3,%xmm2
2228 roll $5,%ebp
2229 addl %esi,%edx
2230 movdqa %xmm8,%xmm9
2231 xorl %eax,%edi
2232 paddd %xmm1,%xmm8
2233 xorl %ebx,%eax
2234 pxor %xmm10,%xmm2
2235 addl %ebp,%edx
2236 addl 36(%rsp),%ecx
2237 andl %eax,%edi
2238 xorl %ebx,%eax
2239 rorl $7,%ebp
2240 movdqa %xmm2,%xmm10
2241 movl %edx,%esi
2242 xorl %eax,%edi
2243 movdqa %xmm8,16(%rsp)
2244 roll $5,%edx
2245 addl %edi,%ecx
2246 xorl %ebp,%esi
2247 pslld $2,%xmm2
2248 xorl %eax,%ebp
2249 addl %edx,%ecx
2250 psrld $30,%xmm10
2251 addl 40(%rsp),%ebx
2252 andl %ebp,%esi
2253 xorl %eax,%ebp
2254 por %xmm10,%xmm2
2255 rorl $7,%edx
2256 movl %ecx,%edi
2257 xorl %ebp,%esi
2258 roll $5,%ecx
2259 pshufd $238,%xmm1,%xmm8
2260 addl %esi,%ebx
2261 xorl %edx,%edi
2262 xorl %ebp,%edx
2263 addl %ecx,%ebx
2264 addl 44(%rsp),%eax
2265 andl %edx,%edi
2266 xorl %ebp,%edx
2267 rorl $7,%ecx
2268 movl %ebx,%esi
2269 xorl %edx,%edi
2270 roll $5,%ebx
2271 addl %edi,%eax
2272 xorl %edx,%esi
2273 addl %ebx,%eax
2274 pxor %xmm7,%xmm3
2275 addl 48(%rsp),%ebp
2276 xorl %ecx,%esi
2277 punpcklqdq %xmm2,%xmm8
2278 movl %eax,%edi
2279 roll $5,%eax
2280 pxor %xmm4,%xmm3
2281 addl %esi,%ebp
2282 xorl %ecx,%edi
2283 movdqa %xmm9,%xmm10
2284 rorl $7,%ebx
2285 paddd %xmm2,%xmm9
2286 addl %eax,%ebp
2287 pxor %xmm8,%xmm3
2288 addl 52(%rsp),%edx
2289 xorl %ebx,%edi
2290 movl %ebp,%esi
2291 roll $5,%ebp
2292 movdqa %xmm3,%xmm8
2293 addl %edi,%edx
2294 xorl %ebx,%esi
2295 movdqa %xmm9,32(%rsp)
2296 rorl $7,%eax
2297 addl %ebp,%edx
2298 addl 56(%rsp),%ecx
2299 pslld $2,%xmm3
2300 xorl %eax,%esi
2301 movl %edx,%edi
2302 psrld $30,%xmm8
2303 roll $5,%edx
2304 addl %esi,%ecx
2305 xorl %eax,%edi
2306 rorl $7,%ebp
2307 por %xmm8,%xmm3
2308 addl %edx,%ecx
2309 addl 60(%rsp),%ebx
2310 xorl %ebp,%edi
2311 movl %ecx,%esi
2312 roll $5,%ecx
2313 addl %edi,%ebx
2314 xorl %ebp,%esi
2315 rorl $7,%edx
2316 addl %ecx,%ebx
2317 addl 0(%rsp),%eax
2318 xorl %edx,%esi
2319 movl %ebx,%edi
2320 roll $5,%ebx
2321 paddd %xmm3,%xmm10
2322 addl %esi,%eax
2323 xorl %edx,%edi
2324 movdqa %xmm10,48(%rsp)
2325 rorl $7,%ecx
2326 addl %ebx,%eax
2327 addl 4(%rsp),%ebp
2328 xorl %ecx,%edi
2329 movl %eax,%esi
2330 roll $5,%eax
2331 addl %edi,%ebp
2332 xorl %ecx,%esi
2333 rorl $7,%ebx
2334 addl %eax,%ebp
2335 addl 8(%rsp),%edx
2336 xorl %ebx,%esi
2337 movl %ebp,%edi
2338 roll $5,%ebp
2339 addl %esi,%edx
2340 xorl %ebx,%edi
2341 rorl $7,%eax
2342 addl %ebp,%edx
2343 addl 12(%rsp),%ecx
2344 xorl %eax,%edi
2345 movl %edx,%esi
2346 roll $5,%edx
2347 addl %edi,%ecx
2348 xorl %eax,%esi
2349 rorl $7,%ebp
2350 addl %edx,%ecx
2351 cmpq %r10,%r9
2352 je L$done_ssse3
2353 movdqa 64(%r14),%xmm6
2354 movdqa -64(%r14),%xmm9
2355 movdqu 0(%r9),%xmm0
2356 movdqu 16(%r9),%xmm1
2357 movdqu 32(%r9),%xmm2
2358 movdqu 48(%r9),%xmm3
2359.byte 102,15,56,0,198
2360 addq $64,%r9
2361 addl 16(%rsp),%ebx
2362 xorl %ebp,%esi
2363 movl %ecx,%edi
2364.byte 102,15,56,0,206
2365 roll $5,%ecx
2366 addl %esi,%ebx
2367 xorl %ebp,%edi
2368 rorl $7,%edx
2369 paddd %xmm9,%xmm0
2370 addl %ecx,%ebx
2371 addl 20(%rsp),%eax
2372 xorl %edx,%edi
2373 movl %ebx,%esi
2374 movdqa %xmm0,0(%rsp)
2375 roll $5,%ebx
2376 addl %edi,%eax
2377 xorl %edx,%esi
2378 rorl $7,%ecx
2379 psubd %xmm9,%xmm0
2380 addl %ebx,%eax
2381 addl 24(%rsp),%ebp
2382 xorl %ecx,%esi
2383 movl %eax,%edi
2384 roll $5,%eax
2385 addl %esi,%ebp
2386 xorl %ecx,%edi
2387 rorl $7,%ebx
2388 addl %eax,%ebp
2389 addl 28(%rsp),%edx
2390 xorl %ebx,%edi
2391 movl %ebp,%esi
2392 roll $5,%ebp
2393 addl %edi,%edx
2394 xorl %ebx,%esi
2395 rorl $7,%eax
2396 addl %ebp,%edx
2397 addl 32(%rsp),%ecx
2398 xorl %eax,%esi
2399 movl %edx,%edi
2400.byte 102,15,56,0,214
2401 roll $5,%edx
2402 addl %esi,%ecx
2403 xorl %eax,%edi
2404 rorl $7,%ebp
2405 paddd %xmm9,%xmm1
2406 addl %edx,%ecx
2407 addl 36(%rsp),%ebx
2408 xorl %ebp,%edi
2409 movl %ecx,%esi
2410 movdqa %xmm1,16(%rsp)
2411 roll $5,%ecx
2412 addl %edi,%ebx
2413 xorl %ebp,%esi
2414 rorl $7,%edx
2415 psubd %xmm9,%xmm1
2416 addl %ecx,%ebx
2417 addl 40(%rsp),%eax
2418 xorl %edx,%esi
2419 movl %ebx,%edi
2420 roll $5,%ebx
2421 addl %esi,%eax
2422 xorl %edx,%edi
2423 rorl $7,%ecx
2424 addl %ebx,%eax
2425 addl 44(%rsp),%ebp
2426 xorl %ecx,%edi
2427 movl %eax,%esi
2428 roll $5,%eax
2429 addl %edi,%ebp
2430 xorl %ecx,%esi
2431 rorl $7,%ebx
2432 addl %eax,%ebp
2433 addl 48(%rsp),%edx
2434 xorl %ebx,%esi
2435 movl %ebp,%edi
2436.byte 102,15,56,0,222
2437 roll $5,%ebp
2438 addl %esi,%edx
2439 xorl %ebx,%edi
2440 rorl $7,%eax
2441 paddd %xmm9,%xmm2
2442 addl %ebp,%edx
2443 addl 52(%rsp),%ecx
2444 xorl %eax,%edi
2445 movl %edx,%esi
2446 movdqa %xmm2,32(%rsp)
2447 roll $5,%edx
2448 addl %edi,%ecx
2449 xorl %eax,%esi
2450 rorl $7,%ebp
2451 psubd %xmm9,%xmm2
2452 addl %edx,%ecx
2453 addl 56(%rsp),%ebx
2454 xorl %ebp,%esi
2455 movl %ecx,%edi
2456 roll $5,%ecx
2457 addl %esi,%ebx
2458 xorl %ebp,%edi
2459 rorl $7,%edx
2460 addl %ecx,%ebx
2461 addl 60(%rsp),%eax
2462 xorl %edx,%edi
2463 movl %ebx,%esi
2464 roll $5,%ebx
2465 addl %edi,%eax
2466 rorl $7,%ecx
2467 addl %ebx,%eax
2468 addl 0(%r8),%eax
2469 addl 4(%r8),%esi
2470 addl 8(%r8),%ecx
2471 addl 12(%r8),%edx
2472 movl %eax,0(%r8)
2473 addl 16(%r8),%ebp
2474 movl %esi,4(%r8)
2475 movl %esi,%ebx
2476 movl %ecx,8(%r8)
2477 movl %ecx,%edi
2478 movl %edx,12(%r8)
2479 xorl %edx,%edi
2480 movl %ebp,16(%r8)
2481 andl %edi,%esi
2482 jmp L$oop_ssse3
2483
2484.p2align 4
2485L$done_ssse3:
2486 addl 16(%rsp),%ebx
2487 xorl %ebp,%esi
2488 movl %ecx,%edi
2489 roll $5,%ecx
2490 addl %esi,%ebx
2491 xorl %ebp,%edi
2492 rorl $7,%edx
2493 addl %ecx,%ebx
2494 addl 20(%rsp),%eax
2495 xorl %edx,%edi
2496 movl %ebx,%esi
2497 roll $5,%ebx
2498 addl %edi,%eax
2499 xorl %edx,%esi
2500 rorl $7,%ecx
2501 addl %ebx,%eax
2502 addl 24(%rsp),%ebp
2503 xorl %ecx,%esi
2504 movl %eax,%edi
2505 roll $5,%eax
2506 addl %esi,%ebp
2507 xorl %ecx,%edi
2508 rorl $7,%ebx
2509 addl %eax,%ebp
2510 addl 28(%rsp),%edx
2511 xorl %ebx,%edi
2512 movl %ebp,%esi
2513 roll $5,%ebp
2514 addl %edi,%edx
2515 xorl %ebx,%esi
2516 rorl $7,%eax
2517 addl %ebp,%edx
2518 addl 32(%rsp),%ecx
2519 xorl %eax,%esi
2520 movl %edx,%edi
2521 roll $5,%edx
2522 addl %esi,%ecx
2523 xorl %eax,%edi
2524 rorl $7,%ebp
2525 addl %edx,%ecx
2526 addl 36(%rsp),%ebx
2527 xorl %ebp,%edi
2528 movl %ecx,%esi
2529 roll $5,%ecx
2530 addl %edi,%ebx
2531 xorl %ebp,%esi
2532 rorl $7,%edx
2533 addl %ecx,%ebx
2534 addl 40(%rsp),%eax
2535 xorl %edx,%esi
2536 movl %ebx,%edi
2537 roll $5,%ebx
2538 addl %esi,%eax
2539 xorl %edx,%edi
2540 rorl $7,%ecx
2541 addl %ebx,%eax
2542 addl 44(%rsp),%ebp
2543 xorl %ecx,%edi
2544 movl %eax,%esi
2545 roll $5,%eax
2546 addl %edi,%ebp
2547 xorl %ecx,%esi
2548 rorl $7,%ebx
2549 addl %eax,%ebp
2550 addl 48(%rsp),%edx
2551 xorl %ebx,%esi
2552 movl %ebp,%edi
2553 roll $5,%ebp
2554 addl %esi,%edx
2555 xorl %ebx,%edi
2556 rorl $7,%eax
2557 addl %ebp,%edx
2558 addl 52(%rsp),%ecx
2559 xorl %eax,%edi
2560 movl %edx,%esi
2561 roll $5,%edx
2562 addl %edi,%ecx
2563 xorl %eax,%esi
2564 rorl $7,%ebp
2565 addl %edx,%ecx
2566 addl 56(%rsp),%ebx
2567 xorl %ebp,%esi
2568 movl %ecx,%edi
2569 roll $5,%ecx
2570 addl %esi,%ebx
2571 xorl %ebp,%edi
2572 rorl $7,%edx
2573 addl %ecx,%ebx
2574 addl 60(%rsp),%eax
2575 xorl %edx,%edi
2576 movl %ebx,%esi
2577 roll $5,%ebx
2578 addl %edi,%eax
2579 rorl $7,%ecx
2580 addl %ebx,%eax
2581 addl 0(%r8),%eax
2582 addl 4(%r8),%esi
2583 addl 8(%r8),%ecx
2584 movl %eax,0(%r8)
2585 addl 12(%r8),%edx
2586 movl %esi,4(%r8)
2587 addl 16(%r8),%ebp
2588 movl %ecx,8(%r8)
2589 movl %edx,12(%r8)
2590 movl %ebp,16(%r8)
2591 movq -40(%r11),%r14
2592
2593 movq -32(%r11),%r13
2594
2595 movq -24(%r11),%r12
2596
2597 movq -16(%r11),%rbp
2598
2599 movq -8(%r11),%rbx
2600
2601 leaq (%r11),%rsp
2602
2603L$epilogue_ssse3:
2604 .byte 0xf3,0xc3
2605
2606
2607.p2align 6
2608K_XX_XX:
2609.long 0x5a827999,0x5a827999,0x5a827999,0x5a827999
2610.long 0x5a827999,0x5a827999,0x5a827999,0x5a827999
2611.long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
2612.long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
2613.long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
2614.long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
2615.long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
2616.long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
2617.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
2618.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
2619.byte 0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0
2620.byte 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,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
2621.p2align 6
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