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