Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(319)

Side by Side Diff: third_party/boringssl/linux-x86_64/crypto/sha/sha1-x86_64.S

Issue 2354623003: Pull boringssl generated source from boringssl_gen (Closed)
Patch Set: . Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 #if defined(__x86_64__)
2 .text
3 .extern OPENSSL_ia32cap_P
4 .hidden OPENSSL_ia32cap_P
5
6 .globl sha1_block_data_order
7 .hidden sha1_block_data_order
8 .type sha1_block_data_order,@function
9 .align 16
10 sha1_block_data_order:
11 movl OPENSSL_ia32cap_P+0(%rip),%r9d
12 movl OPENSSL_ia32cap_P+4(%rip),%r8d
13 movl OPENSSL_ia32cap_P+8(%rip),%r10d
14 testl $512,%r8d
15 jz .Lialu
16 andl $268435456,%r8d
17 andl $1073741824,%r9d
18 orl %r9d,%r8d
19 cmpl $1342177280,%r8d
20 je _avx_shortcut
21 jmp _ssse3_shortcut
22
23 .align 16
24 .Lialu:
25 movq %rsp,%rax
26 pushq %rbx
27 pushq %rbp
28 pushq %r12
29 pushq %r13
30 pushq %r14
31 movq %rdi,%r8
32 subq $72,%rsp
33 movq %rsi,%r9
34 andq $-64,%rsp
35 movq %rdx,%r10
36 movq %rax,64(%rsp)
37 .Lprologue:
38
39 movl 0(%r8),%esi
40 movl 4(%r8),%edi
41 movl 8(%r8),%r11d
42 movl 12(%r8),%r12d
43 movl 16(%r8),%r13d
44 jmp .Lloop
45
46 .align 16
47 .Lloop:
48 movl 0(%r9),%edx
49 bswapl %edx
50 movl 4(%r9),%ebp
51 movl %r12d,%eax
52 movl %edx,0(%rsp)
53 movl %esi,%ecx
54 bswapl %ebp
55 xorl %r11d,%eax
56 roll $5,%ecx
57 andl %edi,%eax
58 leal 1518500249(%rdx,%r13,1),%r13d
59 addl %ecx,%r13d
60 xorl %r12d,%eax
61 roll $30,%edi
62 addl %eax,%r13d
63 movl 8(%r9),%r14d
64 movl %r11d,%eax
65 movl %ebp,4(%rsp)
66 movl %r13d,%ecx
67 bswapl %r14d
68 xorl %edi,%eax
69 roll $5,%ecx
70 andl %esi,%eax
71 leal 1518500249(%rbp,%r12,1),%r12d
72 addl %ecx,%r12d
73 xorl %r11d,%eax
74 roll $30,%esi
75 addl %eax,%r12d
76 movl 12(%r9),%edx
77 movl %edi,%eax
78 movl %r14d,8(%rsp)
79 movl %r12d,%ecx
80 bswapl %edx
81 xorl %esi,%eax
82 roll $5,%ecx
83 andl %r13d,%eax
84 leal 1518500249(%r14,%r11,1),%r11d
85 addl %ecx,%r11d
86 xorl %edi,%eax
87 roll $30,%r13d
88 addl %eax,%r11d
89 movl 16(%r9),%ebp
90 movl %esi,%eax
91 movl %edx,12(%rsp)
92 movl %r11d,%ecx
93 bswapl %ebp
94 xorl %r13d,%eax
95 roll $5,%ecx
96 andl %r12d,%eax
97 leal 1518500249(%rdx,%rdi,1),%edi
98 addl %ecx,%edi
99 xorl %esi,%eax
100 roll $30,%r12d
101 addl %eax,%edi
102 movl 20(%r9),%r14d
103 movl %r13d,%eax
104 movl %ebp,16(%rsp)
105 movl %edi,%ecx
106 bswapl %r14d
107 xorl %r12d,%eax
108 roll $5,%ecx
109 andl %r11d,%eax
110 leal 1518500249(%rbp,%rsi,1),%esi
111 addl %ecx,%esi
112 xorl %r13d,%eax
113 roll $30,%r11d
114 addl %eax,%esi
115 movl 24(%r9),%edx
116 movl %r12d,%eax
117 movl %r14d,20(%rsp)
118 movl %esi,%ecx
119 bswapl %edx
120 xorl %r11d,%eax
121 roll $5,%ecx
122 andl %edi,%eax
123 leal 1518500249(%r14,%r13,1),%r13d
124 addl %ecx,%r13d
125 xorl %r12d,%eax
126 roll $30,%edi
127 addl %eax,%r13d
128 movl 28(%r9),%ebp
129 movl %r11d,%eax
130 movl %edx,24(%rsp)
131 movl %r13d,%ecx
132 bswapl %ebp
133 xorl %edi,%eax
134 roll $5,%ecx
135 andl %esi,%eax
136 leal 1518500249(%rdx,%r12,1),%r12d
137 addl %ecx,%r12d
138 xorl %r11d,%eax
139 roll $30,%esi
140 addl %eax,%r12d
141 movl 32(%r9),%r14d
142 movl %edi,%eax
143 movl %ebp,28(%rsp)
144 movl %r12d,%ecx
145 bswapl %r14d
146 xorl %esi,%eax
147 roll $5,%ecx
148 andl %r13d,%eax
149 leal 1518500249(%rbp,%r11,1),%r11d
150 addl %ecx,%r11d
151 xorl %edi,%eax
152 roll $30,%r13d
153 addl %eax,%r11d
154 movl 36(%r9),%edx
155 movl %esi,%eax
156 movl %r14d,32(%rsp)
157 movl %r11d,%ecx
158 bswapl %edx
159 xorl %r13d,%eax
160 roll $5,%ecx
161 andl %r12d,%eax
162 leal 1518500249(%r14,%rdi,1),%edi
163 addl %ecx,%edi
164 xorl %esi,%eax
165 roll $30,%r12d
166 addl %eax,%edi
167 movl 40(%r9),%ebp
168 movl %r13d,%eax
169 movl %edx,36(%rsp)
170 movl %edi,%ecx
171 bswapl %ebp
172 xorl %r12d,%eax
173 roll $5,%ecx
174 andl %r11d,%eax
175 leal 1518500249(%rdx,%rsi,1),%esi
176 addl %ecx,%esi
177 xorl %r13d,%eax
178 roll $30,%r11d
179 addl %eax,%esi
180 movl 44(%r9),%r14d
181 movl %r12d,%eax
182 movl %ebp,40(%rsp)
183 movl %esi,%ecx
184 bswapl %r14d
185 xorl %r11d,%eax
186 roll $5,%ecx
187 andl %edi,%eax
188 leal 1518500249(%rbp,%r13,1),%r13d
189 addl %ecx,%r13d
190 xorl %r12d,%eax
191 roll $30,%edi
192 addl %eax,%r13d
193 movl 48(%r9),%edx
194 movl %r11d,%eax
195 movl %r14d,44(%rsp)
196 movl %r13d,%ecx
197 bswapl %edx
198 xorl %edi,%eax
199 roll $5,%ecx
200 andl %esi,%eax
201 leal 1518500249(%r14,%r12,1),%r12d
202 addl %ecx,%r12d
203 xorl %r11d,%eax
204 roll $30,%esi
205 addl %eax,%r12d
206 movl 52(%r9),%ebp
207 movl %edi,%eax
208 movl %edx,48(%rsp)
209 movl %r12d,%ecx
210 bswapl %ebp
211 xorl %esi,%eax
212 roll $5,%ecx
213 andl %r13d,%eax
214 leal 1518500249(%rdx,%r11,1),%r11d
215 addl %ecx,%r11d
216 xorl %edi,%eax
217 roll $30,%r13d
218 addl %eax,%r11d
219 movl 56(%r9),%r14d
220 movl %esi,%eax
221 movl %ebp,52(%rsp)
222 movl %r11d,%ecx
223 bswapl %r14d
224 xorl %r13d,%eax
225 roll $5,%ecx
226 andl %r12d,%eax
227 leal 1518500249(%rbp,%rdi,1),%edi
228 addl %ecx,%edi
229 xorl %esi,%eax
230 roll $30,%r12d
231 addl %eax,%edi
232 movl 60(%r9),%edx
233 movl %r13d,%eax
234 movl %r14d,56(%rsp)
235 movl %edi,%ecx
236 bswapl %edx
237 xorl %r12d,%eax
238 roll $5,%ecx
239 andl %r11d,%eax
240 leal 1518500249(%r14,%rsi,1),%esi
241 addl %ecx,%esi
242 xorl %r13d,%eax
243 roll $30,%r11d
244 addl %eax,%esi
245 xorl 0(%rsp),%ebp
246 movl %r12d,%eax
247 movl %edx,60(%rsp)
248 movl %esi,%ecx
249 xorl 8(%rsp),%ebp
250 xorl %r11d,%eax
251 roll $5,%ecx
252 xorl 32(%rsp),%ebp
253 andl %edi,%eax
254 leal 1518500249(%rdx,%r13,1),%r13d
255 roll $30,%edi
256 xorl %r12d,%eax
257 addl %ecx,%r13d
258 roll $1,%ebp
259 addl %eax,%r13d
260 xorl 4(%rsp),%r14d
261 movl %r11d,%eax
262 movl %ebp,0(%rsp)
263 movl %r13d,%ecx
264 xorl 12(%rsp),%r14d
265 xorl %edi,%eax
266 roll $5,%ecx
267 xorl 36(%rsp),%r14d
268 andl %esi,%eax
269 leal 1518500249(%rbp,%r12,1),%r12d
270 roll $30,%esi
271 xorl %r11d,%eax
272 addl %ecx,%r12d
273 roll $1,%r14d
274 addl %eax,%r12d
275 xorl 8(%rsp),%edx
276 movl %edi,%eax
277 movl %r14d,4(%rsp)
278 movl %r12d,%ecx
279 xorl 16(%rsp),%edx
280 xorl %esi,%eax
281 roll $5,%ecx
282 xorl 40(%rsp),%edx
283 andl %r13d,%eax
284 leal 1518500249(%r14,%r11,1),%r11d
285 roll $30,%r13d
286 xorl %edi,%eax
287 addl %ecx,%r11d
288 roll $1,%edx
289 addl %eax,%r11d
290 xorl 12(%rsp),%ebp
291 movl %esi,%eax
292 movl %edx,8(%rsp)
293 movl %r11d,%ecx
294 xorl 20(%rsp),%ebp
295 xorl %r13d,%eax
296 roll $5,%ecx
297 xorl 44(%rsp),%ebp
298 andl %r12d,%eax
299 leal 1518500249(%rdx,%rdi,1),%edi
300 roll $30,%r12d
301 xorl %esi,%eax
302 addl %ecx,%edi
303 roll $1,%ebp
304 addl %eax,%edi
305 xorl 16(%rsp),%r14d
306 movl %r13d,%eax
307 movl %ebp,12(%rsp)
308 movl %edi,%ecx
309 xorl 24(%rsp),%r14d
310 xorl %r12d,%eax
311 roll $5,%ecx
312 xorl 48(%rsp),%r14d
313 andl %r11d,%eax
314 leal 1518500249(%rbp,%rsi,1),%esi
315 roll $30,%r11d
316 xorl %r13d,%eax
317 addl %ecx,%esi
318 roll $1,%r14d
319 addl %eax,%esi
320 xorl 20(%rsp),%edx
321 movl %edi,%eax
322 movl %r14d,16(%rsp)
323 movl %esi,%ecx
324 xorl 28(%rsp),%edx
325 xorl %r12d,%eax
326 roll $5,%ecx
327 xorl 52(%rsp),%edx
328 leal 1859775393(%r14,%r13,1),%r13d
329 xorl %r11d,%eax
330 addl %ecx,%r13d
331 roll $30,%edi
332 addl %eax,%r13d
333 roll $1,%edx
334 xorl 24(%rsp),%ebp
335 movl %esi,%eax
336 movl %edx,20(%rsp)
337 movl %r13d,%ecx
338 xorl 32(%rsp),%ebp
339 xorl %r11d,%eax
340 roll $5,%ecx
341 xorl 56(%rsp),%ebp
342 leal 1859775393(%rdx,%r12,1),%r12d
343 xorl %edi,%eax
344 addl %ecx,%r12d
345 roll $30,%esi
346 addl %eax,%r12d
347 roll $1,%ebp
348 xorl 28(%rsp),%r14d
349 movl %r13d,%eax
350 movl %ebp,24(%rsp)
351 movl %r12d,%ecx
352 xorl 36(%rsp),%r14d
353 xorl %edi,%eax
354 roll $5,%ecx
355 xorl 60(%rsp),%r14d
356 leal 1859775393(%rbp,%r11,1),%r11d
357 xorl %esi,%eax
358 addl %ecx,%r11d
359 roll $30,%r13d
360 addl %eax,%r11d
361 roll $1,%r14d
362 xorl 32(%rsp),%edx
363 movl %r12d,%eax
364 movl %r14d,28(%rsp)
365 movl %r11d,%ecx
366 xorl 40(%rsp),%edx
367 xorl %esi,%eax
368 roll $5,%ecx
369 xorl 0(%rsp),%edx
370 leal 1859775393(%r14,%rdi,1),%edi
371 xorl %r13d,%eax
372 addl %ecx,%edi
373 roll $30,%r12d
374 addl %eax,%edi
375 roll $1,%edx
376 xorl 36(%rsp),%ebp
377 movl %r11d,%eax
378 movl %edx,32(%rsp)
379 movl %edi,%ecx
380 xorl 44(%rsp),%ebp
381 xorl %r13d,%eax
382 roll $5,%ecx
383 xorl 4(%rsp),%ebp
384 leal 1859775393(%rdx,%rsi,1),%esi
385 xorl %r12d,%eax
386 addl %ecx,%esi
387 roll $30,%r11d
388 addl %eax,%esi
389 roll $1,%ebp
390 xorl 40(%rsp),%r14d
391 movl %edi,%eax
392 movl %ebp,36(%rsp)
393 movl %esi,%ecx
394 xorl 48(%rsp),%r14d
395 xorl %r12d,%eax
396 roll $5,%ecx
397 xorl 8(%rsp),%r14d
398 leal 1859775393(%rbp,%r13,1),%r13d
399 xorl %r11d,%eax
400 addl %ecx,%r13d
401 roll $30,%edi
402 addl %eax,%r13d
403 roll $1,%r14d
404 xorl 44(%rsp),%edx
405 movl %esi,%eax
406 movl %r14d,40(%rsp)
407 movl %r13d,%ecx
408 xorl 52(%rsp),%edx
409 xorl %r11d,%eax
410 roll $5,%ecx
411 xorl 12(%rsp),%edx
412 leal 1859775393(%r14,%r12,1),%r12d
413 xorl %edi,%eax
414 addl %ecx,%r12d
415 roll $30,%esi
416 addl %eax,%r12d
417 roll $1,%edx
418 xorl 48(%rsp),%ebp
419 movl %r13d,%eax
420 movl %edx,44(%rsp)
421 movl %r12d,%ecx
422 xorl 56(%rsp),%ebp
423 xorl %edi,%eax
424 roll $5,%ecx
425 xorl 16(%rsp),%ebp
426 leal 1859775393(%rdx,%r11,1),%r11d
427 xorl %esi,%eax
428 addl %ecx,%r11d
429 roll $30,%r13d
430 addl %eax,%r11d
431 roll $1,%ebp
432 xorl 52(%rsp),%r14d
433 movl %r12d,%eax
434 movl %ebp,48(%rsp)
435 movl %r11d,%ecx
436 xorl 60(%rsp),%r14d
437 xorl %esi,%eax
438 roll $5,%ecx
439 xorl 20(%rsp),%r14d
440 leal 1859775393(%rbp,%rdi,1),%edi
441 xorl %r13d,%eax
442 addl %ecx,%edi
443 roll $30,%r12d
444 addl %eax,%edi
445 roll $1,%r14d
446 xorl 56(%rsp),%edx
447 movl %r11d,%eax
448 movl %r14d,52(%rsp)
449 movl %edi,%ecx
450 xorl 0(%rsp),%edx
451 xorl %r13d,%eax
452 roll $5,%ecx
453 xorl 24(%rsp),%edx
454 leal 1859775393(%r14,%rsi,1),%esi
455 xorl %r12d,%eax
456 addl %ecx,%esi
457 roll $30,%r11d
458 addl %eax,%esi
459 roll $1,%edx
460 xorl 60(%rsp),%ebp
461 movl %edi,%eax
462 movl %edx,56(%rsp)
463 movl %esi,%ecx
464 xorl 4(%rsp),%ebp
465 xorl %r12d,%eax
466 roll $5,%ecx
467 xorl 28(%rsp),%ebp
468 leal 1859775393(%rdx,%r13,1),%r13d
469 xorl %r11d,%eax
470 addl %ecx,%r13d
471 roll $30,%edi
472 addl %eax,%r13d
473 roll $1,%ebp
474 xorl 0(%rsp),%r14d
475 movl %esi,%eax
476 movl %ebp,60(%rsp)
477 movl %r13d,%ecx
478 xorl 8(%rsp),%r14d
479 xorl %r11d,%eax
480 roll $5,%ecx
481 xorl 32(%rsp),%r14d
482 leal 1859775393(%rbp,%r12,1),%r12d
483 xorl %edi,%eax
484 addl %ecx,%r12d
485 roll $30,%esi
486 addl %eax,%r12d
487 roll $1,%r14d
488 xorl 4(%rsp),%edx
489 movl %r13d,%eax
490 movl %r14d,0(%rsp)
491 movl %r12d,%ecx
492 xorl 12(%rsp),%edx
493 xorl %edi,%eax
494 roll $5,%ecx
495 xorl 36(%rsp),%edx
496 leal 1859775393(%r14,%r11,1),%r11d
497 xorl %esi,%eax
498 addl %ecx,%r11d
499 roll $30,%r13d
500 addl %eax,%r11d
501 roll $1,%edx
502 xorl 8(%rsp),%ebp
503 movl %r12d,%eax
504 movl %edx,4(%rsp)
505 movl %r11d,%ecx
506 xorl 16(%rsp),%ebp
507 xorl %esi,%eax
508 roll $5,%ecx
509 xorl 40(%rsp),%ebp
510 leal 1859775393(%rdx,%rdi,1),%edi
511 xorl %r13d,%eax
512 addl %ecx,%edi
513 roll $30,%r12d
514 addl %eax,%edi
515 roll $1,%ebp
516 xorl 12(%rsp),%r14d
517 movl %r11d,%eax
518 movl %ebp,8(%rsp)
519 movl %edi,%ecx
520 xorl 20(%rsp),%r14d
521 xorl %r13d,%eax
522 roll $5,%ecx
523 xorl 44(%rsp),%r14d
524 leal 1859775393(%rbp,%rsi,1),%esi
525 xorl %r12d,%eax
526 addl %ecx,%esi
527 roll $30,%r11d
528 addl %eax,%esi
529 roll $1,%r14d
530 xorl 16(%rsp),%edx
531 movl %edi,%eax
532 movl %r14d,12(%rsp)
533 movl %esi,%ecx
534 xorl 24(%rsp),%edx
535 xorl %r12d,%eax
536 roll $5,%ecx
537 xorl 48(%rsp),%edx
538 leal 1859775393(%r14,%r13,1),%r13d
539 xorl %r11d,%eax
540 addl %ecx,%r13d
541 roll $30,%edi
542 addl %eax,%r13d
543 roll $1,%edx
544 xorl 20(%rsp),%ebp
545 movl %esi,%eax
546 movl %edx,16(%rsp)
547 movl %r13d,%ecx
548 xorl 28(%rsp),%ebp
549 xorl %r11d,%eax
550 roll $5,%ecx
551 xorl 52(%rsp),%ebp
552 leal 1859775393(%rdx,%r12,1),%r12d
553 xorl %edi,%eax
554 addl %ecx,%r12d
555 roll $30,%esi
556 addl %eax,%r12d
557 roll $1,%ebp
558 xorl 24(%rsp),%r14d
559 movl %r13d,%eax
560 movl %ebp,20(%rsp)
561 movl %r12d,%ecx
562 xorl 32(%rsp),%r14d
563 xorl %edi,%eax
564 roll $5,%ecx
565 xorl 56(%rsp),%r14d
566 leal 1859775393(%rbp,%r11,1),%r11d
567 xorl %esi,%eax
568 addl %ecx,%r11d
569 roll $30,%r13d
570 addl %eax,%r11d
571 roll $1,%r14d
572 xorl 28(%rsp),%edx
573 movl %r12d,%eax
574 movl %r14d,24(%rsp)
575 movl %r11d,%ecx
576 xorl 36(%rsp),%edx
577 xorl %esi,%eax
578 roll $5,%ecx
579 xorl 60(%rsp),%edx
580 leal 1859775393(%r14,%rdi,1),%edi
581 xorl %r13d,%eax
582 addl %ecx,%edi
583 roll $30,%r12d
584 addl %eax,%edi
585 roll $1,%edx
586 xorl 32(%rsp),%ebp
587 movl %r11d,%eax
588 movl %edx,28(%rsp)
589 movl %edi,%ecx
590 xorl 40(%rsp),%ebp
591 xorl %r13d,%eax
592 roll $5,%ecx
593 xorl 0(%rsp),%ebp
594 leal 1859775393(%rdx,%rsi,1),%esi
595 xorl %r12d,%eax
596 addl %ecx,%esi
597 roll $30,%r11d
598 addl %eax,%esi
599 roll $1,%ebp
600 xorl 36(%rsp),%r14d
601 movl %r12d,%eax
602 movl %ebp,32(%rsp)
603 movl %r12d,%ebx
604 xorl 44(%rsp),%r14d
605 andl %r11d,%eax
606 movl %esi,%ecx
607 xorl 4(%rsp),%r14d
608 leal -1894007588(%rbp,%r13,1),%r13d
609 xorl %r11d,%ebx
610 roll $5,%ecx
611 addl %eax,%r13d
612 roll $1,%r14d
613 andl %edi,%ebx
614 addl %ecx,%r13d
615 roll $30,%edi
616 addl %ebx,%r13d
617 xorl 40(%rsp),%edx
618 movl %r11d,%eax
619 movl %r14d,36(%rsp)
620 movl %r11d,%ebx
621 xorl 48(%rsp),%edx
622 andl %edi,%eax
623 movl %r13d,%ecx
624 xorl 8(%rsp),%edx
625 leal -1894007588(%r14,%r12,1),%r12d
626 xorl %edi,%ebx
627 roll $5,%ecx
628 addl %eax,%r12d
629 roll $1,%edx
630 andl %esi,%ebx
631 addl %ecx,%r12d
632 roll $30,%esi
633 addl %ebx,%r12d
634 xorl 44(%rsp),%ebp
635 movl %edi,%eax
636 movl %edx,40(%rsp)
637 movl %edi,%ebx
638 xorl 52(%rsp),%ebp
639 andl %esi,%eax
640 movl %r12d,%ecx
641 xorl 12(%rsp),%ebp
642 leal -1894007588(%rdx,%r11,1),%r11d
643 xorl %esi,%ebx
644 roll $5,%ecx
645 addl %eax,%r11d
646 roll $1,%ebp
647 andl %r13d,%ebx
648 addl %ecx,%r11d
649 roll $30,%r13d
650 addl %ebx,%r11d
651 xorl 48(%rsp),%r14d
652 movl %esi,%eax
653 movl %ebp,44(%rsp)
654 movl %esi,%ebx
655 xorl 56(%rsp),%r14d
656 andl %r13d,%eax
657 movl %r11d,%ecx
658 xorl 16(%rsp),%r14d
659 leal -1894007588(%rbp,%rdi,1),%edi
660 xorl %r13d,%ebx
661 roll $5,%ecx
662 addl %eax,%edi
663 roll $1,%r14d
664 andl %r12d,%ebx
665 addl %ecx,%edi
666 roll $30,%r12d
667 addl %ebx,%edi
668 xorl 52(%rsp),%edx
669 movl %r13d,%eax
670 movl %r14d,48(%rsp)
671 movl %r13d,%ebx
672 xorl 60(%rsp),%edx
673 andl %r12d,%eax
674 movl %edi,%ecx
675 xorl 20(%rsp),%edx
676 leal -1894007588(%r14,%rsi,1),%esi
677 xorl %r12d,%ebx
678 roll $5,%ecx
679 addl %eax,%esi
680 roll $1,%edx
681 andl %r11d,%ebx
682 addl %ecx,%esi
683 roll $30,%r11d
684 addl %ebx,%esi
685 xorl 56(%rsp),%ebp
686 movl %r12d,%eax
687 movl %edx,52(%rsp)
688 movl %r12d,%ebx
689 xorl 0(%rsp),%ebp
690 andl %r11d,%eax
691 movl %esi,%ecx
692 xorl 24(%rsp),%ebp
693 leal -1894007588(%rdx,%r13,1),%r13d
694 xorl %r11d,%ebx
695 roll $5,%ecx
696 addl %eax,%r13d
697 roll $1,%ebp
698 andl %edi,%ebx
699 addl %ecx,%r13d
700 roll $30,%edi
701 addl %ebx,%r13d
702 xorl 60(%rsp),%r14d
703 movl %r11d,%eax
704 movl %ebp,56(%rsp)
705 movl %r11d,%ebx
706 xorl 4(%rsp),%r14d
707 andl %edi,%eax
708 movl %r13d,%ecx
709 xorl 28(%rsp),%r14d
710 leal -1894007588(%rbp,%r12,1),%r12d
711 xorl %edi,%ebx
712 roll $5,%ecx
713 addl %eax,%r12d
714 roll $1,%r14d
715 andl %esi,%ebx
716 addl %ecx,%r12d
717 roll $30,%esi
718 addl %ebx,%r12d
719 xorl 0(%rsp),%edx
720 movl %edi,%eax
721 movl %r14d,60(%rsp)
722 movl %edi,%ebx
723 xorl 8(%rsp),%edx
724 andl %esi,%eax
725 movl %r12d,%ecx
726 xorl 32(%rsp),%edx
727 leal -1894007588(%r14,%r11,1),%r11d
728 xorl %esi,%ebx
729 roll $5,%ecx
730 addl %eax,%r11d
731 roll $1,%edx
732 andl %r13d,%ebx
733 addl %ecx,%r11d
734 roll $30,%r13d
735 addl %ebx,%r11d
736 xorl 4(%rsp),%ebp
737 movl %esi,%eax
738 movl %edx,0(%rsp)
739 movl %esi,%ebx
740 xorl 12(%rsp),%ebp
741 andl %r13d,%eax
742 movl %r11d,%ecx
743 xorl 36(%rsp),%ebp
744 leal -1894007588(%rdx,%rdi,1),%edi
745 xorl %r13d,%ebx
746 roll $5,%ecx
747 addl %eax,%edi
748 roll $1,%ebp
749 andl %r12d,%ebx
750 addl %ecx,%edi
751 roll $30,%r12d
752 addl %ebx,%edi
753 xorl 8(%rsp),%r14d
754 movl %r13d,%eax
755 movl %ebp,4(%rsp)
756 movl %r13d,%ebx
757 xorl 16(%rsp),%r14d
758 andl %r12d,%eax
759 movl %edi,%ecx
760 xorl 40(%rsp),%r14d
761 leal -1894007588(%rbp,%rsi,1),%esi
762 xorl %r12d,%ebx
763 roll $5,%ecx
764 addl %eax,%esi
765 roll $1,%r14d
766 andl %r11d,%ebx
767 addl %ecx,%esi
768 roll $30,%r11d
769 addl %ebx,%esi
770 xorl 12(%rsp),%edx
771 movl %r12d,%eax
772 movl %r14d,8(%rsp)
773 movl %r12d,%ebx
774 xorl 20(%rsp),%edx
775 andl %r11d,%eax
776 movl %esi,%ecx
777 xorl 44(%rsp),%edx
778 leal -1894007588(%r14,%r13,1),%r13d
779 xorl %r11d,%ebx
780 roll $5,%ecx
781 addl %eax,%r13d
782 roll $1,%edx
783 andl %edi,%ebx
784 addl %ecx,%r13d
785 roll $30,%edi
786 addl %ebx,%r13d
787 xorl 16(%rsp),%ebp
788 movl %r11d,%eax
789 movl %edx,12(%rsp)
790 movl %r11d,%ebx
791 xorl 24(%rsp),%ebp
792 andl %edi,%eax
793 movl %r13d,%ecx
794 xorl 48(%rsp),%ebp
795 leal -1894007588(%rdx,%r12,1),%r12d
796 xorl %edi,%ebx
797 roll $5,%ecx
798 addl %eax,%r12d
799 roll $1,%ebp
800 andl %esi,%ebx
801 addl %ecx,%r12d
802 roll $30,%esi
803 addl %ebx,%r12d
804 xorl 20(%rsp),%r14d
805 movl %edi,%eax
806 movl %ebp,16(%rsp)
807 movl %edi,%ebx
808 xorl 28(%rsp),%r14d
809 andl %esi,%eax
810 movl %r12d,%ecx
811 xorl 52(%rsp),%r14d
812 leal -1894007588(%rbp,%r11,1),%r11d
813 xorl %esi,%ebx
814 roll $5,%ecx
815 addl %eax,%r11d
816 roll $1,%r14d
817 andl %r13d,%ebx
818 addl %ecx,%r11d
819 roll $30,%r13d
820 addl %ebx,%r11d
821 xorl 24(%rsp),%edx
822 movl %esi,%eax
823 movl %r14d,20(%rsp)
824 movl %esi,%ebx
825 xorl 32(%rsp),%edx
826 andl %r13d,%eax
827 movl %r11d,%ecx
828 xorl 56(%rsp),%edx
829 leal -1894007588(%r14,%rdi,1),%edi
830 xorl %r13d,%ebx
831 roll $5,%ecx
832 addl %eax,%edi
833 roll $1,%edx
834 andl %r12d,%ebx
835 addl %ecx,%edi
836 roll $30,%r12d
837 addl %ebx,%edi
838 xorl 28(%rsp),%ebp
839 movl %r13d,%eax
840 movl %edx,24(%rsp)
841 movl %r13d,%ebx
842 xorl 36(%rsp),%ebp
843 andl %r12d,%eax
844 movl %edi,%ecx
845 xorl 60(%rsp),%ebp
846 leal -1894007588(%rdx,%rsi,1),%esi
847 xorl %r12d,%ebx
848 roll $5,%ecx
849 addl %eax,%esi
850 roll $1,%ebp
851 andl %r11d,%ebx
852 addl %ecx,%esi
853 roll $30,%r11d
854 addl %ebx,%esi
855 xorl 32(%rsp),%r14d
856 movl %r12d,%eax
857 movl %ebp,28(%rsp)
858 movl %r12d,%ebx
859 xorl 40(%rsp),%r14d
860 andl %r11d,%eax
861 movl %esi,%ecx
862 xorl 0(%rsp),%r14d
863 leal -1894007588(%rbp,%r13,1),%r13d
864 xorl %r11d,%ebx
865 roll $5,%ecx
866 addl %eax,%r13d
867 roll $1,%r14d
868 andl %edi,%ebx
869 addl %ecx,%r13d
870 roll $30,%edi
871 addl %ebx,%r13d
872 xorl 36(%rsp),%edx
873 movl %r11d,%eax
874 movl %r14d,32(%rsp)
875 movl %r11d,%ebx
876 xorl 44(%rsp),%edx
877 andl %edi,%eax
878 movl %r13d,%ecx
879 xorl 4(%rsp),%edx
880 leal -1894007588(%r14,%r12,1),%r12d
881 xorl %edi,%ebx
882 roll $5,%ecx
883 addl %eax,%r12d
884 roll $1,%edx
885 andl %esi,%ebx
886 addl %ecx,%r12d
887 roll $30,%esi
888 addl %ebx,%r12d
889 xorl 40(%rsp),%ebp
890 movl %edi,%eax
891 movl %edx,36(%rsp)
892 movl %edi,%ebx
893 xorl 48(%rsp),%ebp
894 andl %esi,%eax
895 movl %r12d,%ecx
896 xorl 8(%rsp),%ebp
897 leal -1894007588(%rdx,%r11,1),%r11d
898 xorl %esi,%ebx
899 roll $5,%ecx
900 addl %eax,%r11d
901 roll $1,%ebp
902 andl %r13d,%ebx
903 addl %ecx,%r11d
904 roll $30,%r13d
905 addl %ebx,%r11d
906 xorl 44(%rsp),%r14d
907 movl %esi,%eax
908 movl %ebp,40(%rsp)
909 movl %esi,%ebx
910 xorl 52(%rsp),%r14d
911 andl %r13d,%eax
912 movl %r11d,%ecx
913 xorl 12(%rsp),%r14d
914 leal -1894007588(%rbp,%rdi,1),%edi
915 xorl %r13d,%ebx
916 roll $5,%ecx
917 addl %eax,%edi
918 roll $1,%r14d
919 andl %r12d,%ebx
920 addl %ecx,%edi
921 roll $30,%r12d
922 addl %ebx,%edi
923 xorl 48(%rsp),%edx
924 movl %r13d,%eax
925 movl %r14d,44(%rsp)
926 movl %r13d,%ebx
927 xorl 56(%rsp),%edx
928 andl %r12d,%eax
929 movl %edi,%ecx
930 xorl 16(%rsp),%edx
931 leal -1894007588(%r14,%rsi,1),%esi
932 xorl %r12d,%ebx
933 roll $5,%ecx
934 addl %eax,%esi
935 roll $1,%edx
936 andl %r11d,%ebx
937 addl %ecx,%esi
938 roll $30,%r11d
939 addl %ebx,%esi
940 xorl 52(%rsp),%ebp
941 movl %edi,%eax
942 movl %edx,48(%rsp)
943 movl %esi,%ecx
944 xorl 60(%rsp),%ebp
945 xorl %r12d,%eax
946 roll $5,%ecx
947 xorl 20(%rsp),%ebp
948 leal -899497514(%rdx,%r13,1),%r13d
949 xorl %r11d,%eax
950 addl %ecx,%r13d
951 roll $30,%edi
952 addl %eax,%r13d
953 roll $1,%ebp
954 xorl 56(%rsp),%r14d
955 movl %esi,%eax
956 movl %ebp,52(%rsp)
957 movl %r13d,%ecx
958 xorl 0(%rsp),%r14d
959 xorl %r11d,%eax
960 roll $5,%ecx
961 xorl 24(%rsp),%r14d
962 leal -899497514(%rbp,%r12,1),%r12d
963 xorl %edi,%eax
964 addl %ecx,%r12d
965 roll $30,%esi
966 addl %eax,%r12d
967 roll $1,%r14d
968 xorl 60(%rsp),%edx
969 movl %r13d,%eax
970 movl %r14d,56(%rsp)
971 movl %r12d,%ecx
972 xorl 4(%rsp),%edx
973 xorl %edi,%eax
974 roll $5,%ecx
975 xorl 28(%rsp),%edx
976 leal -899497514(%r14,%r11,1),%r11d
977 xorl %esi,%eax
978 addl %ecx,%r11d
979 roll $30,%r13d
980 addl %eax,%r11d
981 roll $1,%edx
982 xorl 0(%rsp),%ebp
983 movl %r12d,%eax
984 movl %edx,60(%rsp)
985 movl %r11d,%ecx
986 xorl 8(%rsp),%ebp
987 xorl %esi,%eax
988 roll $5,%ecx
989 xorl 32(%rsp),%ebp
990 leal -899497514(%rdx,%rdi,1),%edi
991 xorl %r13d,%eax
992 addl %ecx,%edi
993 roll $30,%r12d
994 addl %eax,%edi
995 roll $1,%ebp
996 xorl 4(%rsp),%r14d
997 movl %r11d,%eax
998 movl %ebp,0(%rsp)
999 movl %edi,%ecx
1000 xorl 12(%rsp),%r14d
1001 xorl %r13d,%eax
1002 roll $5,%ecx
1003 xorl 36(%rsp),%r14d
1004 leal -899497514(%rbp,%rsi,1),%esi
1005 xorl %r12d,%eax
1006 addl %ecx,%esi
1007 roll $30,%r11d
1008 addl %eax,%esi
1009 roll $1,%r14d
1010 xorl 8(%rsp),%edx
1011 movl %edi,%eax
1012 movl %r14d,4(%rsp)
1013 movl %esi,%ecx
1014 xorl 16(%rsp),%edx
1015 xorl %r12d,%eax
1016 roll $5,%ecx
1017 xorl 40(%rsp),%edx
1018 leal -899497514(%r14,%r13,1),%r13d
1019 xorl %r11d,%eax
1020 addl %ecx,%r13d
1021 roll $30,%edi
1022 addl %eax,%r13d
1023 roll $1,%edx
1024 xorl 12(%rsp),%ebp
1025 movl %esi,%eax
1026 movl %edx,8(%rsp)
1027 movl %r13d,%ecx
1028 xorl 20(%rsp),%ebp
1029 xorl %r11d,%eax
1030 roll $5,%ecx
1031 xorl 44(%rsp),%ebp
1032 leal -899497514(%rdx,%r12,1),%r12d
1033 xorl %edi,%eax
1034 addl %ecx,%r12d
1035 roll $30,%esi
1036 addl %eax,%r12d
1037 roll $1,%ebp
1038 xorl 16(%rsp),%r14d
1039 movl %r13d,%eax
1040 movl %ebp,12(%rsp)
1041 movl %r12d,%ecx
1042 xorl 24(%rsp),%r14d
1043 xorl %edi,%eax
1044 roll $5,%ecx
1045 xorl 48(%rsp),%r14d
1046 leal -899497514(%rbp,%r11,1),%r11d
1047 xorl %esi,%eax
1048 addl %ecx,%r11d
1049 roll $30,%r13d
1050 addl %eax,%r11d
1051 roll $1,%r14d
1052 xorl 20(%rsp),%edx
1053 movl %r12d,%eax
1054 movl %r14d,16(%rsp)
1055 movl %r11d,%ecx
1056 xorl 28(%rsp),%edx
1057 xorl %esi,%eax
1058 roll $5,%ecx
1059 xorl 52(%rsp),%edx
1060 leal -899497514(%r14,%rdi,1),%edi
1061 xorl %r13d,%eax
1062 addl %ecx,%edi
1063 roll $30,%r12d
1064 addl %eax,%edi
1065 roll $1,%edx
1066 xorl 24(%rsp),%ebp
1067 movl %r11d,%eax
1068 movl %edx,20(%rsp)
1069 movl %edi,%ecx
1070 xorl 32(%rsp),%ebp
1071 xorl %r13d,%eax
1072 roll $5,%ecx
1073 xorl 56(%rsp),%ebp
1074 leal -899497514(%rdx,%rsi,1),%esi
1075 xorl %r12d,%eax
1076 addl %ecx,%esi
1077 roll $30,%r11d
1078 addl %eax,%esi
1079 roll $1,%ebp
1080 xorl 28(%rsp),%r14d
1081 movl %edi,%eax
1082 movl %ebp,24(%rsp)
1083 movl %esi,%ecx
1084 xorl 36(%rsp),%r14d
1085 xorl %r12d,%eax
1086 roll $5,%ecx
1087 xorl 60(%rsp),%r14d
1088 leal -899497514(%rbp,%r13,1),%r13d
1089 xorl %r11d,%eax
1090 addl %ecx,%r13d
1091 roll $30,%edi
1092 addl %eax,%r13d
1093 roll $1,%r14d
1094 xorl 32(%rsp),%edx
1095 movl %esi,%eax
1096 movl %r14d,28(%rsp)
1097 movl %r13d,%ecx
1098 xorl 40(%rsp),%edx
1099 xorl %r11d,%eax
1100 roll $5,%ecx
1101 xorl 0(%rsp),%edx
1102 leal -899497514(%r14,%r12,1),%r12d
1103 xorl %edi,%eax
1104 addl %ecx,%r12d
1105 roll $30,%esi
1106 addl %eax,%r12d
1107 roll $1,%edx
1108 xorl 36(%rsp),%ebp
1109 movl %r13d,%eax
1110
1111 movl %r12d,%ecx
1112 xorl 44(%rsp),%ebp
1113 xorl %edi,%eax
1114 roll $5,%ecx
1115 xorl 4(%rsp),%ebp
1116 leal -899497514(%rdx,%r11,1),%r11d
1117 xorl %esi,%eax
1118 addl %ecx,%r11d
1119 roll $30,%r13d
1120 addl %eax,%r11d
1121 roll $1,%ebp
1122 xorl 40(%rsp),%r14d
1123 movl %r12d,%eax
1124
1125 movl %r11d,%ecx
1126 xorl 48(%rsp),%r14d
1127 xorl %esi,%eax
1128 roll $5,%ecx
1129 xorl 8(%rsp),%r14d
1130 leal -899497514(%rbp,%rdi,1),%edi
1131 xorl %r13d,%eax
1132 addl %ecx,%edi
1133 roll $30,%r12d
1134 addl %eax,%edi
1135 roll $1,%r14d
1136 xorl 44(%rsp),%edx
1137 movl %r11d,%eax
1138
1139 movl %edi,%ecx
1140 xorl 52(%rsp),%edx
1141 xorl %r13d,%eax
1142 roll $5,%ecx
1143 xorl 12(%rsp),%edx
1144 leal -899497514(%r14,%rsi,1),%esi
1145 xorl %r12d,%eax
1146 addl %ecx,%esi
1147 roll $30,%r11d
1148 addl %eax,%esi
1149 roll $1,%edx
1150 xorl 48(%rsp),%ebp
1151 movl %edi,%eax
1152
1153 movl %esi,%ecx
1154 xorl 56(%rsp),%ebp
1155 xorl %r12d,%eax
1156 roll $5,%ecx
1157 xorl 16(%rsp),%ebp
1158 leal -899497514(%rdx,%r13,1),%r13d
1159 xorl %r11d,%eax
1160 addl %ecx,%r13d
1161 roll $30,%edi
1162 addl %eax,%r13d
1163 roll $1,%ebp
1164 xorl 52(%rsp),%r14d
1165 movl %esi,%eax
1166
1167 movl %r13d,%ecx
1168 xorl 60(%rsp),%r14d
1169 xorl %r11d,%eax
1170 roll $5,%ecx
1171 xorl 20(%rsp),%r14d
1172 leal -899497514(%rbp,%r12,1),%r12d
1173 xorl %edi,%eax
1174 addl %ecx,%r12d
1175 roll $30,%esi
1176 addl %eax,%r12d
1177 roll $1,%r14d
1178 xorl 56(%rsp),%edx
1179 movl %r13d,%eax
1180
1181 movl %r12d,%ecx
1182 xorl 0(%rsp),%edx
1183 xorl %edi,%eax
1184 roll $5,%ecx
1185 xorl 24(%rsp),%edx
1186 leal -899497514(%r14,%r11,1),%r11d
1187 xorl %esi,%eax
1188 addl %ecx,%r11d
1189 roll $30,%r13d
1190 addl %eax,%r11d
1191 roll $1,%edx
1192 xorl 60(%rsp),%ebp
1193 movl %r12d,%eax
1194
1195 movl %r11d,%ecx
1196 xorl 4(%rsp),%ebp
1197 xorl %esi,%eax
1198 roll $5,%ecx
1199 xorl 28(%rsp),%ebp
1200 leal -899497514(%rdx,%rdi,1),%edi
1201 xorl %r13d,%eax
1202 addl %ecx,%edi
1203 roll $30,%r12d
1204 addl %eax,%edi
1205 roll $1,%ebp
1206 movl %r11d,%eax
1207 movl %edi,%ecx
1208 xorl %r13d,%eax
1209 leal -899497514(%rbp,%rsi,1),%esi
1210 roll $5,%ecx
1211 xorl %r12d,%eax
1212 addl %ecx,%esi
1213 roll $30,%r11d
1214 addl %eax,%esi
1215 addl 0(%r8),%esi
1216 addl 4(%r8),%edi
1217 addl 8(%r8),%r11d
1218 addl 12(%r8),%r12d
1219 addl 16(%r8),%r13d
1220 movl %esi,0(%r8)
1221 movl %edi,4(%r8)
1222 movl %r11d,8(%r8)
1223 movl %r12d,12(%r8)
1224 movl %r13d,16(%r8)
1225
1226 subq $1,%r10
1227 leaq 64(%r9),%r9
1228 jnz .Lloop
1229
1230 movq 64(%rsp),%rsi
1231 movq -40(%rsi),%r14
1232 movq -32(%rsi),%r13
1233 movq -24(%rsi),%r12
1234 movq -16(%rsi),%rbp
1235 movq -8(%rsi),%rbx
1236 leaq (%rsi),%rsp
1237 .Lepilogue:
1238 .byte 0xf3,0xc3
1239 .size sha1_block_data_order,.-sha1_block_data_order
1240 .type sha1_block_data_order_ssse3,@function
1241 .align 16
1242 sha1_block_data_order_ssse3:
1243 _ssse3_shortcut:
1244 movq %rsp,%rax
1245 pushq %rbx
1246 pushq %rbp
1247 pushq %r12
1248 pushq %r13
1249 pushq %r14
1250 leaq -64(%rsp),%rsp
1251 movq %rax,%r14
1252 andq $-64,%rsp
1253 movq %rdi,%r8
1254 movq %rsi,%r9
1255 movq %rdx,%r10
1256
1257 shlq $6,%r10
1258 addq %r9,%r10
1259 leaq K_XX_XX+64(%rip),%r11
1260
1261 movl 0(%r8),%eax
1262 movl 4(%r8),%ebx
1263 movl 8(%r8),%ecx
1264 movl 12(%r8),%edx
1265 movl %ebx,%esi
1266 movl 16(%r8),%ebp
1267 movl %ecx,%edi
1268 xorl %edx,%edi
1269 andl %edi,%esi
1270
1271 movdqa 64(%r11),%xmm6
1272 movdqa -64(%r11),%xmm9
1273 movdqu 0(%r9),%xmm0
1274 movdqu 16(%r9),%xmm1
1275 movdqu 32(%r9),%xmm2
1276 movdqu 48(%r9),%xmm3
1277 .byte 102,15,56,0,198
1278 .byte 102,15,56,0,206
1279 .byte 102,15,56,0,214
1280 addq $64,%r9
1281 paddd %xmm9,%xmm0
1282 .byte 102,15,56,0,222
1283 paddd %xmm9,%xmm1
1284 paddd %xmm9,%xmm2
1285 movdqa %xmm0,0(%rsp)
1286 psubd %xmm9,%xmm0
1287 movdqa %xmm1,16(%rsp)
1288 psubd %xmm9,%xmm1
1289 movdqa %xmm2,32(%rsp)
1290 psubd %xmm9,%xmm2
1291 jmp .Loop_ssse3
1292 .align 16
1293 .Loop_ssse3:
1294 rorl $2,%ebx
1295 pshufd $238,%xmm0,%xmm4
1296 xorl %edx,%esi
1297 movdqa %xmm3,%xmm8
1298 paddd %xmm3,%xmm9
1299 movl %eax,%edi
1300 addl 0(%rsp),%ebp
1301 punpcklqdq %xmm1,%xmm4
1302 xorl %ecx,%ebx
1303 roll $5,%eax
1304 addl %esi,%ebp
1305 psrldq $4,%xmm8
1306 andl %ebx,%edi
1307 xorl %ecx,%ebx
1308 pxor %xmm0,%xmm4
1309 addl %eax,%ebp
1310 rorl $7,%eax
1311 pxor %xmm2,%xmm8
1312 xorl %ecx,%edi
1313 movl %ebp,%esi
1314 addl 4(%rsp),%edx
1315 pxor %xmm8,%xmm4
1316 xorl %ebx,%eax
1317 roll $5,%ebp
1318 movdqa %xmm9,48(%rsp)
1319 addl %edi,%edx
1320 andl %eax,%esi
1321 movdqa %xmm4,%xmm10
1322 xorl %ebx,%eax
1323 addl %ebp,%edx
1324 rorl $7,%ebp
1325 movdqa %xmm4,%xmm8
1326 xorl %ebx,%esi
1327 pslldq $12,%xmm10
1328 paddd %xmm4,%xmm4
1329 movl %edx,%edi
1330 addl 8(%rsp),%ecx
1331 psrld $31,%xmm8
1332 xorl %eax,%ebp
1333 roll $5,%edx
1334 addl %esi,%ecx
1335 movdqa %xmm10,%xmm9
1336 andl %ebp,%edi
1337 xorl %eax,%ebp
1338 psrld $30,%xmm10
1339 addl %edx,%ecx
1340 rorl $7,%edx
1341 por %xmm8,%xmm4
1342 xorl %eax,%edi
1343 movl %ecx,%esi
1344 addl 12(%rsp),%ebx
1345 pslld $2,%xmm9
1346 pxor %xmm10,%xmm4
1347 xorl %ebp,%edx
1348 movdqa -64(%r11),%xmm10
1349 roll $5,%ecx
1350 addl %edi,%ebx
1351 andl %edx,%esi
1352 pxor %xmm9,%xmm4
1353 xorl %ebp,%edx
1354 addl %ecx,%ebx
1355 rorl $7,%ecx
1356 pshufd $238,%xmm1,%xmm5
1357 xorl %ebp,%esi
1358 movdqa %xmm4,%xmm9
1359 paddd %xmm4,%xmm10
1360 movl %ebx,%edi
1361 addl 16(%rsp),%eax
1362 punpcklqdq %xmm2,%xmm5
1363 xorl %edx,%ecx
1364 roll $5,%ebx
1365 addl %esi,%eax
1366 psrldq $4,%xmm9
1367 andl %ecx,%edi
1368 xorl %edx,%ecx
1369 pxor %xmm1,%xmm5
1370 addl %ebx,%eax
1371 rorl $7,%ebx
1372 pxor %xmm3,%xmm9
1373 xorl %edx,%edi
1374 movl %eax,%esi
1375 addl 20(%rsp),%ebp
1376 pxor %xmm9,%xmm5
1377 xorl %ecx,%ebx
1378 roll $5,%eax
1379 movdqa %xmm10,0(%rsp)
1380 addl %edi,%ebp
1381 andl %ebx,%esi
1382 movdqa %xmm5,%xmm8
1383 xorl %ecx,%ebx
1384 addl %eax,%ebp
1385 rorl $7,%eax
1386 movdqa %xmm5,%xmm9
1387 xorl %ecx,%esi
1388 pslldq $12,%xmm8
1389 paddd %xmm5,%xmm5
1390 movl %ebp,%edi
1391 addl 24(%rsp),%edx
1392 psrld $31,%xmm9
1393 xorl %ebx,%eax
1394 roll $5,%ebp
1395 addl %esi,%edx
1396 movdqa %xmm8,%xmm10
1397 andl %eax,%edi
1398 xorl %ebx,%eax
1399 psrld $30,%xmm8
1400 addl %ebp,%edx
1401 rorl $7,%ebp
1402 por %xmm9,%xmm5
1403 xorl %ebx,%edi
1404 movl %edx,%esi
1405 addl 28(%rsp),%ecx
1406 pslld $2,%xmm10
1407 pxor %xmm8,%xmm5
1408 xorl %eax,%ebp
1409 movdqa -32(%r11),%xmm8
1410 roll $5,%edx
1411 addl %edi,%ecx
1412 andl %ebp,%esi
1413 pxor %xmm10,%xmm5
1414 xorl %eax,%ebp
1415 addl %edx,%ecx
1416 rorl $7,%edx
1417 pshufd $238,%xmm2,%xmm6
1418 xorl %eax,%esi
1419 movdqa %xmm5,%xmm10
1420 paddd %xmm5,%xmm8
1421 movl %ecx,%edi
1422 addl 32(%rsp),%ebx
1423 punpcklqdq %xmm3,%xmm6
1424 xorl %ebp,%edx
1425 roll $5,%ecx
1426 addl %esi,%ebx
1427 psrldq $4,%xmm10
1428 andl %edx,%edi
1429 xorl %ebp,%edx
1430 pxor %xmm2,%xmm6
1431 addl %ecx,%ebx
1432 rorl $7,%ecx
1433 pxor %xmm4,%xmm10
1434 xorl %ebp,%edi
1435 movl %ebx,%esi
1436 addl 36(%rsp),%eax
1437 pxor %xmm10,%xmm6
1438 xorl %edx,%ecx
1439 roll $5,%ebx
1440 movdqa %xmm8,16(%rsp)
1441 addl %edi,%eax
1442 andl %ecx,%esi
1443 movdqa %xmm6,%xmm9
1444 xorl %edx,%ecx
1445 addl %ebx,%eax
1446 rorl $7,%ebx
1447 movdqa %xmm6,%xmm10
1448 xorl %edx,%esi
1449 pslldq $12,%xmm9
1450 paddd %xmm6,%xmm6
1451 movl %eax,%edi
1452 addl 40(%rsp),%ebp
1453 psrld $31,%xmm10
1454 xorl %ecx,%ebx
1455 roll $5,%eax
1456 addl %esi,%ebp
1457 movdqa %xmm9,%xmm8
1458 andl %ebx,%edi
1459 xorl %ecx,%ebx
1460 psrld $30,%xmm9
1461 addl %eax,%ebp
1462 rorl $7,%eax
1463 por %xmm10,%xmm6
1464 xorl %ecx,%edi
1465 movl %ebp,%esi
1466 addl 44(%rsp),%edx
1467 pslld $2,%xmm8
1468 pxor %xmm9,%xmm6
1469 xorl %ebx,%eax
1470 movdqa -32(%r11),%xmm9
1471 roll $5,%ebp
1472 addl %edi,%edx
1473 andl %eax,%esi
1474 pxor %xmm8,%xmm6
1475 xorl %ebx,%eax
1476 addl %ebp,%edx
1477 rorl $7,%ebp
1478 pshufd $238,%xmm3,%xmm7
1479 xorl %ebx,%esi
1480 movdqa %xmm6,%xmm8
1481 paddd %xmm6,%xmm9
1482 movl %edx,%edi
1483 addl 48(%rsp),%ecx
1484 punpcklqdq %xmm4,%xmm7
1485 xorl %eax,%ebp
1486 roll $5,%edx
1487 addl %esi,%ecx
1488 psrldq $4,%xmm8
1489 andl %ebp,%edi
1490 xorl %eax,%ebp
1491 pxor %xmm3,%xmm7
1492 addl %edx,%ecx
1493 rorl $7,%edx
1494 pxor %xmm5,%xmm8
1495 xorl %eax,%edi
1496 movl %ecx,%esi
1497 addl 52(%rsp),%ebx
1498 pxor %xmm8,%xmm7
1499 xorl %ebp,%edx
1500 roll $5,%ecx
1501 movdqa %xmm9,32(%rsp)
1502 addl %edi,%ebx
1503 andl %edx,%esi
1504 movdqa %xmm7,%xmm10
1505 xorl %ebp,%edx
1506 addl %ecx,%ebx
1507 rorl $7,%ecx
1508 movdqa %xmm7,%xmm8
1509 xorl %ebp,%esi
1510 pslldq $12,%xmm10
1511 paddd %xmm7,%xmm7
1512 movl %ebx,%edi
1513 addl 56(%rsp),%eax
1514 psrld $31,%xmm8
1515 xorl %edx,%ecx
1516 roll $5,%ebx
1517 addl %esi,%eax
1518 movdqa %xmm10,%xmm9
1519 andl %ecx,%edi
1520 xorl %edx,%ecx
1521 psrld $30,%xmm10
1522 addl %ebx,%eax
1523 rorl $7,%ebx
1524 por %xmm8,%xmm7
1525 xorl %edx,%edi
1526 movl %eax,%esi
1527 addl 60(%rsp),%ebp
1528 pslld $2,%xmm9
1529 pxor %xmm10,%xmm7
1530 xorl %ecx,%ebx
1531 movdqa -32(%r11),%xmm10
1532 roll $5,%eax
1533 addl %edi,%ebp
1534 andl %ebx,%esi
1535 pxor %xmm9,%xmm7
1536 pshufd $238,%xmm6,%xmm9
1537 xorl %ecx,%ebx
1538 addl %eax,%ebp
1539 rorl $7,%eax
1540 pxor %xmm4,%xmm0
1541 xorl %ecx,%esi
1542 movl %ebp,%edi
1543 addl 0(%rsp),%edx
1544 punpcklqdq %xmm7,%xmm9
1545 xorl %ebx,%eax
1546 roll $5,%ebp
1547 pxor %xmm1,%xmm0
1548 addl %esi,%edx
1549 andl %eax,%edi
1550 movdqa %xmm10,%xmm8
1551 xorl %ebx,%eax
1552 paddd %xmm7,%xmm10
1553 addl %ebp,%edx
1554 pxor %xmm9,%xmm0
1555 rorl $7,%ebp
1556 xorl %ebx,%edi
1557 movl %edx,%esi
1558 addl 4(%rsp),%ecx
1559 movdqa %xmm0,%xmm9
1560 xorl %eax,%ebp
1561 roll $5,%edx
1562 movdqa %xmm10,48(%rsp)
1563 addl %edi,%ecx
1564 andl %ebp,%esi
1565 xorl %eax,%ebp
1566 pslld $2,%xmm0
1567 addl %edx,%ecx
1568 rorl $7,%edx
1569 psrld $30,%xmm9
1570 xorl %eax,%esi
1571 movl %ecx,%edi
1572 addl 8(%rsp),%ebx
1573 por %xmm9,%xmm0
1574 xorl %ebp,%edx
1575 roll $5,%ecx
1576 pshufd $238,%xmm7,%xmm10
1577 addl %esi,%ebx
1578 andl %edx,%edi
1579 xorl %ebp,%edx
1580 addl %ecx,%ebx
1581 addl 12(%rsp),%eax
1582 xorl %ebp,%edi
1583 movl %ebx,%esi
1584 roll $5,%ebx
1585 addl %edi,%eax
1586 xorl %edx,%esi
1587 rorl $7,%ecx
1588 addl %ebx,%eax
1589 pxor %xmm5,%xmm1
1590 addl 16(%rsp),%ebp
1591 xorl %ecx,%esi
1592 punpcklqdq %xmm0,%xmm10
1593 movl %eax,%edi
1594 roll $5,%eax
1595 pxor %xmm2,%xmm1
1596 addl %esi,%ebp
1597 xorl %ecx,%edi
1598 movdqa %xmm8,%xmm9
1599 rorl $7,%ebx
1600 paddd %xmm0,%xmm8
1601 addl %eax,%ebp
1602 pxor %xmm10,%xmm1
1603 addl 20(%rsp),%edx
1604 xorl %ebx,%edi
1605 movl %ebp,%esi
1606 roll $5,%ebp
1607 movdqa %xmm1,%xmm10
1608 addl %edi,%edx
1609 xorl %ebx,%esi
1610 movdqa %xmm8,0(%rsp)
1611 rorl $7,%eax
1612 addl %ebp,%edx
1613 addl 24(%rsp),%ecx
1614 pslld $2,%xmm1
1615 xorl %eax,%esi
1616 movl %edx,%edi
1617 psrld $30,%xmm10
1618 roll $5,%edx
1619 addl %esi,%ecx
1620 xorl %eax,%edi
1621 rorl $7,%ebp
1622 por %xmm10,%xmm1
1623 addl %edx,%ecx
1624 addl 28(%rsp),%ebx
1625 pshufd $238,%xmm0,%xmm8
1626 xorl %ebp,%edi
1627 movl %ecx,%esi
1628 roll $5,%ecx
1629 addl %edi,%ebx
1630 xorl %ebp,%esi
1631 rorl $7,%edx
1632 addl %ecx,%ebx
1633 pxor %xmm6,%xmm2
1634 addl 32(%rsp),%eax
1635 xorl %edx,%esi
1636 punpcklqdq %xmm1,%xmm8
1637 movl %ebx,%edi
1638 roll $5,%ebx
1639 pxor %xmm3,%xmm2
1640 addl %esi,%eax
1641 xorl %edx,%edi
1642 movdqa 0(%r11),%xmm10
1643 rorl $7,%ecx
1644 paddd %xmm1,%xmm9
1645 addl %ebx,%eax
1646 pxor %xmm8,%xmm2
1647 addl 36(%rsp),%ebp
1648 xorl %ecx,%edi
1649 movl %eax,%esi
1650 roll $5,%eax
1651 movdqa %xmm2,%xmm8
1652 addl %edi,%ebp
1653 xorl %ecx,%esi
1654 movdqa %xmm9,16(%rsp)
1655 rorl $7,%ebx
1656 addl %eax,%ebp
1657 addl 40(%rsp),%edx
1658 pslld $2,%xmm2
1659 xorl %ebx,%esi
1660 movl %ebp,%edi
1661 psrld $30,%xmm8
1662 roll $5,%ebp
1663 addl %esi,%edx
1664 xorl %ebx,%edi
1665 rorl $7,%eax
1666 por %xmm8,%xmm2
1667 addl %ebp,%edx
1668 addl 44(%rsp),%ecx
1669 pshufd $238,%xmm1,%xmm9
1670 xorl %eax,%edi
1671 movl %edx,%esi
1672 roll $5,%edx
1673 addl %edi,%ecx
1674 xorl %eax,%esi
1675 rorl $7,%ebp
1676 addl %edx,%ecx
1677 pxor %xmm7,%xmm3
1678 addl 48(%rsp),%ebx
1679 xorl %ebp,%esi
1680 punpcklqdq %xmm2,%xmm9
1681 movl %ecx,%edi
1682 roll $5,%ecx
1683 pxor %xmm4,%xmm3
1684 addl %esi,%ebx
1685 xorl %ebp,%edi
1686 movdqa %xmm10,%xmm8
1687 rorl $7,%edx
1688 paddd %xmm2,%xmm10
1689 addl %ecx,%ebx
1690 pxor %xmm9,%xmm3
1691 addl 52(%rsp),%eax
1692 xorl %edx,%edi
1693 movl %ebx,%esi
1694 roll $5,%ebx
1695 movdqa %xmm3,%xmm9
1696 addl %edi,%eax
1697 xorl %edx,%esi
1698 movdqa %xmm10,32(%rsp)
1699 rorl $7,%ecx
1700 addl %ebx,%eax
1701 addl 56(%rsp),%ebp
1702 pslld $2,%xmm3
1703 xorl %ecx,%esi
1704 movl %eax,%edi
1705 psrld $30,%xmm9
1706 roll $5,%eax
1707 addl %esi,%ebp
1708 xorl %ecx,%edi
1709 rorl $7,%ebx
1710 por %xmm9,%xmm3
1711 addl %eax,%ebp
1712 addl 60(%rsp),%edx
1713 pshufd $238,%xmm2,%xmm10
1714 xorl %ebx,%edi
1715 movl %ebp,%esi
1716 roll $5,%ebp
1717 addl %edi,%edx
1718 xorl %ebx,%esi
1719 rorl $7,%eax
1720 addl %ebp,%edx
1721 pxor %xmm0,%xmm4
1722 addl 0(%rsp),%ecx
1723 xorl %eax,%esi
1724 punpcklqdq %xmm3,%xmm10
1725 movl %edx,%edi
1726 roll $5,%edx
1727 pxor %xmm5,%xmm4
1728 addl %esi,%ecx
1729 xorl %eax,%edi
1730 movdqa %xmm8,%xmm9
1731 rorl $7,%ebp
1732 paddd %xmm3,%xmm8
1733 addl %edx,%ecx
1734 pxor %xmm10,%xmm4
1735 addl 4(%rsp),%ebx
1736 xorl %ebp,%edi
1737 movl %ecx,%esi
1738 roll $5,%ecx
1739 movdqa %xmm4,%xmm10
1740 addl %edi,%ebx
1741 xorl %ebp,%esi
1742 movdqa %xmm8,48(%rsp)
1743 rorl $7,%edx
1744 addl %ecx,%ebx
1745 addl 8(%rsp),%eax
1746 pslld $2,%xmm4
1747 xorl %edx,%esi
1748 movl %ebx,%edi
1749 psrld $30,%xmm10
1750 roll $5,%ebx
1751 addl %esi,%eax
1752 xorl %edx,%edi
1753 rorl $7,%ecx
1754 por %xmm10,%xmm4
1755 addl %ebx,%eax
1756 addl 12(%rsp),%ebp
1757 pshufd $238,%xmm3,%xmm8
1758 xorl %ecx,%edi
1759 movl %eax,%esi
1760 roll $5,%eax
1761 addl %edi,%ebp
1762 xorl %ecx,%esi
1763 rorl $7,%ebx
1764 addl %eax,%ebp
1765 pxor %xmm1,%xmm5
1766 addl 16(%rsp),%edx
1767 xorl %ebx,%esi
1768 punpcklqdq %xmm4,%xmm8
1769 movl %ebp,%edi
1770 roll $5,%ebp
1771 pxor %xmm6,%xmm5
1772 addl %esi,%edx
1773 xorl %ebx,%edi
1774 movdqa %xmm9,%xmm10
1775 rorl $7,%eax
1776 paddd %xmm4,%xmm9
1777 addl %ebp,%edx
1778 pxor %xmm8,%xmm5
1779 addl 20(%rsp),%ecx
1780 xorl %eax,%edi
1781 movl %edx,%esi
1782 roll $5,%edx
1783 movdqa %xmm5,%xmm8
1784 addl %edi,%ecx
1785 xorl %eax,%esi
1786 movdqa %xmm9,0(%rsp)
1787 rorl $7,%ebp
1788 addl %edx,%ecx
1789 addl 24(%rsp),%ebx
1790 pslld $2,%xmm5
1791 xorl %ebp,%esi
1792 movl %ecx,%edi
1793 psrld $30,%xmm8
1794 roll $5,%ecx
1795 addl %esi,%ebx
1796 xorl %ebp,%edi
1797 rorl $7,%edx
1798 por %xmm8,%xmm5
1799 addl %ecx,%ebx
1800 addl 28(%rsp),%eax
1801 pshufd $238,%xmm4,%xmm9
1802 rorl $7,%ecx
1803 movl %ebx,%esi
1804 xorl %edx,%edi
1805 roll $5,%ebx
1806 addl %edi,%eax
1807 xorl %ecx,%esi
1808 xorl %edx,%ecx
1809 addl %ebx,%eax
1810 pxor %xmm2,%xmm6
1811 addl 32(%rsp),%ebp
1812 andl %ecx,%esi
1813 xorl %edx,%ecx
1814 rorl $7,%ebx
1815 punpcklqdq %xmm5,%xmm9
1816 movl %eax,%edi
1817 xorl %ecx,%esi
1818 pxor %xmm7,%xmm6
1819 roll $5,%eax
1820 addl %esi,%ebp
1821 movdqa %xmm10,%xmm8
1822 xorl %ebx,%edi
1823 paddd %xmm5,%xmm10
1824 xorl %ecx,%ebx
1825 pxor %xmm9,%xmm6
1826 addl %eax,%ebp
1827 addl 36(%rsp),%edx
1828 andl %ebx,%edi
1829 xorl %ecx,%ebx
1830 rorl $7,%eax
1831 movdqa %xmm6,%xmm9
1832 movl %ebp,%esi
1833 xorl %ebx,%edi
1834 movdqa %xmm10,16(%rsp)
1835 roll $5,%ebp
1836 addl %edi,%edx
1837 xorl %eax,%esi
1838 pslld $2,%xmm6
1839 xorl %ebx,%eax
1840 addl %ebp,%edx
1841 psrld $30,%xmm9
1842 addl 40(%rsp),%ecx
1843 andl %eax,%esi
1844 xorl %ebx,%eax
1845 por %xmm9,%xmm6
1846 rorl $7,%ebp
1847 movl %edx,%edi
1848 xorl %eax,%esi
1849 roll $5,%edx
1850 pshufd $238,%xmm5,%xmm10
1851 addl %esi,%ecx
1852 xorl %ebp,%edi
1853 xorl %eax,%ebp
1854 addl %edx,%ecx
1855 addl 44(%rsp),%ebx
1856 andl %ebp,%edi
1857 xorl %eax,%ebp
1858 rorl $7,%edx
1859 movl %ecx,%esi
1860 xorl %ebp,%edi
1861 roll $5,%ecx
1862 addl %edi,%ebx
1863 xorl %edx,%esi
1864 xorl %ebp,%edx
1865 addl %ecx,%ebx
1866 pxor %xmm3,%xmm7
1867 addl 48(%rsp),%eax
1868 andl %edx,%esi
1869 xorl %ebp,%edx
1870 rorl $7,%ecx
1871 punpcklqdq %xmm6,%xmm10
1872 movl %ebx,%edi
1873 xorl %edx,%esi
1874 pxor %xmm0,%xmm7
1875 roll $5,%ebx
1876 addl %esi,%eax
1877 movdqa 32(%r11),%xmm9
1878 xorl %ecx,%edi
1879 paddd %xmm6,%xmm8
1880 xorl %edx,%ecx
1881 pxor %xmm10,%xmm7
1882 addl %ebx,%eax
1883 addl 52(%rsp),%ebp
1884 andl %ecx,%edi
1885 xorl %edx,%ecx
1886 rorl $7,%ebx
1887 movdqa %xmm7,%xmm10
1888 movl %eax,%esi
1889 xorl %ecx,%edi
1890 movdqa %xmm8,32(%rsp)
1891 roll $5,%eax
1892 addl %edi,%ebp
1893 xorl %ebx,%esi
1894 pslld $2,%xmm7
1895 xorl %ecx,%ebx
1896 addl %eax,%ebp
1897 psrld $30,%xmm10
1898 addl 56(%rsp),%edx
1899 andl %ebx,%esi
1900 xorl %ecx,%ebx
1901 por %xmm10,%xmm7
1902 rorl $7,%eax
1903 movl %ebp,%edi
1904 xorl %ebx,%esi
1905 roll $5,%ebp
1906 pshufd $238,%xmm6,%xmm8
1907 addl %esi,%edx
1908 xorl %eax,%edi
1909 xorl %ebx,%eax
1910 addl %ebp,%edx
1911 addl 60(%rsp),%ecx
1912 andl %eax,%edi
1913 xorl %ebx,%eax
1914 rorl $7,%ebp
1915 movl %edx,%esi
1916 xorl %eax,%edi
1917 roll $5,%edx
1918 addl %edi,%ecx
1919 xorl %ebp,%esi
1920 xorl %eax,%ebp
1921 addl %edx,%ecx
1922 pxor %xmm4,%xmm0
1923 addl 0(%rsp),%ebx
1924 andl %ebp,%esi
1925 xorl %eax,%ebp
1926 rorl $7,%edx
1927 punpcklqdq %xmm7,%xmm8
1928 movl %ecx,%edi
1929 xorl %ebp,%esi
1930 pxor %xmm1,%xmm0
1931 roll $5,%ecx
1932 addl %esi,%ebx
1933 movdqa %xmm9,%xmm10
1934 xorl %edx,%edi
1935 paddd %xmm7,%xmm9
1936 xorl %ebp,%edx
1937 pxor %xmm8,%xmm0
1938 addl %ecx,%ebx
1939 addl 4(%rsp),%eax
1940 andl %edx,%edi
1941 xorl %ebp,%edx
1942 rorl $7,%ecx
1943 movdqa %xmm0,%xmm8
1944 movl %ebx,%esi
1945 xorl %edx,%edi
1946 movdqa %xmm9,48(%rsp)
1947 roll $5,%ebx
1948 addl %edi,%eax
1949 xorl %ecx,%esi
1950 pslld $2,%xmm0
1951 xorl %edx,%ecx
1952 addl %ebx,%eax
1953 psrld $30,%xmm8
1954 addl 8(%rsp),%ebp
1955 andl %ecx,%esi
1956 xorl %edx,%ecx
1957 por %xmm8,%xmm0
1958 rorl $7,%ebx
1959 movl %eax,%edi
1960 xorl %ecx,%esi
1961 roll $5,%eax
1962 pshufd $238,%xmm7,%xmm9
1963 addl %esi,%ebp
1964 xorl %ebx,%edi
1965 xorl %ecx,%ebx
1966 addl %eax,%ebp
1967 addl 12(%rsp),%edx
1968 andl %ebx,%edi
1969 xorl %ecx,%ebx
1970 rorl $7,%eax
1971 movl %ebp,%esi
1972 xorl %ebx,%edi
1973 roll $5,%ebp
1974 addl %edi,%edx
1975 xorl %eax,%esi
1976 xorl %ebx,%eax
1977 addl %ebp,%edx
1978 pxor %xmm5,%xmm1
1979 addl 16(%rsp),%ecx
1980 andl %eax,%esi
1981 xorl %ebx,%eax
1982 rorl $7,%ebp
1983 punpcklqdq %xmm0,%xmm9
1984 movl %edx,%edi
1985 xorl %eax,%esi
1986 pxor %xmm2,%xmm1
1987 roll $5,%edx
1988 addl %esi,%ecx
1989 movdqa %xmm10,%xmm8
1990 xorl %ebp,%edi
1991 paddd %xmm0,%xmm10
1992 xorl %eax,%ebp
1993 pxor %xmm9,%xmm1
1994 addl %edx,%ecx
1995 addl 20(%rsp),%ebx
1996 andl %ebp,%edi
1997 xorl %eax,%ebp
1998 rorl $7,%edx
1999 movdqa %xmm1,%xmm9
2000 movl %ecx,%esi
2001 xorl %ebp,%edi
2002 movdqa %xmm10,0(%rsp)
2003 roll $5,%ecx
2004 addl %edi,%ebx
2005 xorl %edx,%esi
2006 pslld $2,%xmm1
2007 xorl %ebp,%edx
2008 addl %ecx,%ebx
2009 psrld $30,%xmm9
2010 addl 24(%rsp),%eax
2011 andl %edx,%esi
2012 xorl %ebp,%edx
2013 por %xmm9,%xmm1
2014 rorl $7,%ecx
2015 movl %ebx,%edi
2016 xorl %edx,%esi
2017 roll $5,%ebx
2018 pshufd $238,%xmm0,%xmm10
2019 addl %esi,%eax
2020 xorl %ecx,%edi
2021 xorl %edx,%ecx
2022 addl %ebx,%eax
2023 addl 28(%rsp),%ebp
2024 andl %ecx,%edi
2025 xorl %edx,%ecx
2026 rorl $7,%ebx
2027 movl %eax,%esi
2028 xorl %ecx,%edi
2029 roll $5,%eax
2030 addl %edi,%ebp
2031 xorl %ebx,%esi
2032 xorl %ecx,%ebx
2033 addl %eax,%ebp
2034 pxor %xmm6,%xmm2
2035 addl 32(%rsp),%edx
2036 andl %ebx,%esi
2037 xorl %ecx,%ebx
2038 rorl $7,%eax
2039 punpcklqdq %xmm1,%xmm10
2040 movl %ebp,%edi
2041 xorl %ebx,%esi
2042 pxor %xmm3,%xmm2
2043 roll $5,%ebp
2044 addl %esi,%edx
2045 movdqa %xmm8,%xmm9
2046 xorl %eax,%edi
2047 paddd %xmm1,%xmm8
2048 xorl %ebx,%eax
2049 pxor %xmm10,%xmm2
2050 addl %ebp,%edx
2051 addl 36(%rsp),%ecx
2052 andl %eax,%edi
2053 xorl %ebx,%eax
2054 rorl $7,%ebp
2055 movdqa %xmm2,%xmm10
2056 movl %edx,%esi
2057 xorl %eax,%edi
2058 movdqa %xmm8,16(%rsp)
2059 roll $5,%edx
2060 addl %edi,%ecx
2061 xorl %ebp,%esi
2062 pslld $2,%xmm2
2063 xorl %eax,%ebp
2064 addl %edx,%ecx
2065 psrld $30,%xmm10
2066 addl 40(%rsp),%ebx
2067 andl %ebp,%esi
2068 xorl %eax,%ebp
2069 por %xmm10,%xmm2
2070 rorl $7,%edx
2071 movl %ecx,%edi
2072 xorl %ebp,%esi
2073 roll $5,%ecx
2074 pshufd $238,%xmm1,%xmm8
2075 addl %esi,%ebx
2076 xorl %edx,%edi
2077 xorl %ebp,%edx
2078 addl %ecx,%ebx
2079 addl 44(%rsp),%eax
2080 andl %edx,%edi
2081 xorl %ebp,%edx
2082 rorl $7,%ecx
2083 movl %ebx,%esi
2084 xorl %edx,%edi
2085 roll $5,%ebx
2086 addl %edi,%eax
2087 xorl %edx,%esi
2088 addl %ebx,%eax
2089 pxor %xmm7,%xmm3
2090 addl 48(%rsp),%ebp
2091 xorl %ecx,%esi
2092 punpcklqdq %xmm2,%xmm8
2093 movl %eax,%edi
2094 roll $5,%eax
2095 pxor %xmm4,%xmm3
2096 addl %esi,%ebp
2097 xorl %ecx,%edi
2098 movdqa %xmm9,%xmm10
2099 rorl $7,%ebx
2100 paddd %xmm2,%xmm9
2101 addl %eax,%ebp
2102 pxor %xmm8,%xmm3
2103 addl 52(%rsp),%edx
2104 xorl %ebx,%edi
2105 movl %ebp,%esi
2106 roll $5,%ebp
2107 movdqa %xmm3,%xmm8
2108 addl %edi,%edx
2109 xorl %ebx,%esi
2110 movdqa %xmm9,32(%rsp)
2111 rorl $7,%eax
2112 addl %ebp,%edx
2113 addl 56(%rsp),%ecx
2114 pslld $2,%xmm3
2115 xorl %eax,%esi
2116 movl %edx,%edi
2117 psrld $30,%xmm8
2118 roll $5,%edx
2119 addl %esi,%ecx
2120 xorl %eax,%edi
2121 rorl $7,%ebp
2122 por %xmm8,%xmm3
2123 addl %edx,%ecx
2124 addl 60(%rsp),%ebx
2125 xorl %ebp,%edi
2126 movl %ecx,%esi
2127 roll $5,%ecx
2128 addl %edi,%ebx
2129 xorl %ebp,%esi
2130 rorl $7,%edx
2131 addl %ecx,%ebx
2132 addl 0(%rsp),%eax
2133 xorl %edx,%esi
2134 movl %ebx,%edi
2135 roll $5,%ebx
2136 paddd %xmm3,%xmm10
2137 addl %esi,%eax
2138 xorl %edx,%edi
2139 movdqa %xmm10,48(%rsp)
2140 rorl $7,%ecx
2141 addl %ebx,%eax
2142 addl 4(%rsp),%ebp
2143 xorl %ecx,%edi
2144 movl %eax,%esi
2145 roll $5,%eax
2146 addl %edi,%ebp
2147 xorl %ecx,%esi
2148 rorl $7,%ebx
2149 addl %eax,%ebp
2150 addl 8(%rsp),%edx
2151 xorl %ebx,%esi
2152 movl %ebp,%edi
2153 roll $5,%ebp
2154 addl %esi,%edx
2155 xorl %ebx,%edi
2156 rorl $7,%eax
2157 addl %ebp,%edx
2158 addl 12(%rsp),%ecx
2159 xorl %eax,%edi
2160 movl %edx,%esi
2161 roll $5,%edx
2162 addl %edi,%ecx
2163 xorl %eax,%esi
2164 rorl $7,%ebp
2165 addl %edx,%ecx
2166 cmpq %r10,%r9
2167 je .Ldone_ssse3
2168 movdqa 64(%r11),%xmm6
2169 movdqa -64(%r11),%xmm9
2170 movdqu 0(%r9),%xmm0
2171 movdqu 16(%r9),%xmm1
2172 movdqu 32(%r9),%xmm2
2173 movdqu 48(%r9),%xmm3
2174 .byte 102,15,56,0,198
2175 addq $64,%r9
2176 addl 16(%rsp),%ebx
2177 xorl %ebp,%esi
2178 movl %ecx,%edi
2179 .byte 102,15,56,0,206
2180 roll $5,%ecx
2181 addl %esi,%ebx
2182 xorl %ebp,%edi
2183 rorl $7,%edx
2184 paddd %xmm9,%xmm0
2185 addl %ecx,%ebx
2186 addl 20(%rsp),%eax
2187 xorl %edx,%edi
2188 movl %ebx,%esi
2189 movdqa %xmm0,0(%rsp)
2190 roll $5,%ebx
2191 addl %edi,%eax
2192 xorl %edx,%esi
2193 rorl $7,%ecx
2194 psubd %xmm9,%xmm0
2195 addl %ebx,%eax
2196 addl 24(%rsp),%ebp
2197 xorl %ecx,%esi
2198 movl %eax,%edi
2199 roll $5,%eax
2200 addl %esi,%ebp
2201 xorl %ecx,%edi
2202 rorl $7,%ebx
2203 addl %eax,%ebp
2204 addl 28(%rsp),%edx
2205 xorl %ebx,%edi
2206 movl %ebp,%esi
2207 roll $5,%ebp
2208 addl %edi,%edx
2209 xorl %ebx,%esi
2210 rorl $7,%eax
2211 addl %ebp,%edx
2212 addl 32(%rsp),%ecx
2213 xorl %eax,%esi
2214 movl %edx,%edi
2215 .byte 102,15,56,0,214
2216 roll $5,%edx
2217 addl %esi,%ecx
2218 xorl %eax,%edi
2219 rorl $7,%ebp
2220 paddd %xmm9,%xmm1
2221 addl %edx,%ecx
2222 addl 36(%rsp),%ebx
2223 xorl %ebp,%edi
2224 movl %ecx,%esi
2225 movdqa %xmm1,16(%rsp)
2226 roll $5,%ecx
2227 addl %edi,%ebx
2228 xorl %ebp,%esi
2229 rorl $7,%edx
2230 psubd %xmm9,%xmm1
2231 addl %ecx,%ebx
2232 addl 40(%rsp),%eax
2233 xorl %edx,%esi
2234 movl %ebx,%edi
2235 roll $5,%ebx
2236 addl %esi,%eax
2237 xorl %edx,%edi
2238 rorl $7,%ecx
2239 addl %ebx,%eax
2240 addl 44(%rsp),%ebp
2241 xorl %ecx,%edi
2242 movl %eax,%esi
2243 roll $5,%eax
2244 addl %edi,%ebp
2245 xorl %ecx,%esi
2246 rorl $7,%ebx
2247 addl %eax,%ebp
2248 addl 48(%rsp),%edx
2249 xorl %ebx,%esi
2250 movl %ebp,%edi
2251 .byte 102,15,56,0,222
2252 roll $5,%ebp
2253 addl %esi,%edx
2254 xorl %ebx,%edi
2255 rorl $7,%eax
2256 paddd %xmm9,%xmm2
2257 addl %ebp,%edx
2258 addl 52(%rsp),%ecx
2259 xorl %eax,%edi
2260 movl %edx,%esi
2261 movdqa %xmm2,32(%rsp)
2262 roll $5,%edx
2263 addl %edi,%ecx
2264 xorl %eax,%esi
2265 rorl $7,%ebp
2266 psubd %xmm9,%xmm2
2267 addl %edx,%ecx
2268 addl 56(%rsp),%ebx
2269 xorl %ebp,%esi
2270 movl %ecx,%edi
2271 roll $5,%ecx
2272 addl %esi,%ebx
2273 xorl %ebp,%edi
2274 rorl $7,%edx
2275 addl %ecx,%ebx
2276 addl 60(%rsp),%eax
2277 xorl %edx,%edi
2278 movl %ebx,%esi
2279 roll $5,%ebx
2280 addl %edi,%eax
2281 rorl $7,%ecx
2282 addl %ebx,%eax
2283 addl 0(%r8),%eax
2284 addl 4(%r8),%esi
2285 addl 8(%r8),%ecx
2286 addl 12(%r8),%edx
2287 movl %eax,0(%r8)
2288 addl 16(%r8),%ebp
2289 movl %esi,4(%r8)
2290 movl %esi,%ebx
2291 movl %ecx,8(%r8)
2292 movl %ecx,%edi
2293 movl %edx,12(%r8)
2294 xorl %edx,%edi
2295 movl %ebp,16(%r8)
2296 andl %edi,%esi
2297 jmp .Loop_ssse3
2298
2299 .align 16
2300 .Ldone_ssse3:
2301 addl 16(%rsp),%ebx
2302 xorl %ebp,%esi
2303 movl %ecx,%edi
2304 roll $5,%ecx
2305 addl %esi,%ebx
2306 xorl %ebp,%edi
2307 rorl $7,%edx
2308 addl %ecx,%ebx
2309 addl 20(%rsp),%eax
2310 xorl %edx,%edi
2311 movl %ebx,%esi
2312 roll $5,%ebx
2313 addl %edi,%eax
2314 xorl %edx,%esi
2315 rorl $7,%ecx
2316 addl %ebx,%eax
2317 addl 24(%rsp),%ebp
2318 xorl %ecx,%esi
2319 movl %eax,%edi
2320 roll $5,%eax
2321 addl %esi,%ebp
2322 xorl %ecx,%edi
2323 rorl $7,%ebx
2324 addl %eax,%ebp
2325 addl 28(%rsp),%edx
2326 xorl %ebx,%edi
2327 movl %ebp,%esi
2328 roll $5,%ebp
2329 addl %edi,%edx
2330 xorl %ebx,%esi
2331 rorl $7,%eax
2332 addl %ebp,%edx
2333 addl 32(%rsp),%ecx
2334 xorl %eax,%esi
2335 movl %edx,%edi
2336 roll $5,%edx
2337 addl %esi,%ecx
2338 xorl %eax,%edi
2339 rorl $7,%ebp
2340 addl %edx,%ecx
2341 addl 36(%rsp),%ebx
2342 xorl %ebp,%edi
2343 movl %ecx,%esi
2344 roll $5,%ecx
2345 addl %edi,%ebx
2346 xorl %ebp,%esi
2347 rorl $7,%edx
2348 addl %ecx,%ebx
2349 addl 40(%rsp),%eax
2350 xorl %edx,%esi
2351 movl %ebx,%edi
2352 roll $5,%ebx
2353 addl %esi,%eax
2354 xorl %edx,%edi
2355 rorl $7,%ecx
2356 addl %ebx,%eax
2357 addl 44(%rsp),%ebp
2358 xorl %ecx,%edi
2359 movl %eax,%esi
2360 roll $5,%eax
2361 addl %edi,%ebp
2362 xorl %ecx,%esi
2363 rorl $7,%ebx
2364 addl %eax,%ebp
2365 addl 48(%rsp),%edx
2366 xorl %ebx,%esi
2367 movl %ebp,%edi
2368 roll $5,%ebp
2369 addl %esi,%edx
2370 xorl %ebx,%edi
2371 rorl $7,%eax
2372 addl %ebp,%edx
2373 addl 52(%rsp),%ecx
2374 xorl %eax,%edi
2375 movl %edx,%esi
2376 roll $5,%edx
2377 addl %edi,%ecx
2378 xorl %eax,%esi
2379 rorl $7,%ebp
2380 addl %edx,%ecx
2381 addl 56(%rsp),%ebx
2382 xorl %ebp,%esi
2383 movl %ecx,%edi
2384 roll $5,%ecx
2385 addl %esi,%ebx
2386 xorl %ebp,%edi
2387 rorl $7,%edx
2388 addl %ecx,%ebx
2389 addl 60(%rsp),%eax
2390 xorl %edx,%edi
2391 movl %ebx,%esi
2392 roll $5,%ebx
2393 addl %edi,%eax
2394 rorl $7,%ecx
2395 addl %ebx,%eax
2396 addl 0(%r8),%eax
2397 addl 4(%r8),%esi
2398 addl 8(%r8),%ecx
2399 movl %eax,0(%r8)
2400 addl 12(%r8),%edx
2401 movl %esi,4(%r8)
2402 addl 16(%r8),%ebp
2403 movl %ecx,8(%r8)
2404 movl %edx,12(%r8)
2405 movl %ebp,16(%r8)
2406 leaq (%r14),%rsi
2407 movq -40(%rsi),%r14
2408 movq -32(%rsi),%r13
2409 movq -24(%rsi),%r12
2410 movq -16(%rsi),%rbp
2411 movq -8(%rsi),%rbx
2412 leaq (%rsi),%rsp
2413 .Lepilogue_ssse3:
2414 .byte 0xf3,0xc3
2415 .size sha1_block_data_order_ssse3,.-sha1_block_data_order_ssse3
2416 .type sha1_block_data_order_avx,@function
2417 .align 16
2418 sha1_block_data_order_avx:
2419 _avx_shortcut:
2420 movq %rsp,%rax
2421 pushq %rbx
2422 pushq %rbp
2423 pushq %r12
2424 pushq %r13
2425 pushq %r14
2426 leaq -64(%rsp),%rsp
2427 vzeroupper
2428 movq %rax,%r14
2429 andq $-64,%rsp
2430 movq %rdi,%r8
2431 movq %rsi,%r9
2432 movq %rdx,%r10
2433
2434 shlq $6,%r10
2435 addq %r9,%r10
2436 leaq K_XX_XX+64(%rip),%r11
2437
2438 movl 0(%r8),%eax
2439 movl 4(%r8),%ebx
2440 movl 8(%r8),%ecx
2441 movl 12(%r8),%edx
2442 movl %ebx,%esi
2443 movl 16(%r8),%ebp
2444 movl %ecx,%edi
2445 xorl %edx,%edi
2446 andl %edi,%esi
2447
2448 vmovdqa 64(%r11),%xmm6
2449 vmovdqa -64(%r11),%xmm11
2450 vmovdqu 0(%r9),%xmm0
2451 vmovdqu 16(%r9),%xmm1
2452 vmovdqu 32(%r9),%xmm2
2453 vmovdqu 48(%r9),%xmm3
2454 vpshufb %xmm6,%xmm0,%xmm0
2455 addq $64,%r9
2456 vpshufb %xmm6,%xmm1,%xmm1
2457 vpshufb %xmm6,%xmm2,%xmm2
2458 vpshufb %xmm6,%xmm3,%xmm3
2459 vpaddd %xmm11,%xmm0,%xmm4
2460 vpaddd %xmm11,%xmm1,%xmm5
2461 vpaddd %xmm11,%xmm2,%xmm6
2462 vmovdqa %xmm4,0(%rsp)
2463 vmovdqa %xmm5,16(%rsp)
2464 vmovdqa %xmm6,32(%rsp)
2465 jmp .Loop_avx
2466 .align 16
2467 .Loop_avx:
2468 shrdl $2,%ebx,%ebx
2469 xorl %edx,%esi
2470 vpalignr $8,%xmm0,%xmm1,%xmm4
2471 movl %eax,%edi
2472 addl 0(%rsp),%ebp
2473 vpaddd %xmm3,%xmm11,%xmm9
2474 xorl %ecx,%ebx
2475 shldl $5,%eax,%eax
2476 vpsrldq $4,%xmm3,%xmm8
2477 addl %esi,%ebp
2478 andl %ebx,%edi
2479 vpxor %xmm0,%xmm4,%xmm4
2480 xorl %ecx,%ebx
2481 addl %eax,%ebp
2482 vpxor %xmm2,%xmm8,%xmm8
2483 shrdl $7,%eax,%eax
2484 xorl %ecx,%edi
2485 movl %ebp,%esi
2486 addl 4(%rsp),%edx
2487 vpxor %xmm8,%xmm4,%xmm4
2488 xorl %ebx,%eax
2489 shldl $5,%ebp,%ebp
2490 vmovdqa %xmm9,48(%rsp)
2491 addl %edi,%edx
2492 andl %eax,%esi
2493 vpsrld $31,%xmm4,%xmm8
2494 xorl %ebx,%eax
2495 addl %ebp,%edx
2496 shrdl $7,%ebp,%ebp
2497 xorl %ebx,%esi
2498 vpslldq $12,%xmm4,%xmm10
2499 vpaddd %xmm4,%xmm4,%xmm4
2500 movl %edx,%edi
2501 addl 8(%rsp),%ecx
2502 xorl %eax,%ebp
2503 shldl $5,%edx,%edx
2504 vpsrld $30,%xmm10,%xmm9
2505 vpor %xmm8,%xmm4,%xmm4
2506 addl %esi,%ecx
2507 andl %ebp,%edi
2508 xorl %eax,%ebp
2509 addl %edx,%ecx
2510 vpslld $2,%xmm10,%xmm10
2511 vpxor %xmm9,%xmm4,%xmm4
2512 shrdl $7,%edx,%edx
2513 xorl %eax,%edi
2514 movl %ecx,%esi
2515 addl 12(%rsp),%ebx
2516 vpxor %xmm10,%xmm4,%xmm4
2517 xorl %ebp,%edx
2518 shldl $5,%ecx,%ecx
2519 addl %edi,%ebx
2520 andl %edx,%esi
2521 xorl %ebp,%edx
2522 addl %ecx,%ebx
2523 shrdl $7,%ecx,%ecx
2524 xorl %ebp,%esi
2525 vpalignr $8,%xmm1,%xmm2,%xmm5
2526 movl %ebx,%edi
2527 addl 16(%rsp),%eax
2528 vpaddd %xmm4,%xmm11,%xmm9
2529 xorl %edx,%ecx
2530 shldl $5,%ebx,%ebx
2531 vpsrldq $4,%xmm4,%xmm8
2532 addl %esi,%eax
2533 andl %ecx,%edi
2534 vpxor %xmm1,%xmm5,%xmm5
2535 xorl %edx,%ecx
2536 addl %ebx,%eax
2537 vpxor %xmm3,%xmm8,%xmm8
2538 shrdl $7,%ebx,%ebx
2539 xorl %edx,%edi
2540 movl %eax,%esi
2541 addl 20(%rsp),%ebp
2542 vpxor %xmm8,%xmm5,%xmm5
2543 xorl %ecx,%ebx
2544 shldl $5,%eax,%eax
2545 vmovdqa %xmm9,0(%rsp)
2546 addl %edi,%ebp
2547 andl %ebx,%esi
2548 vpsrld $31,%xmm5,%xmm8
2549 xorl %ecx,%ebx
2550 addl %eax,%ebp
2551 shrdl $7,%eax,%eax
2552 xorl %ecx,%esi
2553 vpslldq $12,%xmm5,%xmm10
2554 vpaddd %xmm5,%xmm5,%xmm5
2555 movl %ebp,%edi
2556 addl 24(%rsp),%edx
2557 xorl %ebx,%eax
2558 shldl $5,%ebp,%ebp
2559 vpsrld $30,%xmm10,%xmm9
2560 vpor %xmm8,%xmm5,%xmm5
2561 addl %esi,%edx
2562 andl %eax,%edi
2563 xorl %ebx,%eax
2564 addl %ebp,%edx
2565 vpslld $2,%xmm10,%xmm10
2566 vpxor %xmm9,%xmm5,%xmm5
2567 shrdl $7,%ebp,%ebp
2568 xorl %ebx,%edi
2569 movl %edx,%esi
2570 addl 28(%rsp),%ecx
2571 vpxor %xmm10,%xmm5,%xmm5
2572 xorl %eax,%ebp
2573 shldl $5,%edx,%edx
2574 vmovdqa -32(%r11),%xmm11
2575 addl %edi,%ecx
2576 andl %ebp,%esi
2577 xorl %eax,%ebp
2578 addl %edx,%ecx
2579 shrdl $7,%edx,%edx
2580 xorl %eax,%esi
2581 vpalignr $8,%xmm2,%xmm3,%xmm6
2582 movl %ecx,%edi
2583 addl 32(%rsp),%ebx
2584 vpaddd %xmm5,%xmm11,%xmm9
2585 xorl %ebp,%edx
2586 shldl $5,%ecx,%ecx
2587 vpsrldq $4,%xmm5,%xmm8
2588 addl %esi,%ebx
2589 andl %edx,%edi
2590 vpxor %xmm2,%xmm6,%xmm6
2591 xorl %ebp,%edx
2592 addl %ecx,%ebx
2593 vpxor %xmm4,%xmm8,%xmm8
2594 shrdl $7,%ecx,%ecx
2595 xorl %ebp,%edi
2596 movl %ebx,%esi
2597 addl 36(%rsp),%eax
2598 vpxor %xmm8,%xmm6,%xmm6
2599 xorl %edx,%ecx
2600 shldl $5,%ebx,%ebx
2601 vmovdqa %xmm9,16(%rsp)
2602 addl %edi,%eax
2603 andl %ecx,%esi
2604 vpsrld $31,%xmm6,%xmm8
2605 xorl %edx,%ecx
2606 addl %ebx,%eax
2607 shrdl $7,%ebx,%ebx
2608 xorl %edx,%esi
2609 vpslldq $12,%xmm6,%xmm10
2610 vpaddd %xmm6,%xmm6,%xmm6
2611 movl %eax,%edi
2612 addl 40(%rsp),%ebp
2613 xorl %ecx,%ebx
2614 shldl $5,%eax,%eax
2615 vpsrld $30,%xmm10,%xmm9
2616 vpor %xmm8,%xmm6,%xmm6
2617 addl %esi,%ebp
2618 andl %ebx,%edi
2619 xorl %ecx,%ebx
2620 addl %eax,%ebp
2621 vpslld $2,%xmm10,%xmm10
2622 vpxor %xmm9,%xmm6,%xmm6
2623 shrdl $7,%eax,%eax
2624 xorl %ecx,%edi
2625 movl %ebp,%esi
2626 addl 44(%rsp),%edx
2627 vpxor %xmm10,%xmm6,%xmm6
2628 xorl %ebx,%eax
2629 shldl $5,%ebp,%ebp
2630 addl %edi,%edx
2631 andl %eax,%esi
2632 xorl %ebx,%eax
2633 addl %ebp,%edx
2634 shrdl $7,%ebp,%ebp
2635 xorl %ebx,%esi
2636 vpalignr $8,%xmm3,%xmm4,%xmm7
2637 movl %edx,%edi
2638 addl 48(%rsp),%ecx
2639 vpaddd %xmm6,%xmm11,%xmm9
2640 xorl %eax,%ebp
2641 shldl $5,%edx,%edx
2642 vpsrldq $4,%xmm6,%xmm8
2643 addl %esi,%ecx
2644 andl %ebp,%edi
2645 vpxor %xmm3,%xmm7,%xmm7
2646 xorl %eax,%ebp
2647 addl %edx,%ecx
2648 vpxor %xmm5,%xmm8,%xmm8
2649 shrdl $7,%edx,%edx
2650 xorl %eax,%edi
2651 movl %ecx,%esi
2652 addl 52(%rsp),%ebx
2653 vpxor %xmm8,%xmm7,%xmm7
2654 xorl %ebp,%edx
2655 shldl $5,%ecx,%ecx
2656 vmovdqa %xmm9,32(%rsp)
2657 addl %edi,%ebx
2658 andl %edx,%esi
2659 vpsrld $31,%xmm7,%xmm8
2660 xorl %ebp,%edx
2661 addl %ecx,%ebx
2662 shrdl $7,%ecx,%ecx
2663 xorl %ebp,%esi
2664 vpslldq $12,%xmm7,%xmm10
2665 vpaddd %xmm7,%xmm7,%xmm7
2666 movl %ebx,%edi
2667 addl 56(%rsp),%eax
2668 xorl %edx,%ecx
2669 shldl $5,%ebx,%ebx
2670 vpsrld $30,%xmm10,%xmm9
2671 vpor %xmm8,%xmm7,%xmm7
2672 addl %esi,%eax
2673 andl %ecx,%edi
2674 xorl %edx,%ecx
2675 addl %ebx,%eax
2676 vpslld $2,%xmm10,%xmm10
2677 vpxor %xmm9,%xmm7,%xmm7
2678 shrdl $7,%ebx,%ebx
2679 xorl %edx,%edi
2680 movl %eax,%esi
2681 addl 60(%rsp),%ebp
2682 vpxor %xmm10,%xmm7,%xmm7
2683 xorl %ecx,%ebx
2684 shldl $5,%eax,%eax
2685 addl %edi,%ebp
2686 andl %ebx,%esi
2687 xorl %ecx,%ebx
2688 addl %eax,%ebp
2689 vpalignr $8,%xmm6,%xmm7,%xmm8
2690 vpxor %xmm4,%xmm0,%xmm0
2691 shrdl $7,%eax,%eax
2692 xorl %ecx,%esi
2693 movl %ebp,%edi
2694 addl 0(%rsp),%edx
2695 vpxor %xmm1,%xmm0,%xmm0
2696 xorl %ebx,%eax
2697 shldl $5,%ebp,%ebp
2698 vpaddd %xmm7,%xmm11,%xmm9
2699 addl %esi,%edx
2700 andl %eax,%edi
2701 vpxor %xmm8,%xmm0,%xmm0
2702 xorl %ebx,%eax
2703 addl %ebp,%edx
2704 shrdl $7,%ebp,%ebp
2705 xorl %ebx,%edi
2706 vpsrld $30,%xmm0,%xmm8
2707 vmovdqa %xmm9,48(%rsp)
2708 movl %edx,%esi
2709 addl 4(%rsp),%ecx
2710 xorl %eax,%ebp
2711 shldl $5,%edx,%edx
2712 vpslld $2,%xmm0,%xmm0
2713 addl %edi,%ecx
2714 andl %ebp,%esi
2715 xorl %eax,%ebp
2716 addl %edx,%ecx
2717 shrdl $7,%edx,%edx
2718 xorl %eax,%esi
2719 movl %ecx,%edi
2720 addl 8(%rsp),%ebx
2721 vpor %xmm8,%xmm0,%xmm0
2722 xorl %ebp,%edx
2723 shldl $5,%ecx,%ecx
2724 addl %esi,%ebx
2725 andl %edx,%edi
2726 xorl %ebp,%edx
2727 addl %ecx,%ebx
2728 addl 12(%rsp),%eax
2729 xorl %ebp,%edi
2730 movl %ebx,%esi
2731 shldl $5,%ebx,%ebx
2732 addl %edi,%eax
2733 xorl %edx,%esi
2734 shrdl $7,%ecx,%ecx
2735 addl %ebx,%eax
2736 vpalignr $8,%xmm7,%xmm0,%xmm8
2737 vpxor %xmm5,%xmm1,%xmm1
2738 addl 16(%rsp),%ebp
2739 xorl %ecx,%esi
2740 movl %eax,%edi
2741 shldl $5,%eax,%eax
2742 vpxor %xmm2,%xmm1,%xmm1
2743 addl %esi,%ebp
2744 xorl %ecx,%edi
2745 vpaddd %xmm0,%xmm11,%xmm9
2746 shrdl $7,%ebx,%ebx
2747 addl %eax,%ebp
2748 vpxor %xmm8,%xmm1,%xmm1
2749 addl 20(%rsp),%edx
2750 xorl %ebx,%edi
2751 movl %ebp,%esi
2752 shldl $5,%ebp,%ebp
2753 vpsrld $30,%xmm1,%xmm8
2754 vmovdqa %xmm9,0(%rsp)
2755 addl %edi,%edx
2756 xorl %ebx,%esi
2757 shrdl $7,%eax,%eax
2758 addl %ebp,%edx
2759 vpslld $2,%xmm1,%xmm1
2760 addl 24(%rsp),%ecx
2761 xorl %eax,%esi
2762 movl %edx,%edi
2763 shldl $5,%edx,%edx
2764 addl %esi,%ecx
2765 xorl %eax,%edi
2766 shrdl $7,%ebp,%ebp
2767 addl %edx,%ecx
2768 vpor %xmm8,%xmm1,%xmm1
2769 addl 28(%rsp),%ebx
2770 xorl %ebp,%edi
2771 movl %ecx,%esi
2772 shldl $5,%ecx,%ecx
2773 addl %edi,%ebx
2774 xorl %ebp,%esi
2775 shrdl $7,%edx,%edx
2776 addl %ecx,%ebx
2777 vpalignr $8,%xmm0,%xmm1,%xmm8
2778 vpxor %xmm6,%xmm2,%xmm2
2779 addl 32(%rsp),%eax
2780 xorl %edx,%esi
2781 movl %ebx,%edi
2782 shldl $5,%ebx,%ebx
2783 vpxor %xmm3,%xmm2,%xmm2
2784 addl %esi,%eax
2785 xorl %edx,%edi
2786 vpaddd %xmm1,%xmm11,%xmm9
2787 vmovdqa 0(%r11),%xmm11
2788 shrdl $7,%ecx,%ecx
2789 addl %ebx,%eax
2790 vpxor %xmm8,%xmm2,%xmm2
2791 addl 36(%rsp),%ebp
2792 xorl %ecx,%edi
2793 movl %eax,%esi
2794 shldl $5,%eax,%eax
2795 vpsrld $30,%xmm2,%xmm8
2796 vmovdqa %xmm9,16(%rsp)
2797 addl %edi,%ebp
2798 xorl %ecx,%esi
2799 shrdl $7,%ebx,%ebx
2800 addl %eax,%ebp
2801 vpslld $2,%xmm2,%xmm2
2802 addl 40(%rsp),%edx
2803 xorl %ebx,%esi
2804 movl %ebp,%edi
2805 shldl $5,%ebp,%ebp
2806 addl %esi,%edx
2807 xorl %ebx,%edi
2808 shrdl $7,%eax,%eax
2809 addl %ebp,%edx
2810 vpor %xmm8,%xmm2,%xmm2
2811 addl 44(%rsp),%ecx
2812 xorl %eax,%edi
2813 movl %edx,%esi
2814 shldl $5,%edx,%edx
2815 addl %edi,%ecx
2816 xorl %eax,%esi
2817 shrdl $7,%ebp,%ebp
2818 addl %edx,%ecx
2819 vpalignr $8,%xmm1,%xmm2,%xmm8
2820 vpxor %xmm7,%xmm3,%xmm3
2821 addl 48(%rsp),%ebx
2822 xorl %ebp,%esi
2823 movl %ecx,%edi
2824 shldl $5,%ecx,%ecx
2825 vpxor %xmm4,%xmm3,%xmm3
2826 addl %esi,%ebx
2827 xorl %ebp,%edi
2828 vpaddd %xmm2,%xmm11,%xmm9
2829 shrdl $7,%edx,%edx
2830 addl %ecx,%ebx
2831 vpxor %xmm8,%xmm3,%xmm3
2832 addl 52(%rsp),%eax
2833 xorl %edx,%edi
2834 movl %ebx,%esi
2835 shldl $5,%ebx,%ebx
2836 vpsrld $30,%xmm3,%xmm8
2837 vmovdqa %xmm9,32(%rsp)
2838 addl %edi,%eax
2839 xorl %edx,%esi
2840 shrdl $7,%ecx,%ecx
2841 addl %ebx,%eax
2842 vpslld $2,%xmm3,%xmm3
2843 addl 56(%rsp),%ebp
2844 xorl %ecx,%esi
2845 movl %eax,%edi
2846 shldl $5,%eax,%eax
2847 addl %esi,%ebp
2848 xorl %ecx,%edi
2849 shrdl $7,%ebx,%ebx
2850 addl %eax,%ebp
2851 vpor %xmm8,%xmm3,%xmm3
2852 addl 60(%rsp),%edx
2853 xorl %ebx,%edi
2854 movl %ebp,%esi
2855 shldl $5,%ebp,%ebp
2856 addl %edi,%edx
2857 xorl %ebx,%esi
2858 shrdl $7,%eax,%eax
2859 addl %ebp,%edx
2860 vpalignr $8,%xmm2,%xmm3,%xmm8
2861 vpxor %xmm0,%xmm4,%xmm4
2862 addl 0(%rsp),%ecx
2863 xorl %eax,%esi
2864 movl %edx,%edi
2865 shldl $5,%edx,%edx
2866 vpxor %xmm5,%xmm4,%xmm4
2867 addl %esi,%ecx
2868 xorl %eax,%edi
2869 vpaddd %xmm3,%xmm11,%xmm9
2870 shrdl $7,%ebp,%ebp
2871 addl %edx,%ecx
2872 vpxor %xmm8,%xmm4,%xmm4
2873 addl 4(%rsp),%ebx
2874 xorl %ebp,%edi
2875 movl %ecx,%esi
2876 shldl $5,%ecx,%ecx
2877 vpsrld $30,%xmm4,%xmm8
2878 vmovdqa %xmm9,48(%rsp)
2879 addl %edi,%ebx
2880 xorl %ebp,%esi
2881 shrdl $7,%edx,%edx
2882 addl %ecx,%ebx
2883 vpslld $2,%xmm4,%xmm4
2884 addl 8(%rsp),%eax
2885 xorl %edx,%esi
2886 movl %ebx,%edi
2887 shldl $5,%ebx,%ebx
2888 addl %esi,%eax
2889 xorl %edx,%edi
2890 shrdl $7,%ecx,%ecx
2891 addl %ebx,%eax
2892 vpor %xmm8,%xmm4,%xmm4
2893 addl 12(%rsp),%ebp
2894 xorl %ecx,%edi
2895 movl %eax,%esi
2896 shldl $5,%eax,%eax
2897 addl %edi,%ebp
2898 xorl %ecx,%esi
2899 shrdl $7,%ebx,%ebx
2900 addl %eax,%ebp
2901 vpalignr $8,%xmm3,%xmm4,%xmm8
2902 vpxor %xmm1,%xmm5,%xmm5
2903 addl 16(%rsp),%edx
2904 xorl %ebx,%esi
2905 movl %ebp,%edi
2906 shldl $5,%ebp,%ebp
2907 vpxor %xmm6,%xmm5,%xmm5
2908 addl %esi,%edx
2909 xorl %ebx,%edi
2910 vpaddd %xmm4,%xmm11,%xmm9
2911 shrdl $7,%eax,%eax
2912 addl %ebp,%edx
2913 vpxor %xmm8,%xmm5,%xmm5
2914 addl 20(%rsp),%ecx
2915 xorl %eax,%edi
2916 movl %edx,%esi
2917 shldl $5,%edx,%edx
2918 vpsrld $30,%xmm5,%xmm8
2919 vmovdqa %xmm9,0(%rsp)
2920 addl %edi,%ecx
2921 xorl %eax,%esi
2922 shrdl $7,%ebp,%ebp
2923 addl %edx,%ecx
2924 vpslld $2,%xmm5,%xmm5
2925 addl 24(%rsp),%ebx
2926 xorl %ebp,%esi
2927 movl %ecx,%edi
2928 shldl $5,%ecx,%ecx
2929 addl %esi,%ebx
2930 xorl %ebp,%edi
2931 shrdl $7,%edx,%edx
2932 addl %ecx,%ebx
2933 vpor %xmm8,%xmm5,%xmm5
2934 addl 28(%rsp),%eax
2935 shrdl $7,%ecx,%ecx
2936 movl %ebx,%esi
2937 xorl %edx,%edi
2938 shldl $5,%ebx,%ebx
2939 addl %edi,%eax
2940 xorl %ecx,%esi
2941 xorl %edx,%ecx
2942 addl %ebx,%eax
2943 vpalignr $8,%xmm4,%xmm5,%xmm8
2944 vpxor %xmm2,%xmm6,%xmm6
2945 addl 32(%rsp),%ebp
2946 andl %ecx,%esi
2947 xorl %edx,%ecx
2948 shrdl $7,%ebx,%ebx
2949 vpxor %xmm7,%xmm6,%xmm6
2950 movl %eax,%edi
2951 xorl %ecx,%esi
2952 vpaddd %xmm5,%xmm11,%xmm9
2953 shldl $5,%eax,%eax
2954 addl %esi,%ebp
2955 vpxor %xmm8,%xmm6,%xmm6
2956 xorl %ebx,%edi
2957 xorl %ecx,%ebx
2958 addl %eax,%ebp
2959 addl 36(%rsp),%edx
2960 vpsrld $30,%xmm6,%xmm8
2961 vmovdqa %xmm9,16(%rsp)
2962 andl %ebx,%edi
2963 xorl %ecx,%ebx
2964 shrdl $7,%eax,%eax
2965 movl %ebp,%esi
2966 vpslld $2,%xmm6,%xmm6
2967 xorl %ebx,%edi
2968 shldl $5,%ebp,%ebp
2969 addl %edi,%edx
2970 xorl %eax,%esi
2971 xorl %ebx,%eax
2972 addl %ebp,%edx
2973 addl 40(%rsp),%ecx
2974 andl %eax,%esi
2975 vpor %xmm8,%xmm6,%xmm6
2976 xorl %ebx,%eax
2977 shrdl $7,%ebp,%ebp
2978 movl %edx,%edi
2979 xorl %eax,%esi
2980 shldl $5,%edx,%edx
2981 addl %esi,%ecx
2982 xorl %ebp,%edi
2983 xorl %eax,%ebp
2984 addl %edx,%ecx
2985 addl 44(%rsp),%ebx
2986 andl %ebp,%edi
2987 xorl %eax,%ebp
2988 shrdl $7,%edx,%edx
2989 movl %ecx,%esi
2990 xorl %ebp,%edi
2991 shldl $5,%ecx,%ecx
2992 addl %edi,%ebx
2993 xorl %edx,%esi
2994 xorl %ebp,%edx
2995 addl %ecx,%ebx
2996 vpalignr $8,%xmm5,%xmm6,%xmm8
2997 vpxor %xmm3,%xmm7,%xmm7
2998 addl 48(%rsp),%eax
2999 andl %edx,%esi
3000 xorl %ebp,%edx
3001 shrdl $7,%ecx,%ecx
3002 vpxor %xmm0,%xmm7,%xmm7
3003 movl %ebx,%edi
3004 xorl %edx,%esi
3005 vpaddd %xmm6,%xmm11,%xmm9
3006 vmovdqa 32(%r11),%xmm11
3007 shldl $5,%ebx,%ebx
3008 addl %esi,%eax
3009 vpxor %xmm8,%xmm7,%xmm7
3010 xorl %ecx,%edi
3011 xorl %edx,%ecx
3012 addl %ebx,%eax
3013 addl 52(%rsp),%ebp
3014 vpsrld $30,%xmm7,%xmm8
3015 vmovdqa %xmm9,32(%rsp)
3016 andl %ecx,%edi
3017 xorl %edx,%ecx
3018 shrdl $7,%ebx,%ebx
3019 movl %eax,%esi
3020 vpslld $2,%xmm7,%xmm7
3021 xorl %ecx,%edi
3022 shldl $5,%eax,%eax
3023 addl %edi,%ebp
3024 xorl %ebx,%esi
3025 xorl %ecx,%ebx
3026 addl %eax,%ebp
3027 addl 56(%rsp),%edx
3028 andl %ebx,%esi
3029 vpor %xmm8,%xmm7,%xmm7
3030 xorl %ecx,%ebx
3031 shrdl $7,%eax,%eax
3032 movl %ebp,%edi
3033 xorl %ebx,%esi
3034 shldl $5,%ebp,%ebp
3035 addl %esi,%edx
3036 xorl %eax,%edi
3037 xorl %ebx,%eax
3038 addl %ebp,%edx
3039 addl 60(%rsp),%ecx
3040 andl %eax,%edi
3041 xorl %ebx,%eax
3042 shrdl $7,%ebp,%ebp
3043 movl %edx,%esi
3044 xorl %eax,%edi
3045 shldl $5,%edx,%edx
3046 addl %edi,%ecx
3047 xorl %ebp,%esi
3048 xorl %eax,%ebp
3049 addl %edx,%ecx
3050 vpalignr $8,%xmm6,%xmm7,%xmm8
3051 vpxor %xmm4,%xmm0,%xmm0
3052 addl 0(%rsp),%ebx
3053 andl %ebp,%esi
3054 xorl %eax,%ebp
3055 shrdl $7,%edx,%edx
3056 vpxor %xmm1,%xmm0,%xmm0
3057 movl %ecx,%edi
3058 xorl %ebp,%esi
3059 vpaddd %xmm7,%xmm11,%xmm9
3060 shldl $5,%ecx,%ecx
3061 addl %esi,%ebx
3062 vpxor %xmm8,%xmm0,%xmm0
3063 xorl %edx,%edi
3064 xorl %ebp,%edx
3065 addl %ecx,%ebx
3066 addl 4(%rsp),%eax
3067 vpsrld $30,%xmm0,%xmm8
3068 vmovdqa %xmm9,48(%rsp)
3069 andl %edx,%edi
3070 xorl %ebp,%edx
3071 shrdl $7,%ecx,%ecx
3072 movl %ebx,%esi
3073 vpslld $2,%xmm0,%xmm0
3074 xorl %edx,%edi
3075 shldl $5,%ebx,%ebx
3076 addl %edi,%eax
3077 xorl %ecx,%esi
3078 xorl %edx,%ecx
3079 addl %ebx,%eax
3080 addl 8(%rsp),%ebp
3081 andl %ecx,%esi
3082 vpor %xmm8,%xmm0,%xmm0
3083 xorl %edx,%ecx
3084 shrdl $7,%ebx,%ebx
3085 movl %eax,%edi
3086 xorl %ecx,%esi
3087 shldl $5,%eax,%eax
3088 addl %esi,%ebp
3089 xorl %ebx,%edi
3090 xorl %ecx,%ebx
3091 addl %eax,%ebp
3092 addl 12(%rsp),%edx
3093 andl %ebx,%edi
3094 xorl %ecx,%ebx
3095 shrdl $7,%eax,%eax
3096 movl %ebp,%esi
3097 xorl %ebx,%edi
3098 shldl $5,%ebp,%ebp
3099 addl %edi,%edx
3100 xorl %eax,%esi
3101 xorl %ebx,%eax
3102 addl %ebp,%edx
3103 vpalignr $8,%xmm7,%xmm0,%xmm8
3104 vpxor %xmm5,%xmm1,%xmm1
3105 addl 16(%rsp),%ecx
3106 andl %eax,%esi
3107 xorl %ebx,%eax
3108 shrdl $7,%ebp,%ebp
3109 vpxor %xmm2,%xmm1,%xmm1
3110 movl %edx,%edi
3111 xorl %eax,%esi
3112 vpaddd %xmm0,%xmm11,%xmm9
3113 shldl $5,%edx,%edx
3114 addl %esi,%ecx
3115 vpxor %xmm8,%xmm1,%xmm1
3116 xorl %ebp,%edi
3117 xorl %eax,%ebp
3118 addl %edx,%ecx
3119 addl 20(%rsp),%ebx
3120 vpsrld $30,%xmm1,%xmm8
3121 vmovdqa %xmm9,0(%rsp)
3122 andl %ebp,%edi
3123 xorl %eax,%ebp
3124 shrdl $7,%edx,%edx
3125 movl %ecx,%esi
3126 vpslld $2,%xmm1,%xmm1
3127 xorl %ebp,%edi
3128 shldl $5,%ecx,%ecx
3129 addl %edi,%ebx
3130 xorl %edx,%esi
3131 xorl %ebp,%edx
3132 addl %ecx,%ebx
3133 addl 24(%rsp),%eax
3134 andl %edx,%esi
3135 vpor %xmm8,%xmm1,%xmm1
3136 xorl %ebp,%edx
3137 shrdl $7,%ecx,%ecx
3138 movl %ebx,%edi
3139 xorl %edx,%esi
3140 shldl $5,%ebx,%ebx
3141 addl %esi,%eax
3142 xorl %ecx,%edi
3143 xorl %edx,%ecx
3144 addl %ebx,%eax
3145 addl 28(%rsp),%ebp
3146 andl %ecx,%edi
3147 xorl %edx,%ecx
3148 shrdl $7,%ebx,%ebx
3149 movl %eax,%esi
3150 xorl %ecx,%edi
3151 shldl $5,%eax,%eax
3152 addl %edi,%ebp
3153 xorl %ebx,%esi
3154 xorl %ecx,%ebx
3155 addl %eax,%ebp
3156 vpalignr $8,%xmm0,%xmm1,%xmm8
3157 vpxor %xmm6,%xmm2,%xmm2
3158 addl 32(%rsp),%edx
3159 andl %ebx,%esi
3160 xorl %ecx,%ebx
3161 shrdl $7,%eax,%eax
3162 vpxor %xmm3,%xmm2,%xmm2
3163 movl %ebp,%edi
3164 xorl %ebx,%esi
3165 vpaddd %xmm1,%xmm11,%xmm9
3166 shldl $5,%ebp,%ebp
3167 addl %esi,%edx
3168 vpxor %xmm8,%xmm2,%xmm2
3169 xorl %eax,%edi
3170 xorl %ebx,%eax
3171 addl %ebp,%edx
3172 addl 36(%rsp),%ecx
3173 vpsrld $30,%xmm2,%xmm8
3174 vmovdqa %xmm9,16(%rsp)
3175 andl %eax,%edi
3176 xorl %ebx,%eax
3177 shrdl $7,%ebp,%ebp
3178 movl %edx,%esi
3179 vpslld $2,%xmm2,%xmm2
3180 xorl %eax,%edi
3181 shldl $5,%edx,%edx
3182 addl %edi,%ecx
3183 xorl %ebp,%esi
3184 xorl %eax,%ebp
3185 addl %edx,%ecx
3186 addl 40(%rsp),%ebx
3187 andl %ebp,%esi
3188 vpor %xmm8,%xmm2,%xmm2
3189 xorl %eax,%ebp
3190 shrdl $7,%edx,%edx
3191 movl %ecx,%edi
3192 xorl %ebp,%esi
3193 shldl $5,%ecx,%ecx
3194 addl %esi,%ebx
3195 xorl %edx,%edi
3196 xorl %ebp,%edx
3197 addl %ecx,%ebx
3198 addl 44(%rsp),%eax
3199 andl %edx,%edi
3200 xorl %ebp,%edx
3201 shrdl $7,%ecx,%ecx
3202 movl %ebx,%esi
3203 xorl %edx,%edi
3204 shldl $5,%ebx,%ebx
3205 addl %edi,%eax
3206 xorl %edx,%esi
3207 addl %ebx,%eax
3208 vpalignr $8,%xmm1,%xmm2,%xmm8
3209 vpxor %xmm7,%xmm3,%xmm3
3210 addl 48(%rsp),%ebp
3211 xorl %ecx,%esi
3212 movl %eax,%edi
3213 shldl $5,%eax,%eax
3214 vpxor %xmm4,%xmm3,%xmm3
3215 addl %esi,%ebp
3216 xorl %ecx,%edi
3217 vpaddd %xmm2,%xmm11,%xmm9
3218 shrdl $7,%ebx,%ebx
3219 addl %eax,%ebp
3220 vpxor %xmm8,%xmm3,%xmm3
3221 addl 52(%rsp),%edx
3222 xorl %ebx,%edi
3223 movl %ebp,%esi
3224 shldl $5,%ebp,%ebp
3225 vpsrld $30,%xmm3,%xmm8
3226 vmovdqa %xmm9,32(%rsp)
3227 addl %edi,%edx
3228 xorl %ebx,%esi
3229 shrdl $7,%eax,%eax
3230 addl %ebp,%edx
3231 vpslld $2,%xmm3,%xmm3
3232 addl 56(%rsp),%ecx
3233 xorl %eax,%esi
3234 movl %edx,%edi
3235 shldl $5,%edx,%edx
3236 addl %esi,%ecx
3237 xorl %eax,%edi
3238 shrdl $7,%ebp,%ebp
3239 addl %edx,%ecx
3240 vpor %xmm8,%xmm3,%xmm3
3241 addl 60(%rsp),%ebx
3242 xorl %ebp,%edi
3243 movl %ecx,%esi
3244 shldl $5,%ecx,%ecx
3245 addl %edi,%ebx
3246 xorl %ebp,%esi
3247 shrdl $7,%edx,%edx
3248 addl %ecx,%ebx
3249 addl 0(%rsp),%eax
3250 vpaddd %xmm3,%xmm11,%xmm9
3251 xorl %edx,%esi
3252 movl %ebx,%edi
3253 shldl $5,%ebx,%ebx
3254 addl %esi,%eax
3255 vmovdqa %xmm9,48(%rsp)
3256 xorl %edx,%edi
3257 shrdl $7,%ecx,%ecx
3258 addl %ebx,%eax
3259 addl 4(%rsp),%ebp
3260 xorl %ecx,%edi
3261 movl %eax,%esi
3262 shldl $5,%eax,%eax
3263 addl %edi,%ebp
3264 xorl %ecx,%esi
3265 shrdl $7,%ebx,%ebx
3266 addl %eax,%ebp
3267 addl 8(%rsp),%edx
3268 xorl %ebx,%esi
3269 movl %ebp,%edi
3270 shldl $5,%ebp,%ebp
3271 addl %esi,%edx
3272 xorl %ebx,%edi
3273 shrdl $7,%eax,%eax
3274 addl %ebp,%edx
3275 addl 12(%rsp),%ecx
3276 xorl %eax,%edi
3277 movl %edx,%esi
3278 shldl $5,%edx,%edx
3279 addl %edi,%ecx
3280 xorl %eax,%esi
3281 shrdl $7,%ebp,%ebp
3282 addl %edx,%ecx
3283 cmpq %r10,%r9
3284 je .Ldone_avx
3285 vmovdqa 64(%r11),%xmm6
3286 vmovdqa -64(%r11),%xmm11
3287 vmovdqu 0(%r9),%xmm0
3288 vmovdqu 16(%r9),%xmm1
3289 vmovdqu 32(%r9),%xmm2
3290 vmovdqu 48(%r9),%xmm3
3291 vpshufb %xmm6,%xmm0,%xmm0
3292 addq $64,%r9
3293 addl 16(%rsp),%ebx
3294 xorl %ebp,%esi
3295 vpshufb %xmm6,%xmm1,%xmm1
3296 movl %ecx,%edi
3297 shldl $5,%ecx,%ecx
3298 vpaddd %xmm11,%xmm0,%xmm4
3299 addl %esi,%ebx
3300 xorl %ebp,%edi
3301 shrdl $7,%edx,%edx
3302 addl %ecx,%ebx
3303 vmovdqa %xmm4,0(%rsp)
3304 addl 20(%rsp),%eax
3305 xorl %edx,%edi
3306 movl %ebx,%esi
3307 shldl $5,%ebx,%ebx
3308 addl %edi,%eax
3309 xorl %edx,%esi
3310 shrdl $7,%ecx,%ecx
3311 addl %ebx,%eax
3312 addl 24(%rsp),%ebp
3313 xorl %ecx,%esi
3314 movl %eax,%edi
3315 shldl $5,%eax,%eax
3316 addl %esi,%ebp
3317 xorl %ecx,%edi
3318 shrdl $7,%ebx,%ebx
3319 addl %eax,%ebp
3320 addl 28(%rsp),%edx
3321 xorl %ebx,%edi
3322 movl %ebp,%esi
3323 shldl $5,%ebp,%ebp
3324 addl %edi,%edx
3325 xorl %ebx,%esi
3326 shrdl $7,%eax,%eax
3327 addl %ebp,%edx
3328 addl 32(%rsp),%ecx
3329 xorl %eax,%esi
3330 vpshufb %xmm6,%xmm2,%xmm2
3331 movl %edx,%edi
3332 shldl $5,%edx,%edx
3333 vpaddd %xmm11,%xmm1,%xmm5
3334 addl %esi,%ecx
3335 xorl %eax,%edi
3336 shrdl $7,%ebp,%ebp
3337 addl %edx,%ecx
3338 vmovdqa %xmm5,16(%rsp)
3339 addl 36(%rsp),%ebx
3340 xorl %ebp,%edi
3341 movl %ecx,%esi
3342 shldl $5,%ecx,%ecx
3343 addl %edi,%ebx
3344 xorl %ebp,%esi
3345 shrdl $7,%edx,%edx
3346 addl %ecx,%ebx
3347 addl 40(%rsp),%eax
3348 xorl %edx,%esi
3349 movl %ebx,%edi
3350 shldl $5,%ebx,%ebx
3351 addl %esi,%eax
3352 xorl %edx,%edi
3353 shrdl $7,%ecx,%ecx
3354 addl %ebx,%eax
3355 addl 44(%rsp),%ebp
3356 xorl %ecx,%edi
3357 movl %eax,%esi
3358 shldl $5,%eax,%eax
3359 addl %edi,%ebp
3360 xorl %ecx,%esi
3361 shrdl $7,%ebx,%ebx
3362 addl %eax,%ebp
3363 addl 48(%rsp),%edx
3364 xorl %ebx,%esi
3365 vpshufb %xmm6,%xmm3,%xmm3
3366 movl %ebp,%edi
3367 shldl $5,%ebp,%ebp
3368 vpaddd %xmm11,%xmm2,%xmm6
3369 addl %esi,%edx
3370 xorl %ebx,%edi
3371 shrdl $7,%eax,%eax
3372 addl %ebp,%edx
3373 vmovdqa %xmm6,32(%rsp)
3374 addl 52(%rsp),%ecx
3375 xorl %eax,%edi
3376 movl %edx,%esi
3377 shldl $5,%edx,%edx
3378 addl %edi,%ecx
3379 xorl %eax,%esi
3380 shrdl $7,%ebp,%ebp
3381 addl %edx,%ecx
3382 addl 56(%rsp),%ebx
3383 xorl %ebp,%esi
3384 movl %ecx,%edi
3385 shldl $5,%ecx,%ecx
3386 addl %esi,%ebx
3387 xorl %ebp,%edi
3388 shrdl $7,%edx,%edx
3389 addl %ecx,%ebx
3390 addl 60(%rsp),%eax
3391 xorl %edx,%edi
3392 movl %ebx,%esi
3393 shldl $5,%ebx,%ebx
3394 addl %edi,%eax
3395 shrdl $7,%ecx,%ecx
3396 addl %ebx,%eax
3397 addl 0(%r8),%eax
3398 addl 4(%r8),%esi
3399 addl 8(%r8),%ecx
3400 addl 12(%r8),%edx
3401 movl %eax,0(%r8)
3402 addl 16(%r8),%ebp
3403 movl %esi,4(%r8)
3404 movl %esi,%ebx
3405 movl %ecx,8(%r8)
3406 movl %ecx,%edi
3407 movl %edx,12(%r8)
3408 xorl %edx,%edi
3409 movl %ebp,16(%r8)
3410 andl %edi,%esi
3411 jmp .Loop_avx
3412
3413 .align 16
3414 .Ldone_avx:
3415 addl 16(%rsp),%ebx
3416 xorl %ebp,%esi
3417 movl %ecx,%edi
3418 shldl $5,%ecx,%ecx
3419 addl %esi,%ebx
3420 xorl %ebp,%edi
3421 shrdl $7,%edx,%edx
3422 addl %ecx,%ebx
3423 addl 20(%rsp),%eax
3424 xorl %edx,%edi
3425 movl %ebx,%esi
3426 shldl $5,%ebx,%ebx
3427 addl %edi,%eax
3428 xorl %edx,%esi
3429 shrdl $7,%ecx,%ecx
3430 addl %ebx,%eax
3431 addl 24(%rsp),%ebp
3432 xorl %ecx,%esi
3433 movl %eax,%edi
3434 shldl $5,%eax,%eax
3435 addl %esi,%ebp
3436 xorl %ecx,%edi
3437 shrdl $7,%ebx,%ebx
3438 addl %eax,%ebp
3439 addl 28(%rsp),%edx
3440 xorl %ebx,%edi
3441 movl %ebp,%esi
3442 shldl $5,%ebp,%ebp
3443 addl %edi,%edx
3444 xorl %ebx,%esi
3445 shrdl $7,%eax,%eax
3446 addl %ebp,%edx
3447 addl 32(%rsp),%ecx
3448 xorl %eax,%esi
3449 movl %edx,%edi
3450 shldl $5,%edx,%edx
3451 addl %esi,%ecx
3452 xorl %eax,%edi
3453 shrdl $7,%ebp,%ebp
3454 addl %edx,%ecx
3455 addl 36(%rsp),%ebx
3456 xorl %ebp,%edi
3457 movl %ecx,%esi
3458 shldl $5,%ecx,%ecx
3459 addl %edi,%ebx
3460 xorl %ebp,%esi
3461 shrdl $7,%edx,%edx
3462 addl %ecx,%ebx
3463 addl 40(%rsp),%eax
3464 xorl %edx,%esi
3465 movl %ebx,%edi
3466 shldl $5,%ebx,%ebx
3467 addl %esi,%eax
3468 xorl %edx,%edi
3469 shrdl $7,%ecx,%ecx
3470 addl %ebx,%eax
3471 addl 44(%rsp),%ebp
3472 xorl %ecx,%edi
3473 movl %eax,%esi
3474 shldl $5,%eax,%eax
3475 addl %edi,%ebp
3476 xorl %ecx,%esi
3477 shrdl $7,%ebx,%ebx
3478 addl %eax,%ebp
3479 addl 48(%rsp),%edx
3480 xorl %ebx,%esi
3481 movl %ebp,%edi
3482 shldl $5,%ebp,%ebp
3483 addl %esi,%edx
3484 xorl %ebx,%edi
3485 shrdl $7,%eax,%eax
3486 addl %ebp,%edx
3487 addl 52(%rsp),%ecx
3488 xorl %eax,%edi
3489 movl %edx,%esi
3490 shldl $5,%edx,%edx
3491 addl %edi,%ecx
3492 xorl %eax,%esi
3493 shrdl $7,%ebp,%ebp
3494 addl %edx,%ecx
3495 addl 56(%rsp),%ebx
3496 xorl %ebp,%esi
3497 movl %ecx,%edi
3498 shldl $5,%ecx,%ecx
3499 addl %esi,%ebx
3500 xorl %ebp,%edi
3501 shrdl $7,%edx,%edx
3502 addl %ecx,%ebx
3503 addl 60(%rsp),%eax
3504 xorl %edx,%edi
3505 movl %ebx,%esi
3506 shldl $5,%ebx,%ebx
3507 addl %edi,%eax
3508 shrdl $7,%ecx,%ecx
3509 addl %ebx,%eax
3510 vzeroupper
3511
3512 addl 0(%r8),%eax
3513 addl 4(%r8),%esi
3514 addl 8(%r8),%ecx
3515 movl %eax,0(%r8)
3516 addl 12(%r8),%edx
3517 movl %esi,4(%r8)
3518 addl 16(%r8),%ebp
3519 movl %ecx,8(%r8)
3520 movl %edx,12(%r8)
3521 movl %ebp,16(%r8)
3522 leaq (%r14),%rsi
3523 movq -40(%rsi),%r14
3524 movq -32(%rsi),%r13
3525 movq -24(%rsi),%r12
3526 movq -16(%rsi),%rbp
3527 movq -8(%rsi),%rbx
3528 leaq (%rsi),%rsp
3529 .Lepilogue_avx:
3530 .byte 0xf3,0xc3
3531 .size sha1_block_data_order_avx,.-sha1_block_data_order_avx
3532 .align 64
3533 K_XX_XX:
3534 .long 0x5a827999,0x5a827999,0x5a827999,0x5a827999
3535 .long 0x5a827999,0x5a827999,0x5a827999,0x5a827999
3536 .long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
3537 .long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
3538 .long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
3539 .long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
3540 .long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
3541 .long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
3542 .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
3543 .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
3544 .byte 0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0
3545 .byte 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,3 2,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,12 1,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
3546 .align 64
3547 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698