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