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