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

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

Powered by Google App Engine
This is Rietveld 408576698