VirtualBox

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

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

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

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