VirtualBox

source: vbox/trunk/src/libs/openssl-3.0.1/crypto/genasm-macosx/sha1-mb-x86_64.S@ 94081

Last change on this file since 94081 was 83531, checked in by vboxsync, 4 years ago

setting svn:sync-process=export for openssl-1.1.1f, all files except tests

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

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette