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