Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/sys/crypto/openssl/amd64/sha256-mb-x86_64.S
39482 views
1
/* Do not modify. This file is auto-generated from sha256-mb-x86_64.pl. */
2
.text
3
4
5
6
.globl sha256_multi_block
7
.type sha256_multi_block,@function
8
.align 32
9
sha256_multi_block:
10
.cfi_startproc
11
movq OPENSSL_ia32cap_P+4(%rip),%rcx
12
btq $61,%rcx
13
jc _shaext_shortcut
14
testl $268435456,%ecx
15
jnz _avx_shortcut
16
movq %rsp,%rax
17
.cfi_def_cfa_register %rax
18
pushq %rbx
19
.cfi_offset %rbx,-16
20
pushq %rbp
21
.cfi_offset %rbp,-24
22
subq $288,%rsp
23
andq $-256,%rsp
24
movq %rax,272(%rsp)
25
.cfi_escape 0x0f,0x06,0x77,0x90,0x02,0x06,0x23,0x08
26
.Lbody:
27
leaq K256+128(%rip),%rbp
28
leaq 256(%rsp),%rbx
29
leaq 128(%rdi),%rdi
30
31
.Loop_grande:
32
movl %edx,280(%rsp)
33
xorl %edx,%edx
34
35
movq 0(%rsi),%r8
36
37
movl 8(%rsi),%ecx
38
cmpl %edx,%ecx
39
cmovgl %ecx,%edx
40
testl %ecx,%ecx
41
movl %ecx,0(%rbx)
42
cmovleq %rbp,%r8
43
44
movq 16(%rsi),%r9
45
46
movl 24(%rsi),%ecx
47
cmpl %edx,%ecx
48
cmovgl %ecx,%edx
49
testl %ecx,%ecx
50
movl %ecx,4(%rbx)
51
cmovleq %rbp,%r9
52
53
movq 32(%rsi),%r10
54
55
movl 40(%rsi),%ecx
56
cmpl %edx,%ecx
57
cmovgl %ecx,%edx
58
testl %ecx,%ecx
59
movl %ecx,8(%rbx)
60
cmovleq %rbp,%r10
61
62
movq 48(%rsi),%r11
63
64
movl 56(%rsi),%ecx
65
cmpl %edx,%ecx
66
cmovgl %ecx,%edx
67
testl %ecx,%ecx
68
movl %ecx,12(%rbx)
69
cmovleq %rbp,%r11
70
testl %edx,%edx
71
jz .Ldone
72
73
movdqu 0-128(%rdi),%xmm8
74
leaq 128(%rsp),%rax
75
movdqu 32-128(%rdi),%xmm9
76
movdqu 64-128(%rdi),%xmm10
77
movdqu 96-128(%rdi),%xmm11
78
movdqu 128-128(%rdi),%xmm12
79
movdqu 160-128(%rdi),%xmm13
80
movdqu 192-128(%rdi),%xmm14
81
movdqu 224-128(%rdi),%xmm15
82
movdqu .Lpbswap(%rip),%xmm6
83
jmp .Loop
84
85
.align 32
86
.Loop:
87
movdqa %xmm10,%xmm4
88
pxor %xmm9,%xmm4
89
movd 0(%r8),%xmm5
90
movd 0(%r9),%xmm0
91
movd 0(%r10),%xmm1
92
movd 0(%r11),%xmm2
93
punpckldq %xmm1,%xmm5
94
punpckldq %xmm2,%xmm0
95
punpckldq %xmm0,%xmm5
96
movdqa %xmm12,%xmm7
97
.byte 102,15,56,0,238
98
movdqa %xmm12,%xmm2
99
100
psrld $6,%xmm7
101
movdqa %xmm12,%xmm1
102
pslld $7,%xmm2
103
movdqa %xmm5,0-128(%rax)
104
paddd %xmm15,%xmm5
105
106
psrld $11,%xmm1
107
pxor %xmm2,%xmm7
108
pslld $21-7,%xmm2
109
paddd -128(%rbp),%xmm5
110
pxor %xmm1,%xmm7
111
112
psrld $25-11,%xmm1
113
movdqa %xmm12,%xmm0
114
115
pxor %xmm2,%xmm7
116
movdqa %xmm12,%xmm3
117
pslld $26-21,%xmm2
118
pandn %xmm14,%xmm0
119
pand %xmm13,%xmm3
120
pxor %xmm1,%xmm7
121
122
123
movdqa %xmm8,%xmm1
124
pxor %xmm2,%xmm7
125
movdqa %xmm8,%xmm2
126
psrld $2,%xmm1
127
paddd %xmm7,%xmm5
128
pxor %xmm3,%xmm0
129
movdqa %xmm9,%xmm3
130
movdqa %xmm8,%xmm7
131
pslld $10,%xmm2
132
pxor %xmm8,%xmm3
133
134
135
psrld $13,%xmm7
136
pxor %xmm2,%xmm1
137
paddd %xmm0,%xmm5
138
pslld $19-10,%xmm2
139
pand %xmm3,%xmm4
140
pxor %xmm7,%xmm1
141
142
143
psrld $22-13,%xmm7
144
pxor %xmm2,%xmm1
145
movdqa %xmm9,%xmm15
146
pslld $30-19,%xmm2
147
pxor %xmm1,%xmm7
148
pxor %xmm4,%xmm15
149
paddd %xmm5,%xmm11
150
pxor %xmm2,%xmm7
151
152
paddd %xmm5,%xmm15
153
paddd %xmm7,%xmm15
154
movd 4(%r8),%xmm5
155
movd 4(%r9),%xmm0
156
movd 4(%r10),%xmm1
157
movd 4(%r11),%xmm2
158
punpckldq %xmm1,%xmm5
159
punpckldq %xmm2,%xmm0
160
punpckldq %xmm0,%xmm5
161
movdqa %xmm11,%xmm7
162
163
movdqa %xmm11,%xmm2
164
.byte 102,15,56,0,238
165
psrld $6,%xmm7
166
movdqa %xmm11,%xmm1
167
pslld $7,%xmm2
168
movdqa %xmm5,16-128(%rax)
169
paddd %xmm14,%xmm5
170
171
psrld $11,%xmm1
172
pxor %xmm2,%xmm7
173
pslld $21-7,%xmm2
174
paddd -96(%rbp),%xmm5
175
pxor %xmm1,%xmm7
176
177
psrld $25-11,%xmm1
178
movdqa %xmm11,%xmm0
179
180
pxor %xmm2,%xmm7
181
movdqa %xmm11,%xmm4
182
pslld $26-21,%xmm2
183
pandn %xmm13,%xmm0
184
pand %xmm12,%xmm4
185
pxor %xmm1,%xmm7
186
187
188
movdqa %xmm15,%xmm1
189
pxor %xmm2,%xmm7
190
movdqa %xmm15,%xmm2
191
psrld $2,%xmm1
192
paddd %xmm7,%xmm5
193
pxor %xmm4,%xmm0
194
movdqa %xmm8,%xmm4
195
movdqa %xmm15,%xmm7
196
pslld $10,%xmm2
197
pxor %xmm15,%xmm4
198
199
200
psrld $13,%xmm7
201
pxor %xmm2,%xmm1
202
paddd %xmm0,%xmm5
203
pslld $19-10,%xmm2
204
pand %xmm4,%xmm3
205
pxor %xmm7,%xmm1
206
207
208
psrld $22-13,%xmm7
209
pxor %xmm2,%xmm1
210
movdqa %xmm8,%xmm14
211
pslld $30-19,%xmm2
212
pxor %xmm1,%xmm7
213
pxor %xmm3,%xmm14
214
paddd %xmm5,%xmm10
215
pxor %xmm2,%xmm7
216
217
paddd %xmm5,%xmm14
218
paddd %xmm7,%xmm14
219
movd 8(%r8),%xmm5
220
movd 8(%r9),%xmm0
221
movd 8(%r10),%xmm1
222
movd 8(%r11),%xmm2
223
punpckldq %xmm1,%xmm5
224
punpckldq %xmm2,%xmm0
225
punpckldq %xmm0,%xmm5
226
movdqa %xmm10,%xmm7
227
.byte 102,15,56,0,238
228
movdqa %xmm10,%xmm2
229
230
psrld $6,%xmm7
231
movdqa %xmm10,%xmm1
232
pslld $7,%xmm2
233
movdqa %xmm5,32-128(%rax)
234
paddd %xmm13,%xmm5
235
236
psrld $11,%xmm1
237
pxor %xmm2,%xmm7
238
pslld $21-7,%xmm2
239
paddd -64(%rbp),%xmm5
240
pxor %xmm1,%xmm7
241
242
psrld $25-11,%xmm1
243
movdqa %xmm10,%xmm0
244
245
pxor %xmm2,%xmm7
246
movdqa %xmm10,%xmm3
247
pslld $26-21,%xmm2
248
pandn %xmm12,%xmm0
249
pand %xmm11,%xmm3
250
pxor %xmm1,%xmm7
251
252
253
movdqa %xmm14,%xmm1
254
pxor %xmm2,%xmm7
255
movdqa %xmm14,%xmm2
256
psrld $2,%xmm1
257
paddd %xmm7,%xmm5
258
pxor %xmm3,%xmm0
259
movdqa %xmm15,%xmm3
260
movdqa %xmm14,%xmm7
261
pslld $10,%xmm2
262
pxor %xmm14,%xmm3
263
264
265
psrld $13,%xmm7
266
pxor %xmm2,%xmm1
267
paddd %xmm0,%xmm5
268
pslld $19-10,%xmm2
269
pand %xmm3,%xmm4
270
pxor %xmm7,%xmm1
271
272
273
psrld $22-13,%xmm7
274
pxor %xmm2,%xmm1
275
movdqa %xmm15,%xmm13
276
pslld $30-19,%xmm2
277
pxor %xmm1,%xmm7
278
pxor %xmm4,%xmm13
279
paddd %xmm5,%xmm9
280
pxor %xmm2,%xmm7
281
282
paddd %xmm5,%xmm13
283
paddd %xmm7,%xmm13
284
movd 12(%r8),%xmm5
285
movd 12(%r9),%xmm0
286
movd 12(%r10),%xmm1
287
movd 12(%r11),%xmm2
288
punpckldq %xmm1,%xmm5
289
punpckldq %xmm2,%xmm0
290
punpckldq %xmm0,%xmm5
291
movdqa %xmm9,%xmm7
292
293
movdqa %xmm9,%xmm2
294
.byte 102,15,56,0,238
295
psrld $6,%xmm7
296
movdqa %xmm9,%xmm1
297
pslld $7,%xmm2
298
movdqa %xmm5,48-128(%rax)
299
paddd %xmm12,%xmm5
300
301
psrld $11,%xmm1
302
pxor %xmm2,%xmm7
303
pslld $21-7,%xmm2
304
paddd -32(%rbp),%xmm5
305
pxor %xmm1,%xmm7
306
307
psrld $25-11,%xmm1
308
movdqa %xmm9,%xmm0
309
310
pxor %xmm2,%xmm7
311
movdqa %xmm9,%xmm4
312
pslld $26-21,%xmm2
313
pandn %xmm11,%xmm0
314
pand %xmm10,%xmm4
315
pxor %xmm1,%xmm7
316
317
318
movdqa %xmm13,%xmm1
319
pxor %xmm2,%xmm7
320
movdqa %xmm13,%xmm2
321
psrld $2,%xmm1
322
paddd %xmm7,%xmm5
323
pxor %xmm4,%xmm0
324
movdqa %xmm14,%xmm4
325
movdqa %xmm13,%xmm7
326
pslld $10,%xmm2
327
pxor %xmm13,%xmm4
328
329
330
psrld $13,%xmm7
331
pxor %xmm2,%xmm1
332
paddd %xmm0,%xmm5
333
pslld $19-10,%xmm2
334
pand %xmm4,%xmm3
335
pxor %xmm7,%xmm1
336
337
338
psrld $22-13,%xmm7
339
pxor %xmm2,%xmm1
340
movdqa %xmm14,%xmm12
341
pslld $30-19,%xmm2
342
pxor %xmm1,%xmm7
343
pxor %xmm3,%xmm12
344
paddd %xmm5,%xmm8
345
pxor %xmm2,%xmm7
346
347
paddd %xmm5,%xmm12
348
paddd %xmm7,%xmm12
349
movd 16(%r8),%xmm5
350
movd 16(%r9),%xmm0
351
movd 16(%r10),%xmm1
352
movd 16(%r11),%xmm2
353
punpckldq %xmm1,%xmm5
354
punpckldq %xmm2,%xmm0
355
punpckldq %xmm0,%xmm5
356
movdqa %xmm8,%xmm7
357
.byte 102,15,56,0,238
358
movdqa %xmm8,%xmm2
359
360
psrld $6,%xmm7
361
movdqa %xmm8,%xmm1
362
pslld $7,%xmm2
363
movdqa %xmm5,64-128(%rax)
364
paddd %xmm11,%xmm5
365
366
psrld $11,%xmm1
367
pxor %xmm2,%xmm7
368
pslld $21-7,%xmm2
369
paddd 0(%rbp),%xmm5
370
pxor %xmm1,%xmm7
371
372
psrld $25-11,%xmm1
373
movdqa %xmm8,%xmm0
374
375
pxor %xmm2,%xmm7
376
movdqa %xmm8,%xmm3
377
pslld $26-21,%xmm2
378
pandn %xmm10,%xmm0
379
pand %xmm9,%xmm3
380
pxor %xmm1,%xmm7
381
382
383
movdqa %xmm12,%xmm1
384
pxor %xmm2,%xmm7
385
movdqa %xmm12,%xmm2
386
psrld $2,%xmm1
387
paddd %xmm7,%xmm5
388
pxor %xmm3,%xmm0
389
movdqa %xmm13,%xmm3
390
movdqa %xmm12,%xmm7
391
pslld $10,%xmm2
392
pxor %xmm12,%xmm3
393
394
395
psrld $13,%xmm7
396
pxor %xmm2,%xmm1
397
paddd %xmm0,%xmm5
398
pslld $19-10,%xmm2
399
pand %xmm3,%xmm4
400
pxor %xmm7,%xmm1
401
402
403
psrld $22-13,%xmm7
404
pxor %xmm2,%xmm1
405
movdqa %xmm13,%xmm11
406
pslld $30-19,%xmm2
407
pxor %xmm1,%xmm7
408
pxor %xmm4,%xmm11
409
paddd %xmm5,%xmm15
410
pxor %xmm2,%xmm7
411
412
paddd %xmm5,%xmm11
413
paddd %xmm7,%xmm11
414
movd 20(%r8),%xmm5
415
movd 20(%r9),%xmm0
416
movd 20(%r10),%xmm1
417
movd 20(%r11),%xmm2
418
punpckldq %xmm1,%xmm5
419
punpckldq %xmm2,%xmm0
420
punpckldq %xmm0,%xmm5
421
movdqa %xmm15,%xmm7
422
423
movdqa %xmm15,%xmm2
424
.byte 102,15,56,0,238
425
psrld $6,%xmm7
426
movdqa %xmm15,%xmm1
427
pslld $7,%xmm2
428
movdqa %xmm5,80-128(%rax)
429
paddd %xmm10,%xmm5
430
431
psrld $11,%xmm1
432
pxor %xmm2,%xmm7
433
pslld $21-7,%xmm2
434
paddd 32(%rbp),%xmm5
435
pxor %xmm1,%xmm7
436
437
psrld $25-11,%xmm1
438
movdqa %xmm15,%xmm0
439
440
pxor %xmm2,%xmm7
441
movdqa %xmm15,%xmm4
442
pslld $26-21,%xmm2
443
pandn %xmm9,%xmm0
444
pand %xmm8,%xmm4
445
pxor %xmm1,%xmm7
446
447
448
movdqa %xmm11,%xmm1
449
pxor %xmm2,%xmm7
450
movdqa %xmm11,%xmm2
451
psrld $2,%xmm1
452
paddd %xmm7,%xmm5
453
pxor %xmm4,%xmm0
454
movdqa %xmm12,%xmm4
455
movdqa %xmm11,%xmm7
456
pslld $10,%xmm2
457
pxor %xmm11,%xmm4
458
459
460
psrld $13,%xmm7
461
pxor %xmm2,%xmm1
462
paddd %xmm0,%xmm5
463
pslld $19-10,%xmm2
464
pand %xmm4,%xmm3
465
pxor %xmm7,%xmm1
466
467
468
psrld $22-13,%xmm7
469
pxor %xmm2,%xmm1
470
movdqa %xmm12,%xmm10
471
pslld $30-19,%xmm2
472
pxor %xmm1,%xmm7
473
pxor %xmm3,%xmm10
474
paddd %xmm5,%xmm14
475
pxor %xmm2,%xmm7
476
477
paddd %xmm5,%xmm10
478
paddd %xmm7,%xmm10
479
movd 24(%r8),%xmm5
480
movd 24(%r9),%xmm0
481
movd 24(%r10),%xmm1
482
movd 24(%r11),%xmm2
483
punpckldq %xmm1,%xmm5
484
punpckldq %xmm2,%xmm0
485
punpckldq %xmm0,%xmm5
486
movdqa %xmm14,%xmm7
487
.byte 102,15,56,0,238
488
movdqa %xmm14,%xmm2
489
490
psrld $6,%xmm7
491
movdqa %xmm14,%xmm1
492
pslld $7,%xmm2
493
movdqa %xmm5,96-128(%rax)
494
paddd %xmm9,%xmm5
495
496
psrld $11,%xmm1
497
pxor %xmm2,%xmm7
498
pslld $21-7,%xmm2
499
paddd 64(%rbp),%xmm5
500
pxor %xmm1,%xmm7
501
502
psrld $25-11,%xmm1
503
movdqa %xmm14,%xmm0
504
505
pxor %xmm2,%xmm7
506
movdqa %xmm14,%xmm3
507
pslld $26-21,%xmm2
508
pandn %xmm8,%xmm0
509
pand %xmm15,%xmm3
510
pxor %xmm1,%xmm7
511
512
513
movdqa %xmm10,%xmm1
514
pxor %xmm2,%xmm7
515
movdqa %xmm10,%xmm2
516
psrld $2,%xmm1
517
paddd %xmm7,%xmm5
518
pxor %xmm3,%xmm0
519
movdqa %xmm11,%xmm3
520
movdqa %xmm10,%xmm7
521
pslld $10,%xmm2
522
pxor %xmm10,%xmm3
523
524
525
psrld $13,%xmm7
526
pxor %xmm2,%xmm1
527
paddd %xmm0,%xmm5
528
pslld $19-10,%xmm2
529
pand %xmm3,%xmm4
530
pxor %xmm7,%xmm1
531
532
533
psrld $22-13,%xmm7
534
pxor %xmm2,%xmm1
535
movdqa %xmm11,%xmm9
536
pslld $30-19,%xmm2
537
pxor %xmm1,%xmm7
538
pxor %xmm4,%xmm9
539
paddd %xmm5,%xmm13
540
pxor %xmm2,%xmm7
541
542
paddd %xmm5,%xmm9
543
paddd %xmm7,%xmm9
544
movd 28(%r8),%xmm5
545
movd 28(%r9),%xmm0
546
movd 28(%r10),%xmm1
547
movd 28(%r11),%xmm2
548
punpckldq %xmm1,%xmm5
549
punpckldq %xmm2,%xmm0
550
punpckldq %xmm0,%xmm5
551
movdqa %xmm13,%xmm7
552
553
movdqa %xmm13,%xmm2
554
.byte 102,15,56,0,238
555
psrld $6,%xmm7
556
movdqa %xmm13,%xmm1
557
pslld $7,%xmm2
558
movdqa %xmm5,112-128(%rax)
559
paddd %xmm8,%xmm5
560
561
psrld $11,%xmm1
562
pxor %xmm2,%xmm7
563
pslld $21-7,%xmm2
564
paddd 96(%rbp),%xmm5
565
pxor %xmm1,%xmm7
566
567
psrld $25-11,%xmm1
568
movdqa %xmm13,%xmm0
569
570
pxor %xmm2,%xmm7
571
movdqa %xmm13,%xmm4
572
pslld $26-21,%xmm2
573
pandn %xmm15,%xmm0
574
pand %xmm14,%xmm4
575
pxor %xmm1,%xmm7
576
577
578
movdqa %xmm9,%xmm1
579
pxor %xmm2,%xmm7
580
movdqa %xmm9,%xmm2
581
psrld $2,%xmm1
582
paddd %xmm7,%xmm5
583
pxor %xmm4,%xmm0
584
movdqa %xmm10,%xmm4
585
movdqa %xmm9,%xmm7
586
pslld $10,%xmm2
587
pxor %xmm9,%xmm4
588
589
590
psrld $13,%xmm7
591
pxor %xmm2,%xmm1
592
paddd %xmm0,%xmm5
593
pslld $19-10,%xmm2
594
pand %xmm4,%xmm3
595
pxor %xmm7,%xmm1
596
597
598
psrld $22-13,%xmm7
599
pxor %xmm2,%xmm1
600
movdqa %xmm10,%xmm8
601
pslld $30-19,%xmm2
602
pxor %xmm1,%xmm7
603
pxor %xmm3,%xmm8
604
paddd %xmm5,%xmm12
605
pxor %xmm2,%xmm7
606
607
paddd %xmm5,%xmm8
608
paddd %xmm7,%xmm8
609
leaq 256(%rbp),%rbp
610
movd 32(%r8),%xmm5
611
movd 32(%r9),%xmm0
612
movd 32(%r10),%xmm1
613
movd 32(%r11),%xmm2
614
punpckldq %xmm1,%xmm5
615
punpckldq %xmm2,%xmm0
616
punpckldq %xmm0,%xmm5
617
movdqa %xmm12,%xmm7
618
.byte 102,15,56,0,238
619
movdqa %xmm12,%xmm2
620
621
psrld $6,%xmm7
622
movdqa %xmm12,%xmm1
623
pslld $7,%xmm2
624
movdqa %xmm5,128-128(%rax)
625
paddd %xmm15,%xmm5
626
627
psrld $11,%xmm1
628
pxor %xmm2,%xmm7
629
pslld $21-7,%xmm2
630
paddd -128(%rbp),%xmm5
631
pxor %xmm1,%xmm7
632
633
psrld $25-11,%xmm1
634
movdqa %xmm12,%xmm0
635
636
pxor %xmm2,%xmm7
637
movdqa %xmm12,%xmm3
638
pslld $26-21,%xmm2
639
pandn %xmm14,%xmm0
640
pand %xmm13,%xmm3
641
pxor %xmm1,%xmm7
642
643
644
movdqa %xmm8,%xmm1
645
pxor %xmm2,%xmm7
646
movdqa %xmm8,%xmm2
647
psrld $2,%xmm1
648
paddd %xmm7,%xmm5
649
pxor %xmm3,%xmm0
650
movdqa %xmm9,%xmm3
651
movdqa %xmm8,%xmm7
652
pslld $10,%xmm2
653
pxor %xmm8,%xmm3
654
655
656
psrld $13,%xmm7
657
pxor %xmm2,%xmm1
658
paddd %xmm0,%xmm5
659
pslld $19-10,%xmm2
660
pand %xmm3,%xmm4
661
pxor %xmm7,%xmm1
662
663
664
psrld $22-13,%xmm7
665
pxor %xmm2,%xmm1
666
movdqa %xmm9,%xmm15
667
pslld $30-19,%xmm2
668
pxor %xmm1,%xmm7
669
pxor %xmm4,%xmm15
670
paddd %xmm5,%xmm11
671
pxor %xmm2,%xmm7
672
673
paddd %xmm5,%xmm15
674
paddd %xmm7,%xmm15
675
movd 36(%r8),%xmm5
676
movd 36(%r9),%xmm0
677
movd 36(%r10),%xmm1
678
movd 36(%r11),%xmm2
679
punpckldq %xmm1,%xmm5
680
punpckldq %xmm2,%xmm0
681
punpckldq %xmm0,%xmm5
682
movdqa %xmm11,%xmm7
683
684
movdqa %xmm11,%xmm2
685
.byte 102,15,56,0,238
686
psrld $6,%xmm7
687
movdqa %xmm11,%xmm1
688
pslld $7,%xmm2
689
movdqa %xmm5,144-128(%rax)
690
paddd %xmm14,%xmm5
691
692
psrld $11,%xmm1
693
pxor %xmm2,%xmm7
694
pslld $21-7,%xmm2
695
paddd -96(%rbp),%xmm5
696
pxor %xmm1,%xmm7
697
698
psrld $25-11,%xmm1
699
movdqa %xmm11,%xmm0
700
701
pxor %xmm2,%xmm7
702
movdqa %xmm11,%xmm4
703
pslld $26-21,%xmm2
704
pandn %xmm13,%xmm0
705
pand %xmm12,%xmm4
706
pxor %xmm1,%xmm7
707
708
709
movdqa %xmm15,%xmm1
710
pxor %xmm2,%xmm7
711
movdqa %xmm15,%xmm2
712
psrld $2,%xmm1
713
paddd %xmm7,%xmm5
714
pxor %xmm4,%xmm0
715
movdqa %xmm8,%xmm4
716
movdqa %xmm15,%xmm7
717
pslld $10,%xmm2
718
pxor %xmm15,%xmm4
719
720
721
psrld $13,%xmm7
722
pxor %xmm2,%xmm1
723
paddd %xmm0,%xmm5
724
pslld $19-10,%xmm2
725
pand %xmm4,%xmm3
726
pxor %xmm7,%xmm1
727
728
729
psrld $22-13,%xmm7
730
pxor %xmm2,%xmm1
731
movdqa %xmm8,%xmm14
732
pslld $30-19,%xmm2
733
pxor %xmm1,%xmm7
734
pxor %xmm3,%xmm14
735
paddd %xmm5,%xmm10
736
pxor %xmm2,%xmm7
737
738
paddd %xmm5,%xmm14
739
paddd %xmm7,%xmm14
740
movd 40(%r8),%xmm5
741
movd 40(%r9),%xmm0
742
movd 40(%r10),%xmm1
743
movd 40(%r11),%xmm2
744
punpckldq %xmm1,%xmm5
745
punpckldq %xmm2,%xmm0
746
punpckldq %xmm0,%xmm5
747
movdqa %xmm10,%xmm7
748
.byte 102,15,56,0,238
749
movdqa %xmm10,%xmm2
750
751
psrld $6,%xmm7
752
movdqa %xmm10,%xmm1
753
pslld $7,%xmm2
754
movdqa %xmm5,160-128(%rax)
755
paddd %xmm13,%xmm5
756
757
psrld $11,%xmm1
758
pxor %xmm2,%xmm7
759
pslld $21-7,%xmm2
760
paddd -64(%rbp),%xmm5
761
pxor %xmm1,%xmm7
762
763
psrld $25-11,%xmm1
764
movdqa %xmm10,%xmm0
765
766
pxor %xmm2,%xmm7
767
movdqa %xmm10,%xmm3
768
pslld $26-21,%xmm2
769
pandn %xmm12,%xmm0
770
pand %xmm11,%xmm3
771
pxor %xmm1,%xmm7
772
773
774
movdqa %xmm14,%xmm1
775
pxor %xmm2,%xmm7
776
movdqa %xmm14,%xmm2
777
psrld $2,%xmm1
778
paddd %xmm7,%xmm5
779
pxor %xmm3,%xmm0
780
movdqa %xmm15,%xmm3
781
movdqa %xmm14,%xmm7
782
pslld $10,%xmm2
783
pxor %xmm14,%xmm3
784
785
786
psrld $13,%xmm7
787
pxor %xmm2,%xmm1
788
paddd %xmm0,%xmm5
789
pslld $19-10,%xmm2
790
pand %xmm3,%xmm4
791
pxor %xmm7,%xmm1
792
793
794
psrld $22-13,%xmm7
795
pxor %xmm2,%xmm1
796
movdqa %xmm15,%xmm13
797
pslld $30-19,%xmm2
798
pxor %xmm1,%xmm7
799
pxor %xmm4,%xmm13
800
paddd %xmm5,%xmm9
801
pxor %xmm2,%xmm7
802
803
paddd %xmm5,%xmm13
804
paddd %xmm7,%xmm13
805
movd 44(%r8),%xmm5
806
movd 44(%r9),%xmm0
807
movd 44(%r10),%xmm1
808
movd 44(%r11),%xmm2
809
punpckldq %xmm1,%xmm5
810
punpckldq %xmm2,%xmm0
811
punpckldq %xmm0,%xmm5
812
movdqa %xmm9,%xmm7
813
814
movdqa %xmm9,%xmm2
815
.byte 102,15,56,0,238
816
psrld $6,%xmm7
817
movdqa %xmm9,%xmm1
818
pslld $7,%xmm2
819
movdqa %xmm5,176-128(%rax)
820
paddd %xmm12,%xmm5
821
822
psrld $11,%xmm1
823
pxor %xmm2,%xmm7
824
pslld $21-7,%xmm2
825
paddd -32(%rbp),%xmm5
826
pxor %xmm1,%xmm7
827
828
psrld $25-11,%xmm1
829
movdqa %xmm9,%xmm0
830
831
pxor %xmm2,%xmm7
832
movdqa %xmm9,%xmm4
833
pslld $26-21,%xmm2
834
pandn %xmm11,%xmm0
835
pand %xmm10,%xmm4
836
pxor %xmm1,%xmm7
837
838
839
movdqa %xmm13,%xmm1
840
pxor %xmm2,%xmm7
841
movdqa %xmm13,%xmm2
842
psrld $2,%xmm1
843
paddd %xmm7,%xmm5
844
pxor %xmm4,%xmm0
845
movdqa %xmm14,%xmm4
846
movdqa %xmm13,%xmm7
847
pslld $10,%xmm2
848
pxor %xmm13,%xmm4
849
850
851
psrld $13,%xmm7
852
pxor %xmm2,%xmm1
853
paddd %xmm0,%xmm5
854
pslld $19-10,%xmm2
855
pand %xmm4,%xmm3
856
pxor %xmm7,%xmm1
857
858
859
psrld $22-13,%xmm7
860
pxor %xmm2,%xmm1
861
movdqa %xmm14,%xmm12
862
pslld $30-19,%xmm2
863
pxor %xmm1,%xmm7
864
pxor %xmm3,%xmm12
865
paddd %xmm5,%xmm8
866
pxor %xmm2,%xmm7
867
868
paddd %xmm5,%xmm12
869
paddd %xmm7,%xmm12
870
movd 48(%r8),%xmm5
871
movd 48(%r9),%xmm0
872
movd 48(%r10),%xmm1
873
movd 48(%r11),%xmm2
874
punpckldq %xmm1,%xmm5
875
punpckldq %xmm2,%xmm0
876
punpckldq %xmm0,%xmm5
877
movdqa %xmm8,%xmm7
878
.byte 102,15,56,0,238
879
movdqa %xmm8,%xmm2
880
881
psrld $6,%xmm7
882
movdqa %xmm8,%xmm1
883
pslld $7,%xmm2
884
movdqa %xmm5,192-128(%rax)
885
paddd %xmm11,%xmm5
886
887
psrld $11,%xmm1
888
pxor %xmm2,%xmm7
889
pslld $21-7,%xmm2
890
paddd 0(%rbp),%xmm5
891
pxor %xmm1,%xmm7
892
893
psrld $25-11,%xmm1
894
movdqa %xmm8,%xmm0
895
896
pxor %xmm2,%xmm7
897
movdqa %xmm8,%xmm3
898
pslld $26-21,%xmm2
899
pandn %xmm10,%xmm0
900
pand %xmm9,%xmm3
901
pxor %xmm1,%xmm7
902
903
904
movdqa %xmm12,%xmm1
905
pxor %xmm2,%xmm7
906
movdqa %xmm12,%xmm2
907
psrld $2,%xmm1
908
paddd %xmm7,%xmm5
909
pxor %xmm3,%xmm0
910
movdqa %xmm13,%xmm3
911
movdqa %xmm12,%xmm7
912
pslld $10,%xmm2
913
pxor %xmm12,%xmm3
914
915
916
psrld $13,%xmm7
917
pxor %xmm2,%xmm1
918
paddd %xmm0,%xmm5
919
pslld $19-10,%xmm2
920
pand %xmm3,%xmm4
921
pxor %xmm7,%xmm1
922
923
924
psrld $22-13,%xmm7
925
pxor %xmm2,%xmm1
926
movdqa %xmm13,%xmm11
927
pslld $30-19,%xmm2
928
pxor %xmm1,%xmm7
929
pxor %xmm4,%xmm11
930
paddd %xmm5,%xmm15
931
pxor %xmm2,%xmm7
932
933
paddd %xmm5,%xmm11
934
paddd %xmm7,%xmm11
935
movd 52(%r8),%xmm5
936
movd 52(%r9),%xmm0
937
movd 52(%r10),%xmm1
938
movd 52(%r11),%xmm2
939
punpckldq %xmm1,%xmm5
940
punpckldq %xmm2,%xmm0
941
punpckldq %xmm0,%xmm5
942
movdqa %xmm15,%xmm7
943
944
movdqa %xmm15,%xmm2
945
.byte 102,15,56,0,238
946
psrld $6,%xmm7
947
movdqa %xmm15,%xmm1
948
pslld $7,%xmm2
949
movdqa %xmm5,208-128(%rax)
950
paddd %xmm10,%xmm5
951
952
psrld $11,%xmm1
953
pxor %xmm2,%xmm7
954
pslld $21-7,%xmm2
955
paddd 32(%rbp),%xmm5
956
pxor %xmm1,%xmm7
957
958
psrld $25-11,%xmm1
959
movdqa %xmm15,%xmm0
960
961
pxor %xmm2,%xmm7
962
movdqa %xmm15,%xmm4
963
pslld $26-21,%xmm2
964
pandn %xmm9,%xmm0
965
pand %xmm8,%xmm4
966
pxor %xmm1,%xmm7
967
968
969
movdqa %xmm11,%xmm1
970
pxor %xmm2,%xmm7
971
movdqa %xmm11,%xmm2
972
psrld $2,%xmm1
973
paddd %xmm7,%xmm5
974
pxor %xmm4,%xmm0
975
movdqa %xmm12,%xmm4
976
movdqa %xmm11,%xmm7
977
pslld $10,%xmm2
978
pxor %xmm11,%xmm4
979
980
981
psrld $13,%xmm7
982
pxor %xmm2,%xmm1
983
paddd %xmm0,%xmm5
984
pslld $19-10,%xmm2
985
pand %xmm4,%xmm3
986
pxor %xmm7,%xmm1
987
988
989
psrld $22-13,%xmm7
990
pxor %xmm2,%xmm1
991
movdqa %xmm12,%xmm10
992
pslld $30-19,%xmm2
993
pxor %xmm1,%xmm7
994
pxor %xmm3,%xmm10
995
paddd %xmm5,%xmm14
996
pxor %xmm2,%xmm7
997
998
paddd %xmm5,%xmm10
999
paddd %xmm7,%xmm10
1000
movd 56(%r8),%xmm5
1001
movd 56(%r9),%xmm0
1002
movd 56(%r10),%xmm1
1003
movd 56(%r11),%xmm2
1004
punpckldq %xmm1,%xmm5
1005
punpckldq %xmm2,%xmm0
1006
punpckldq %xmm0,%xmm5
1007
movdqa %xmm14,%xmm7
1008
.byte 102,15,56,0,238
1009
movdqa %xmm14,%xmm2
1010
1011
psrld $6,%xmm7
1012
movdqa %xmm14,%xmm1
1013
pslld $7,%xmm2
1014
movdqa %xmm5,224-128(%rax)
1015
paddd %xmm9,%xmm5
1016
1017
psrld $11,%xmm1
1018
pxor %xmm2,%xmm7
1019
pslld $21-7,%xmm2
1020
paddd 64(%rbp),%xmm5
1021
pxor %xmm1,%xmm7
1022
1023
psrld $25-11,%xmm1
1024
movdqa %xmm14,%xmm0
1025
1026
pxor %xmm2,%xmm7
1027
movdqa %xmm14,%xmm3
1028
pslld $26-21,%xmm2
1029
pandn %xmm8,%xmm0
1030
pand %xmm15,%xmm3
1031
pxor %xmm1,%xmm7
1032
1033
1034
movdqa %xmm10,%xmm1
1035
pxor %xmm2,%xmm7
1036
movdqa %xmm10,%xmm2
1037
psrld $2,%xmm1
1038
paddd %xmm7,%xmm5
1039
pxor %xmm3,%xmm0
1040
movdqa %xmm11,%xmm3
1041
movdqa %xmm10,%xmm7
1042
pslld $10,%xmm2
1043
pxor %xmm10,%xmm3
1044
1045
1046
psrld $13,%xmm7
1047
pxor %xmm2,%xmm1
1048
paddd %xmm0,%xmm5
1049
pslld $19-10,%xmm2
1050
pand %xmm3,%xmm4
1051
pxor %xmm7,%xmm1
1052
1053
1054
psrld $22-13,%xmm7
1055
pxor %xmm2,%xmm1
1056
movdqa %xmm11,%xmm9
1057
pslld $30-19,%xmm2
1058
pxor %xmm1,%xmm7
1059
pxor %xmm4,%xmm9
1060
paddd %xmm5,%xmm13
1061
pxor %xmm2,%xmm7
1062
1063
paddd %xmm5,%xmm9
1064
paddd %xmm7,%xmm9
1065
movd 60(%r8),%xmm5
1066
leaq 64(%r8),%r8
1067
movd 60(%r9),%xmm0
1068
leaq 64(%r9),%r9
1069
movd 60(%r10),%xmm1
1070
leaq 64(%r10),%r10
1071
movd 60(%r11),%xmm2
1072
leaq 64(%r11),%r11
1073
punpckldq %xmm1,%xmm5
1074
punpckldq %xmm2,%xmm0
1075
punpckldq %xmm0,%xmm5
1076
movdqa %xmm13,%xmm7
1077
1078
movdqa %xmm13,%xmm2
1079
.byte 102,15,56,0,238
1080
psrld $6,%xmm7
1081
movdqa %xmm13,%xmm1
1082
pslld $7,%xmm2
1083
movdqa %xmm5,240-128(%rax)
1084
paddd %xmm8,%xmm5
1085
1086
psrld $11,%xmm1
1087
pxor %xmm2,%xmm7
1088
pslld $21-7,%xmm2
1089
paddd 96(%rbp),%xmm5
1090
pxor %xmm1,%xmm7
1091
1092
psrld $25-11,%xmm1
1093
movdqa %xmm13,%xmm0
1094
prefetcht0 63(%r8)
1095
pxor %xmm2,%xmm7
1096
movdqa %xmm13,%xmm4
1097
pslld $26-21,%xmm2
1098
pandn %xmm15,%xmm0
1099
pand %xmm14,%xmm4
1100
pxor %xmm1,%xmm7
1101
1102
prefetcht0 63(%r9)
1103
movdqa %xmm9,%xmm1
1104
pxor %xmm2,%xmm7
1105
movdqa %xmm9,%xmm2
1106
psrld $2,%xmm1
1107
paddd %xmm7,%xmm5
1108
pxor %xmm4,%xmm0
1109
movdqa %xmm10,%xmm4
1110
movdqa %xmm9,%xmm7
1111
pslld $10,%xmm2
1112
pxor %xmm9,%xmm4
1113
1114
prefetcht0 63(%r10)
1115
psrld $13,%xmm7
1116
pxor %xmm2,%xmm1
1117
paddd %xmm0,%xmm5
1118
pslld $19-10,%xmm2
1119
pand %xmm4,%xmm3
1120
pxor %xmm7,%xmm1
1121
1122
prefetcht0 63(%r11)
1123
psrld $22-13,%xmm7
1124
pxor %xmm2,%xmm1
1125
movdqa %xmm10,%xmm8
1126
pslld $30-19,%xmm2
1127
pxor %xmm1,%xmm7
1128
pxor %xmm3,%xmm8
1129
paddd %xmm5,%xmm12
1130
pxor %xmm2,%xmm7
1131
1132
paddd %xmm5,%xmm8
1133
paddd %xmm7,%xmm8
1134
leaq 256(%rbp),%rbp
1135
movdqu 0-128(%rax),%xmm5
1136
movl $3,%ecx
1137
jmp .Loop_16_xx
1138
.align 32
1139
.Loop_16_xx:
1140
movdqa 16-128(%rax),%xmm6
1141
paddd 144-128(%rax),%xmm5
1142
1143
movdqa %xmm6,%xmm7
1144
movdqa %xmm6,%xmm1
1145
psrld $3,%xmm7
1146
movdqa %xmm6,%xmm2
1147
1148
psrld $7,%xmm1
1149
movdqa 224-128(%rax),%xmm0
1150
pslld $14,%xmm2
1151
pxor %xmm1,%xmm7
1152
psrld $18-7,%xmm1
1153
movdqa %xmm0,%xmm3
1154
pxor %xmm2,%xmm7
1155
pslld $25-14,%xmm2
1156
pxor %xmm1,%xmm7
1157
psrld $10,%xmm0
1158
movdqa %xmm3,%xmm1
1159
1160
psrld $17,%xmm3
1161
pxor %xmm2,%xmm7
1162
pslld $13,%xmm1
1163
paddd %xmm7,%xmm5
1164
pxor %xmm3,%xmm0
1165
psrld $19-17,%xmm3
1166
pxor %xmm1,%xmm0
1167
pslld $15-13,%xmm1
1168
pxor %xmm3,%xmm0
1169
pxor %xmm1,%xmm0
1170
paddd %xmm0,%xmm5
1171
movdqa %xmm12,%xmm7
1172
1173
movdqa %xmm12,%xmm2
1174
1175
psrld $6,%xmm7
1176
movdqa %xmm12,%xmm1
1177
pslld $7,%xmm2
1178
movdqa %xmm5,0-128(%rax)
1179
paddd %xmm15,%xmm5
1180
1181
psrld $11,%xmm1
1182
pxor %xmm2,%xmm7
1183
pslld $21-7,%xmm2
1184
paddd -128(%rbp),%xmm5
1185
pxor %xmm1,%xmm7
1186
1187
psrld $25-11,%xmm1
1188
movdqa %xmm12,%xmm0
1189
1190
pxor %xmm2,%xmm7
1191
movdqa %xmm12,%xmm3
1192
pslld $26-21,%xmm2
1193
pandn %xmm14,%xmm0
1194
pand %xmm13,%xmm3
1195
pxor %xmm1,%xmm7
1196
1197
1198
movdqa %xmm8,%xmm1
1199
pxor %xmm2,%xmm7
1200
movdqa %xmm8,%xmm2
1201
psrld $2,%xmm1
1202
paddd %xmm7,%xmm5
1203
pxor %xmm3,%xmm0
1204
movdqa %xmm9,%xmm3
1205
movdqa %xmm8,%xmm7
1206
pslld $10,%xmm2
1207
pxor %xmm8,%xmm3
1208
1209
1210
psrld $13,%xmm7
1211
pxor %xmm2,%xmm1
1212
paddd %xmm0,%xmm5
1213
pslld $19-10,%xmm2
1214
pand %xmm3,%xmm4
1215
pxor %xmm7,%xmm1
1216
1217
1218
psrld $22-13,%xmm7
1219
pxor %xmm2,%xmm1
1220
movdqa %xmm9,%xmm15
1221
pslld $30-19,%xmm2
1222
pxor %xmm1,%xmm7
1223
pxor %xmm4,%xmm15
1224
paddd %xmm5,%xmm11
1225
pxor %xmm2,%xmm7
1226
1227
paddd %xmm5,%xmm15
1228
paddd %xmm7,%xmm15
1229
movdqa 32-128(%rax),%xmm5
1230
paddd 160-128(%rax),%xmm6
1231
1232
movdqa %xmm5,%xmm7
1233
movdqa %xmm5,%xmm1
1234
psrld $3,%xmm7
1235
movdqa %xmm5,%xmm2
1236
1237
psrld $7,%xmm1
1238
movdqa 240-128(%rax),%xmm0
1239
pslld $14,%xmm2
1240
pxor %xmm1,%xmm7
1241
psrld $18-7,%xmm1
1242
movdqa %xmm0,%xmm4
1243
pxor %xmm2,%xmm7
1244
pslld $25-14,%xmm2
1245
pxor %xmm1,%xmm7
1246
psrld $10,%xmm0
1247
movdqa %xmm4,%xmm1
1248
1249
psrld $17,%xmm4
1250
pxor %xmm2,%xmm7
1251
pslld $13,%xmm1
1252
paddd %xmm7,%xmm6
1253
pxor %xmm4,%xmm0
1254
psrld $19-17,%xmm4
1255
pxor %xmm1,%xmm0
1256
pslld $15-13,%xmm1
1257
pxor %xmm4,%xmm0
1258
pxor %xmm1,%xmm0
1259
paddd %xmm0,%xmm6
1260
movdqa %xmm11,%xmm7
1261
1262
movdqa %xmm11,%xmm2
1263
1264
psrld $6,%xmm7
1265
movdqa %xmm11,%xmm1
1266
pslld $7,%xmm2
1267
movdqa %xmm6,16-128(%rax)
1268
paddd %xmm14,%xmm6
1269
1270
psrld $11,%xmm1
1271
pxor %xmm2,%xmm7
1272
pslld $21-7,%xmm2
1273
paddd -96(%rbp),%xmm6
1274
pxor %xmm1,%xmm7
1275
1276
psrld $25-11,%xmm1
1277
movdqa %xmm11,%xmm0
1278
1279
pxor %xmm2,%xmm7
1280
movdqa %xmm11,%xmm4
1281
pslld $26-21,%xmm2
1282
pandn %xmm13,%xmm0
1283
pand %xmm12,%xmm4
1284
pxor %xmm1,%xmm7
1285
1286
1287
movdqa %xmm15,%xmm1
1288
pxor %xmm2,%xmm7
1289
movdqa %xmm15,%xmm2
1290
psrld $2,%xmm1
1291
paddd %xmm7,%xmm6
1292
pxor %xmm4,%xmm0
1293
movdqa %xmm8,%xmm4
1294
movdqa %xmm15,%xmm7
1295
pslld $10,%xmm2
1296
pxor %xmm15,%xmm4
1297
1298
1299
psrld $13,%xmm7
1300
pxor %xmm2,%xmm1
1301
paddd %xmm0,%xmm6
1302
pslld $19-10,%xmm2
1303
pand %xmm4,%xmm3
1304
pxor %xmm7,%xmm1
1305
1306
1307
psrld $22-13,%xmm7
1308
pxor %xmm2,%xmm1
1309
movdqa %xmm8,%xmm14
1310
pslld $30-19,%xmm2
1311
pxor %xmm1,%xmm7
1312
pxor %xmm3,%xmm14
1313
paddd %xmm6,%xmm10
1314
pxor %xmm2,%xmm7
1315
1316
paddd %xmm6,%xmm14
1317
paddd %xmm7,%xmm14
1318
movdqa 48-128(%rax),%xmm6
1319
paddd 176-128(%rax),%xmm5
1320
1321
movdqa %xmm6,%xmm7
1322
movdqa %xmm6,%xmm1
1323
psrld $3,%xmm7
1324
movdqa %xmm6,%xmm2
1325
1326
psrld $7,%xmm1
1327
movdqa 0-128(%rax),%xmm0
1328
pslld $14,%xmm2
1329
pxor %xmm1,%xmm7
1330
psrld $18-7,%xmm1
1331
movdqa %xmm0,%xmm3
1332
pxor %xmm2,%xmm7
1333
pslld $25-14,%xmm2
1334
pxor %xmm1,%xmm7
1335
psrld $10,%xmm0
1336
movdqa %xmm3,%xmm1
1337
1338
psrld $17,%xmm3
1339
pxor %xmm2,%xmm7
1340
pslld $13,%xmm1
1341
paddd %xmm7,%xmm5
1342
pxor %xmm3,%xmm0
1343
psrld $19-17,%xmm3
1344
pxor %xmm1,%xmm0
1345
pslld $15-13,%xmm1
1346
pxor %xmm3,%xmm0
1347
pxor %xmm1,%xmm0
1348
paddd %xmm0,%xmm5
1349
movdqa %xmm10,%xmm7
1350
1351
movdqa %xmm10,%xmm2
1352
1353
psrld $6,%xmm7
1354
movdqa %xmm10,%xmm1
1355
pslld $7,%xmm2
1356
movdqa %xmm5,32-128(%rax)
1357
paddd %xmm13,%xmm5
1358
1359
psrld $11,%xmm1
1360
pxor %xmm2,%xmm7
1361
pslld $21-7,%xmm2
1362
paddd -64(%rbp),%xmm5
1363
pxor %xmm1,%xmm7
1364
1365
psrld $25-11,%xmm1
1366
movdqa %xmm10,%xmm0
1367
1368
pxor %xmm2,%xmm7
1369
movdqa %xmm10,%xmm3
1370
pslld $26-21,%xmm2
1371
pandn %xmm12,%xmm0
1372
pand %xmm11,%xmm3
1373
pxor %xmm1,%xmm7
1374
1375
1376
movdqa %xmm14,%xmm1
1377
pxor %xmm2,%xmm7
1378
movdqa %xmm14,%xmm2
1379
psrld $2,%xmm1
1380
paddd %xmm7,%xmm5
1381
pxor %xmm3,%xmm0
1382
movdqa %xmm15,%xmm3
1383
movdqa %xmm14,%xmm7
1384
pslld $10,%xmm2
1385
pxor %xmm14,%xmm3
1386
1387
1388
psrld $13,%xmm7
1389
pxor %xmm2,%xmm1
1390
paddd %xmm0,%xmm5
1391
pslld $19-10,%xmm2
1392
pand %xmm3,%xmm4
1393
pxor %xmm7,%xmm1
1394
1395
1396
psrld $22-13,%xmm7
1397
pxor %xmm2,%xmm1
1398
movdqa %xmm15,%xmm13
1399
pslld $30-19,%xmm2
1400
pxor %xmm1,%xmm7
1401
pxor %xmm4,%xmm13
1402
paddd %xmm5,%xmm9
1403
pxor %xmm2,%xmm7
1404
1405
paddd %xmm5,%xmm13
1406
paddd %xmm7,%xmm13
1407
movdqa 64-128(%rax),%xmm5
1408
paddd 192-128(%rax),%xmm6
1409
1410
movdqa %xmm5,%xmm7
1411
movdqa %xmm5,%xmm1
1412
psrld $3,%xmm7
1413
movdqa %xmm5,%xmm2
1414
1415
psrld $7,%xmm1
1416
movdqa 16-128(%rax),%xmm0
1417
pslld $14,%xmm2
1418
pxor %xmm1,%xmm7
1419
psrld $18-7,%xmm1
1420
movdqa %xmm0,%xmm4
1421
pxor %xmm2,%xmm7
1422
pslld $25-14,%xmm2
1423
pxor %xmm1,%xmm7
1424
psrld $10,%xmm0
1425
movdqa %xmm4,%xmm1
1426
1427
psrld $17,%xmm4
1428
pxor %xmm2,%xmm7
1429
pslld $13,%xmm1
1430
paddd %xmm7,%xmm6
1431
pxor %xmm4,%xmm0
1432
psrld $19-17,%xmm4
1433
pxor %xmm1,%xmm0
1434
pslld $15-13,%xmm1
1435
pxor %xmm4,%xmm0
1436
pxor %xmm1,%xmm0
1437
paddd %xmm0,%xmm6
1438
movdqa %xmm9,%xmm7
1439
1440
movdqa %xmm9,%xmm2
1441
1442
psrld $6,%xmm7
1443
movdqa %xmm9,%xmm1
1444
pslld $7,%xmm2
1445
movdqa %xmm6,48-128(%rax)
1446
paddd %xmm12,%xmm6
1447
1448
psrld $11,%xmm1
1449
pxor %xmm2,%xmm7
1450
pslld $21-7,%xmm2
1451
paddd -32(%rbp),%xmm6
1452
pxor %xmm1,%xmm7
1453
1454
psrld $25-11,%xmm1
1455
movdqa %xmm9,%xmm0
1456
1457
pxor %xmm2,%xmm7
1458
movdqa %xmm9,%xmm4
1459
pslld $26-21,%xmm2
1460
pandn %xmm11,%xmm0
1461
pand %xmm10,%xmm4
1462
pxor %xmm1,%xmm7
1463
1464
1465
movdqa %xmm13,%xmm1
1466
pxor %xmm2,%xmm7
1467
movdqa %xmm13,%xmm2
1468
psrld $2,%xmm1
1469
paddd %xmm7,%xmm6
1470
pxor %xmm4,%xmm0
1471
movdqa %xmm14,%xmm4
1472
movdqa %xmm13,%xmm7
1473
pslld $10,%xmm2
1474
pxor %xmm13,%xmm4
1475
1476
1477
psrld $13,%xmm7
1478
pxor %xmm2,%xmm1
1479
paddd %xmm0,%xmm6
1480
pslld $19-10,%xmm2
1481
pand %xmm4,%xmm3
1482
pxor %xmm7,%xmm1
1483
1484
1485
psrld $22-13,%xmm7
1486
pxor %xmm2,%xmm1
1487
movdqa %xmm14,%xmm12
1488
pslld $30-19,%xmm2
1489
pxor %xmm1,%xmm7
1490
pxor %xmm3,%xmm12
1491
paddd %xmm6,%xmm8
1492
pxor %xmm2,%xmm7
1493
1494
paddd %xmm6,%xmm12
1495
paddd %xmm7,%xmm12
1496
movdqa 80-128(%rax),%xmm6
1497
paddd 208-128(%rax),%xmm5
1498
1499
movdqa %xmm6,%xmm7
1500
movdqa %xmm6,%xmm1
1501
psrld $3,%xmm7
1502
movdqa %xmm6,%xmm2
1503
1504
psrld $7,%xmm1
1505
movdqa 32-128(%rax),%xmm0
1506
pslld $14,%xmm2
1507
pxor %xmm1,%xmm7
1508
psrld $18-7,%xmm1
1509
movdqa %xmm0,%xmm3
1510
pxor %xmm2,%xmm7
1511
pslld $25-14,%xmm2
1512
pxor %xmm1,%xmm7
1513
psrld $10,%xmm0
1514
movdqa %xmm3,%xmm1
1515
1516
psrld $17,%xmm3
1517
pxor %xmm2,%xmm7
1518
pslld $13,%xmm1
1519
paddd %xmm7,%xmm5
1520
pxor %xmm3,%xmm0
1521
psrld $19-17,%xmm3
1522
pxor %xmm1,%xmm0
1523
pslld $15-13,%xmm1
1524
pxor %xmm3,%xmm0
1525
pxor %xmm1,%xmm0
1526
paddd %xmm0,%xmm5
1527
movdqa %xmm8,%xmm7
1528
1529
movdqa %xmm8,%xmm2
1530
1531
psrld $6,%xmm7
1532
movdqa %xmm8,%xmm1
1533
pslld $7,%xmm2
1534
movdqa %xmm5,64-128(%rax)
1535
paddd %xmm11,%xmm5
1536
1537
psrld $11,%xmm1
1538
pxor %xmm2,%xmm7
1539
pslld $21-7,%xmm2
1540
paddd 0(%rbp),%xmm5
1541
pxor %xmm1,%xmm7
1542
1543
psrld $25-11,%xmm1
1544
movdqa %xmm8,%xmm0
1545
1546
pxor %xmm2,%xmm7
1547
movdqa %xmm8,%xmm3
1548
pslld $26-21,%xmm2
1549
pandn %xmm10,%xmm0
1550
pand %xmm9,%xmm3
1551
pxor %xmm1,%xmm7
1552
1553
1554
movdqa %xmm12,%xmm1
1555
pxor %xmm2,%xmm7
1556
movdqa %xmm12,%xmm2
1557
psrld $2,%xmm1
1558
paddd %xmm7,%xmm5
1559
pxor %xmm3,%xmm0
1560
movdqa %xmm13,%xmm3
1561
movdqa %xmm12,%xmm7
1562
pslld $10,%xmm2
1563
pxor %xmm12,%xmm3
1564
1565
1566
psrld $13,%xmm7
1567
pxor %xmm2,%xmm1
1568
paddd %xmm0,%xmm5
1569
pslld $19-10,%xmm2
1570
pand %xmm3,%xmm4
1571
pxor %xmm7,%xmm1
1572
1573
1574
psrld $22-13,%xmm7
1575
pxor %xmm2,%xmm1
1576
movdqa %xmm13,%xmm11
1577
pslld $30-19,%xmm2
1578
pxor %xmm1,%xmm7
1579
pxor %xmm4,%xmm11
1580
paddd %xmm5,%xmm15
1581
pxor %xmm2,%xmm7
1582
1583
paddd %xmm5,%xmm11
1584
paddd %xmm7,%xmm11
1585
movdqa 96-128(%rax),%xmm5
1586
paddd 224-128(%rax),%xmm6
1587
1588
movdqa %xmm5,%xmm7
1589
movdqa %xmm5,%xmm1
1590
psrld $3,%xmm7
1591
movdqa %xmm5,%xmm2
1592
1593
psrld $7,%xmm1
1594
movdqa 48-128(%rax),%xmm0
1595
pslld $14,%xmm2
1596
pxor %xmm1,%xmm7
1597
psrld $18-7,%xmm1
1598
movdqa %xmm0,%xmm4
1599
pxor %xmm2,%xmm7
1600
pslld $25-14,%xmm2
1601
pxor %xmm1,%xmm7
1602
psrld $10,%xmm0
1603
movdqa %xmm4,%xmm1
1604
1605
psrld $17,%xmm4
1606
pxor %xmm2,%xmm7
1607
pslld $13,%xmm1
1608
paddd %xmm7,%xmm6
1609
pxor %xmm4,%xmm0
1610
psrld $19-17,%xmm4
1611
pxor %xmm1,%xmm0
1612
pslld $15-13,%xmm1
1613
pxor %xmm4,%xmm0
1614
pxor %xmm1,%xmm0
1615
paddd %xmm0,%xmm6
1616
movdqa %xmm15,%xmm7
1617
1618
movdqa %xmm15,%xmm2
1619
1620
psrld $6,%xmm7
1621
movdqa %xmm15,%xmm1
1622
pslld $7,%xmm2
1623
movdqa %xmm6,80-128(%rax)
1624
paddd %xmm10,%xmm6
1625
1626
psrld $11,%xmm1
1627
pxor %xmm2,%xmm7
1628
pslld $21-7,%xmm2
1629
paddd 32(%rbp),%xmm6
1630
pxor %xmm1,%xmm7
1631
1632
psrld $25-11,%xmm1
1633
movdqa %xmm15,%xmm0
1634
1635
pxor %xmm2,%xmm7
1636
movdqa %xmm15,%xmm4
1637
pslld $26-21,%xmm2
1638
pandn %xmm9,%xmm0
1639
pand %xmm8,%xmm4
1640
pxor %xmm1,%xmm7
1641
1642
1643
movdqa %xmm11,%xmm1
1644
pxor %xmm2,%xmm7
1645
movdqa %xmm11,%xmm2
1646
psrld $2,%xmm1
1647
paddd %xmm7,%xmm6
1648
pxor %xmm4,%xmm0
1649
movdqa %xmm12,%xmm4
1650
movdqa %xmm11,%xmm7
1651
pslld $10,%xmm2
1652
pxor %xmm11,%xmm4
1653
1654
1655
psrld $13,%xmm7
1656
pxor %xmm2,%xmm1
1657
paddd %xmm0,%xmm6
1658
pslld $19-10,%xmm2
1659
pand %xmm4,%xmm3
1660
pxor %xmm7,%xmm1
1661
1662
1663
psrld $22-13,%xmm7
1664
pxor %xmm2,%xmm1
1665
movdqa %xmm12,%xmm10
1666
pslld $30-19,%xmm2
1667
pxor %xmm1,%xmm7
1668
pxor %xmm3,%xmm10
1669
paddd %xmm6,%xmm14
1670
pxor %xmm2,%xmm7
1671
1672
paddd %xmm6,%xmm10
1673
paddd %xmm7,%xmm10
1674
movdqa 112-128(%rax),%xmm6
1675
paddd 240-128(%rax),%xmm5
1676
1677
movdqa %xmm6,%xmm7
1678
movdqa %xmm6,%xmm1
1679
psrld $3,%xmm7
1680
movdqa %xmm6,%xmm2
1681
1682
psrld $7,%xmm1
1683
movdqa 64-128(%rax),%xmm0
1684
pslld $14,%xmm2
1685
pxor %xmm1,%xmm7
1686
psrld $18-7,%xmm1
1687
movdqa %xmm0,%xmm3
1688
pxor %xmm2,%xmm7
1689
pslld $25-14,%xmm2
1690
pxor %xmm1,%xmm7
1691
psrld $10,%xmm0
1692
movdqa %xmm3,%xmm1
1693
1694
psrld $17,%xmm3
1695
pxor %xmm2,%xmm7
1696
pslld $13,%xmm1
1697
paddd %xmm7,%xmm5
1698
pxor %xmm3,%xmm0
1699
psrld $19-17,%xmm3
1700
pxor %xmm1,%xmm0
1701
pslld $15-13,%xmm1
1702
pxor %xmm3,%xmm0
1703
pxor %xmm1,%xmm0
1704
paddd %xmm0,%xmm5
1705
movdqa %xmm14,%xmm7
1706
1707
movdqa %xmm14,%xmm2
1708
1709
psrld $6,%xmm7
1710
movdqa %xmm14,%xmm1
1711
pslld $7,%xmm2
1712
movdqa %xmm5,96-128(%rax)
1713
paddd %xmm9,%xmm5
1714
1715
psrld $11,%xmm1
1716
pxor %xmm2,%xmm7
1717
pslld $21-7,%xmm2
1718
paddd 64(%rbp),%xmm5
1719
pxor %xmm1,%xmm7
1720
1721
psrld $25-11,%xmm1
1722
movdqa %xmm14,%xmm0
1723
1724
pxor %xmm2,%xmm7
1725
movdqa %xmm14,%xmm3
1726
pslld $26-21,%xmm2
1727
pandn %xmm8,%xmm0
1728
pand %xmm15,%xmm3
1729
pxor %xmm1,%xmm7
1730
1731
1732
movdqa %xmm10,%xmm1
1733
pxor %xmm2,%xmm7
1734
movdqa %xmm10,%xmm2
1735
psrld $2,%xmm1
1736
paddd %xmm7,%xmm5
1737
pxor %xmm3,%xmm0
1738
movdqa %xmm11,%xmm3
1739
movdqa %xmm10,%xmm7
1740
pslld $10,%xmm2
1741
pxor %xmm10,%xmm3
1742
1743
1744
psrld $13,%xmm7
1745
pxor %xmm2,%xmm1
1746
paddd %xmm0,%xmm5
1747
pslld $19-10,%xmm2
1748
pand %xmm3,%xmm4
1749
pxor %xmm7,%xmm1
1750
1751
1752
psrld $22-13,%xmm7
1753
pxor %xmm2,%xmm1
1754
movdqa %xmm11,%xmm9
1755
pslld $30-19,%xmm2
1756
pxor %xmm1,%xmm7
1757
pxor %xmm4,%xmm9
1758
paddd %xmm5,%xmm13
1759
pxor %xmm2,%xmm7
1760
1761
paddd %xmm5,%xmm9
1762
paddd %xmm7,%xmm9
1763
movdqa 128-128(%rax),%xmm5
1764
paddd 0-128(%rax),%xmm6
1765
1766
movdqa %xmm5,%xmm7
1767
movdqa %xmm5,%xmm1
1768
psrld $3,%xmm7
1769
movdqa %xmm5,%xmm2
1770
1771
psrld $7,%xmm1
1772
movdqa 80-128(%rax),%xmm0
1773
pslld $14,%xmm2
1774
pxor %xmm1,%xmm7
1775
psrld $18-7,%xmm1
1776
movdqa %xmm0,%xmm4
1777
pxor %xmm2,%xmm7
1778
pslld $25-14,%xmm2
1779
pxor %xmm1,%xmm7
1780
psrld $10,%xmm0
1781
movdqa %xmm4,%xmm1
1782
1783
psrld $17,%xmm4
1784
pxor %xmm2,%xmm7
1785
pslld $13,%xmm1
1786
paddd %xmm7,%xmm6
1787
pxor %xmm4,%xmm0
1788
psrld $19-17,%xmm4
1789
pxor %xmm1,%xmm0
1790
pslld $15-13,%xmm1
1791
pxor %xmm4,%xmm0
1792
pxor %xmm1,%xmm0
1793
paddd %xmm0,%xmm6
1794
movdqa %xmm13,%xmm7
1795
1796
movdqa %xmm13,%xmm2
1797
1798
psrld $6,%xmm7
1799
movdqa %xmm13,%xmm1
1800
pslld $7,%xmm2
1801
movdqa %xmm6,112-128(%rax)
1802
paddd %xmm8,%xmm6
1803
1804
psrld $11,%xmm1
1805
pxor %xmm2,%xmm7
1806
pslld $21-7,%xmm2
1807
paddd 96(%rbp),%xmm6
1808
pxor %xmm1,%xmm7
1809
1810
psrld $25-11,%xmm1
1811
movdqa %xmm13,%xmm0
1812
1813
pxor %xmm2,%xmm7
1814
movdqa %xmm13,%xmm4
1815
pslld $26-21,%xmm2
1816
pandn %xmm15,%xmm0
1817
pand %xmm14,%xmm4
1818
pxor %xmm1,%xmm7
1819
1820
1821
movdqa %xmm9,%xmm1
1822
pxor %xmm2,%xmm7
1823
movdqa %xmm9,%xmm2
1824
psrld $2,%xmm1
1825
paddd %xmm7,%xmm6
1826
pxor %xmm4,%xmm0
1827
movdqa %xmm10,%xmm4
1828
movdqa %xmm9,%xmm7
1829
pslld $10,%xmm2
1830
pxor %xmm9,%xmm4
1831
1832
1833
psrld $13,%xmm7
1834
pxor %xmm2,%xmm1
1835
paddd %xmm0,%xmm6
1836
pslld $19-10,%xmm2
1837
pand %xmm4,%xmm3
1838
pxor %xmm7,%xmm1
1839
1840
1841
psrld $22-13,%xmm7
1842
pxor %xmm2,%xmm1
1843
movdqa %xmm10,%xmm8
1844
pslld $30-19,%xmm2
1845
pxor %xmm1,%xmm7
1846
pxor %xmm3,%xmm8
1847
paddd %xmm6,%xmm12
1848
pxor %xmm2,%xmm7
1849
1850
paddd %xmm6,%xmm8
1851
paddd %xmm7,%xmm8
1852
leaq 256(%rbp),%rbp
1853
movdqa 144-128(%rax),%xmm6
1854
paddd 16-128(%rax),%xmm5
1855
1856
movdqa %xmm6,%xmm7
1857
movdqa %xmm6,%xmm1
1858
psrld $3,%xmm7
1859
movdqa %xmm6,%xmm2
1860
1861
psrld $7,%xmm1
1862
movdqa 96-128(%rax),%xmm0
1863
pslld $14,%xmm2
1864
pxor %xmm1,%xmm7
1865
psrld $18-7,%xmm1
1866
movdqa %xmm0,%xmm3
1867
pxor %xmm2,%xmm7
1868
pslld $25-14,%xmm2
1869
pxor %xmm1,%xmm7
1870
psrld $10,%xmm0
1871
movdqa %xmm3,%xmm1
1872
1873
psrld $17,%xmm3
1874
pxor %xmm2,%xmm7
1875
pslld $13,%xmm1
1876
paddd %xmm7,%xmm5
1877
pxor %xmm3,%xmm0
1878
psrld $19-17,%xmm3
1879
pxor %xmm1,%xmm0
1880
pslld $15-13,%xmm1
1881
pxor %xmm3,%xmm0
1882
pxor %xmm1,%xmm0
1883
paddd %xmm0,%xmm5
1884
movdqa %xmm12,%xmm7
1885
1886
movdqa %xmm12,%xmm2
1887
1888
psrld $6,%xmm7
1889
movdqa %xmm12,%xmm1
1890
pslld $7,%xmm2
1891
movdqa %xmm5,128-128(%rax)
1892
paddd %xmm15,%xmm5
1893
1894
psrld $11,%xmm1
1895
pxor %xmm2,%xmm7
1896
pslld $21-7,%xmm2
1897
paddd -128(%rbp),%xmm5
1898
pxor %xmm1,%xmm7
1899
1900
psrld $25-11,%xmm1
1901
movdqa %xmm12,%xmm0
1902
1903
pxor %xmm2,%xmm7
1904
movdqa %xmm12,%xmm3
1905
pslld $26-21,%xmm2
1906
pandn %xmm14,%xmm0
1907
pand %xmm13,%xmm3
1908
pxor %xmm1,%xmm7
1909
1910
1911
movdqa %xmm8,%xmm1
1912
pxor %xmm2,%xmm7
1913
movdqa %xmm8,%xmm2
1914
psrld $2,%xmm1
1915
paddd %xmm7,%xmm5
1916
pxor %xmm3,%xmm0
1917
movdqa %xmm9,%xmm3
1918
movdqa %xmm8,%xmm7
1919
pslld $10,%xmm2
1920
pxor %xmm8,%xmm3
1921
1922
1923
psrld $13,%xmm7
1924
pxor %xmm2,%xmm1
1925
paddd %xmm0,%xmm5
1926
pslld $19-10,%xmm2
1927
pand %xmm3,%xmm4
1928
pxor %xmm7,%xmm1
1929
1930
1931
psrld $22-13,%xmm7
1932
pxor %xmm2,%xmm1
1933
movdqa %xmm9,%xmm15
1934
pslld $30-19,%xmm2
1935
pxor %xmm1,%xmm7
1936
pxor %xmm4,%xmm15
1937
paddd %xmm5,%xmm11
1938
pxor %xmm2,%xmm7
1939
1940
paddd %xmm5,%xmm15
1941
paddd %xmm7,%xmm15
1942
movdqa 160-128(%rax),%xmm5
1943
paddd 32-128(%rax),%xmm6
1944
1945
movdqa %xmm5,%xmm7
1946
movdqa %xmm5,%xmm1
1947
psrld $3,%xmm7
1948
movdqa %xmm5,%xmm2
1949
1950
psrld $7,%xmm1
1951
movdqa 112-128(%rax),%xmm0
1952
pslld $14,%xmm2
1953
pxor %xmm1,%xmm7
1954
psrld $18-7,%xmm1
1955
movdqa %xmm0,%xmm4
1956
pxor %xmm2,%xmm7
1957
pslld $25-14,%xmm2
1958
pxor %xmm1,%xmm7
1959
psrld $10,%xmm0
1960
movdqa %xmm4,%xmm1
1961
1962
psrld $17,%xmm4
1963
pxor %xmm2,%xmm7
1964
pslld $13,%xmm1
1965
paddd %xmm7,%xmm6
1966
pxor %xmm4,%xmm0
1967
psrld $19-17,%xmm4
1968
pxor %xmm1,%xmm0
1969
pslld $15-13,%xmm1
1970
pxor %xmm4,%xmm0
1971
pxor %xmm1,%xmm0
1972
paddd %xmm0,%xmm6
1973
movdqa %xmm11,%xmm7
1974
1975
movdqa %xmm11,%xmm2
1976
1977
psrld $6,%xmm7
1978
movdqa %xmm11,%xmm1
1979
pslld $7,%xmm2
1980
movdqa %xmm6,144-128(%rax)
1981
paddd %xmm14,%xmm6
1982
1983
psrld $11,%xmm1
1984
pxor %xmm2,%xmm7
1985
pslld $21-7,%xmm2
1986
paddd -96(%rbp),%xmm6
1987
pxor %xmm1,%xmm7
1988
1989
psrld $25-11,%xmm1
1990
movdqa %xmm11,%xmm0
1991
1992
pxor %xmm2,%xmm7
1993
movdqa %xmm11,%xmm4
1994
pslld $26-21,%xmm2
1995
pandn %xmm13,%xmm0
1996
pand %xmm12,%xmm4
1997
pxor %xmm1,%xmm7
1998
1999
2000
movdqa %xmm15,%xmm1
2001
pxor %xmm2,%xmm7
2002
movdqa %xmm15,%xmm2
2003
psrld $2,%xmm1
2004
paddd %xmm7,%xmm6
2005
pxor %xmm4,%xmm0
2006
movdqa %xmm8,%xmm4
2007
movdqa %xmm15,%xmm7
2008
pslld $10,%xmm2
2009
pxor %xmm15,%xmm4
2010
2011
2012
psrld $13,%xmm7
2013
pxor %xmm2,%xmm1
2014
paddd %xmm0,%xmm6
2015
pslld $19-10,%xmm2
2016
pand %xmm4,%xmm3
2017
pxor %xmm7,%xmm1
2018
2019
2020
psrld $22-13,%xmm7
2021
pxor %xmm2,%xmm1
2022
movdqa %xmm8,%xmm14
2023
pslld $30-19,%xmm2
2024
pxor %xmm1,%xmm7
2025
pxor %xmm3,%xmm14
2026
paddd %xmm6,%xmm10
2027
pxor %xmm2,%xmm7
2028
2029
paddd %xmm6,%xmm14
2030
paddd %xmm7,%xmm14
2031
movdqa 176-128(%rax),%xmm6
2032
paddd 48-128(%rax),%xmm5
2033
2034
movdqa %xmm6,%xmm7
2035
movdqa %xmm6,%xmm1
2036
psrld $3,%xmm7
2037
movdqa %xmm6,%xmm2
2038
2039
psrld $7,%xmm1
2040
movdqa 128-128(%rax),%xmm0
2041
pslld $14,%xmm2
2042
pxor %xmm1,%xmm7
2043
psrld $18-7,%xmm1
2044
movdqa %xmm0,%xmm3
2045
pxor %xmm2,%xmm7
2046
pslld $25-14,%xmm2
2047
pxor %xmm1,%xmm7
2048
psrld $10,%xmm0
2049
movdqa %xmm3,%xmm1
2050
2051
psrld $17,%xmm3
2052
pxor %xmm2,%xmm7
2053
pslld $13,%xmm1
2054
paddd %xmm7,%xmm5
2055
pxor %xmm3,%xmm0
2056
psrld $19-17,%xmm3
2057
pxor %xmm1,%xmm0
2058
pslld $15-13,%xmm1
2059
pxor %xmm3,%xmm0
2060
pxor %xmm1,%xmm0
2061
paddd %xmm0,%xmm5
2062
movdqa %xmm10,%xmm7
2063
2064
movdqa %xmm10,%xmm2
2065
2066
psrld $6,%xmm7
2067
movdqa %xmm10,%xmm1
2068
pslld $7,%xmm2
2069
movdqa %xmm5,160-128(%rax)
2070
paddd %xmm13,%xmm5
2071
2072
psrld $11,%xmm1
2073
pxor %xmm2,%xmm7
2074
pslld $21-7,%xmm2
2075
paddd -64(%rbp),%xmm5
2076
pxor %xmm1,%xmm7
2077
2078
psrld $25-11,%xmm1
2079
movdqa %xmm10,%xmm0
2080
2081
pxor %xmm2,%xmm7
2082
movdqa %xmm10,%xmm3
2083
pslld $26-21,%xmm2
2084
pandn %xmm12,%xmm0
2085
pand %xmm11,%xmm3
2086
pxor %xmm1,%xmm7
2087
2088
2089
movdqa %xmm14,%xmm1
2090
pxor %xmm2,%xmm7
2091
movdqa %xmm14,%xmm2
2092
psrld $2,%xmm1
2093
paddd %xmm7,%xmm5
2094
pxor %xmm3,%xmm0
2095
movdqa %xmm15,%xmm3
2096
movdqa %xmm14,%xmm7
2097
pslld $10,%xmm2
2098
pxor %xmm14,%xmm3
2099
2100
2101
psrld $13,%xmm7
2102
pxor %xmm2,%xmm1
2103
paddd %xmm0,%xmm5
2104
pslld $19-10,%xmm2
2105
pand %xmm3,%xmm4
2106
pxor %xmm7,%xmm1
2107
2108
2109
psrld $22-13,%xmm7
2110
pxor %xmm2,%xmm1
2111
movdqa %xmm15,%xmm13
2112
pslld $30-19,%xmm2
2113
pxor %xmm1,%xmm7
2114
pxor %xmm4,%xmm13
2115
paddd %xmm5,%xmm9
2116
pxor %xmm2,%xmm7
2117
2118
paddd %xmm5,%xmm13
2119
paddd %xmm7,%xmm13
2120
movdqa 192-128(%rax),%xmm5
2121
paddd 64-128(%rax),%xmm6
2122
2123
movdqa %xmm5,%xmm7
2124
movdqa %xmm5,%xmm1
2125
psrld $3,%xmm7
2126
movdqa %xmm5,%xmm2
2127
2128
psrld $7,%xmm1
2129
movdqa 144-128(%rax),%xmm0
2130
pslld $14,%xmm2
2131
pxor %xmm1,%xmm7
2132
psrld $18-7,%xmm1
2133
movdqa %xmm0,%xmm4
2134
pxor %xmm2,%xmm7
2135
pslld $25-14,%xmm2
2136
pxor %xmm1,%xmm7
2137
psrld $10,%xmm0
2138
movdqa %xmm4,%xmm1
2139
2140
psrld $17,%xmm4
2141
pxor %xmm2,%xmm7
2142
pslld $13,%xmm1
2143
paddd %xmm7,%xmm6
2144
pxor %xmm4,%xmm0
2145
psrld $19-17,%xmm4
2146
pxor %xmm1,%xmm0
2147
pslld $15-13,%xmm1
2148
pxor %xmm4,%xmm0
2149
pxor %xmm1,%xmm0
2150
paddd %xmm0,%xmm6
2151
movdqa %xmm9,%xmm7
2152
2153
movdqa %xmm9,%xmm2
2154
2155
psrld $6,%xmm7
2156
movdqa %xmm9,%xmm1
2157
pslld $7,%xmm2
2158
movdqa %xmm6,176-128(%rax)
2159
paddd %xmm12,%xmm6
2160
2161
psrld $11,%xmm1
2162
pxor %xmm2,%xmm7
2163
pslld $21-7,%xmm2
2164
paddd -32(%rbp),%xmm6
2165
pxor %xmm1,%xmm7
2166
2167
psrld $25-11,%xmm1
2168
movdqa %xmm9,%xmm0
2169
2170
pxor %xmm2,%xmm7
2171
movdqa %xmm9,%xmm4
2172
pslld $26-21,%xmm2
2173
pandn %xmm11,%xmm0
2174
pand %xmm10,%xmm4
2175
pxor %xmm1,%xmm7
2176
2177
2178
movdqa %xmm13,%xmm1
2179
pxor %xmm2,%xmm7
2180
movdqa %xmm13,%xmm2
2181
psrld $2,%xmm1
2182
paddd %xmm7,%xmm6
2183
pxor %xmm4,%xmm0
2184
movdqa %xmm14,%xmm4
2185
movdqa %xmm13,%xmm7
2186
pslld $10,%xmm2
2187
pxor %xmm13,%xmm4
2188
2189
2190
psrld $13,%xmm7
2191
pxor %xmm2,%xmm1
2192
paddd %xmm0,%xmm6
2193
pslld $19-10,%xmm2
2194
pand %xmm4,%xmm3
2195
pxor %xmm7,%xmm1
2196
2197
2198
psrld $22-13,%xmm7
2199
pxor %xmm2,%xmm1
2200
movdqa %xmm14,%xmm12
2201
pslld $30-19,%xmm2
2202
pxor %xmm1,%xmm7
2203
pxor %xmm3,%xmm12
2204
paddd %xmm6,%xmm8
2205
pxor %xmm2,%xmm7
2206
2207
paddd %xmm6,%xmm12
2208
paddd %xmm7,%xmm12
2209
movdqa 208-128(%rax),%xmm6
2210
paddd 80-128(%rax),%xmm5
2211
2212
movdqa %xmm6,%xmm7
2213
movdqa %xmm6,%xmm1
2214
psrld $3,%xmm7
2215
movdqa %xmm6,%xmm2
2216
2217
psrld $7,%xmm1
2218
movdqa 160-128(%rax),%xmm0
2219
pslld $14,%xmm2
2220
pxor %xmm1,%xmm7
2221
psrld $18-7,%xmm1
2222
movdqa %xmm0,%xmm3
2223
pxor %xmm2,%xmm7
2224
pslld $25-14,%xmm2
2225
pxor %xmm1,%xmm7
2226
psrld $10,%xmm0
2227
movdqa %xmm3,%xmm1
2228
2229
psrld $17,%xmm3
2230
pxor %xmm2,%xmm7
2231
pslld $13,%xmm1
2232
paddd %xmm7,%xmm5
2233
pxor %xmm3,%xmm0
2234
psrld $19-17,%xmm3
2235
pxor %xmm1,%xmm0
2236
pslld $15-13,%xmm1
2237
pxor %xmm3,%xmm0
2238
pxor %xmm1,%xmm0
2239
paddd %xmm0,%xmm5
2240
movdqa %xmm8,%xmm7
2241
2242
movdqa %xmm8,%xmm2
2243
2244
psrld $6,%xmm7
2245
movdqa %xmm8,%xmm1
2246
pslld $7,%xmm2
2247
movdqa %xmm5,192-128(%rax)
2248
paddd %xmm11,%xmm5
2249
2250
psrld $11,%xmm1
2251
pxor %xmm2,%xmm7
2252
pslld $21-7,%xmm2
2253
paddd 0(%rbp),%xmm5
2254
pxor %xmm1,%xmm7
2255
2256
psrld $25-11,%xmm1
2257
movdqa %xmm8,%xmm0
2258
2259
pxor %xmm2,%xmm7
2260
movdqa %xmm8,%xmm3
2261
pslld $26-21,%xmm2
2262
pandn %xmm10,%xmm0
2263
pand %xmm9,%xmm3
2264
pxor %xmm1,%xmm7
2265
2266
2267
movdqa %xmm12,%xmm1
2268
pxor %xmm2,%xmm7
2269
movdqa %xmm12,%xmm2
2270
psrld $2,%xmm1
2271
paddd %xmm7,%xmm5
2272
pxor %xmm3,%xmm0
2273
movdqa %xmm13,%xmm3
2274
movdqa %xmm12,%xmm7
2275
pslld $10,%xmm2
2276
pxor %xmm12,%xmm3
2277
2278
2279
psrld $13,%xmm7
2280
pxor %xmm2,%xmm1
2281
paddd %xmm0,%xmm5
2282
pslld $19-10,%xmm2
2283
pand %xmm3,%xmm4
2284
pxor %xmm7,%xmm1
2285
2286
2287
psrld $22-13,%xmm7
2288
pxor %xmm2,%xmm1
2289
movdqa %xmm13,%xmm11
2290
pslld $30-19,%xmm2
2291
pxor %xmm1,%xmm7
2292
pxor %xmm4,%xmm11
2293
paddd %xmm5,%xmm15
2294
pxor %xmm2,%xmm7
2295
2296
paddd %xmm5,%xmm11
2297
paddd %xmm7,%xmm11
2298
movdqa 224-128(%rax),%xmm5
2299
paddd 96-128(%rax),%xmm6
2300
2301
movdqa %xmm5,%xmm7
2302
movdqa %xmm5,%xmm1
2303
psrld $3,%xmm7
2304
movdqa %xmm5,%xmm2
2305
2306
psrld $7,%xmm1
2307
movdqa 176-128(%rax),%xmm0
2308
pslld $14,%xmm2
2309
pxor %xmm1,%xmm7
2310
psrld $18-7,%xmm1
2311
movdqa %xmm0,%xmm4
2312
pxor %xmm2,%xmm7
2313
pslld $25-14,%xmm2
2314
pxor %xmm1,%xmm7
2315
psrld $10,%xmm0
2316
movdqa %xmm4,%xmm1
2317
2318
psrld $17,%xmm4
2319
pxor %xmm2,%xmm7
2320
pslld $13,%xmm1
2321
paddd %xmm7,%xmm6
2322
pxor %xmm4,%xmm0
2323
psrld $19-17,%xmm4
2324
pxor %xmm1,%xmm0
2325
pslld $15-13,%xmm1
2326
pxor %xmm4,%xmm0
2327
pxor %xmm1,%xmm0
2328
paddd %xmm0,%xmm6
2329
movdqa %xmm15,%xmm7
2330
2331
movdqa %xmm15,%xmm2
2332
2333
psrld $6,%xmm7
2334
movdqa %xmm15,%xmm1
2335
pslld $7,%xmm2
2336
movdqa %xmm6,208-128(%rax)
2337
paddd %xmm10,%xmm6
2338
2339
psrld $11,%xmm1
2340
pxor %xmm2,%xmm7
2341
pslld $21-7,%xmm2
2342
paddd 32(%rbp),%xmm6
2343
pxor %xmm1,%xmm7
2344
2345
psrld $25-11,%xmm1
2346
movdqa %xmm15,%xmm0
2347
2348
pxor %xmm2,%xmm7
2349
movdqa %xmm15,%xmm4
2350
pslld $26-21,%xmm2
2351
pandn %xmm9,%xmm0
2352
pand %xmm8,%xmm4
2353
pxor %xmm1,%xmm7
2354
2355
2356
movdqa %xmm11,%xmm1
2357
pxor %xmm2,%xmm7
2358
movdqa %xmm11,%xmm2
2359
psrld $2,%xmm1
2360
paddd %xmm7,%xmm6
2361
pxor %xmm4,%xmm0
2362
movdqa %xmm12,%xmm4
2363
movdqa %xmm11,%xmm7
2364
pslld $10,%xmm2
2365
pxor %xmm11,%xmm4
2366
2367
2368
psrld $13,%xmm7
2369
pxor %xmm2,%xmm1
2370
paddd %xmm0,%xmm6
2371
pslld $19-10,%xmm2
2372
pand %xmm4,%xmm3
2373
pxor %xmm7,%xmm1
2374
2375
2376
psrld $22-13,%xmm7
2377
pxor %xmm2,%xmm1
2378
movdqa %xmm12,%xmm10
2379
pslld $30-19,%xmm2
2380
pxor %xmm1,%xmm7
2381
pxor %xmm3,%xmm10
2382
paddd %xmm6,%xmm14
2383
pxor %xmm2,%xmm7
2384
2385
paddd %xmm6,%xmm10
2386
paddd %xmm7,%xmm10
2387
movdqa 240-128(%rax),%xmm6
2388
paddd 112-128(%rax),%xmm5
2389
2390
movdqa %xmm6,%xmm7
2391
movdqa %xmm6,%xmm1
2392
psrld $3,%xmm7
2393
movdqa %xmm6,%xmm2
2394
2395
psrld $7,%xmm1
2396
movdqa 192-128(%rax),%xmm0
2397
pslld $14,%xmm2
2398
pxor %xmm1,%xmm7
2399
psrld $18-7,%xmm1
2400
movdqa %xmm0,%xmm3
2401
pxor %xmm2,%xmm7
2402
pslld $25-14,%xmm2
2403
pxor %xmm1,%xmm7
2404
psrld $10,%xmm0
2405
movdqa %xmm3,%xmm1
2406
2407
psrld $17,%xmm3
2408
pxor %xmm2,%xmm7
2409
pslld $13,%xmm1
2410
paddd %xmm7,%xmm5
2411
pxor %xmm3,%xmm0
2412
psrld $19-17,%xmm3
2413
pxor %xmm1,%xmm0
2414
pslld $15-13,%xmm1
2415
pxor %xmm3,%xmm0
2416
pxor %xmm1,%xmm0
2417
paddd %xmm0,%xmm5
2418
movdqa %xmm14,%xmm7
2419
2420
movdqa %xmm14,%xmm2
2421
2422
psrld $6,%xmm7
2423
movdqa %xmm14,%xmm1
2424
pslld $7,%xmm2
2425
movdqa %xmm5,224-128(%rax)
2426
paddd %xmm9,%xmm5
2427
2428
psrld $11,%xmm1
2429
pxor %xmm2,%xmm7
2430
pslld $21-7,%xmm2
2431
paddd 64(%rbp),%xmm5
2432
pxor %xmm1,%xmm7
2433
2434
psrld $25-11,%xmm1
2435
movdqa %xmm14,%xmm0
2436
2437
pxor %xmm2,%xmm7
2438
movdqa %xmm14,%xmm3
2439
pslld $26-21,%xmm2
2440
pandn %xmm8,%xmm0
2441
pand %xmm15,%xmm3
2442
pxor %xmm1,%xmm7
2443
2444
2445
movdqa %xmm10,%xmm1
2446
pxor %xmm2,%xmm7
2447
movdqa %xmm10,%xmm2
2448
psrld $2,%xmm1
2449
paddd %xmm7,%xmm5
2450
pxor %xmm3,%xmm0
2451
movdqa %xmm11,%xmm3
2452
movdqa %xmm10,%xmm7
2453
pslld $10,%xmm2
2454
pxor %xmm10,%xmm3
2455
2456
2457
psrld $13,%xmm7
2458
pxor %xmm2,%xmm1
2459
paddd %xmm0,%xmm5
2460
pslld $19-10,%xmm2
2461
pand %xmm3,%xmm4
2462
pxor %xmm7,%xmm1
2463
2464
2465
psrld $22-13,%xmm7
2466
pxor %xmm2,%xmm1
2467
movdqa %xmm11,%xmm9
2468
pslld $30-19,%xmm2
2469
pxor %xmm1,%xmm7
2470
pxor %xmm4,%xmm9
2471
paddd %xmm5,%xmm13
2472
pxor %xmm2,%xmm7
2473
2474
paddd %xmm5,%xmm9
2475
paddd %xmm7,%xmm9
2476
movdqa 0-128(%rax),%xmm5
2477
paddd 128-128(%rax),%xmm6
2478
2479
movdqa %xmm5,%xmm7
2480
movdqa %xmm5,%xmm1
2481
psrld $3,%xmm7
2482
movdqa %xmm5,%xmm2
2483
2484
psrld $7,%xmm1
2485
movdqa 208-128(%rax),%xmm0
2486
pslld $14,%xmm2
2487
pxor %xmm1,%xmm7
2488
psrld $18-7,%xmm1
2489
movdqa %xmm0,%xmm4
2490
pxor %xmm2,%xmm7
2491
pslld $25-14,%xmm2
2492
pxor %xmm1,%xmm7
2493
psrld $10,%xmm0
2494
movdqa %xmm4,%xmm1
2495
2496
psrld $17,%xmm4
2497
pxor %xmm2,%xmm7
2498
pslld $13,%xmm1
2499
paddd %xmm7,%xmm6
2500
pxor %xmm4,%xmm0
2501
psrld $19-17,%xmm4
2502
pxor %xmm1,%xmm0
2503
pslld $15-13,%xmm1
2504
pxor %xmm4,%xmm0
2505
pxor %xmm1,%xmm0
2506
paddd %xmm0,%xmm6
2507
movdqa %xmm13,%xmm7
2508
2509
movdqa %xmm13,%xmm2
2510
2511
psrld $6,%xmm7
2512
movdqa %xmm13,%xmm1
2513
pslld $7,%xmm2
2514
movdqa %xmm6,240-128(%rax)
2515
paddd %xmm8,%xmm6
2516
2517
psrld $11,%xmm1
2518
pxor %xmm2,%xmm7
2519
pslld $21-7,%xmm2
2520
paddd 96(%rbp),%xmm6
2521
pxor %xmm1,%xmm7
2522
2523
psrld $25-11,%xmm1
2524
movdqa %xmm13,%xmm0
2525
2526
pxor %xmm2,%xmm7
2527
movdqa %xmm13,%xmm4
2528
pslld $26-21,%xmm2
2529
pandn %xmm15,%xmm0
2530
pand %xmm14,%xmm4
2531
pxor %xmm1,%xmm7
2532
2533
2534
movdqa %xmm9,%xmm1
2535
pxor %xmm2,%xmm7
2536
movdqa %xmm9,%xmm2
2537
psrld $2,%xmm1
2538
paddd %xmm7,%xmm6
2539
pxor %xmm4,%xmm0
2540
movdqa %xmm10,%xmm4
2541
movdqa %xmm9,%xmm7
2542
pslld $10,%xmm2
2543
pxor %xmm9,%xmm4
2544
2545
2546
psrld $13,%xmm7
2547
pxor %xmm2,%xmm1
2548
paddd %xmm0,%xmm6
2549
pslld $19-10,%xmm2
2550
pand %xmm4,%xmm3
2551
pxor %xmm7,%xmm1
2552
2553
2554
psrld $22-13,%xmm7
2555
pxor %xmm2,%xmm1
2556
movdqa %xmm10,%xmm8
2557
pslld $30-19,%xmm2
2558
pxor %xmm1,%xmm7
2559
pxor %xmm3,%xmm8
2560
paddd %xmm6,%xmm12
2561
pxor %xmm2,%xmm7
2562
2563
paddd %xmm6,%xmm8
2564
paddd %xmm7,%xmm8
2565
leaq 256(%rbp),%rbp
2566
decl %ecx
2567
jnz .Loop_16_xx
2568
2569
movl $1,%ecx
2570
leaq K256+128(%rip),%rbp
2571
2572
movdqa (%rbx),%xmm7
2573
cmpl 0(%rbx),%ecx
2574
pxor %xmm0,%xmm0
2575
cmovgeq %rbp,%r8
2576
cmpl 4(%rbx),%ecx
2577
movdqa %xmm7,%xmm6
2578
cmovgeq %rbp,%r9
2579
cmpl 8(%rbx),%ecx
2580
pcmpgtd %xmm0,%xmm6
2581
cmovgeq %rbp,%r10
2582
cmpl 12(%rbx),%ecx
2583
paddd %xmm6,%xmm7
2584
cmovgeq %rbp,%r11
2585
2586
movdqu 0-128(%rdi),%xmm0
2587
pand %xmm6,%xmm8
2588
movdqu 32-128(%rdi),%xmm1
2589
pand %xmm6,%xmm9
2590
movdqu 64-128(%rdi),%xmm2
2591
pand %xmm6,%xmm10
2592
movdqu 96-128(%rdi),%xmm5
2593
pand %xmm6,%xmm11
2594
paddd %xmm0,%xmm8
2595
movdqu 128-128(%rdi),%xmm0
2596
pand %xmm6,%xmm12
2597
paddd %xmm1,%xmm9
2598
movdqu 160-128(%rdi),%xmm1
2599
pand %xmm6,%xmm13
2600
paddd %xmm2,%xmm10
2601
movdqu 192-128(%rdi),%xmm2
2602
pand %xmm6,%xmm14
2603
paddd %xmm5,%xmm11
2604
movdqu 224-128(%rdi),%xmm5
2605
pand %xmm6,%xmm15
2606
paddd %xmm0,%xmm12
2607
paddd %xmm1,%xmm13
2608
movdqu %xmm8,0-128(%rdi)
2609
paddd %xmm2,%xmm14
2610
movdqu %xmm9,32-128(%rdi)
2611
paddd %xmm5,%xmm15
2612
movdqu %xmm10,64-128(%rdi)
2613
movdqu %xmm11,96-128(%rdi)
2614
movdqu %xmm12,128-128(%rdi)
2615
movdqu %xmm13,160-128(%rdi)
2616
movdqu %xmm14,192-128(%rdi)
2617
movdqu %xmm15,224-128(%rdi)
2618
2619
movdqa %xmm7,(%rbx)
2620
movdqa .Lpbswap(%rip),%xmm6
2621
decl %edx
2622
jnz .Loop
2623
2624
movl 280(%rsp),%edx
2625
leaq 16(%rdi),%rdi
2626
leaq 64(%rsi),%rsi
2627
decl %edx
2628
jnz .Loop_grande
2629
2630
.Ldone:
2631
movq 272(%rsp),%rax
2632
.cfi_def_cfa %rax,8
2633
movq -16(%rax),%rbp
2634
.cfi_restore %rbp
2635
movq -8(%rax),%rbx
2636
.cfi_restore %rbx
2637
leaq (%rax),%rsp
2638
.cfi_def_cfa_register %rsp
2639
.Lepilogue:
2640
.byte 0xf3,0xc3
2641
.cfi_endproc
2642
.size sha256_multi_block,.-sha256_multi_block
2643
.type sha256_multi_block_shaext,@function
2644
.align 32
2645
sha256_multi_block_shaext:
2646
.cfi_startproc
2647
_shaext_shortcut:
2648
movq %rsp,%rax
2649
.cfi_def_cfa_register %rax
2650
pushq %rbx
2651
.cfi_offset %rbx,-16
2652
pushq %rbp
2653
.cfi_offset %rbp,-24
2654
subq $288,%rsp
2655
shll $1,%edx
2656
andq $-256,%rsp
2657
leaq 128(%rdi),%rdi
2658
movq %rax,272(%rsp)
2659
.Lbody_shaext:
2660
leaq 256(%rsp),%rbx
2661
leaq K256_shaext+128(%rip),%rbp
2662
2663
.Loop_grande_shaext:
2664
movl %edx,280(%rsp)
2665
xorl %edx,%edx
2666
2667
movq 0(%rsi),%r8
2668
2669
movl 8(%rsi),%ecx
2670
cmpl %edx,%ecx
2671
cmovgl %ecx,%edx
2672
testl %ecx,%ecx
2673
movl %ecx,0(%rbx)
2674
cmovleq %rsp,%r8
2675
2676
movq 16(%rsi),%r9
2677
2678
movl 24(%rsi),%ecx
2679
cmpl %edx,%ecx
2680
cmovgl %ecx,%edx
2681
testl %ecx,%ecx
2682
movl %ecx,4(%rbx)
2683
cmovleq %rsp,%r9
2684
testl %edx,%edx
2685
jz .Ldone_shaext
2686
2687
movq 0-128(%rdi),%xmm12
2688
movq 32-128(%rdi),%xmm4
2689
movq 64-128(%rdi),%xmm13
2690
movq 96-128(%rdi),%xmm5
2691
movq 128-128(%rdi),%xmm8
2692
movq 160-128(%rdi),%xmm9
2693
movq 192-128(%rdi),%xmm10
2694
movq 224-128(%rdi),%xmm11
2695
2696
punpckldq %xmm4,%xmm12
2697
punpckldq %xmm5,%xmm13
2698
punpckldq %xmm9,%xmm8
2699
punpckldq %xmm11,%xmm10
2700
movdqa K256_shaext-16(%rip),%xmm3
2701
2702
movdqa %xmm12,%xmm14
2703
movdqa %xmm13,%xmm15
2704
punpcklqdq %xmm8,%xmm12
2705
punpcklqdq %xmm10,%xmm13
2706
punpckhqdq %xmm8,%xmm14
2707
punpckhqdq %xmm10,%xmm15
2708
2709
pshufd $27,%xmm12,%xmm12
2710
pshufd $27,%xmm13,%xmm13
2711
pshufd $27,%xmm14,%xmm14
2712
pshufd $27,%xmm15,%xmm15
2713
jmp .Loop_shaext
2714
2715
.align 32
2716
.Loop_shaext:
2717
movdqu 0(%r8),%xmm4
2718
movdqu 0(%r9),%xmm8
2719
movdqu 16(%r8),%xmm5
2720
movdqu 16(%r9),%xmm9
2721
movdqu 32(%r8),%xmm6
2722
.byte 102,15,56,0,227
2723
movdqu 32(%r9),%xmm10
2724
.byte 102,68,15,56,0,195
2725
movdqu 48(%r8),%xmm7
2726
leaq 64(%r8),%r8
2727
movdqu 48(%r9),%xmm11
2728
leaq 64(%r9),%r9
2729
2730
movdqa 0-128(%rbp),%xmm0
2731
.byte 102,15,56,0,235
2732
paddd %xmm4,%xmm0
2733
pxor %xmm12,%xmm4
2734
movdqa %xmm0,%xmm1
2735
movdqa 0-128(%rbp),%xmm2
2736
.byte 102,68,15,56,0,203
2737
paddd %xmm8,%xmm2
2738
movdqa %xmm13,80(%rsp)
2739
.byte 69,15,56,203,236
2740
pxor %xmm14,%xmm8
2741
movdqa %xmm2,%xmm0
2742
movdqa %xmm15,112(%rsp)
2743
.byte 69,15,56,203,254
2744
pshufd $0x0e,%xmm1,%xmm0
2745
pxor %xmm12,%xmm4
2746
movdqa %xmm12,64(%rsp)
2747
.byte 69,15,56,203,229
2748
pshufd $0x0e,%xmm2,%xmm0
2749
pxor %xmm14,%xmm8
2750
movdqa %xmm14,96(%rsp)
2751
movdqa 16-128(%rbp),%xmm1
2752
paddd %xmm5,%xmm1
2753
.byte 102,15,56,0,243
2754
.byte 69,15,56,203,247
2755
2756
movdqa %xmm1,%xmm0
2757
movdqa 16-128(%rbp),%xmm2
2758
paddd %xmm9,%xmm2
2759
.byte 69,15,56,203,236
2760
movdqa %xmm2,%xmm0
2761
prefetcht0 127(%r8)
2762
.byte 102,15,56,0,251
2763
.byte 102,68,15,56,0,211
2764
prefetcht0 127(%r9)
2765
.byte 69,15,56,203,254
2766
pshufd $0x0e,%xmm1,%xmm0
2767
.byte 102,68,15,56,0,219
2768
.byte 15,56,204,229
2769
.byte 69,15,56,203,229
2770
pshufd $0x0e,%xmm2,%xmm0
2771
movdqa 32-128(%rbp),%xmm1
2772
paddd %xmm6,%xmm1
2773
.byte 69,15,56,203,247
2774
2775
movdqa %xmm1,%xmm0
2776
movdqa 32-128(%rbp),%xmm2
2777
paddd %xmm10,%xmm2
2778
.byte 69,15,56,203,236
2779
.byte 69,15,56,204,193
2780
movdqa %xmm2,%xmm0
2781
movdqa %xmm7,%xmm3
2782
.byte 69,15,56,203,254
2783
pshufd $0x0e,%xmm1,%xmm0
2784
.byte 102,15,58,15,222,4
2785
paddd %xmm3,%xmm4
2786
movdqa %xmm11,%xmm3
2787
.byte 102,65,15,58,15,218,4
2788
.byte 15,56,204,238
2789
.byte 69,15,56,203,229
2790
pshufd $0x0e,%xmm2,%xmm0
2791
movdqa 48-128(%rbp),%xmm1
2792
paddd %xmm7,%xmm1
2793
.byte 69,15,56,203,247
2794
.byte 69,15,56,204,202
2795
2796
movdqa %xmm1,%xmm0
2797
movdqa 48-128(%rbp),%xmm2
2798
paddd %xmm3,%xmm8
2799
paddd %xmm11,%xmm2
2800
.byte 15,56,205,231
2801
.byte 69,15,56,203,236
2802
movdqa %xmm2,%xmm0
2803
movdqa %xmm4,%xmm3
2804
.byte 102,15,58,15,223,4
2805
.byte 69,15,56,203,254
2806
.byte 69,15,56,205,195
2807
pshufd $0x0e,%xmm1,%xmm0
2808
paddd %xmm3,%xmm5
2809
movdqa %xmm8,%xmm3
2810
.byte 102,65,15,58,15,219,4
2811
.byte 15,56,204,247
2812
.byte 69,15,56,203,229
2813
pshufd $0x0e,%xmm2,%xmm0
2814
movdqa 64-128(%rbp),%xmm1
2815
paddd %xmm4,%xmm1
2816
.byte 69,15,56,203,247
2817
.byte 69,15,56,204,211
2818
movdqa %xmm1,%xmm0
2819
movdqa 64-128(%rbp),%xmm2
2820
paddd %xmm3,%xmm9
2821
paddd %xmm8,%xmm2
2822
.byte 15,56,205,236
2823
.byte 69,15,56,203,236
2824
movdqa %xmm2,%xmm0
2825
movdqa %xmm5,%xmm3
2826
.byte 102,15,58,15,220,4
2827
.byte 69,15,56,203,254
2828
.byte 69,15,56,205,200
2829
pshufd $0x0e,%xmm1,%xmm0
2830
paddd %xmm3,%xmm6
2831
movdqa %xmm9,%xmm3
2832
.byte 102,65,15,58,15,216,4
2833
.byte 15,56,204,252
2834
.byte 69,15,56,203,229
2835
pshufd $0x0e,%xmm2,%xmm0
2836
movdqa 80-128(%rbp),%xmm1
2837
paddd %xmm5,%xmm1
2838
.byte 69,15,56,203,247
2839
.byte 69,15,56,204,216
2840
movdqa %xmm1,%xmm0
2841
movdqa 80-128(%rbp),%xmm2
2842
paddd %xmm3,%xmm10
2843
paddd %xmm9,%xmm2
2844
.byte 15,56,205,245
2845
.byte 69,15,56,203,236
2846
movdqa %xmm2,%xmm0
2847
movdqa %xmm6,%xmm3
2848
.byte 102,15,58,15,221,4
2849
.byte 69,15,56,203,254
2850
.byte 69,15,56,205,209
2851
pshufd $0x0e,%xmm1,%xmm0
2852
paddd %xmm3,%xmm7
2853
movdqa %xmm10,%xmm3
2854
.byte 102,65,15,58,15,217,4
2855
.byte 15,56,204,229
2856
.byte 69,15,56,203,229
2857
pshufd $0x0e,%xmm2,%xmm0
2858
movdqa 96-128(%rbp),%xmm1
2859
paddd %xmm6,%xmm1
2860
.byte 69,15,56,203,247
2861
.byte 69,15,56,204,193
2862
movdqa %xmm1,%xmm0
2863
movdqa 96-128(%rbp),%xmm2
2864
paddd %xmm3,%xmm11
2865
paddd %xmm10,%xmm2
2866
.byte 15,56,205,254
2867
.byte 69,15,56,203,236
2868
movdqa %xmm2,%xmm0
2869
movdqa %xmm7,%xmm3
2870
.byte 102,15,58,15,222,4
2871
.byte 69,15,56,203,254
2872
.byte 69,15,56,205,218
2873
pshufd $0x0e,%xmm1,%xmm0
2874
paddd %xmm3,%xmm4
2875
movdqa %xmm11,%xmm3
2876
.byte 102,65,15,58,15,218,4
2877
.byte 15,56,204,238
2878
.byte 69,15,56,203,229
2879
pshufd $0x0e,%xmm2,%xmm0
2880
movdqa 112-128(%rbp),%xmm1
2881
paddd %xmm7,%xmm1
2882
.byte 69,15,56,203,247
2883
.byte 69,15,56,204,202
2884
movdqa %xmm1,%xmm0
2885
movdqa 112-128(%rbp),%xmm2
2886
paddd %xmm3,%xmm8
2887
paddd %xmm11,%xmm2
2888
.byte 15,56,205,231
2889
.byte 69,15,56,203,236
2890
movdqa %xmm2,%xmm0
2891
movdqa %xmm4,%xmm3
2892
.byte 102,15,58,15,223,4
2893
.byte 69,15,56,203,254
2894
.byte 69,15,56,205,195
2895
pshufd $0x0e,%xmm1,%xmm0
2896
paddd %xmm3,%xmm5
2897
movdqa %xmm8,%xmm3
2898
.byte 102,65,15,58,15,219,4
2899
.byte 15,56,204,247
2900
.byte 69,15,56,203,229
2901
pshufd $0x0e,%xmm2,%xmm0
2902
movdqa 128-128(%rbp),%xmm1
2903
paddd %xmm4,%xmm1
2904
.byte 69,15,56,203,247
2905
.byte 69,15,56,204,211
2906
movdqa %xmm1,%xmm0
2907
movdqa 128-128(%rbp),%xmm2
2908
paddd %xmm3,%xmm9
2909
paddd %xmm8,%xmm2
2910
.byte 15,56,205,236
2911
.byte 69,15,56,203,236
2912
movdqa %xmm2,%xmm0
2913
movdqa %xmm5,%xmm3
2914
.byte 102,15,58,15,220,4
2915
.byte 69,15,56,203,254
2916
.byte 69,15,56,205,200
2917
pshufd $0x0e,%xmm1,%xmm0
2918
paddd %xmm3,%xmm6
2919
movdqa %xmm9,%xmm3
2920
.byte 102,65,15,58,15,216,4
2921
.byte 15,56,204,252
2922
.byte 69,15,56,203,229
2923
pshufd $0x0e,%xmm2,%xmm0
2924
movdqa 144-128(%rbp),%xmm1
2925
paddd %xmm5,%xmm1
2926
.byte 69,15,56,203,247
2927
.byte 69,15,56,204,216
2928
movdqa %xmm1,%xmm0
2929
movdqa 144-128(%rbp),%xmm2
2930
paddd %xmm3,%xmm10
2931
paddd %xmm9,%xmm2
2932
.byte 15,56,205,245
2933
.byte 69,15,56,203,236
2934
movdqa %xmm2,%xmm0
2935
movdqa %xmm6,%xmm3
2936
.byte 102,15,58,15,221,4
2937
.byte 69,15,56,203,254
2938
.byte 69,15,56,205,209
2939
pshufd $0x0e,%xmm1,%xmm0
2940
paddd %xmm3,%xmm7
2941
movdqa %xmm10,%xmm3
2942
.byte 102,65,15,58,15,217,4
2943
.byte 15,56,204,229
2944
.byte 69,15,56,203,229
2945
pshufd $0x0e,%xmm2,%xmm0
2946
movdqa 160-128(%rbp),%xmm1
2947
paddd %xmm6,%xmm1
2948
.byte 69,15,56,203,247
2949
.byte 69,15,56,204,193
2950
movdqa %xmm1,%xmm0
2951
movdqa 160-128(%rbp),%xmm2
2952
paddd %xmm3,%xmm11
2953
paddd %xmm10,%xmm2
2954
.byte 15,56,205,254
2955
.byte 69,15,56,203,236
2956
movdqa %xmm2,%xmm0
2957
movdqa %xmm7,%xmm3
2958
.byte 102,15,58,15,222,4
2959
.byte 69,15,56,203,254
2960
.byte 69,15,56,205,218
2961
pshufd $0x0e,%xmm1,%xmm0
2962
paddd %xmm3,%xmm4
2963
movdqa %xmm11,%xmm3
2964
.byte 102,65,15,58,15,218,4
2965
.byte 15,56,204,238
2966
.byte 69,15,56,203,229
2967
pshufd $0x0e,%xmm2,%xmm0
2968
movdqa 176-128(%rbp),%xmm1
2969
paddd %xmm7,%xmm1
2970
.byte 69,15,56,203,247
2971
.byte 69,15,56,204,202
2972
movdqa %xmm1,%xmm0
2973
movdqa 176-128(%rbp),%xmm2
2974
paddd %xmm3,%xmm8
2975
paddd %xmm11,%xmm2
2976
.byte 15,56,205,231
2977
.byte 69,15,56,203,236
2978
movdqa %xmm2,%xmm0
2979
movdqa %xmm4,%xmm3
2980
.byte 102,15,58,15,223,4
2981
.byte 69,15,56,203,254
2982
.byte 69,15,56,205,195
2983
pshufd $0x0e,%xmm1,%xmm0
2984
paddd %xmm3,%xmm5
2985
movdqa %xmm8,%xmm3
2986
.byte 102,65,15,58,15,219,4
2987
.byte 15,56,204,247
2988
.byte 69,15,56,203,229
2989
pshufd $0x0e,%xmm2,%xmm0
2990
movdqa 192-128(%rbp),%xmm1
2991
paddd %xmm4,%xmm1
2992
.byte 69,15,56,203,247
2993
.byte 69,15,56,204,211
2994
movdqa %xmm1,%xmm0
2995
movdqa 192-128(%rbp),%xmm2
2996
paddd %xmm3,%xmm9
2997
paddd %xmm8,%xmm2
2998
.byte 15,56,205,236
2999
.byte 69,15,56,203,236
3000
movdqa %xmm2,%xmm0
3001
movdqa %xmm5,%xmm3
3002
.byte 102,15,58,15,220,4
3003
.byte 69,15,56,203,254
3004
.byte 69,15,56,205,200
3005
pshufd $0x0e,%xmm1,%xmm0
3006
paddd %xmm3,%xmm6
3007
movdqa %xmm9,%xmm3
3008
.byte 102,65,15,58,15,216,4
3009
.byte 15,56,204,252
3010
.byte 69,15,56,203,229
3011
pshufd $0x0e,%xmm2,%xmm0
3012
movdqa 208-128(%rbp),%xmm1
3013
paddd %xmm5,%xmm1
3014
.byte 69,15,56,203,247
3015
.byte 69,15,56,204,216
3016
movdqa %xmm1,%xmm0
3017
movdqa 208-128(%rbp),%xmm2
3018
paddd %xmm3,%xmm10
3019
paddd %xmm9,%xmm2
3020
.byte 15,56,205,245
3021
.byte 69,15,56,203,236
3022
movdqa %xmm2,%xmm0
3023
movdqa %xmm6,%xmm3
3024
.byte 102,15,58,15,221,4
3025
.byte 69,15,56,203,254
3026
.byte 69,15,56,205,209
3027
pshufd $0x0e,%xmm1,%xmm0
3028
paddd %xmm3,%xmm7
3029
movdqa %xmm10,%xmm3
3030
.byte 102,65,15,58,15,217,4
3031
nop
3032
.byte 69,15,56,203,229
3033
pshufd $0x0e,%xmm2,%xmm0
3034
movdqa 224-128(%rbp),%xmm1
3035
paddd %xmm6,%xmm1
3036
.byte 69,15,56,203,247
3037
3038
movdqa %xmm1,%xmm0
3039
movdqa 224-128(%rbp),%xmm2
3040
paddd %xmm3,%xmm11
3041
paddd %xmm10,%xmm2
3042
.byte 15,56,205,254
3043
nop
3044
.byte 69,15,56,203,236
3045
movdqa %xmm2,%xmm0
3046
movl $1,%ecx
3047
pxor %xmm6,%xmm6
3048
.byte 69,15,56,203,254
3049
.byte 69,15,56,205,218
3050
pshufd $0x0e,%xmm1,%xmm0
3051
movdqa 240-128(%rbp),%xmm1
3052
paddd %xmm7,%xmm1
3053
movq (%rbx),%xmm7
3054
nop
3055
.byte 69,15,56,203,229
3056
pshufd $0x0e,%xmm2,%xmm0
3057
movdqa 240-128(%rbp),%xmm2
3058
paddd %xmm11,%xmm2
3059
.byte 69,15,56,203,247
3060
3061
movdqa %xmm1,%xmm0
3062
cmpl 0(%rbx),%ecx
3063
cmovgeq %rsp,%r8
3064
cmpl 4(%rbx),%ecx
3065
cmovgeq %rsp,%r9
3066
pshufd $0x00,%xmm7,%xmm9
3067
.byte 69,15,56,203,236
3068
movdqa %xmm2,%xmm0
3069
pshufd $0x55,%xmm7,%xmm10
3070
movdqa %xmm7,%xmm11
3071
.byte 69,15,56,203,254
3072
pshufd $0x0e,%xmm1,%xmm0
3073
pcmpgtd %xmm6,%xmm9
3074
pcmpgtd %xmm6,%xmm10
3075
.byte 69,15,56,203,229
3076
pshufd $0x0e,%xmm2,%xmm0
3077
pcmpgtd %xmm6,%xmm11
3078
movdqa K256_shaext-16(%rip),%xmm3
3079
.byte 69,15,56,203,247
3080
3081
pand %xmm9,%xmm13
3082
pand %xmm10,%xmm15
3083
pand %xmm9,%xmm12
3084
pand %xmm10,%xmm14
3085
paddd %xmm7,%xmm11
3086
3087
paddd 80(%rsp),%xmm13
3088
paddd 112(%rsp),%xmm15
3089
paddd 64(%rsp),%xmm12
3090
paddd 96(%rsp),%xmm14
3091
3092
movq %xmm11,(%rbx)
3093
decl %edx
3094
jnz .Loop_shaext
3095
3096
movl 280(%rsp),%edx
3097
3098
pshufd $27,%xmm12,%xmm12
3099
pshufd $27,%xmm13,%xmm13
3100
pshufd $27,%xmm14,%xmm14
3101
pshufd $27,%xmm15,%xmm15
3102
3103
movdqa %xmm12,%xmm5
3104
movdqa %xmm13,%xmm6
3105
punpckldq %xmm14,%xmm12
3106
punpckhdq %xmm14,%xmm5
3107
punpckldq %xmm15,%xmm13
3108
punpckhdq %xmm15,%xmm6
3109
3110
movq %xmm12,0-128(%rdi)
3111
psrldq $8,%xmm12
3112
movq %xmm5,128-128(%rdi)
3113
psrldq $8,%xmm5
3114
movq %xmm12,32-128(%rdi)
3115
movq %xmm5,160-128(%rdi)
3116
3117
movq %xmm13,64-128(%rdi)
3118
psrldq $8,%xmm13
3119
movq %xmm6,192-128(%rdi)
3120
psrldq $8,%xmm6
3121
movq %xmm13,96-128(%rdi)
3122
movq %xmm6,224-128(%rdi)
3123
3124
leaq 8(%rdi),%rdi
3125
leaq 32(%rsi),%rsi
3126
decl %edx
3127
jnz .Loop_grande_shaext
3128
3129
.Ldone_shaext:
3130
3131
movq -16(%rax),%rbp
3132
.cfi_restore %rbp
3133
movq -8(%rax),%rbx
3134
.cfi_restore %rbx
3135
leaq (%rax),%rsp
3136
.cfi_def_cfa_register %rsp
3137
.Lepilogue_shaext:
3138
.byte 0xf3,0xc3
3139
.cfi_endproc
3140
.size sha256_multi_block_shaext,.-sha256_multi_block_shaext
3141
.type sha256_multi_block_avx,@function
3142
.align 32
3143
sha256_multi_block_avx:
3144
.cfi_startproc
3145
_avx_shortcut:
3146
shrq $32,%rcx
3147
cmpl $2,%edx
3148
jb .Lavx
3149
testl $32,%ecx
3150
jnz _avx2_shortcut
3151
jmp .Lavx
3152
.align 32
3153
.Lavx:
3154
movq %rsp,%rax
3155
.cfi_def_cfa_register %rax
3156
pushq %rbx
3157
.cfi_offset %rbx,-16
3158
pushq %rbp
3159
.cfi_offset %rbp,-24
3160
subq $288,%rsp
3161
andq $-256,%rsp
3162
movq %rax,272(%rsp)
3163
.cfi_escape 0x0f,0x06,0x77,0x90,0x02,0x06,0x23,0x08
3164
.Lbody_avx:
3165
leaq K256+128(%rip),%rbp
3166
leaq 256(%rsp),%rbx
3167
leaq 128(%rdi),%rdi
3168
3169
.Loop_grande_avx:
3170
movl %edx,280(%rsp)
3171
xorl %edx,%edx
3172
3173
movq 0(%rsi),%r8
3174
3175
movl 8(%rsi),%ecx
3176
cmpl %edx,%ecx
3177
cmovgl %ecx,%edx
3178
testl %ecx,%ecx
3179
movl %ecx,0(%rbx)
3180
cmovleq %rbp,%r8
3181
3182
movq 16(%rsi),%r9
3183
3184
movl 24(%rsi),%ecx
3185
cmpl %edx,%ecx
3186
cmovgl %ecx,%edx
3187
testl %ecx,%ecx
3188
movl %ecx,4(%rbx)
3189
cmovleq %rbp,%r9
3190
3191
movq 32(%rsi),%r10
3192
3193
movl 40(%rsi),%ecx
3194
cmpl %edx,%ecx
3195
cmovgl %ecx,%edx
3196
testl %ecx,%ecx
3197
movl %ecx,8(%rbx)
3198
cmovleq %rbp,%r10
3199
3200
movq 48(%rsi),%r11
3201
3202
movl 56(%rsi),%ecx
3203
cmpl %edx,%ecx
3204
cmovgl %ecx,%edx
3205
testl %ecx,%ecx
3206
movl %ecx,12(%rbx)
3207
cmovleq %rbp,%r11
3208
testl %edx,%edx
3209
jz .Ldone_avx
3210
3211
vmovdqu 0-128(%rdi),%xmm8
3212
leaq 128(%rsp),%rax
3213
vmovdqu 32-128(%rdi),%xmm9
3214
vmovdqu 64-128(%rdi),%xmm10
3215
vmovdqu 96-128(%rdi),%xmm11
3216
vmovdqu 128-128(%rdi),%xmm12
3217
vmovdqu 160-128(%rdi),%xmm13
3218
vmovdqu 192-128(%rdi),%xmm14
3219
vmovdqu 224-128(%rdi),%xmm15
3220
vmovdqu .Lpbswap(%rip),%xmm6
3221
jmp .Loop_avx
3222
3223
.align 32
3224
.Loop_avx:
3225
vpxor %xmm9,%xmm10,%xmm4
3226
vmovd 0(%r8),%xmm5
3227
vmovd 0(%r9),%xmm0
3228
vpinsrd $1,0(%r10),%xmm5,%xmm5
3229
vpinsrd $1,0(%r11),%xmm0,%xmm0
3230
vpunpckldq %xmm0,%xmm5,%xmm5
3231
vpshufb %xmm6,%xmm5,%xmm5
3232
vpsrld $6,%xmm12,%xmm7
3233
vpslld $26,%xmm12,%xmm2
3234
vmovdqu %xmm5,0-128(%rax)
3235
vpaddd %xmm15,%xmm5,%xmm5
3236
3237
vpsrld $11,%xmm12,%xmm1
3238
vpxor %xmm2,%xmm7,%xmm7
3239
vpslld $21,%xmm12,%xmm2
3240
vpaddd -128(%rbp),%xmm5,%xmm5
3241
vpxor %xmm1,%xmm7,%xmm7
3242
3243
vpsrld $25,%xmm12,%xmm1
3244
vpxor %xmm2,%xmm7,%xmm7
3245
3246
vpslld $7,%xmm12,%xmm2
3247
vpandn %xmm14,%xmm12,%xmm0
3248
vpand %xmm13,%xmm12,%xmm3
3249
3250
vpxor %xmm1,%xmm7,%xmm7
3251
3252
vpsrld $2,%xmm8,%xmm15
3253
vpxor %xmm2,%xmm7,%xmm7
3254
3255
vpslld $30,%xmm8,%xmm1
3256
vpxor %xmm3,%xmm0,%xmm0
3257
vpxor %xmm8,%xmm9,%xmm3
3258
3259
vpxor %xmm1,%xmm15,%xmm15
3260
vpaddd %xmm7,%xmm5,%xmm5
3261
3262
vpsrld $13,%xmm8,%xmm1
3263
3264
vpslld $19,%xmm8,%xmm2
3265
vpaddd %xmm0,%xmm5,%xmm5
3266
vpand %xmm3,%xmm4,%xmm4
3267
3268
vpxor %xmm1,%xmm15,%xmm7
3269
3270
vpsrld $22,%xmm8,%xmm1
3271
vpxor %xmm2,%xmm7,%xmm7
3272
3273
vpslld $10,%xmm8,%xmm2
3274
vpxor %xmm4,%xmm9,%xmm15
3275
vpaddd %xmm5,%xmm11,%xmm11
3276
3277
vpxor %xmm1,%xmm7,%xmm7
3278
vpxor %xmm2,%xmm7,%xmm7
3279
3280
vpaddd %xmm5,%xmm15,%xmm15
3281
vpaddd %xmm7,%xmm15,%xmm15
3282
vmovd 4(%r8),%xmm5
3283
vmovd 4(%r9),%xmm0
3284
vpinsrd $1,4(%r10),%xmm5,%xmm5
3285
vpinsrd $1,4(%r11),%xmm0,%xmm0
3286
vpunpckldq %xmm0,%xmm5,%xmm5
3287
vpshufb %xmm6,%xmm5,%xmm5
3288
vpsrld $6,%xmm11,%xmm7
3289
vpslld $26,%xmm11,%xmm2
3290
vmovdqu %xmm5,16-128(%rax)
3291
vpaddd %xmm14,%xmm5,%xmm5
3292
3293
vpsrld $11,%xmm11,%xmm1
3294
vpxor %xmm2,%xmm7,%xmm7
3295
vpslld $21,%xmm11,%xmm2
3296
vpaddd -96(%rbp),%xmm5,%xmm5
3297
vpxor %xmm1,%xmm7,%xmm7
3298
3299
vpsrld $25,%xmm11,%xmm1
3300
vpxor %xmm2,%xmm7,%xmm7
3301
3302
vpslld $7,%xmm11,%xmm2
3303
vpandn %xmm13,%xmm11,%xmm0
3304
vpand %xmm12,%xmm11,%xmm4
3305
3306
vpxor %xmm1,%xmm7,%xmm7
3307
3308
vpsrld $2,%xmm15,%xmm14
3309
vpxor %xmm2,%xmm7,%xmm7
3310
3311
vpslld $30,%xmm15,%xmm1
3312
vpxor %xmm4,%xmm0,%xmm0
3313
vpxor %xmm15,%xmm8,%xmm4
3314
3315
vpxor %xmm1,%xmm14,%xmm14
3316
vpaddd %xmm7,%xmm5,%xmm5
3317
3318
vpsrld $13,%xmm15,%xmm1
3319
3320
vpslld $19,%xmm15,%xmm2
3321
vpaddd %xmm0,%xmm5,%xmm5
3322
vpand %xmm4,%xmm3,%xmm3
3323
3324
vpxor %xmm1,%xmm14,%xmm7
3325
3326
vpsrld $22,%xmm15,%xmm1
3327
vpxor %xmm2,%xmm7,%xmm7
3328
3329
vpslld $10,%xmm15,%xmm2
3330
vpxor %xmm3,%xmm8,%xmm14
3331
vpaddd %xmm5,%xmm10,%xmm10
3332
3333
vpxor %xmm1,%xmm7,%xmm7
3334
vpxor %xmm2,%xmm7,%xmm7
3335
3336
vpaddd %xmm5,%xmm14,%xmm14
3337
vpaddd %xmm7,%xmm14,%xmm14
3338
vmovd 8(%r8),%xmm5
3339
vmovd 8(%r9),%xmm0
3340
vpinsrd $1,8(%r10),%xmm5,%xmm5
3341
vpinsrd $1,8(%r11),%xmm0,%xmm0
3342
vpunpckldq %xmm0,%xmm5,%xmm5
3343
vpshufb %xmm6,%xmm5,%xmm5
3344
vpsrld $6,%xmm10,%xmm7
3345
vpslld $26,%xmm10,%xmm2
3346
vmovdqu %xmm5,32-128(%rax)
3347
vpaddd %xmm13,%xmm5,%xmm5
3348
3349
vpsrld $11,%xmm10,%xmm1
3350
vpxor %xmm2,%xmm7,%xmm7
3351
vpslld $21,%xmm10,%xmm2
3352
vpaddd -64(%rbp),%xmm5,%xmm5
3353
vpxor %xmm1,%xmm7,%xmm7
3354
3355
vpsrld $25,%xmm10,%xmm1
3356
vpxor %xmm2,%xmm7,%xmm7
3357
3358
vpslld $7,%xmm10,%xmm2
3359
vpandn %xmm12,%xmm10,%xmm0
3360
vpand %xmm11,%xmm10,%xmm3
3361
3362
vpxor %xmm1,%xmm7,%xmm7
3363
3364
vpsrld $2,%xmm14,%xmm13
3365
vpxor %xmm2,%xmm7,%xmm7
3366
3367
vpslld $30,%xmm14,%xmm1
3368
vpxor %xmm3,%xmm0,%xmm0
3369
vpxor %xmm14,%xmm15,%xmm3
3370
3371
vpxor %xmm1,%xmm13,%xmm13
3372
vpaddd %xmm7,%xmm5,%xmm5
3373
3374
vpsrld $13,%xmm14,%xmm1
3375
3376
vpslld $19,%xmm14,%xmm2
3377
vpaddd %xmm0,%xmm5,%xmm5
3378
vpand %xmm3,%xmm4,%xmm4
3379
3380
vpxor %xmm1,%xmm13,%xmm7
3381
3382
vpsrld $22,%xmm14,%xmm1
3383
vpxor %xmm2,%xmm7,%xmm7
3384
3385
vpslld $10,%xmm14,%xmm2
3386
vpxor %xmm4,%xmm15,%xmm13
3387
vpaddd %xmm5,%xmm9,%xmm9
3388
3389
vpxor %xmm1,%xmm7,%xmm7
3390
vpxor %xmm2,%xmm7,%xmm7
3391
3392
vpaddd %xmm5,%xmm13,%xmm13
3393
vpaddd %xmm7,%xmm13,%xmm13
3394
vmovd 12(%r8),%xmm5
3395
vmovd 12(%r9),%xmm0
3396
vpinsrd $1,12(%r10),%xmm5,%xmm5
3397
vpinsrd $1,12(%r11),%xmm0,%xmm0
3398
vpunpckldq %xmm0,%xmm5,%xmm5
3399
vpshufb %xmm6,%xmm5,%xmm5
3400
vpsrld $6,%xmm9,%xmm7
3401
vpslld $26,%xmm9,%xmm2
3402
vmovdqu %xmm5,48-128(%rax)
3403
vpaddd %xmm12,%xmm5,%xmm5
3404
3405
vpsrld $11,%xmm9,%xmm1
3406
vpxor %xmm2,%xmm7,%xmm7
3407
vpslld $21,%xmm9,%xmm2
3408
vpaddd -32(%rbp),%xmm5,%xmm5
3409
vpxor %xmm1,%xmm7,%xmm7
3410
3411
vpsrld $25,%xmm9,%xmm1
3412
vpxor %xmm2,%xmm7,%xmm7
3413
3414
vpslld $7,%xmm9,%xmm2
3415
vpandn %xmm11,%xmm9,%xmm0
3416
vpand %xmm10,%xmm9,%xmm4
3417
3418
vpxor %xmm1,%xmm7,%xmm7
3419
3420
vpsrld $2,%xmm13,%xmm12
3421
vpxor %xmm2,%xmm7,%xmm7
3422
3423
vpslld $30,%xmm13,%xmm1
3424
vpxor %xmm4,%xmm0,%xmm0
3425
vpxor %xmm13,%xmm14,%xmm4
3426
3427
vpxor %xmm1,%xmm12,%xmm12
3428
vpaddd %xmm7,%xmm5,%xmm5
3429
3430
vpsrld $13,%xmm13,%xmm1
3431
3432
vpslld $19,%xmm13,%xmm2
3433
vpaddd %xmm0,%xmm5,%xmm5
3434
vpand %xmm4,%xmm3,%xmm3
3435
3436
vpxor %xmm1,%xmm12,%xmm7
3437
3438
vpsrld $22,%xmm13,%xmm1
3439
vpxor %xmm2,%xmm7,%xmm7
3440
3441
vpslld $10,%xmm13,%xmm2
3442
vpxor %xmm3,%xmm14,%xmm12
3443
vpaddd %xmm5,%xmm8,%xmm8
3444
3445
vpxor %xmm1,%xmm7,%xmm7
3446
vpxor %xmm2,%xmm7,%xmm7
3447
3448
vpaddd %xmm5,%xmm12,%xmm12
3449
vpaddd %xmm7,%xmm12,%xmm12
3450
vmovd 16(%r8),%xmm5
3451
vmovd 16(%r9),%xmm0
3452
vpinsrd $1,16(%r10),%xmm5,%xmm5
3453
vpinsrd $1,16(%r11),%xmm0,%xmm0
3454
vpunpckldq %xmm0,%xmm5,%xmm5
3455
vpshufb %xmm6,%xmm5,%xmm5
3456
vpsrld $6,%xmm8,%xmm7
3457
vpslld $26,%xmm8,%xmm2
3458
vmovdqu %xmm5,64-128(%rax)
3459
vpaddd %xmm11,%xmm5,%xmm5
3460
3461
vpsrld $11,%xmm8,%xmm1
3462
vpxor %xmm2,%xmm7,%xmm7
3463
vpslld $21,%xmm8,%xmm2
3464
vpaddd 0(%rbp),%xmm5,%xmm5
3465
vpxor %xmm1,%xmm7,%xmm7
3466
3467
vpsrld $25,%xmm8,%xmm1
3468
vpxor %xmm2,%xmm7,%xmm7
3469
3470
vpslld $7,%xmm8,%xmm2
3471
vpandn %xmm10,%xmm8,%xmm0
3472
vpand %xmm9,%xmm8,%xmm3
3473
3474
vpxor %xmm1,%xmm7,%xmm7
3475
3476
vpsrld $2,%xmm12,%xmm11
3477
vpxor %xmm2,%xmm7,%xmm7
3478
3479
vpslld $30,%xmm12,%xmm1
3480
vpxor %xmm3,%xmm0,%xmm0
3481
vpxor %xmm12,%xmm13,%xmm3
3482
3483
vpxor %xmm1,%xmm11,%xmm11
3484
vpaddd %xmm7,%xmm5,%xmm5
3485
3486
vpsrld $13,%xmm12,%xmm1
3487
3488
vpslld $19,%xmm12,%xmm2
3489
vpaddd %xmm0,%xmm5,%xmm5
3490
vpand %xmm3,%xmm4,%xmm4
3491
3492
vpxor %xmm1,%xmm11,%xmm7
3493
3494
vpsrld $22,%xmm12,%xmm1
3495
vpxor %xmm2,%xmm7,%xmm7
3496
3497
vpslld $10,%xmm12,%xmm2
3498
vpxor %xmm4,%xmm13,%xmm11
3499
vpaddd %xmm5,%xmm15,%xmm15
3500
3501
vpxor %xmm1,%xmm7,%xmm7
3502
vpxor %xmm2,%xmm7,%xmm7
3503
3504
vpaddd %xmm5,%xmm11,%xmm11
3505
vpaddd %xmm7,%xmm11,%xmm11
3506
vmovd 20(%r8),%xmm5
3507
vmovd 20(%r9),%xmm0
3508
vpinsrd $1,20(%r10),%xmm5,%xmm5
3509
vpinsrd $1,20(%r11),%xmm0,%xmm0
3510
vpunpckldq %xmm0,%xmm5,%xmm5
3511
vpshufb %xmm6,%xmm5,%xmm5
3512
vpsrld $6,%xmm15,%xmm7
3513
vpslld $26,%xmm15,%xmm2
3514
vmovdqu %xmm5,80-128(%rax)
3515
vpaddd %xmm10,%xmm5,%xmm5
3516
3517
vpsrld $11,%xmm15,%xmm1
3518
vpxor %xmm2,%xmm7,%xmm7
3519
vpslld $21,%xmm15,%xmm2
3520
vpaddd 32(%rbp),%xmm5,%xmm5
3521
vpxor %xmm1,%xmm7,%xmm7
3522
3523
vpsrld $25,%xmm15,%xmm1
3524
vpxor %xmm2,%xmm7,%xmm7
3525
3526
vpslld $7,%xmm15,%xmm2
3527
vpandn %xmm9,%xmm15,%xmm0
3528
vpand %xmm8,%xmm15,%xmm4
3529
3530
vpxor %xmm1,%xmm7,%xmm7
3531
3532
vpsrld $2,%xmm11,%xmm10
3533
vpxor %xmm2,%xmm7,%xmm7
3534
3535
vpslld $30,%xmm11,%xmm1
3536
vpxor %xmm4,%xmm0,%xmm0
3537
vpxor %xmm11,%xmm12,%xmm4
3538
3539
vpxor %xmm1,%xmm10,%xmm10
3540
vpaddd %xmm7,%xmm5,%xmm5
3541
3542
vpsrld $13,%xmm11,%xmm1
3543
3544
vpslld $19,%xmm11,%xmm2
3545
vpaddd %xmm0,%xmm5,%xmm5
3546
vpand %xmm4,%xmm3,%xmm3
3547
3548
vpxor %xmm1,%xmm10,%xmm7
3549
3550
vpsrld $22,%xmm11,%xmm1
3551
vpxor %xmm2,%xmm7,%xmm7
3552
3553
vpslld $10,%xmm11,%xmm2
3554
vpxor %xmm3,%xmm12,%xmm10
3555
vpaddd %xmm5,%xmm14,%xmm14
3556
3557
vpxor %xmm1,%xmm7,%xmm7
3558
vpxor %xmm2,%xmm7,%xmm7
3559
3560
vpaddd %xmm5,%xmm10,%xmm10
3561
vpaddd %xmm7,%xmm10,%xmm10
3562
vmovd 24(%r8),%xmm5
3563
vmovd 24(%r9),%xmm0
3564
vpinsrd $1,24(%r10),%xmm5,%xmm5
3565
vpinsrd $1,24(%r11),%xmm0,%xmm0
3566
vpunpckldq %xmm0,%xmm5,%xmm5
3567
vpshufb %xmm6,%xmm5,%xmm5
3568
vpsrld $6,%xmm14,%xmm7
3569
vpslld $26,%xmm14,%xmm2
3570
vmovdqu %xmm5,96-128(%rax)
3571
vpaddd %xmm9,%xmm5,%xmm5
3572
3573
vpsrld $11,%xmm14,%xmm1
3574
vpxor %xmm2,%xmm7,%xmm7
3575
vpslld $21,%xmm14,%xmm2
3576
vpaddd 64(%rbp),%xmm5,%xmm5
3577
vpxor %xmm1,%xmm7,%xmm7
3578
3579
vpsrld $25,%xmm14,%xmm1
3580
vpxor %xmm2,%xmm7,%xmm7
3581
3582
vpslld $7,%xmm14,%xmm2
3583
vpandn %xmm8,%xmm14,%xmm0
3584
vpand %xmm15,%xmm14,%xmm3
3585
3586
vpxor %xmm1,%xmm7,%xmm7
3587
3588
vpsrld $2,%xmm10,%xmm9
3589
vpxor %xmm2,%xmm7,%xmm7
3590
3591
vpslld $30,%xmm10,%xmm1
3592
vpxor %xmm3,%xmm0,%xmm0
3593
vpxor %xmm10,%xmm11,%xmm3
3594
3595
vpxor %xmm1,%xmm9,%xmm9
3596
vpaddd %xmm7,%xmm5,%xmm5
3597
3598
vpsrld $13,%xmm10,%xmm1
3599
3600
vpslld $19,%xmm10,%xmm2
3601
vpaddd %xmm0,%xmm5,%xmm5
3602
vpand %xmm3,%xmm4,%xmm4
3603
3604
vpxor %xmm1,%xmm9,%xmm7
3605
3606
vpsrld $22,%xmm10,%xmm1
3607
vpxor %xmm2,%xmm7,%xmm7
3608
3609
vpslld $10,%xmm10,%xmm2
3610
vpxor %xmm4,%xmm11,%xmm9
3611
vpaddd %xmm5,%xmm13,%xmm13
3612
3613
vpxor %xmm1,%xmm7,%xmm7
3614
vpxor %xmm2,%xmm7,%xmm7
3615
3616
vpaddd %xmm5,%xmm9,%xmm9
3617
vpaddd %xmm7,%xmm9,%xmm9
3618
vmovd 28(%r8),%xmm5
3619
vmovd 28(%r9),%xmm0
3620
vpinsrd $1,28(%r10),%xmm5,%xmm5
3621
vpinsrd $1,28(%r11),%xmm0,%xmm0
3622
vpunpckldq %xmm0,%xmm5,%xmm5
3623
vpshufb %xmm6,%xmm5,%xmm5
3624
vpsrld $6,%xmm13,%xmm7
3625
vpslld $26,%xmm13,%xmm2
3626
vmovdqu %xmm5,112-128(%rax)
3627
vpaddd %xmm8,%xmm5,%xmm5
3628
3629
vpsrld $11,%xmm13,%xmm1
3630
vpxor %xmm2,%xmm7,%xmm7
3631
vpslld $21,%xmm13,%xmm2
3632
vpaddd 96(%rbp),%xmm5,%xmm5
3633
vpxor %xmm1,%xmm7,%xmm7
3634
3635
vpsrld $25,%xmm13,%xmm1
3636
vpxor %xmm2,%xmm7,%xmm7
3637
3638
vpslld $7,%xmm13,%xmm2
3639
vpandn %xmm15,%xmm13,%xmm0
3640
vpand %xmm14,%xmm13,%xmm4
3641
3642
vpxor %xmm1,%xmm7,%xmm7
3643
3644
vpsrld $2,%xmm9,%xmm8
3645
vpxor %xmm2,%xmm7,%xmm7
3646
3647
vpslld $30,%xmm9,%xmm1
3648
vpxor %xmm4,%xmm0,%xmm0
3649
vpxor %xmm9,%xmm10,%xmm4
3650
3651
vpxor %xmm1,%xmm8,%xmm8
3652
vpaddd %xmm7,%xmm5,%xmm5
3653
3654
vpsrld $13,%xmm9,%xmm1
3655
3656
vpslld $19,%xmm9,%xmm2
3657
vpaddd %xmm0,%xmm5,%xmm5
3658
vpand %xmm4,%xmm3,%xmm3
3659
3660
vpxor %xmm1,%xmm8,%xmm7
3661
3662
vpsrld $22,%xmm9,%xmm1
3663
vpxor %xmm2,%xmm7,%xmm7
3664
3665
vpslld $10,%xmm9,%xmm2
3666
vpxor %xmm3,%xmm10,%xmm8
3667
vpaddd %xmm5,%xmm12,%xmm12
3668
3669
vpxor %xmm1,%xmm7,%xmm7
3670
vpxor %xmm2,%xmm7,%xmm7
3671
3672
vpaddd %xmm5,%xmm8,%xmm8
3673
vpaddd %xmm7,%xmm8,%xmm8
3674
addq $256,%rbp
3675
vmovd 32(%r8),%xmm5
3676
vmovd 32(%r9),%xmm0
3677
vpinsrd $1,32(%r10),%xmm5,%xmm5
3678
vpinsrd $1,32(%r11),%xmm0,%xmm0
3679
vpunpckldq %xmm0,%xmm5,%xmm5
3680
vpshufb %xmm6,%xmm5,%xmm5
3681
vpsrld $6,%xmm12,%xmm7
3682
vpslld $26,%xmm12,%xmm2
3683
vmovdqu %xmm5,128-128(%rax)
3684
vpaddd %xmm15,%xmm5,%xmm5
3685
3686
vpsrld $11,%xmm12,%xmm1
3687
vpxor %xmm2,%xmm7,%xmm7
3688
vpslld $21,%xmm12,%xmm2
3689
vpaddd -128(%rbp),%xmm5,%xmm5
3690
vpxor %xmm1,%xmm7,%xmm7
3691
3692
vpsrld $25,%xmm12,%xmm1
3693
vpxor %xmm2,%xmm7,%xmm7
3694
3695
vpslld $7,%xmm12,%xmm2
3696
vpandn %xmm14,%xmm12,%xmm0
3697
vpand %xmm13,%xmm12,%xmm3
3698
3699
vpxor %xmm1,%xmm7,%xmm7
3700
3701
vpsrld $2,%xmm8,%xmm15
3702
vpxor %xmm2,%xmm7,%xmm7
3703
3704
vpslld $30,%xmm8,%xmm1
3705
vpxor %xmm3,%xmm0,%xmm0
3706
vpxor %xmm8,%xmm9,%xmm3
3707
3708
vpxor %xmm1,%xmm15,%xmm15
3709
vpaddd %xmm7,%xmm5,%xmm5
3710
3711
vpsrld $13,%xmm8,%xmm1
3712
3713
vpslld $19,%xmm8,%xmm2
3714
vpaddd %xmm0,%xmm5,%xmm5
3715
vpand %xmm3,%xmm4,%xmm4
3716
3717
vpxor %xmm1,%xmm15,%xmm7
3718
3719
vpsrld $22,%xmm8,%xmm1
3720
vpxor %xmm2,%xmm7,%xmm7
3721
3722
vpslld $10,%xmm8,%xmm2
3723
vpxor %xmm4,%xmm9,%xmm15
3724
vpaddd %xmm5,%xmm11,%xmm11
3725
3726
vpxor %xmm1,%xmm7,%xmm7
3727
vpxor %xmm2,%xmm7,%xmm7
3728
3729
vpaddd %xmm5,%xmm15,%xmm15
3730
vpaddd %xmm7,%xmm15,%xmm15
3731
vmovd 36(%r8),%xmm5
3732
vmovd 36(%r9),%xmm0
3733
vpinsrd $1,36(%r10),%xmm5,%xmm5
3734
vpinsrd $1,36(%r11),%xmm0,%xmm0
3735
vpunpckldq %xmm0,%xmm5,%xmm5
3736
vpshufb %xmm6,%xmm5,%xmm5
3737
vpsrld $6,%xmm11,%xmm7
3738
vpslld $26,%xmm11,%xmm2
3739
vmovdqu %xmm5,144-128(%rax)
3740
vpaddd %xmm14,%xmm5,%xmm5
3741
3742
vpsrld $11,%xmm11,%xmm1
3743
vpxor %xmm2,%xmm7,%xmm7
3744
vpslld $21,%xmm11,%xmm2
3745
vpaddd -96(%rbp),%xmm5,%xmm5
3746
vpxor %xmm1,%xmm7,%xmm7
3747
3748
vpsrld $25,%xmm11,%xmm1
3749
vpxor %xmm2,%xmm7,%xmm7
3750
3751
vpslld $7,%xmm11,%xmm2
3752
vpandn %xmm13,%xmm11,%xmm0
3753
vpand %xmm12,%xmm11,%xmm4
3754
3755
vpxor %xmm1,%xmm7,%xmm7
3756
3757
vpsrld $2,%xmm15,%xmm14
3758
vpxor %xmm2,%xmm7,%xmm7
3759
3760
vpslld $30,%xmm15,%xmm1
3761
vpxor %xmm4,%xmm0,%xmm0
3762
vpxor %xmm15,%xmm8,%xmm4
3763
3764
vpxor %xmm1,%xmm14,%xmm14
3765
vpaddd %xmm7,%xmm5,%xmm5
3766
3767
vpsrld $13,%xmm15,%xmm1
3768
3769
vpslld $19,%xmm15,%xmm2
3770
vpaddd %xmm0,%xmm5,%xmm5
3771
vpand %xmm4,%xmm3,%xmm3
3772
3773
vpxor %xmm1,%xmm14,%xmm7
3774
3775
vpsrld $22,%xmm15,%xmm1
3776
vpxor %xmm2,%xmm7,%xmm7
3777
3778
vpslld $10,%xmm15,%xmm2
3779
vpxor %xmm3,%xmm8,%xmm14
3780
vpaddd %xmm5,%xmm10,%xmm10
3781
3782
vpxor %xmm1,%xmm7,%xmm7
3783
vpxor %xmm2,%xmm7,%xmm7
3784
3785
vpaddd %xmm5,%xmm14,%xmm14
3786
vpaddd %xmm7,%xmm14,%xmm14
3787
vmovd 40(%r8),%xmm5
3788
vmovd 40(%r9),%xmm0
3789
vpinsrd $1,40(%r10),%xmm5,%xmm5
3790
vpinsrd $1,40(%r11),%xmm0,%xmm0
3791
vpunpckldq %xmm0,%xmm5,%xmm5
3792
vpshufb %xmm6,%xmm5,%xmm5
3793
vpsrld $6,%xmm10,%xmm7
3794
vpslld $26,%xmm10,%xmm2
3795
vmovdqu %xmm5,160-128(%rax)
3796
vpaddd %xmm13,%xmm5,%xmm5
3797
3798
vpsrld $11,%xmm10,%xmm1
3799
vpxor %xmm2,%xmm7,%xmm7
3800
vpslld $21,%xmm10,%xmm2
3801
vpaddd -64(%rbp),%xmm5,%xmm5
3802
vpxor %xmm1,%xmm7,%xmm7
3803
3804
vpsrld $25,%xmm10,%xmm1
3805
vpxor %xmm2,%xmm7,%xmm7
3806
3807
vpslld $7,%xmm10,%xmm2
3808
vpandn %xmm12,%xmm10,%xmm0
3809
vpand %xmm11,%xmm10,%xmm3
3810
3811
vpxor %xmm1,%xmm7,%xmm7
3812
3813
vpsrld $2,%xmm14,%xmm13
3814
vpxor %xmm2,%xmm7,%xmm7
3815
3816
vpslld $30,%xmm14,%xmm1
3817
vpxor %xmm3,%xmm0,%xmm0
3818
vpxor %xmm14,%xmm15,%xmm3
3819
3820
vpxor %xmm1,%xmm13,%xmm13
3821
vpaddd %xmm7,%xmm5,%xmm5
3822
3823
vpsrld $13,%xmm14,%xmm1
3824
3825
vpslld $19,%xmm14,%xmm2
3826
vpaddd %xmm0,%xmm5,%xmm5
3827
vpand %xmm3,%xmm4,%xmm4
3828
3829
vpxor %xmm1,%xmm13,%xmm7
3830
3831
vpsrld $22,%xmm14,%xmm1
3832
vpxor %xmm2,%xmm7,%xmm7
3833
3834
vpslld $10,%xmm14,%xmm2
3835
vpxor %xmm4,%xmm15,%xmm13
3836
vpaddd %xmm5,%xmm9,%xmm9
3837
3838
vpxor %xmm1,%xmm7,%xmm7
3839
vpxor %xmm2,%xmm7,%xmm7
3840
3841
vpaddd %xmm5,%xmm13,%xmm13
3842
vpaddd %xmm7,%xmm13,%xmm13
3843
vmovd 44(%r8),%xmm5
3844
vmovd 44(%r9),%xmm0
3845
vpinsrd $1,44(%r10),%xmm5,%xmm5
3846
vpinsrd $1,44(%r11),%xmm0,%xmm0
3847
vpunpckldq %xmm0,%xmm5,%xmm5
3848
vpshufb %xmm6,%xmm5,%xmm5
3849
vpsrld $6,%xmm9,%xmm7
3850
vpslld $26,%xmm9,%xmm2
3851
vmovdqu %xmm5,176-128(%rax)
3852
vpaddd %xmm12,%xmm5,%xmm5
3853
3854
vpsrld $11,%xmm9,%xmm1
3855
vpxor %xmm2,%xmm7,%xmm7
3856
vpslld $21,%xmm9,%xmm2
3857
vpaddd -32(%rbp),%xmm5,%xmm5
3858
vpxor %xmm1,%xmm7,%xmm7
3859
3860
vpsrld $25,%xmm9,%xmm1
3861
vpxor %xmm2,%xmm7,%xmm7
3862
3863
vpslld $7,%xmm9,%xmm2
3864
vpandn %xmm11,%xmm9,%xmm0
3865
vpand %xmm10,%xmm9,%xmm4
3866
3867
vpxor %xmm1,%xmm7,%xmm7
3868
3869
vpsrld $2,%xmm13,%xmm12
3870
vpxor %xmm2,%xmm7,%xmm7
3871
3872
vpslld $30,%xmm13,%xmm1
3873
vpxor %xmm4,%xmm0,%xmm0
3874
vpxor %xmm13,%xmm14,%xmm4
3875
3876
vpxor %xmm1,%xmm12,%xmm12
3877
vpaddd %xmm7,%xmm5,%xmm5
3878
3879
vpsrld $13,%xmm13,%xmm1
3880
3881
vpslld $19,%xmm13,%xmm2
3882
vpaddd %xmm0,%xmm5,%xmm5
3883
vpand %xmm4,%xmm3,%xmm3
3884
3885
vpxor %xmm1,%xmm12,%xmm7
3886
3887
vpsrld $22,%xmm13,%xmm1
3888
vpxor %xmm2,%xmm7,%xmm7
3889
3890
vpslld $10,%xmm13,%xmm2
3891
vpxor %xmm3,%xmm14,%xmm12
3892
vpaddd %xmm5,%xmm8,%xmm8
3893
3894
vpxor %xmm1,%xmm7,%xmm7
3895
vpxor %xmm2,%xmm7,%xmm7
3896
3897
vpaddd %xmm5,%xmm12,%xmm12
3898
vpaddd %xmm7,%xmm12,%xmm12
3899
vmovd 48(%r8),%xmm5
3900
vmovd 48(%r9),%xmm0
3901
vpinsrd $1,48(%r10),%xmm5,%xmm5
3902
vpinsrd $1,48(%r11),%xmm0,%xmm0
3903
vpunpckldq %xmm0,%xmm5,%xmm5
3904
vpshufb %xmm6,%xmm5,%xmm5
3905
vpsrld $6,%xmm8,%xmm7
3906
vpslld $26,%xmm8,%xmm2
3907
vmovdqu %xmm5,192-128(%rax)
3908
vpaddd %xmm11,%xmm5,%xmm5
3909
3910
vpsrld $11,%xmm8,%xmm1
3911
vpxor %xmm2,%xmm7,%xmm7
3912
vpslld $21,%xmm8,%xmm2
3913
vpaddd 0(%rbp),%xmm5,%xmm5
3914
vpxor %xmm1,%xmm7,%xmm7
3915
3916
vpsrld $25,%xmm8,%xmm1
3917
vpxor %xmm2,%xmm7,%xmm7
3918
3919
vpslld $7,%xmm8,%xmm2
3920
vpandn %xmm10,%xmm8,%xmm0
3921
vpand %xmm9,%xmm8,%xmm3
3922
3923
vpxor %xmm1,%xmm7,%xmm7
3924
3925
vpsrld $2,%xmm12,%xmm11
3926
vpxor %xmm2,%xmm7,%xmm7
3927
3928
vpslld $30,%xmm12,%xmm1
3929
vpxor %xmm3,%xmm0,%xmm0
3930
vpxor %xmm12,%xmm13,%xmm3
3931
3932
vpxor %xmm1,%xmm11,%xmm11
3933
vpaddd %xmm7,%xmm5,%xmm5
3934
3935
vpsrld $13,%xmm12,%xmm1
3936
3937
vpslld $19,%xmm12,%xmm2
3938
vpaddd %xmm0,%xmm5,%xmm5
3939
vpand %xmm3,%xmm4,%xmm4
3940
3941
vpxor %xmm1,%xmm11,%xmm7
3942
3943
vpsrld $22,%xmm12,%xmm1
3944
vpxor %xmm2,%xmm7,%xmm7
3945
3946
vpslld $10,%xmm12,%xmm2
3947
vpxor %xmm4,%xmm13,%xmm11
3948
vpaddd %xmm5,%xmm15,%xmm15
3949
3950
vpxor %xmm1,%xmm7,%xmm7
3951
vpxor %xmm2,%xmm7,%xmm7
3952
3953
vpaddd %xmm5,%xmm11,%xmm11
3954
vpaddd %xmm7,%xmm11,%xmm11
3955
vmovd 52(%r8),%xmm5
3956
vmovd 52(%r9),%xmm0
3957
vpinsrd $1,52(%r10),%xmm5,%xmm5
3958
vpinsrd $1,52(%r11),%xmm0,%xmm0
3959
vpunpckldq %xmm0,%xmm5,%xmm5
3960
vpshufb %xmm6,%xmm5,%xmm5
3961
vpsrld $6,%xmm15,%xmm7
3962
vpslld $26,%xmm15,%xmm2
3963
vmovdqu %xmm5,208-128(%rax)
3964
vpaddd %xmm10,%xmm5,%xmm5
3965
3966
vpsrld $11,%xmm15,%xmm1
3967
vpxor %xmm2,%xmm7,%xmm7
3968
vpslld $21,%xmm15,%xmm2
3969
vpaddd 32(%rbp),%xmm5,%xmm5
3970
vpxor %xmm1,%xmm7,%xmm7
3971
3972
vpsrld $25,%xmm15,%xmm1
3973
vpxor %xmm2,%xmm7,%xmm7
3974
3975
vpslld $7,%xmm15,%xmm2
3976
vpandn %xmm9,%xmm15,%xmm0
3977
vpand %xmm8,%xmm15,%xmm4
3978
3979
vpxor %xmm1,%xmm7,%xmm7
3980
3981
vpsrld $2,%xmm11,%xmm10
3982
vpxor %xmm2,%xmm7,%xmm7
3983
3984
vpslld $30,%xmm11,%xmm1
3985
vpxor %xmm4,%xmm0,%xmm0
3986
vpxor %xmm11,%xmm12,%xmm4
3987
3988
vpxor %xmm1,%xmm10,%xmm10
3989
vpaddd %xmm7,%xmm5,%xmm5
3990
3991
vpsrld $13,%xmm11,%xmm1
3992
3993
vpslld $19,%xmm11,%xmm2
3994
vpaddd %xmm0,%xmm5,%xmm5
3995
vpand %xmm4,%xmm3,%xmm3
3996
3997
vpxor %xmm1,%xmm10,%xmm7
3998
3999
vpsrld $22,%xmm11,%xmm1
4000
vpxor %xmm2,%xmm7,%xmm7
4001
4002
vpslld $10,%xmm11,%xmm2
4003
vpxor %xmm3,%xmm12,%xmm10
4004
vpaddd %xmm5,%xmm14,%xmm14
4005
4006
vpxor %xmm1,%xmm7,%xmm7
4007
vpxor %xmm2,%xmm7,%xmm7
4008
4009
vpaddd %xmm5,%xmm10,%xmm10
4010
vpaddd %xmm7,%xmm10,%xmm10
4011
vmovd 56(%r8),%xmm5
4012
vmovd 56(%r9),%xmm0
4013
vpinsrd $1,56(%r10),%xmm5,%xmm5
4014
vpinsrd $1,56(%r11),%xmm0,%xmm0
4015
vpunpckldq %xmm0,%xmm5,%xmm5
4016
vpshufb %xmm6,%xmm5,%xmm5
4017
vpsrld $6,%xmm14,%xmm7
4018
vpslld $26,%xmm14,%xmm2
4019
vmovdqu %xmm5,224-128(%rax)
4020
vpaddd %xmm9,%xmm5,%xmm5
4021
4022
vpsrld $11,%xmm14,%xmm1
4023
vpxor %xmm2,%xmm7,%xmm7
4024
vpslld $21,%xmm14,%xmm2
4025
vpaddd 64(%rbp),%xmm5,%xmm5
4026
vpxor %xmm1,%xmm7,%xmm7
4027
4028
vpsrld $25,%xmm14,%xmm1
4029
vpxor %xmm2,%xmm7,%xmm7
4030
4031
vpslld $7,%xmm14,%xmm2
4032
vpandn %xmm8,%xmm14,%xmm0
4033
vpand %xmm15,%xmm14,%xmm3
4034
4035
vpxor %xmm1,%xmm7,%xmm7
4036
4037
vpsrld $2,%xmm10,%xmm9
4038
vpxor %xmm2,%xmm7,%xmm7
4039
4040
vpslld $30,%xmm10,%xmm1
4041
vpxor %xmm3,%xmm0,%xmm0
4042
vpxor %xmm10,%xmm11,%xmm3
4043
4044
vpxor %xmm1,%xmm9,%xmm9
4045
vpaddd %xmm7,%xmm5,%xmm5
4046
4047
vpsrld $13,%xmm10,%xmm1
4048
4049
vpslld $19,%xmm10,%xmm2
4050
vpaddd %xmm0,%xmm5,%xmm5
4051
vpand %xmm3,%xmm4,%xmm4
4052
4053
vpxor %xmm1,%xmm9,%xmm7
4054
4055
vpsrld $22,%xmm10,%xmm1
4056
vpxor %xmm2,%xmm7,%xmm7
4057
4058
vpslld $10,%xmm10,%xmm2
4059
vpxor %xmm4,%xmm11,%xmm9
4060
vpaddd %xmm5,%xmm13,%xmm13
4061
4062
vpxor %xmm1,%xmm7,%xmm7
4063
vpxor %xmm2,%xmm7,%xmm7
4064
4065
vpaddd %xmm5,%xmm9,%xmm9
4066
vpaddd %xmm7,%xmm9,%xmm9
4067
vmovd 60(%r8),%xmm5
4068
leaq 64(%r8),%r8
4069
vmovd 60(%r9),%xmm0
4070
leaq 64(%r9),%r9
4071
vpinsrd $1,60(%r10),%xmm5,%xmm5
4072
leaq 64(%r10),%r10
4073
vpinsrd $1,60(%r11),%xmm0,%xmm0
4074
leaq 64(%r11),%r11
4075
vpunpckldq %xmm0,%xmm5,%xmm5
4076
vpshufb %xmm6,%xmm5,%xmm5
4077
vpsrld $6,%xmm13,%xmm7
4078
vpslld $26,%xmm13,%xmm2
4079
vmovdqu %xmm5,240-128(%rax)
4080
vpaddd %xmm8,%xmm5,%xmm5
4081
4082
vpsrld $11,%xmm13,%xmm1
4083
vpxor %xmm2,%xmm7,%xmm7
4084
vpslld $21,%xmm13,%xmm2
4085
vpaddd 96(%rbp),%xmm5,%xmm5
4086
vpxor %xmm1,%xmm7,%xmm7
4087
4088
vpsrld $25,%xmm13,%xmm1
4089
vpxor %xmm2,%xmm7,%xmm7
4090
prefetcht0 63(%r8)
4091
vpslld $7,%xmm13,%xmm2
4092
vpandn %xmm15,%xmm13,%xmm0
4093
vpand %xmm14,%xmm13,%xmm4
4094
prefetcht0 63(%r9)
4095
vpxor %xmm1,%xmm7,%xmm7
4096
4097
vpsrld $2,%xmm9,%xmm8
4098
vpxor %xmm2,%xmm7,%xmm7
4099
prefetcht0 63(%r10)
4100
vpslld $30,%xmm9,%xmm1
4101
vpxor %xmm4,%xmm0,%xmm0
4102
vpxor %xmm9,%xmm10,%xmm4
4103
prefetcht0 63(%r11)
4104
vpxor %xmm1,%xmm8,%xmm8
4105
vpaddd %xmm7,%xmm5,%xmm5
4106
4107
vpsrld $13,%xmm9,%xmm1
4108
4109
vpslld $19,%xmm9,%xmm2
4110
vpaddd %xmm0,%xmm5,%xmm5
4111
vpand %xmm4,%xmm3,%xmm3
4112
4113
vpxor %xmm1,%xmm8,%xmm7
4114
4115
vpsrld $22,%xmm9,%xmm1
4116
vpxor %xmm2,%xmm7,%xmm7
4117
4118
vpslld $10,%xmm9,%xmm2
4119
vpxor %xmm3,%xmm10,%xmm8
4120
vpaddd %xmm5,%xmm12,%xmm12
4121
4122
vpxor %xmm1,%xmm7,%xmm7
4123
vpxor %xmm2,%xmm7,%xmm7
4124
4125
vpaddd %xmm5,%xmm8,%xmm8
4126
vpaddd %xmm7,%xmm8,%xmm8
4127
addq $256,%rbp
4128
vmovdqu 0-128(%rax),%xmm5
4129
movl $3,%ecx
4130
jmp .Loop_16_xx_avx
4131
.align 32
4132
.Loop_16_xx_avx:
4133
vmovdqu 16-128(%rax),%xmm6
4134
vpaddd 144-128(%rax),%xmm5,%xmm5
4135
4136
vpsrld $3,%xmm6,%xmm7
4137
vpsrld $7,%xmm6,%xmm1
4138
vpslld $25,%xmm6,%xmm2
4139
vpxor %xmm1,%xmm7,%xmm7
4140
vpsrld $18,%xmm6,%xmm1
4141
vpxor %xmm2,%xmm7,%xmm7
4142
vpslld $14,%xmm6,%xmm2
4143
vmovdqu 224-128(%rax),%xmm0
4144
vpsrld $10,%xmm0,%xmm3
4145
4146
vpxor %xmm1,%xmm7,%xmm7
4147
vpsrld $17,%xmm0,%xmm1
4148
vpxor %xmm2,%xmm7,%xmm7
4149
vpslld $15,%xmm0,%xmm2
4150
vpaddd %xmm7,%xmm5,%xmm5
4151
vpxor %xmm1,%xmm3,%xmm7
4152
vpsrld $19,%xmm0,%xmm1
4153
vpxor %xmm2,%xmm7,%xmm7
4154
vpslld $13,%xmm0,%xmm2
4155
vpxor %xmm1,%xmm7,%xmm7
4156
vpxor %xmm2,%xmm7,%xmm7
4157
vpaddd %xmm7,%xmm5,%xmm5
4158
vpsrld $6,%xmm12,%xmm7
4159
vpslld $26,%xmm12,%xmm2
4160
vmovdqu %xmm5,0-128(%rax)
4161
vpaddd %xmm15,%xmm5,%xmm5
4162
4163
vpsrld $11,%xmm12,%xmm1
4164
vpxor %xmm2,%xmm7,%xmm7
4165
vpslld $21,%xmm12,%xmm2
4166
vpaddd -128(%rbp),%xmm5,%xmm5
4167
vpxor %xmm1,%xmm7,%xmm7
4168
4169
vpsrld $25,%xmm12,%xmm1
4170
vpxor %xmm2,%xmm7,%xmm7
4171
4172
vpslld $7,%xmm12,%xmm2
4173
vpandn %xmm14,%xmm12,%xmm0
4174
vpand %xmm13,%xmm12,%xmm3
4175
4176
vpxor %xmm1,%xmm7,%xmm7
4177
4178
vpsrld $2,%xmm8,%xmm15
4179
vpxor %xmm2,%xmm7,%xmm7
4180
4181
vpslld $30,%xmm8,%xmm1
4182
vpxor %xmm3,%xmm0,%xmm0
4183
vpxor %xmm8,%xmm9,%xmm3
4184
4185
vpxor %xmm1,%xmm15,%xmm15
4186
vpaddd %xmm7,%xmm5,%xmm5
4187
4188
vpsrld $13,%xmm8,%xmm1
4189
4190
vpslld $19,%xmm8,%xmm2
4191
vpaddd %xmm0,%xmm5,%xmm5
4192
vpand %xmm3,%xmm4,%xmm4
4193
4194
vpxor %xmm1,%xmm15,%xmm7
4195
4196
vpsrld $22,%xmm8,%xmm1
4197
vpxor %xmm2,%xmm7,%xmm7
4198
4199
vpslld $10,%xmm8,%xmm2
4200
vpxor %xmm4,%xmm9,%xmm15
4201
vpaddd %xmm5,%xmm11,%xmm11
4202
4203
vpxor %xmm1,%xmm7,%xmm7
4204
vpxor %xmm2,%xmm7,%xmm7
4205
4206
vpaddd %xmm5,%xmm15,%xmm15
4207
vpaddd %xmm7,%xmm15,%xmm15
4208
vmovdqu 32-128(%rax),%xmm5
4209
vpaddd 160-128(%rax),%xmm6,%xmm6
4210
4211
vpsrld $3,%xmm5,%xmm7
4212
vpsrld $7,%xmm5,%xmm1
4213
vpslld $25,%xmm5,%xmm2
4214
vpxor %xmm1,%xmm7,%xmm7
4215
vpsrld $18,%xmm5,%xmm1
4216
vpxor %xmm2,%xmm7,%xmm7
4217
vpslld $14,%xmm5,%xmm2
4218
vmovdqu 240-128(%rax),%xmm0
4219
vpsrld $10,%xmm0,%xmm4
4220
4221
vpxor %xmm1,%xmm7,%xmm7
4222
vpsrld $17,%xmm0,%xmm1
4223
vpxor %xmm2,%xmm7,%xmm7
4224
vpslld $15,%xmm0,%xmm2
4225
vpaddd %xmm7,%xmm6,%xmm6
4226
vpxor %xmm1,%xmm4,%xmm7
4227
vpsrld $19,%xmm0,%xmm1
4228
vpxor %xmm2,%xmm7,%xmm7
4229
vpslld $13,%xmm0,%xmm2
4230
vpxor %xmm1,%xmm7,%xmm7
4231
vpxor %xmm2,%xmm7,%xmm7
4232
vpaddd %xmm7,%xmm6,%xmm6
4233
vpsrld $6,%xmm11,%xmm7
4234
vpslld $26,%xmm11,%xmm2
4235
vmovdqu %xmm6,16-128(%rax)
4236
vpaddd %xmm14,%xmm6,%xmm6
4237
4238
vpsrld $11,%xmm11,%xmm1
4239
vpxor %xmm2,%xmm7,%xmm7
4240
vpslld $21,%xmm11,%xmm2
4241
vpaddd -96(%rbp),%xmm6,%xmm6
4242
vpxor %xmm1,%xmm7,%xmm7
4243
4244
vpsrld $25,%xmm11,%xmm1
4245
vpxor %xmm2,%xmm7,%xmm7
4246
4247
vpslld $7,%xmm11,%xmm2
4248
vpandn %xmm13,%xmm11,%xmm0
4249
vpand %xmm12,%xmm11,%xmm4
4250
4251
vpxor %xmm1,%xmm7,%xmm7
4252
4253
vpsrld $2,%xmm15,%xmm14
4254
vpxor %xmm2,%xmm7,%xmm7
4255
4256
vpslld $30,%xmm15,%xmm1
4257
vpxor %xmm4,%xmm0,%xmm0
4258
vpxor %xmm15,%xmm8,%xmm4
4259
4260
vpxor %xmm1,%xmm14,%xmm14
4261
vpaddd %xmm7,%xmm6,%xmm6
4262
4263
vpsrld $13,%xmm15,%xmm1
4264
4265
vpslld $19,%xmm15,%xmm2
4266
vpaddd %xmm0,%xmm6,%xmm6
4267
vpand %xmm4,%xmm3,%xmm3
4268
4269
vpxor %xmm1,%xmm14,%xmm7
4270
4271
vpsrld $22,%xmm15,%xmm1
4272
vpxor %xmm2,%xmm7,%xmm7
4273
4274
vpslld $10,%xmm15,%xmm2
4275
vpxor %xmm3,%xmm8,%xmm14
4276
vpaddd %xmm6,%xmm10,%xmm10
4277
4278
vpxor %xmm1,%xmm7,%xmm7
4279
vpxor %xmm2,%xmm7,%xmm7
4280
4281
vpaddd %xmm6,%xmm14,%xmm14
4282
vpaddd %xmm7,%xmm14,%xmm14
4283
vmovdqu 48-128(%rax),%xmm6
4284
vpaddd 176-128(%rax),%xmm5,%xmm5
4285
4286
vpsrld $3,%xmm6,%xmm7
4287
vpsrld $7,%xmm6,%xmm1
4288
vpslld $25,%xmm6,%xmm2
4289
vpxor %xmm1,%xmm7,%xmm7
4290
vpsrld $18,%xmm6,%xmm1
4291
vpxor %xmm2,%xmm7,%xmm7
4292
vpslld $14,%xmm6,%xmm2
4293
vmovdqu 0-128(%rax),%xmm0
4294
vpsrld $10,%xmm0,%xmm3
4295
4296
vpxor %xmm1,%xmm7,%xmm7
4297
vpsrld $17,%xmm0,%xmm1
4298
vpxor %xmm2,%xmm7,%xmm7
4299
vpslld $15,%xmm0,%xmm2
4300
vpaddd %xmm7,%xmm5,%xmm5
4301
vpxor %xmm1,%xmm3,%xmm7
4302
vpsrld $19,%xmm0,%xmm1
4303
vpxor %xmm2,%xmm7,%xmm7
4304
vpslld $13,%xmm0,%xmm2
4305
vpxor %xmm1,%xmm7,%xmm7
4306
vpxor %xmm2,%xmm7,%xmm7
4307
vpaddd %xmm7,%xmm5,%xmm5
4308
vpsrld $6,%xmm10,%xmm7
4309
vpslld $26,%xmm10,%xmm2
4310
vmovdqu %xmm5,32-128(%rax)
4311
vpaddd %xmm13,%xmm5,%xmm5
4312
4313
vpsrld $11,%xmm10,%xmm1
4314
vpxor %xmm2,%xmm7,%xmm7
4315
vpslld $21,%xmm10,%xmm2
4316
vpaddd -64(%rbp),%xmm5,%xmm5
4317
vpxor %xmm1,%xmm7,%xmm7
4318
4319
vpsrld $25,%xmm10,%xmm1
4320
vpxor %xmm2,%xmm7,%xmm7
4321
4322
vpslld $7,%xmm10,%xmm2
4323
vpandn %xmm12,%xmm10,%xmm0
4324
vpand %xmm11,%xmm10,%xmm3
4325
4326
vpxor %xmm1,%xmm7,%xmm7
4327
4328
vpsrld $2,%xmm14,%xmm13
4329
vpxor %xmm2,%xmm7,%xmm7
4330
4331
vpslld $30,%xmm14,%xmm1
4332
vpxor %xmm3,%xmm0,%xmm0
4333
vpxor %xmm14,%xmm15,%xmm3
4334
4335
vpxor %xmm1,%xmm13,%xmm13
4336
vpaddd %xmm7,%xmm5,%xmm5
4337
4338
vpsrld $13,%xmm14,%xmm1
4339
4340
vpslld $19,%xmm14,%xmm2
4341
vpaddd %xmm0,%xmm5,%xmm5
4342
vpand %xmm3,%xmm4,%xmm4
4343
4344
vpxor %xmm1,%xmm13,%xmm7
4345
4346
vpsrld $22,%xmm14,%xmm1
4347
vpxor %xmm2,%xmm7,%xmm7
4348
4349
vpslld $10,%xmm14,%xmm2
4350
vpxor %xmm4,%xmm15,%xmm13
4351
vpaddd %xmm5,%xmm9,%xmm9
4352
4353
vpxor %xmm1,%xmm7,%xmm7
4354
vpxor %xmm2,%xmm7,%xmm7
4355
4356
vpaddd %xmm5,%xmm13,%xmm13
4357
vpaddd %xmm7,%xmm13,%xmm13
4358
vmovdqu 64-128(%rax),%xmm5
4359
vpaddd 192-128(%rax),%xmm6,%xmm6
4360
4361
vpsrld $3,%xmm5,%xmm7
4362
vpsrld $7,%xmm5,%xmm1
4363
vpslld $25,%xmm5,%xmm2
4364
vpxor %xmm1,%xmm7,%xmm7
4365
vpsrld $18,%xmm5,%xmm1
4366
vpxor %xmm2,%xmm7,%xmm7
4367
vpslld $14,%xmm5,%xmm2
4368
vmovdqu 16-128(%rax),%xmm0
4369
vpsrld $10,%xmm0,%xmm4
4370
4371
vpxor %xmm1,%xmm7,%xmm7
4372
vpsrld $17,%xmm0,%xmm1
4373
vpxor %xmm2,%xmm7,%xmm7
4374
vpslld $15,%xmm0,%xmm2
4375
vpaddd %xmm7,%xmm6,%xmm6
4376
vpxor %xmm1,%xmm4,%xmm7
4377
vpsrld $19,%xmm0,%xmm1
4378
vpxor %xmm2,%xmm7,%xmm7
4379
vpslld $13,%xmm0,%xmm2
4380
vpxor %xmm1,%xmm7,%xmm7
4381
vpxor %xmm2,%xmm7,%xmm7
4382
vpaddd %xmm7,%xmm6,%xmm6
4383
vpsrld $6,%xmm9,%xmm7
4384
vpslld $26,%xmm9,%xmm2
4385
vmovdqu %xmm6,48-128(%rax)
4386
vpaddd %xmm12,%xmm6,%xmm6
4387
4388
vpsrld $11,%xmm9,%xmm1
4389
vpxor %xmm2,%xmm7,%xmm7
4390
vpslld $21,%xmm9,%xmm2
4391
vpaddd -32(%rbp),%xmm6,%xmm6
4392
vpxor %xmm1,%xmm7,%xmm7
4393
4394
vpsrld $25,%xmm9,%xmm1
4395
vpxor %xmm2,%xmm7,%xmm7
4396
4397
vpslld $7,%xmm9,%xmm2
4398
vpandn %xmm11,%xmm9,%xmm0
4399
vpand %xmm10,%xmm9,%xmm4
4400
4401
vpxor %xmm1,%xmm7,%xmm7
4402
4403
vpsrld $2,%xmm13,%xmm12
4404
vpxor %xmm2,%xmm7,%xmm7
4405
4406
vpslld $30,%xmm13,%xmm1
4407
vpxor %xmm4,%xmm0,%xmm0
4408
vpxor %xmm13,%xmm14,%xmm4
4409
4410
vpxor %xmm1,%xmm12,%xmm12
4411
vpaddd %xmm7,%xmm6,%xmm6
4412
4413
vpsrld $13,%xmm13,%xmm1
4414
4415
vpslld $19,%xmm13,%xmm2
4416
vpaddd %xmm0,%xmm6,%xmm6
4417
vpand %xmm4,%xmm3,%xmm3
4418
4419
vpxor %xmm1,%xmm12,%xmm7
4420
4421
vpsrld $22,%xmm13,%xmm1
4422
vpxor %xmm2,%xmm7,%xmm7
4423
4424
vpslld $10,%xmm13,%xmm2
4425
vpxor %xmm3,%xmm14,%xmm12
4426
vpaddd %xmm6,%xmm8,%xmm8
4427
4428
vpxor %xmm1,%xmm7,%xmm7
4429
vpxor %xmm2,%xmm7,%xmm7
4430
4431
vpaddd %xmm6,%xmm12,%xmm12
4432
vpaddd %xmm7,%xmm12,%xmm12
4433
vmovdqu 80-128(%rax),%xmm6
4434
vpaddd 208-128(%rax),%xmm5,%xmm5
4435
4436
vpsrld $3,%xmm6,%xmm7
4437
vpsrld $7,%xmm6,%xmm1
4438
vpslld $25,%xmm6,%xmm2
4439
vpxor %xmm1,%xmm7,%xmm7
4440
vpsrld $18,%xmm6,%xmm1
4441
vpxor %xmm2,%xmm7,%xmm7
4442
vpslld $14,%xmm6,%xmm2
4443
vmovdqu 32-128(%rax),%xmm0
4444
vpsrld $10,%xmm0,%xmm3
4445
4446
vpxor %xmm1,%xmm7,%xmm7
4447
vpsrld $17,%xmm0,%xmm1
4448
vpxor %xmm2,%xmm7,%xmm7
4449
vpslld $15,%xmm0,%xmm2
4450
vpaddd %xmm7,%xmm5,%xmm5
4451
vpxor %xmm1,%xmm3,%xmm7
4452
vpsrld $19,%xmm0,%xmm1
4453
vpxor %xmm2,%xmm7,%xmm7
4454
vpslld $13,%xmm0,%xmm2
4455
vpxor %xmm1,%xmm7,%xmm7
4456
vpxor %xmm2,%xmm7,%xmm7
4457
vpaddd %xmm7,%xmm5,%xmm5
4458
vpsrld $6,%xmm8,%xmm7
4459
vpslld $26,%xmm8,%xmm2
4460
vmovdqu %xmm5,64-128(%rax)
4461
vpaddd %xmm11,%xmm5,%xmm5
4462
4463
vpsrld $11,%xmm8,%xmm1
4464
vpxor %xmm2,%xmm7,%xmm7
4465
vpslld $21,%xmm8,%xmm2
4466
vpaddd 0(%rbp),%xmm5,%xmm5
4467
vpxor %xmm1,%xmm7,%xmm7
4468
4469
vpsrld $25,%xmm8,%xmm1
4470
vpxor %xmm2,%xmm7,%xmm7
4471
4472
vpslld $7,%xmm8,%xmm2
4473
vpandn %xmm10,%xmm8,%xmm0
4474
vpand %xmm9,%xmm8,%xmm3
4475
4476
vpxor %xmm1,%xmm7,%xmm7
4477
4478
vpsrld $2,%xmm12,%xmm11
4479
vpxor %xmm2,%xmm7,%xmm7
4480
4481
vpslld $30,%xmm12,%xmm1
4482
vpxor %xmm3,%xmm0,%xmm0
4483
vpxor %xmm12,%xmm13,%xmm3
4484
4485
vpxor %xmm1,%xmm11,%xmm11
4486
vpaddd %xmm7,%xmm5,%xmm5
4487
4488
vpsrld $13,%xmm12,%xmm1
4489
4490
vpslld $19,%xmm12,%xmm2
4491
vpaddd %xmm0,%xmm5,%xmm5
4492
vpand %xmm3,%xmm4,%xmm4
4493
4494
vpxor %xmm1,%xmm11,%xmm7
4495
4496
vpsrld $22,%xmm12,%xmm1
4497
vpxor %xmm2,%xmm7,%xmm7
4498
4499
vpslld $10,%xmm12,%xmm2
4500
vpxor %xmm4,%xmm13,%xmm11
4501
vpaddd %xmm5,%xmm15,%xmm15
4502
4503
vpxor %xmm1,%xmm7,%xmm7
4504
vpxor %xmm2,%xmm7,%xmm7
4505
4506
vpaddd %xmm5,%xmm11,%xmm11
4507
vpaddd %xmm7,%xmm11,%xmm11
4508
vmovdqu 96-128(%rax),%xmm5
4509
vpaddd 224-128(%rax),%xmm6,%xmm6
4510
4511
vpsrld $3,%xmm5,%xmm7
4512
vpsrld $7,%xmm5,%xmm1
4513
vpslld $25,%xmm5,%xmm2
4514
vpxor %xmm1,%xmm7,%xmm7
4515
vpsrld $18,%xmm5,%xmm1
4516
vpxor %xmm2,%xmm7,%xmm7
4517
vpslld $14,%xmm5,%xmm2
4518
vmovdqu 48-128(%rax),%xmm0
4519
vpsrld $10,%xmm0,%xmm4
4520
4521
vpxor %xmm1,%xmm7,%xmm7
4522
vpsrld $17,%xmm0,%xmm1
4523
vpxor %xmm2,%xmm7,%xmm7
4524
vpslld $15,%xmm0,%xmm2
4525
vpaddd %xmm7,%xmm6,%xmm6
4526
vpxor %xmm1,%xmm4,%xmm7
4527
vpsrld $19,%xmm0,%xmm1
4528
vpxor %xmm2,%xmm7,%xmm7
4529
vpslld $13,%xmm0,%xmm2
4530
vpxor %xmm1,%xmm7,%xmm7
4531
vpxor %xmm2,%xmm7,%xmm7
4532
vpaddd %xmm7,%xmm6,%xmm6
4533
vpsrld $6,%xmm15,%xmm7
4534
vpslld $26,%xmm15,%xmm2
4535
vmovdqu %xmm6,80-128(%rax)
4536
vpaddd %xmm10,%xmm6,%xmm6
4537
4538
vpsrld $11,%xmm15,%xmm1
4539
vpxor %xmm2,%xmm7,%xmm7
4540
vpslld $21,%xmm15,%xmm2
4541
vpaddd 32(%rbp),%xmm6,%xmm6
4542
vpxor %xmm1,%xmm7,%xmm7
4543
4544
vpsrld $25,%xmm15,%xmm1
4545
vpxor %xmm2,%xmm7,%xmm7
4546
4547
vpslld $7,%xmm15,%xmm2
4548
vpandn %xmm9,%xmm15,%xmm0
4549
vpand %xmm8,%xmm15,%xmm4
4550
4551
vpxor %xmm1,%xmm7,%xmm7
4552
4553
vpsrld $2,%xmm11,%xmm10
4554
vpxor %xmm2,%xmm7,%xmm7
4555
4556
vpslld $30,%xmm11,%xmm1
4557
vpxor %xmm4,%xmm0,%xmm0
4558
vpxor %xmm11,%xmm12,%xmm4
4559
4560
vpxor %xmm1,%xmm10,%xmm10
4561
vpaddd %xmm7,%xmm6,%xmm6
4562
4563
vpsrld $13,%xmm11,%xmm1
4564
4565
vpslld $19,%xmm11,%xmm2
4566
vpaddd %xmm0,%xmm6,%xmm6
4567
vpand %xmm4,%xmm3,%xmm3
4568
4569
vpxor %xmm1,%xmm10,%xmm7
4570
4571
vpsrld $22,%xmm11,%xmm1
4572
vpxor %xmm2,%xmm7,%xmm7
4573
4574
vpslld $10,%xmm11,%xmm2
4575
vpxor %xmm3,%xmm12,%xmm10
4576
vpaddd %xmm6,%xmm14,%xmm14
4577
4578
vpxor %xmm1,%xmm7,%xmm7
4579
vpxor %xmm2,%xmm7,%xmm7
4580
4581
vpaddd %xmm6,%xmm10,%xmm10
4582
vpaddd %xmm7,%xmm10,%xmm10
4583
vmovdqu 112-128(%rax),%xmm6
4584
vpaddd 240-128(%rax),%xmm5,%xmm5
4585
4586
vpsrld $3,%xmm6,%xmm7
4587
vpsrld $7,%xmm6,%xmm1
4588
vpslld $25,%xmm6,%xmm2
4589
vpxor %xmm1,%xmm7,%xmm7
4590
vpsrld $18,%xmm6,%xmm1
4591
vpxor %xmm2,%xmm7,%xmm7
4592
vpslld $14,%xmm6,%xmm2
4593
vmovdqu 64-128(%rax),%xmm0
4594
vpsrld $10,%xmm0,%xmm3
4595
4596
vpxor %xmm1,%xmm7,%xmm7
4597
vpsrld $17,%xmm0,%xmm1
4598
vpxor %xmm2,%xmm7,%xmm7
4599
vpslld $15,%xmm0,%xmm2
4600
vpaddd %xmm7,%xmm5,%xmm5
4601
vpxor %xmm1,%xmm3,%xmm7
4602
vpsrld $19,%xmm0,%xmm1
4603
vpxor %xmm2,%xmm7,%xmm7
4604
vpslld $13,%xmm0,%xmm2
4605
vpxor %xmm1,%xmm7,%xmm7
4606
vpxor %xmm2,%xmm7,%xmm7
4607
vpaddd %xmm7,%xmm5,%xmm5
4608
vpsrld $6,%xmm14,%xmm7
4609
vpslld $26,%xmm14,%xmm2
4610
vmovdqu %xmm5,96-128(%rax)
4611
vpaddd %xmm9,%xmm5,%xmm5
4612
4613
vpsrld $11,%xmm14,%xmm1
4614
vpxor %xmm2,%xmm7,%xmm7
4615
vpslld $21,%xmm14,%xmm2
4616
vpaddd 64(%rbp),%xmm5,%xmm5
4617
vpxor %xmm1,%xmm7,%xmm7
4618
4619
vpsrld $25,%xmm14,%xmm1
4620
vpxor %xmm2,%xmm7,%xmm7
4621
4622
vpslld $7,%xmm14,%xmm2
4623
vpandn %xmm8,%xmm14,%xmm0
4624
vpand %xmm15,%xmm14,%xmm3
4625
4626
vpxor %xmm1,%xmm7,%xmm7
4627
4628
vpsrld $2,%xmm10,%xmm9
4629
vpxor %xmm2,%xmm7,%xmm7
4630
4631
vpslld $30,%xmm10,%xmm1
4632
vpxor %xmm3,%xmm0,%xmm0
4633
vpxor %xmm10,%xmm11,%xmm3
4634
4635
vpxor %xmm1,%xmm9,%xmm9
4636
vpaddd %xmm7,%xmm5,%xmm5
4637
4638
vpsrld $13,%xmm10,%xmm1
4639
4640
vpslld $19,%xmm10,%xmm2
4641
vpaddd %xmm0,%xmm5,%xmm5
4642
vpand %xmm3,%xmm4,%xmm4
4643
4644
vpxor %xmm1,%xmm9,%xmm7
4645
4646
vpsrld $22,%xmm10,%xmm1
4647
vpxor %xmm2,%xmm7,%xmm7
4648
4649
vpslld $10,%xmm10,%xmm2
4650
vpxor %xmm4,%xmm11,%xmm9
4651
vpaddd %xmm5,%xmm13,%xmm13
4652
4653
vpxor %xmm1,%xmm7,%xmm7
4654
vpxor %xmm2,%xmm7,%xmm7
4655
4656
vpaddd %xmm5,%xmm9,%xmm9
4657
vpaddd %xmm7,%xmm9,%xmm9
4658
vmovdqu 128-128(%rax),%xmm5
4659
vpaddd 0-128(%rax),%xmm6,%xmm6
4660
4661
vpsrld $3,%xmm5,%xmm7
4662
vpsrld $7,%xmm5,%xmm1
4663
vpslld $25,%xmm5,%xmm2
4664
vpxor %xmm1,%xmm7,%xmm7
4665
vpsrld $18,%xmm5,%xmm1
4666
vpxor %xmm2,%xmm7,%xmm7
4667
vpslld $14,%xmm5,%xmm2
4668
vmovdqu 80-128(%rax),%xmm0
4669
vpsrld $10,%xmm0,%xmm4
4670
4671
vpxor %xmm1,%xmm7,%xmm7
4672
vpsrld $17,%xmm0,%xmm1
4673
vpxor %xmm2,%xmm7,%xmm7
4674
vpslld $15,%xmm0,%xmm2
4675
vpaddd %xmm7,%xmm6,%xmm6
4676
vpxor %xmm1,%xmm4,%xmm7
4677
vpsrld $19,%xmm0,%xmm1
4678
vpxor %xmm2,%xmm7,%xmm7
4679
vpslld $13,%xmm0,%xmm2
4680
vpxor %xmm1,%xmm7,%xmm7
4681
vpxor %xmm2,%xmm7,%xmm7
4682
vpaddd %xmm7,%xmm6,%xmm6
4683
vpsrld $6,%xmm13,%xmm7
4684
vpslld $26,%xmm13,%xmm2
4685
vmovdqu %xmm6,112-128(%rax)
4686
vpaddd %xmm8,%xmm6,%xmm6
4687
4688
vpsrld $11,%xmm13,%xmm1
4689
vpxor %xmm2,%xmm7,%xmm7
4690
vpslld $21,%xmm13,%xmm2
4691
vpaddd 96(%rbp),%xmm6,%xmm6
4692
vpxor %xmm1,%xmm7,%xmm7
4693
4694
vpsrld $25,%xmm13,%xmm1
4695
vpxor %xmm2,%xmm7,%xmm7
4696
4697
vpslld $7,%xmm13,%xmm2
4698
vpandn %xmm15,%xmm13,%xmm0
4699
vpand %xmm14,%xmm13,%xmm4
4700
4701
vpxor %xmm1,%xmm7,%xmm7
4702
4703
vpsrld $2,%xmm9,%xmm8
4704
vpxor %xmm2,%xmm7,%xmm7
4705
4706
vpslld $30,%xmm9,%xmm1
4707
vpxor %xmm4,%xmm0,%xmm0
4708
vpxor %xmm9,%xmm10,%xmm4
4709
4710
vpxor %xmm1,%xmm8,%xmm8
4711
vpaddd %xmm7,%xmm6,%xmm6
4712
4713
vpsrld $13,%xmm9,%xmm1
4714
4715
vpslld $19,%xmm9,%xmm2
4716
vpaddd %xmm0,%xmm6,%xmm6
4717
vpand %xmm4,%xmm3,%xmm3
4718
4719
vpxor %xmm1,%xmm8,%xmm7
4720
4721
vpsrld $22,%xmm9,%xmm1
4722
vpxor %xmm2,%xmm7,%xmm7
4723
4724
vpslld $10,%xmm9,%xmm2
4725
vpxor %xmm3,%xmm10,%xmm8
4726
vpaddd %xmm6,%xmm12,%xmm12
4727
4728
vpxor %xmm1,%xmm7,%xmm7
4729
vpxor %xmm2,%xmm7,%xmm7
4730
4731
vpaddd %xmm6,%xmm8,%xmm8
4732
vpaddd %xmm7,%xmm8,%xmm8
4733
addq $256,%rbp
4734
vmovdqu 144-128(%rax),%xmm6
4735
vpaddd 16-128(%rax),%xmm5,%xmm5
4736
4737
vpsrld $3,%xmm6,%xmm7
4738
vpsrld $7,%xmm6,%xmm1
4739
vpslld $25,%xmm6,%xmm2
4740
vpxor %xmm1,%xmm7,%xmm7
4741
vpsrld $18,%xmm6,%xmm1
4742
vpxor %xmm2,%xmm7,%xmm7
4743
vpslld $14,%xmm6,%xmm2
4744
vmovdqu 96-128(%rax),%xmm0
4745
vpsrld $10,%xmm0,%xmm3
4746
4747
vpxor %xmm1,%xmm7,%xmm7
4748
vpsrld $17,%xmm0,%xmm1
4749
vpxor %xmm2,%xmm7,%xmm7
4750
vpslld $15,%xmm0,%xmm2
4751
vpaddd %xmm7,%xmm5,%xmm5
4752
vpxor %xmm1,%xmm3,%xmm7
4753
vpsrld $19,%xmm0,%xmm1
4754
vpxor %xmm2,%xmm7,%xmm7
4755
vpslld $13,%xmm0,%xmm2
4756
vpxor %xmm1,%xmm7,%xmm7
4757
vpxor %xmm2,%xmm7,%xmm7
4758
vpaddd %xmm7,%xmm5,%xmm5
4759
vpsrld $6,%xmm12,%xmm7
4760
vpslld $26,%xmm12,%xmm2
4761
vmovdqu %xmm5,128-128(%rax)
4762
vpaddd %xmm15,%xmm5,%xmm5
4763
4764
vpsrld $11,%xmm12,%xmm1
4765
vpxor %xmm2,%xmm7,%xmm7
4766
vpslld $21,%xmm12,%xmm2
4767
vpaddd -128(%rbp),%xmm5,%xmm5
4768
vpxor %xmm1,%xmm7,%xmm7
4769
4770
vpsrld $25,%xmm12,%xmm1
4771
vpxor %xmm2,%xmm7,%xmm7
4772
4773
vpslld $7,%xmm12,%xmm2
4774
vpandn %xmm14,%xmm12,%xmm0
4775
vpand %xmm13,%xmm12,%xmm3
4776
4777
vpxor %xmm1,%xmm7,%xmm7
4778
4779
vpsrld $2,%xmm8,%xmm15
4780
vpxor %xmm2,%xmm7,%xmm7
4781
4782
vpslld $30,%xmm8,%xmm1
4783
vpxor %xmm3,%xmm0,%xmm0
4784
vpxor %xmm8,%xmm9,%xmm3
4785
4786
vpxor %xmm1,%xmm15,%xmm15
4787
vpaddd %xmm7,%xmm5,%xmm5
4788
4789
vpsrld $13,%xmm8,%xmm1
4790
4791
vpslld $19,%xmm8,%xmm2
4792
vpaddd %xmm0,%xmm5,%xmm5
4793
vpand %xmm3,%xmm4,%xmm4
4794
4795
vpxor %xmm1,%xmm15,%xmm7
4796
4797
vpsrld $22,%xmm8,%xmm1
4798
vpxor %xmm2,%xmm7,%xmm7
4799
4800
vpslld $10,%xmm8,%xmm2
4801
vpxor %xmm4,%xmm9,%xmm15
4802
vpaddd %xmm5,%xmm11,%xmm11
4803
4804
vpxor %xmm1,%xmm7,%xmm7
4805
vpxor %xmm2,%xmm7,%xmm7
4806
4807
vpaddd %xmm5,%xmm15,%xmm15
4808
vpaddd %xmm7,%xmm15,%xmm15
4809
vmovdqu 160-128(%rax),%xmm5
4810
vpaddd 32-128(%rax),%xmm6,%xmm6
4811
4812
vpsrld $3,%xmm5,%xmm7
4813
vpsrld $7,%xmm5,%xmm1
4814
vpslld $25,%xmm5,%xmm2
4815
vpxor %xmm1,%xmm7,%xmm7
4816
vpsrld $18,%xmm5,%xmm1
4817
vpxor %xmm2,%xmm7,%xmm7
4818
vpslld $14,%xmm5,%xmm2
4819
vmovdqu 112-128(%rax),%xmm0
4820
vpsrld $10,%xmm0,%xmm4
4821
4822
vpxor %xmm1,%xmm7,%xmm7
4823
vpsrld $17,%xmm0,%xmm1
4824
vpxor %xmm2,%xmm7,%xmm7
4825
vpslld $15,%xmm0,%xmm2
4826
vpaddd %xmm7,%xmm6,%xmm6
4827
vpxor %xmm1,%xmm4,%xmm7
4828
vpsrld $19,%xmm0,%xmm1
4829
vpxor %xmm2,%xmm7,%xmm7
4830
vpslld $13,%xmm0,%xmm2
4831
vpxor %xmm1,%xmm7,%xmm7
4832
vpxor %xmm2,%xmm7,%xmm7
4833
vpaddd %xmm7,%xmm6,%xmm6
4834
vpsrld $6,%xmm11,%xmm7
4835
vpslld $26,%xmm11,%xmm2
4836
vmovdqu %xmm6,144-128(%rax)
4837
vpaddd %xmm14,%xmm6,%xmm6
4838
4839
vpsrld $11,%xmm11,%xmm1
4840
vpxor %xmm2,%xmm7,%xmm7
4841
vpslld $21,%xmm11,%xmm2
4842
vpaddd -96(%rbp),%xmm6,%xmm6
4843
vpxor %xmm1,%xmm7,%xmm7
4844
4845
vpsrld $25,%xmm11,%xmm1
4846
vpxor %xmm2,%xmm7,%xmm7
4847
4848
vpslld $7,%xmm11,%xmm2
4849
vpandn %xmm13,%xmm11,%xmm0
4850
vpand %xmm12,%xmm11,%xmm4
4851
4852
vpxor %xmm1,%xmm7,%xmm7
4853
4854
vpsrld $2,%xmm15,%xmm14
4855
vpxor %xmm2,%xmm7,%xmm7
4856
4857
vpslld $30,%xmm15,%xmm1
4858
vpxor %xmm4,%xmm0,%xmm0
4859
vpxor %xmm15,%xmm8,%xmm4
4860
4861
vpxor %xmm1,%xmm14,%xmm14
4862
vpaddd %xmm7,%xmm6,%xmm6
4863
4864
vpsrld $13,%xmm15,%xmm1
4865
4866
vpslld $19,%xmm15,%xmm2
4867
vpaddd %xmm0,%xmm6,%xmm6
4868
vpand %xmm4,%xmm3,%xmm3
4869
4870
vpxor %xmm1,%xmm14,%xmm7
4871
4872
vpsrld $22,%xmm15,%xmm1
4873
vpxor %xmm2,%xmm7,%xmm7
4874
4875
vpslld $10,%xmm15,%xmm2
4876
vpxor %xmm3,%xmm8,%xmm14
4877
vpaddd %xmm6,%xmm10,%xmm10
4878
4879
vpxor %xmm1,%xmm7,%xmm7
4880
vpxor %xmm2,%xmm7,%xmm7
4881
4882
vpaddd %xmm6,%xmm14,%xmm14
4883
vpaddd %xmm7,%xmm14,%xmm14
4884
vmovdqu 176-128(%rax),%xmm6
4885
vpaddd 48-128(%rax),%xmm5,%xmm5
4886
4887
vpsrld $3,%xmm6,%xmm7
4888
vpsrld $7,%xmm6,%xmm1
4889
vpslld $25,%xmm6,%xmm2
4890
vpxor %xmm1,%xmm7,%xmm7
4891
vpsrld $18,%xmm6,%xmm1
4892
vpxor %xmm2,%xmm7,%xmm7
4893
vpslld $14,%xmm6,%xmm2
4894
vmovdqu 128-128(%rax),%xmm0
4895
vpsrld $10,%xmm0,%xmm3
4896
4897
vpxor %xmm1,%xmm7,%xmm7
4898
vpsrld $17,%xmm0,%xmm1
4899
vpxor %xmm2,%xmm7,%xmm7
4900
vpslld $15,%xmm0,%xmm2
4901
vpaddd %xmm7,%xmm5,%xmm5
4902
vpxor %xmm1,%xmm3,%xmm7
4903
vpsrld $19,%xmm0,%xmm1
4904
vpxor %xmm2,%xmm7,%xmm7
4905
vpslld $13,%xmm0,%xmm2
4906
vpxor %xmm1,%xmm7,%xmm7
4907
vpxor %xmm2,%xmm7,%xmm7
4908
vpaddd %xmm7,%xmm5,%xmm5
4909
vpsrld $6,%xmm10,%xmm7
4910
vpslld $26,%xmm10,%xmm2
4911
vmovdqu %xmm5,160-128(%rax)
4912
vpaddd %xmm13,%xmm5,%xmm5
4913
4914
vpsrld $11,%xmm10,%xmm1
4915
vpxor %xmm2,%xmm7,%xmm7
4916
vpslld $21,%xmm10,%xmm2
4917
vpaddd -64(%rbp),%xmm5,%xmm5
4918
vpxor %xmm1,%xmm7,%xmm7
4919
4920
vpsrld $25,%xmm10,%xmm1
4921
vpxor %xmm2,%xmm7,%xmm7
4922
4923
vpslld $7,%xmm10,%xmm2
4924
vpandn %xmm12,%xmm10,%xmm0
4925
vpand %xmm11,%xmm10,%xmm3
4926
4927
vpxor %xmm1,%xmm7,%xmm7
4928
4929
vpsrld $2,%xmm14,%xmm13
4930
vpxor %xmm2,%xmm7,%xmm7
4931
4932
vpslld $30,%xmm14,%xmm1
4933
vpxor %xmm3,%xmm0,%xmm0
4934
vpxor %xmm14,%xmm15,%xmm3
4935
4936
vpxor %xmm1,%xmm13,%xmm13
4937
vpaddd %xmm7,%xmm5,%xmm5
4938
4939
vpsrld $13,%xmm14,%xmm1
4940
4941
vpslld $19,%xmm14,%xmm2
4942
vpaddd %xmm0,%xmm5,%xmm5
4943
vpand %xmm3,%xmm4,%xmm4
4944
4945
vpxor %xmm1,%xmm13,%xmm7
4946
4947
vpsrld $22,%xmm14,%xmm1
4948
vpxor %xmm2,%xmm7,%xmm7
4949
4950
vpslld $10,%xmm14,%xmm2
4951
vpxor %xmm4,%xmm15,%xmm13
4952
vpaddd %xmm5,%xmm9,%xmm9
4953
4954
vpxor %xmm1,%xmm7,%xmm7
4955
vpxor %xmm2,%xmm7,%xmm7
4956
4957
vpaddd %xmm5,%xmm13,%xmm13
4958
vpaddd %xmm7,%xmm13,%xmm13
4959
vmovdqu 192-128(%rax),%xmm5
4960
vpaddd 64-128(%rax),%xmm6,%xmm6
4961
4962
vpsrld $3,%xmm5,%xmm7
4963
vpsrld $7,%xmm5,%xmm1
4964
vpslld $25,%xmm5,%xmm2
4965
vpxor %xmm1,%xmm7,%xmm7
4966
vpsrld $18,%xmm5,%xmm1
4967
vpxor %xmm2,%xmm7,%xmm7
4968
vpslld $14,%xmm5,%xmm2
4969
vmovdqu 144-128(%rax),%xmm0
4970
vpsrld $10,%xmm0,%xmm4
4971
4972
vpxor %xmm1,%xmm7,%xmm7
4973
vpsrld $17,%xmm0,%xmm1
4974
vpxor %xmm2,%xmm7,%xmm7
4975
vpslld $15,%xmm0,%xmm2
4976
vpaddd %xmm7,%xmm6,%xmm6
4977
vpxor %xmm1,%xmm4,%xmm7
4978
vpsrld $19,%xmm0,%xmm1
4979
vpxor %xmm2,%xmm7,%xmm7
4980
vpslld $13,%xmm0,%xmm2
4981
vpxor %xmm1,%xmm7,%xmm7
4982
vpxor %xmm2,%xmm7,%xmm7
4983
vpaddd %xmm7,%xmm6,%xmm6
4984
vpsrld $6,%xmm9,%xmm7
4985
vpslld $26,%xmm9,%xmm2
4986
vmovdqu %xmm6,176-128(%rax)
4987
vpaddd %xmm12,%xmm6,%xmm6
4988
4989
vpsrld $11,%xmm9,%xmm1
4990
vpxor %xmm2,%xmm7,%xmm7
4991
vpslld $21,%xmm9,%xmm2
4992
vpaddd -32(%rbp),%xmm6,%xmm6
4993
vpxor %xmm1,%xmm7,%xmm7
4994
4995
vpsrld $25,%xmm9,%xmm1
4996
vpxor %xmm2,%xmm7,%xmm7
4997
4998
vpslld $7,%xmm9,%xmm2
4999
vpandn %xmm11,%xmm9,%xmm0
5000
vpand %xmm10,%xmm9,%xmm4
5001
5002
vpxor %xmm1,%xmm7,%xmm7
5003
5004
vpsrld $2,%xmm13,%xmm12
5005
vpxor %xmm2,%xmm7,%xmm7
5006
5007
vpslld $30,%xmm13,%xmm1
5008
vpxor %xmm4,%xmm0,%xmm0
5009
vpxor %xmm13,%xmm14,%xmm4
5010
5011
vpxor %xmm1,%xmm12,%xmm12
5012
vpaddd %xmm7,%xmm6,%xmm6
5013
5014
vpsrld $13,%xmm13,%xmm1
5015
5016
vpslld $19,%xmm13,%xmm2
5017
vpaddd %xmm0,%xmm6,%xmm6
5018
vpand %xmm4,%xmm3,%xmm3
5019
5020
vpxor %xmm1,%xmm12,%xmm7
5021
5022
vpsrld $22,%xmm13,%xmm1
5023
vpxor %xmm2,%xmm7,%xmm7
5024
5025
vpslld $10,%xmm13,%xmm2
5026
vpxor %xmm3,%xmm14,%xmm12
5027
vpaddd %xmm6,%xmm8,%xmm8
5028
5029
vpxor %xmm1,%xmm7,%xmm7
5030
vpxor %xmm2,%xmm7,%xmm7
5031
5032
vpaddd %xmm6,%xmm12,%xmm12
5033
vpaddd %xmm7,%xmm12,%xmm12
5034
vmovdqu 208-128(%rax),%xmm6
5035
vpaddd 80-128(%rax),%xmm5,%xmm5
5036
5037
vpsrld $3,%xmm6,%xmm7
5038
vpsrld $7,%xmm6,%xmm1
5039
vpslld $25,%xmm6,%xmm2
5040
vpxor %xmm1,%xmm7,%xmm7
5041
vpsrld $18,%xmm6,%xmm1
5042
vpxor %xmm2,%xmm7,%xmm7
5043
vpslld $14,%xmm6,%xmm2
5044
vmovdqu 160-128(%rax),%xmm0
5045
vpsrld $10,%xmm0,%xmm3
5046
5047
vpxor %xmm1,%xmm7,%xmm7
5048
vpsrld $17,%xmm0,%xmm1
5049
vpxor %xmm2,%xmm7,%xmm7
5050
vpslld $15,%xmm0,%xmm2
5051
vpaddd %xmm7,%xmm5,%xmm5
5052
vpxor %xmm1,%xmm3,%xmm7
5053
vpsrld $19,%xmm0,%xmm1
5054
vpxor %xmm2,%xmm7,%xmm7
5055
vpslld $13,%xmm0,%xmm2
5056
vpxor %xmm1,%xmm7,%xmm7
5057
vpxor %xmm2,%xmm7,%xmm7
5058
vpaddd %xmm7,%xmm5,%xmm5
5059
vpsrld $6,%xmm8,%xmm7
5060
vpslld $26,%xmm8,%xmm2
5061
vmovdqu %xmm5,192-128(%rax)
5062
vpaddd %xmm11,%xmm5,%xmm5
5063
5064
vpsrld $11,%xmm8,%xmm1
5065
vpxor %xmm2,%xmm7,%xmm7
5066
vpslld $21,%xmm8,%xmm2
5067
vpaddd 0(%rbp),%xmm5,%xmm5
5068
vpxor %xmm1,%xmm7,%xmm7
5069
5070
vpsrld $25,%xmm8,%xmm1
5071
vpxor %xmm2,%xmm7,%xmm7
5072
5073
vpslld $7,%xmm8,%xmm2
5074
vpandn %xmm10,%xmm8,%xmm0
5075
vpand %xmm9,%xmm8,%xmm3
5076
5077
vpxor %xmm1,%xmm7,%xmm7
5078
5079
vpsrld $2,%xmm12,%xmm11
5080
vpxor %xmm2,%xmm7,%xmm7
5081
5082
vpslld $30,%xmm12,%xmm1
5083
vpxor %xmm3,%xmm0,%xmm0
5084
vpxor %xmm12,%xmm13,%xmm3
5085
5086
vpxor %xmm1,%xmm11,%xmm11
5087
vpaddd %xmm7,%xmm5,%xmm5
5088
5089
vpsrld $13,%xmm12,%xmm1
5090
5091
vpslld $19,%xmm12,%xmm2
5092
vpaddd %xmm0,%xmm5,%xmm5
5093
vpand %xmm3,%xmm4,%xmm4
5094
5095
vpxor %xmm1,%xmm11,%xmm7
5096
5097
vpsrld $22,%xmm12,%xmm1
5098
vpxor %xmm2,%xmm7,%xmm7
5099
5100
vpslld $10,%xmm12,%xmm2
5101
vpxor %xmm4,%xmm13,%xmm11
5102
vpaddd %xmm5,%xmm15,%xmm15
5103
5104
vpxor %xmm1,%xmm7,%xmm7
5105
vpxor %xmm2,%xmm7,%xmm7
5106
5107
vpaddd %xmm5,%xmm11,%xmm11
5108
vpaddd %xmm7,%xmm11,%xmm11
5109
vmovdqu 224-128(%rax),%xmm5
5110
vpaddd 96-128(%rax),%xmm6,%xmm6
5111
5112
vpsrld $3,%xmm5,%xmm7
5113
vpsrld $7,%xmm5,%xmm1
5114
vpslld $25,%xmm5,%xmm2
5115
vpxor %xmm1,%xmm7,%xmm7
5116
vpsrld $18,%xmm5,%xmm1
5117
vpxor %xmm2,%xmm7,%xmm7
5118
vpslld $14,%xmm5,%xmm2
5119
vmovdqu 176-128(%rax),%xmm0
5120
vpsrld $10,%xmm0,%xmm4
5121
5122
vpxor %xmm1,%xmm7,%xmm7
5123
vpsrld $17,%xmm0,%xmm1
5124
vpxor %xmm2,%xmm7,%xmm7
5125
vpslld $15,%xmm0,%xmm2
5126
vpaddd %xmm7,%xmm6,%xmm6
5127
vpxor %xmm1,%xmm4,%xmm7
5128
vpsrld $19,%xmm0,%xmm1
5129
vpxor %xmm2,%xmm7,%xmm7
5130
vpslld $13,%xmm0,%xmm2
5131
vpxor %xmm1,%xmm7,%xmm7
5132
vpxor %xmm2,%xmm7,%xmm7
5133
vpaddd %xmm7,%xmm6,%xmm6
5134
vpsrld $6,%xmm15,%xmm7
5135
vpslld $26,%xmm15,%xmm2
5136
vmovdqu %xmm6,208-128(%rax)
5137
vpaddd %xmm10,%xmm6,%xmm6
5138
5139
vpsrld $11,%xmm15,%xmm1
5140
vpxor %xmm2,%xmm7,%xmm7
5141
vpslld $21,%xmm15,%xmm2
5142
vpaddd 32(%rbp),%xmm6,%xmm6
5143
vpxor %xmm1,%xmm7,%xmm7
5144
5145
vpsrld $25,%xmm15,%xmm1
5146
vpxor %xmm2,%xmm7,%xmm7
5147
5148
vpslld $7,%xmm15,%xmm2
5149
vpandn %xmm9,%xmm15,%xmm0
5150
vpand %xmm8,%xmm15,%xmm4
5151
5152
vpxor %xmm1,%xmm7,%xmm7
5153
5154
vpsrld $2,%xmm11,%xmm10
5155
vpxor %xmm2,%xmm7,%xmm7
5156
5157
vpslld $30,%xmm11,%xmm1
5158
vpxor %xmm4,%xmm0,%xmm0
5159
vpxor %xmm11,%xmm12,%xmm4
5160
5161
vpxor %xmm1,%xmm10,%xmm10
5162
vpaddd %xmm7,%xmm6,%xmm6
5163
5164
vpsrld $13,%xmm11,%xmm1
5165
5166
vpslld $19,%xmm11,%xmm2
5167
vpaddd %xmm0,%xmm6,%xmm6
5168
vpand %xmm4,%xmm3,%xmm3
5169
5170
vpxor %xmm1,%xmm10,%xmm7
5171
5172
vpsrld $22,%xmm11,%xmm1
5173
vpxor %xmm2,%xmm7,%xmm7
5174
5175
vpslld $10,%xmm11,%xmm2
5176
vpxor %xmm3,%xmm12,%xmm10
5177
vpaddd %xmm6,%xmm14,%xmm14
5178
5179
vpxor %xmm1,%xmm7,%xmm7
5180
vpxor %xmm2,%xmm7,%xmm7
5181
5182
vpaddd %xmm6,%xmm10,%xmm10
5183
vpaddd %xmm7,%xmm10,%xmm10
5184
vmovdqu 240-128(%rax),%xmm6
5185
vpaddd 112-128(%rax),%xmm5,%xmm5
5186
5187
vpsrld $3,%xmm6,%xmm7
5188
vpsrld $7,%xmm6,%xmm1
5189
vpslld $25,%xmm6,%xmm2
5190
vpxor %xmm1,%xmm7,%xmm7
5191
vpsrld $18,%xmm6,%xmm1
5192
vpxor %xmm2,%xmm7,%xmm7
5193
vpslld $14,%xmm6,%xmm2
5194
vmovdqu 192-128(%rax),%xmm0
5195
vpsrld $10,%xmm0,%xmm3
5196
5197
vpxor %xmm1,%xmm7,%xmm7
5198
vpsrld $17,%xmm0,%xmm1
5199
vpxor %xmm2,%xmm7,%xmm7
5200
vpslld $15,%xmm0,%xmm2
5201
vpaddd %xmm7,%xmm5,%xmm5
5202
vpxor %xmm1,%xmm3,%xmm7
5203
vpsrld $19,%xmm0,%xmm1
5204
vpxor %xmm2,%xmm7,%xmm7
5205
vpslld $13,%xmm0,%xmm2
5206
vpxor %xmm1,%xmm7,%xmm7
5207
vpxor %xmm2,%xmm7,%xmm7
5208
vpaddd %xmm7,%xmm5,%xmm5
5209
vpsrld $6,%xmm14,%xmm7
5210
vpslld $26,%xmm14,%xmm2
5211
vmovdqu %xmm5,224-128(%rax)
5212
vpaddd %xmm9,%xmm5,%xmm5
5213
5214
vpsrld $11,%xmm14,%xmm1
5215
vpxor %xmm2,%xmm7,%xmm7
5216
vpslld $21,%xmm14,%xmm2
5217
vpaddd 64(%rbp),%xmm5,%xmm5
5218
vpxor %xmm1,%xmm7,%xmm7
5219
5220
vpsrld $25,%xmm14,%xmm1
5221
vpxor %xmm2,%xmm7,%xmm7
5222
5223
vpslld $7,%xmm14,%xmm2
5224
vpandn %xmm8,%xmm14,%xmm0
5225
vpand %xmm15,%xmm14,%xmm3
5226
5227
vpxor %xmm1,%xmm7,%xmm7
5228
5229
vpsrld $2,%xmm10,%xmm9
5230
vpxor %xmm2,%xmm7,%xmm7
5231
5232
vpslld $30,%xmm10,%xmm1
5233
vpxor %xmm3,%xmm0,%xmm0
5234
vpxor %xmm10,%xmm11,%xmm3
5235
5236
vpxor %xmm1,%xmm9,%xmm9
5237
vpaddd %xmm7,%xmm5,%xmm5
5238
5239
vpsrld $13,%xmm10,%xmm1
5240
5241
vpslld $19,%xmm10,%xmm2
5242
vpaddd %xmm0,%xmm5,%xmm5
5243
vpand %xmm3,%xmm4,%xmm4
5244
5245
vpxor %xmm1,%xmm9,%xmm7
5246
5247
vpsrld $22,%xmm10,%xmm1
5248
vpxor %xmm2,%xmm7,%xmm7
5249
5250
vpslld $10,%xmm10,%xmm2
5251
vpxor %xmm4,%xmm11,%xmm9
5252
vpaddd %xmm5,%xmm13,%xmm13
5253
5254
vpxor %xmm1,%xmm7,%xmm7
5255
vpxor %xmm2,%xmm7,%xmm7
5256
5257
vpaddd %xmm5,%xmm9,%xmm9
5258
vpaddd %xmm7,%xmm9,%xmm9
5259
vmovdqu 0-128(%rax),%xmm5
5260
vpaddd 128-128(%rax),%xmm6,%xmm6
5261
5262
vpsrld $3,%xmm5,%xmm7
5263
vpsrld $7,%xmm5,%xmm1
5264
vpslld $25,%xmm5,%xmm2
5265
vpxor %xmm1,%xmm7,%xmm7
5266
vpsrld $18,%xmm5,%xmm1
5267
vpxor %xmm2,%xmm7,%xmm7
5268
vpslld $14,%xmm5,%xmm2
5269
vmovdqu 208-128(%rax),%xmm0
5270
vpsrld $10,%xmm0,%xmm4
5271
5272
vpxor %xmm1,%xmm7,%xmm7
5273
vpsrld $17,%xmm0,%xmm1
5274
vpxor %xmm2,%xmm7,%xmm7
5275
vpslld $15,%xmm0,%xmm2
5276
vpaddd %xmm7,%xmm6,%xmm6
5277
vpxor %xmm1,%xmm4,%xmm7
5278
vpsrld $19,%xmm0,%xmm1
5279
vpxor %xmm2,%xmm7,%xmm7
5280
vpslld $13,%xmm0,%xmm2
5281
vpxor %xmm1,%xmm7,%xmm7
5282
vpxor %xmm2,%xmm7,%xmm7
5283
vpaddd %xmm7,%xmm6,%xmm6
5284
vpsrld $6,%xmm13,%xmm7
5285
vpslld $26,%xmm13,%xmm2
5286
vmovdqu %xmm6,240-128(%rax)
5287
vpaddd %xmm8,%xmm6,%xmm6
5288
5289
vpsrld $11,%xmm13,%xmm1
5290
vpxor %xmm2,%xmm7,%xmm7
5291
vpslld $21,%xmm13,%xmm2
5292
vpaddd 96(%rbp),%xmm6,%xmm6
5293
vpxor %xmm1,%xmm7,%xmm7
5294
5295
vpsrld $25,%xmm13,%xmm1
5296
vpxor %xmm2,%xmm7,%xmm7
5297
5298
vpslld $7,%xmm13,%xmm2
5299
vpandn %xmm15,%xmm13,%xmm0
5300
vpand %xmm14,%xmm13,%xmm4
5301
5302
vpxor %xmm1,%xmm7,%xmm7
5303
5304
vpsrld $2,%xmm9,%xmm8
5305
vpxor %xmm2,%xmm7,%xmm7
5306
5307
vpslld $30,%xmm9,%xmm1
5308
vpxor %xmm4,%xmm0,%xmm0
5309
vpxor %xmm9,%xmm10,%xmm4
5310
5311
vpxor %xmm1,%xmm8,%xmm8
5312
vpaddd %xmm7,%xmm6,%xmm6
5313
5314
vpsrld $13,%xmm9,%xmm1
5315
5316
vpslld $19,%xmm9,%xmm2
5317
vpaddd %xmm0,%xmm6,%xmm6
5318
vpand %xmm4,%xmm3,%xmm3
5319
5320
vpxor %xmm1,%xmm8,%xmm7
5321
5322
vpsrld $22,%xmm9,%xmm1
5323
vpxor %xmm2,%xmm7,%xmm7
5324
5325
vpslld $10,%xmm9,%xmm2
5326
vpxor %xmm3,%xmm10,%xmm8
5327
vpaddd %xmm6,%xmm12,%xmm12
5328
5329
vpxor %xmm1,%xmm7,%xmm7
5330
vpxor %xmm2,%xmm7,%xmm7
5331
5332
vpaddd %xmm6,%xmm8,%xmm8
5333
vpaddd %xmm7,%xmm8,%xmm8
5334
addq $256,%rbp
5335
decl %ecx
5336
jnz .Loop_16_xx_avx
5337
5338
movl $1,%ecx
5339
leaq K256+128(%rip),%rbp
5340
cmpl 0(%rbx),%ecx
5341
cmovgeq %rbp,%r8
5342
cmpl 4(%rbx),%ecx
5343
cmovgeq %rbp,%r9
5344
cmpl 8(%rbx),%ecx
5345
cmovgeq %rbp,%r10
5346
cmpl 12(%rbx),%ecx
5347
cmovgeq %rbp,%r11
5348
vmovdqa (%rbx),%xmm7
5349
vpxor %xmm0,%xmm0,%xmm0
5350
vmovdqa %xmm7,%xmm6
5351
vpcmpgtd %xmm0,%xmm6,%xmm6
5352
vpaddd %xmm6,%xmm7,%xmm7
5353
5354
vmovdqu 0-128(%rdi),%xmm0
5355
vpand %xmm6,%xmm8,%xmm8
5356
vmovdqu 32-128(%rdi),%xmm1
5357
vpand %xmm6,%xmm9,%xmm9
5358
vmovdqu 64-128(%rdi),%xmm2
5359
vpand %xmm6,%xmm10,%xmm10
5360
vmovdqu 96-128(%rdi),%xmm5
5361
vpand %xmm6,%xmm11,%xmm11
5362
vpaddd %xmm0,%xmm8,%xmm8
5363
vmovdqu 128-128(%rdi),%xmm0
5364
vpand %xmm6,%xmm12,%xmm12
5365
vpaddd %xmm1,%xmm9,%xmm9
5366
vmovdqu 160-128(%rdi),%xmm1
5367
vpand %xmm6,%xmm13,%xmm13
5368
vpaddd %xmm2,%xmm10,%xmm10
5369
vmovdqu 192-128(%rdi),%xmm2
5370
vpand %xmm6,%xmm14,%xmm14
5371
vpaddd %xmm5,%xmm11,%xmm11
5372
vmovdqu 224-128(%rdi),%xmm5
5373
vpand %xmm6,%xmm15,%xmm15
5374
vpaddd %xmm0,%xmm12,%xmm12
5375
vpaddd %xmm1,%xmm13,%xmm13
5376
vmovdqu %xmm8,0-128(%rdi)
5377
vpaddd %xmm2,%xmm14,%xmm14
5378
vmovdqu %xmm9,32-128(%rdi)
5379
vpaddd %xmm5,%xmm15,%xmm15
5380
vmovdqu %xmm10,64-128(%rdi)
5381
vmovdqu %xmm11,96-128(%rdi)
5382
vmovdqu %xmm12,128-128(%rdi)
5383
vmovdqu %xmm13,160-128(%rdi)
5384
vmovdqu %xmm14,192-128(%rdi)
5385
vmovdqu %xmm15,224-128(%rdi)
5386
5387
vmovdqu %xmm7,(%rbx)
5388
vmovdqu .Lpbswap(%rip),%xmm6
5389
decl %edx
5390
jnz .Loop_avx
5391
5392
movl 280(%rsp),%edx
5393
leaq 16(%rdi),%rdi
5394
leaq 64(%rsi),%rsi
5395
decl %edx
5396
jnz .Loop_grande_avx
5397
5398
.Ldone_avx:
5399
movq 272(%rsp),%rax
5400
.cfi_def_cfa %rax,8
5401
vzeroupper
5402
movq -16(%rax),%rbp
5403
.cfi_restore %rbp
5404
movq -8(%rax),%rbx
5405
.cfi_restore %rbx
5406
leaq (%rax),%rsp
5407
.cfi_def_cfa_register %rsp
5408
.Lepilogue_avx:
5409
.byte 0xf3,0xc3
5410
.cfi_endproc
5411
.size sha256_multi_block_avx,.-sha256_multi_block_avx
5412
.type sha256_multi_block_avx2,@function
5413
.align 32
5414
sha256_multi_block_avx2:
5415
.cfi_startproc
5416
_avx2_shortcut:
5417
movq %rsp,%rax
5418
.cfi_def_cfa_register %rax
5419
pushq %rbx
5420
.cfi_offset %rbx,-16
5421
pushq %rbp
5422
.cfi_offset %rbp,-24
5423
pushq %r12
5424
.cfi_offset %r12,-32
5425
pushq %r13
5426
.cfi_offset %r13,-40
5427
pushq %r14
5428
.cfi_offset %r14,-48
5429
pushq %r15
5430
.cfi_offset %r15,-56
5431
subq $576,%rsp
5432
andq $-256,%rsp
5433
movq %rax,544(%rsp)
5434
.cfi_escape 0x0f,0x06,0x77,0xa0,0x04,0x06,0x23,0x08
5435
.Lbody_avx2:
5436
leaq K256+128(%rip),%rbp
5437
leaq 128(%rdi),%rdi
5438
5439
.Loop_grande_avx2:
5440
movl %edx,552(%rsp)
5441
xorl %edx,%edx
5442
leaq 512(%rsp),%rbx
5443
5444
movq 0(%rsi),%r12
5445
5446
movl 8(%rsi),%ecx
5447
cmpl %edx,%ecx
5448
cmovgl %ecx,%edx
5449
testl %ecx,%ecx
5450
movl %ecx,0(%rbx)
5451
cmovleq %rbp,%r12
5452
5453
movq 16(%rsi),%r13
5454
5455
movl 24(%rsi),%ecx
5456
cmpl %edx,%ecx
5457
cmovgl %ecx,%edx
5458
testl %ecx,%ecx
5459
movl %ecx,4(%rbx)
5460
cmovleq %rbp,%r13
5461
5462
movq 32(%rsi),%r14
5463
5464
movl 40(%rsi),%ecx
5465
cmpl %edx,%ecx
5466
cmovgl %ecx,%edx
5467
testl %ecx,%ecx
5468
movl %ecx,8(%rbx)
5469
cmovleq %rbp,%r14
5470
5471
movq 48(%rsi),%r15
5472
5473
movl 56(%rsi),%ecx
5474
cmpl %edx,%ecx
5475
cmovgl %ecx,%edx
5476
testl %ecx,%ecx
5477
movl %ecx,12(%rbx)
5478
cmovleq %rbp,%r15
5479
5480
movq 64(%rsi),%r8
5481
5482
movl 72(%rsi),%ecx
5483
cmpl %edx,%ecx
5484
cmovgl %ecx,%edx
5485
testl %ecx,%ecx
5486
movl %ecx,16(%rbx)
5487
cmovleq %rbp,%r8
5488
5489
movq 80(%rsi),%r9
5490
5491
movl 88(%rsi),%ecx
5492
cmpl %edx,%ecx
5493
cmovgl %ecx,%edx
5494
testl %ecx,%ecx
5495
movl %ecx,20(%rbx)
5496
cmovleq %rbp,%r9
5497
5498
movq 96(%rsi),%r10
5499
5500
movl 104(%rsi),%ecx
5501
cmpl %edx,%ecx
5502
cmovgl %ecx,%edx
5503
testl %ecx,%ecx
5504
movl %ecx,24(%rbx)
5505
cmovleq %rbp,%r10
5506
5507
movq 112(%rsi),%r11
5508
5509
movl 120(%rsi),%ecx
5510
cmpl %edx,%ecx
5511
cmovgl %ecx,%edx
5512
testl %ecx,%ecx
5513
movl %ecx,28(%rbx)
5514
cmovleq %rbp,%r11
5515
vmovdqu 0-128(%rdi),%ymm8
5516
leaq 128(%rsp),%rax
5517
vmovdqu 32-128(%rdi),%ymm9
5518
leaq 256+128(%rsp),%rbx
5519
vmovdqu 64-128(%rdi),%ymm10
5520
vmovdqu 96-128(%rdi),%ymm11
5521
vmovdqu 128-128(%rdi),%ymm12
5522
vmovdqu 160-128(%rdi),%ymm13
5523
vmovdqu 192-128(%rdi),%ymm14
5524
vmovdqu 224-128(%rdi),%ymm15
5525
vmovdqu .Lpbswap(%rip),%ymm6
5526
jmp .Loop_avx2
5527
5528
.align 32
5529
.Loop_avx2:
5530
vpxor %ymm9,%ymm10,%ymm4
5531
vmovd 0(%r12),%xmm5
5532
vmovd 0(%r8),%xmm0
5533
vmovd 0(%r13),%xmm1
5534
vmovd 0(%r9),%xmm2
5535
vpinsrd $1,0(%r14),%xmm5,%xmm5
5536
vpinsrd $1,0(%r10),%xmm0,%xmm0
5537
vpinsrd $1,0(%r15),%xmm1,%xmm1
5538
vpunpckldq %ymm1,%ymm5,%ymm5
5539
vpinsrd $1,0(%r11),%xmm2,%xmm2
5540
vpunpckldq %ymm2,%ymm0,%ymm0
5541
vinserti128 $1,%xmm0,%ymm5,%ymm5
5542
vpshufb %ymm6,%ymm5,%ymm5
5543
vpsrld $6,%ymm12,%ymm7
5544
vpslld $26,%ymm12,%ymm2
5545
vmovdqu %ymm5,0-128(%rax)
5546
vpaddd %ymm15,%ymm5,%ymm5
5547
5548
vpsrld $11,%ymm12,%ymm1
5549
vpxor %ymm2,%ymm7,%ymm7
5550
vpslld $21,%ymm12,%ymm2
5551
vpaddd -128(%rbp),%ymm5,%ymm5
5552
vpxor %ymm1,%ymm7,%ymm7
5553
5554
vpsrld $25,%ymm12,%ymm1
5555
vpxor %ymm2,%ymm7,%ymm7
5556
5557
vpslld $7,%ymm12,%ymm2
5558
vpandn %ymm14,%ymm12,%ymm0
5559
vpand %ymm13,%ymm12,%ymm3
5560
5561
vpxor %ymm1,%ymm7,%ymm7
5562
5563
vpsrld $2,%ymm8,%ymm15
5564
vpxor %ymm2,%ymm7,%ymm7
5565
5566
vpslld $30,%ymm8,%ymm1
5567
vpxor %ymm3,%ymm0,%ymm0
5568
vpxor %ymm8,%ymm9,%ymm3
5569
5570
vpxor %ymm1,%ymm15,%ymm15
5571
vpaddd %ymm7,%ymm5,%ymm5
5572
5573
vpsrld $13,%ymm8,%ymm1
5574
5575
vpslld $19,%ymm8,%ymm2
5576
vpaddd %ymm0,%ymm5,%ymm5
5577
vpand %ymm3,%ymm4,%ymm4
5578
5579
vpxor %ymm1,%ymm15,%ymm7
5580
5581
vpsrld $22,%ymm8,%ymm1
5582
vpxor %ymm2,%ymm7,%ymm7
5583
5584
vpslld $10,%ymm8,%ymm2
5585
vpxor %ymm4,%ymm9,%ymm15
5586
vpaddd %ymm5,%ymm11,%ymm11
5587
5588
vpxor %ymm1,%ymm7,%ymm7
5589
vpxor %ymm2,%ymm7,%ymm7
5590
5591
vpaddd %ymm5,%ymm15,%ymm15
5592
vpaddd %ymm7,%ymm15,%ymm15
5593
vmovd 4(%r12),%xmm5
5594
vmovd 4(%r8),%xmm0
5595
vmovd 4(%r13),%xmm1
5596
vmovd 4(%r9),%xmm2
5597
vpinsrd $1,4(%r14),%xmm5,%xmm5
5598
vpinsrd $1,4(%r10),%xmm0,%xmm0
5599
vpinsrd $1,4(%r15),%xmm1,%xmm1
5600
vpunpckldq %ymm1,%ymm5,%ymm5
5601
vpinsrd $1,4(%r11),%xmm2,%xmm2
5602
vpunpckldq %ymm2,%ymm0,%ymm0
5603
vinserti128 $1,%xmm0,%ymm5,%ymm5
5604
vpshufb %ymm6,%ymm5,%ymm5
5605
vpsrld $6,%ymm11,%ymm7
5606
vpslld $26,%ymm11,%ymm2
5607
vmovdqu %ymm5,32-128(%rax)
5608
vpaddd %ymm14,%ymm5,%ymm5
5609
5610
vpsrld $11,%ymm11,%ymm1
5611
vpxor %ymm2,%ymm7,%ymm7
5612
vpslld $21,%ymm11,%ymm2
5613
vpaddd -96(%rbp),%ymm5,%ymm5
5614
vpxor %ymm1,%ymm7,%ymm7
5615
5616
vpsrld $25,%ymm11,%ymm1
5617
vpxor %ymm2,%ymm7,%ymm7
5618
5619
vpslld $7,%ymm11,%ymm2
5620
vpandn %ymm13,%ymm11,%ymm0
5621
vpand %ymm12,%ymm11,%ymm4
5622
5623
vpxor %ymm1,%ymm7,%ymm7
5624
5625
vpsrld $2,%ymm15,%ymm14
5626
vpxor %ymm2,%ymm7,%ymm7
5627
5628
vpslld $30,%ymm15,%ymm1
5629
vpxor %ymm4,%ymm0,%ymm0
5630
vpxor %ymm15,%ymm8,%ymm4
5631
5632
vpxor %ymm1,%ymm14,%ymm14
5633
vpaddd %ymm7,%ymm5,%ymm5
5634
5635
vpsrld $13,%ymm15,%ymm1
5636
5637
vpslld $19,%ymm15,%ymm2
5638
vpaddd %ymm0,%ymm5,%ymm5
5639
vpand %ymm4,%ymm3,%ymm3
5640
5641
vpxor %ymm1,%ymm14,%ymm7
5642
5643
vpsrld $22,%ymm15,%ymm1
5644
vpxor %ymm2,%ymm7,%ymm7
5645
5646
vpslld $10,%ymm15,%ymm2
5647
vpxor %ymm3,%ymm8,%ymm14
5648
vpaddd %ymm5,%ymm10,%ymm10
5649
5650
vpxor %ymm1,%ymm7,%ymm7
5651
vpxor %ymm2,%ymm7,%ymm7
5652
5653
vpaddd %ymm5,%ymm14,%ymm14
5654
vpaddd %ymm7,%ymm14,%ymm14
5655
vmovd 8(%r12),%xmm5
5656
vmovd 8(%r8),%xmm0
5657
vmovd 8(%r13),%xmm1
5658
vmovd 8(%r9),%xmm2
5659
vpinsrd $1,8(%r14),%xmm5,%xmm5
5660
vpinsrd $1,8(%r10),%xmm0,%xmm0
5661
vpinsrd $1,8(%r15),%xmm1,%xmm1
5662
vpunpckldq %ymm1,%ymm5,%ymm5
5663
vpinsrd $1,8(%r11),%xmm2,%xmm2
5664
vpunpckldq %ymm2,%ymm0,%ymm0
5665
vinserti128 $1,%xmm0,%ymm5,%ymm5
5666
vpshufb %ymm6,%ymm5,%ymm5
5667
vpsrld $6,%ymm10,%ymm7
5668
vpslld $26,%ymm10,%ymm2
5669
vmovdqu %ymm5,64-128(%rax)
5670
vpaddd %ymm13,%ymm5,%ymm5
5671
5672
vpsrld $11,%ymm10,%ymm1
5673
vpxor %ymm2,%ymm7,%ymm7
5674
vpslld $21,%ymm10,%ymm2
5675
vpaddd -64(%rbp),%ymm5,%ymm5
5676
vpxor %ymm1,%ymm7,%ymm7
5677
5678
vpsrld $25,%ymm10,%ymm1
5679
vpxor %ymm2,%ymm7,%ymm7
5680
5681
vpslld $7,%ymm10,%ymm2
5682
vpandn %ymm12,%ymm10,%ymm0
5683
vpand %ymm11,%ymm10,%ymm3
5684
5685
vpxor %ymm1,%ymm7,%ymm7
5686
5687
vpsrld $2,%ymm14,%ymm13
5688
vpxor %ymm2,%ymm7,%ymm7
5689
5690
vpslld $30,%ymm14,%ymm1
5691
vpxor %ymm3,%ymm0,%ymm0
5692
vpxor %ymm14,%ymm15,%ymm3
5693
5694
vpxor %ymm1,%ymm13,%ymm13
5695
vpaddd %ymm7,%ymm5,%ymm5
5696
5697
vpsrld $13,%ymm14,%ymm1
5698
5699
vpslld $19,%ymm14,%ymm2
5700
vpaddd %ymm0,%ymm5,%ymm5
5701
vpand %ymm3,%ymm4,%ymm4
5702
5703
vpxor %ymm1,%ymm13,%ymm7
5704
5705
vpsrld $22,%ymm14,%ymm1
5706
vpxor %ymm2,%ymm7,%ymm7
5707
5708
vpslld $10,%ymm14,%ymm2
5709
vpxor %ymm4,%ymm15,%ymm13
5710
vpaddd %ymm5,%ymm9,%ymm9
5711
5712
vpxor %ymm1,%ymm7,%ymm7
5713
vpxor %ymm2,%ymm7,%ymm7
5714
5715
vpaddd %ymm5,%ymm13,%ymm13
5716
vpaddd %ymm7,%ymm13,%ymm13
5717
vmovd 12(%r12),%xmm5
5718
vmovd 12(%r8),%xmm0
5719
vmovd 12(%r13),%xmm1
5720
vmovd 12(%r9),%xmm2
5721
vpinsrd $1,12(%r14),%xmm5,%xmm5
5722
vpinsrd $1,12(%r10),%xmm0,%xmm0
5723
vpinsrd $1,12(%r15),%xmm1,%xmm1
5724
vpunpckldq %ymm1,%ymm5,%ymm5
5725
vpinsrd $1,12(%r11),%xmm2,%xmm2
5726
vpunpckldq %ymm2,%ymm0,%ymm0
5727
vinserti128 $1,%xmm0,%ymm5,%ymm5
5728
vpshufb %ymm6,%ymm5,%ymm5
5729
vpsrld $6,%ymm9,%ymm7
5730
vpslld $26,%ymm9,%ymm2
5731
vmovdqu %ymm5,96-128(%rax)
5732
vpaddd %ymm12,%ymm5,%ymm5
5733
5734
vpsrld $11,%ymm9,%ymm1
5735
vpxor %ymm2,%ymm7,%ymm7
5736
vpslld $21,%ymm9,%ymm2
5737
vpaddd -32(%rbp),%ymm5,%ymm5
5738
vpxor %ymm1,%ymm7,%ymm7
5739
5740
vpsrld $25,%ymm9,%ymm1
5741
vpxor %ymm2,%ymm7,%ymm7
5742
5743
vpslld $7,%ymm9,%ymm2
5744
vpandn %ymm11,%ymm9,%ymm0
5745
vpand %ymm10,%ymm9,%ymm4
5746
5747
vpxor %ymm1,%ymm7,%ymm7
5748
5749
vpsrld $2,%ymm13,%ymm12
5750
vpxor %ymm2,%ymm7,%ymm7
5751
5752
vpslld $30,%ymm13,%ymm1
5753
vpxor %ymm4,%ymm0,%ymm0
5754
vpxor %ymm13,%ymm14,%ymm4
5755
5756
vpxor %ymm1,%ymm12,%ymm12
5757
vpaddd %ymm7,%ymm5,%ymm5
5758
5759
vpsrld $13,%ymm13,%ymm1
5760
5761
vpslld $19,%ymm13,%ymm2
5762
vpaddd %ymm0,%ymm5,%ymm5
5763
vpand %ymm4,%ymm3,%ymm3
5764
5765
vpxor %ymm1,%ymm12,%ymm7
5766
5767
vpsrld $22,%ymm13,%ymm1
5768
vpxor %ymm2,%ymm7,%ymm7
5769
5770
vpslld $10,%ymm13,%ymm2
5771
vpxor %ymm3,%ymm14,%ymm12
5772
vpaddd %ymm5,%ymm8,%ymm8
5773
5774
vpxor %ymm1,%ymm7,%ymm7
5775
vpxor %ymm2,%ymm7,%ymm7
5776
5777
vpaddd %ymm5,%ymm12,%ymm12
5778
vpaddd %ymm7,%ymm12,%ymm12
5779
vmovd 16(%r12),%xmm5
5780
vmovd 16(%r8),%xmm0
5781
vmovd 16(%r13),%xmm1
5782
vmovd 16(%r9),%xmm2
5783
vpinsrd $1,16(%r14),%xmm5,%xmm5
5784
vpinsrd $1,16(%r10),%xmm0,%xmm0
5785
vpinsrd $1,16(%r15),%xmm1,%xmm1
5786
vpunpckldq %ymm1,%ymm5,%ymm5
5787
vpinsrd $1,16(%r11),%xmm2,%xmm2
5788
vpunpckldq %ymm2,%ymm0,%ymm0
5789
vinserti128 $1,%xmm0,%ymm5,%ymm5
5790
vpshufb %ymm6,%ymm5,%ymm5
5791
vpsrld $6,%ymm8,%ymm7
5792
vpslld $26,%ymm8,%ymm2
5793
vmovdqu %ymm5,128-128(%rax)
5794
vpaddd %ymm11,%ymm5,%ymm5
5795
5796
vpsrld $11,%ymm8,%ymm1
5797
vpxor %ymm2,%ymm7,%ymm7
5798
vpslld $21,%ymm8,%ymm2
5799
vpaddd 0(%rbp),%ymm5,%ymm5
5800
vpxor %ymm1,%ymm7,%ymm7
5801
5802
vpsrld $25,%ymm8,%ymm1
5803
vpxor %ymm2,%ymm7,%ymm7
5804
5805
vpslld $7,%ymm8,%ymm2
5806
vpandn %ymm10,%ymm8,%ymm0
5807
vpand %ymm9,%ymm8,%ymm3
5808
5809
vpxor %ymm1,%ymm7,%ymm7
5810
5811
vpsrld $2,%ymm12,%ymm11
5812
vpxor %ymm2,%ymm7,%ymm7
5813
5814
vpslld $30,%ymm12,%ymm1
5815
vpxor %ymm3,%ymm0,%ymm0
5816
vpxor %ymm12,%ymm13,%ymm3
5817
5818
vpxor %ymm1,%ymm11,%ymm11
5819
vpaddd %ymm7,%ymm5,%ymm5
5820
5821
vpsrld $13,%ymm12,%ymm1
5822
5823
vpslld $19,%ymm12,%ymm2
5824
vpaddd %ymm0,%ymm5,%ymm5
5825
vpand %ymm3,%ymm4,%ymm4
5826
5827
vpxor %ymm1,%ymm11,%ymm7
5828
5829
vpsrld $22,%ymm12,%ymm1
5830
vpxor %ymm2,%ymm7,%ymm7
5831
5832
vpslld $10,%ymm12,%ymm2
5833
vpxor %ymm4,%ymm13,%ymm11
5834
vpaddd %ymm5,%ymm15,%ymm15
5835
5836
vpxor %ymm1,%ymm7,%ymm7
5837
vpxor %ymm2,%ymm7,%ymm7
5838
5839
vpaddd %ymm5,%ymm11,%ymm11
5840
vpaddd %ymm7,%ymm11,%ymm11
5841
vmovd 20(%r12),%xmm5
5842
vmovd 20(%r8),%xmm0
5843
vmovd 20(%r13),%xmm1
5844
vmovd 20(%r9),%xmm2
5845
vpinsrd $1,20(%r14),%xmm5,%xmm5
5846
vpinsrd $1,20(%r10),%xmm0,%xmm0
5847
vpinsrd $1,20(%r15),%xmm1,%xmm1
5848
vpunpckldq %ymm1,%ymm5,%ymm5
5849
vpinsrd $1,20(%r11),%xmm2,%xmm2
5850
vpunpckldq %ymm2,%ymm0,%ymm0
5851
vinserti128 $1,%xmm0,%ymm5,%ymm5
5852
vpshufb %ymm6,%ymm5,%ymm5
5853
vpsrld $6,%ymm15,%ymm7
5854
vpslld $26,%ymm15,%ymm2
5855
vmovdqu %ymm5,160-128(%rax)
5856
vpaddd %ymm10,%ymm5,%ymm5
5857
5858
vpsrld $11,%ymm15,%ymm1
5859
vpxor %ymm2,%ymm7,%ymm7
5860
vpslld $21,%ymm15,%ymm2
5861
vpaddd 32(%rbp),%ymm5,%ymm5
5862
vpxor %ymm1,%ymm7,%ymm7
5863
5864
vpsrld $25,%ymm15,%ymm1
5865
vpxor %ymm2,%ymm7,%ymm7
5866
5867
vpslld $7,%ymm15,%ymm2
5868
vpandn %ymm9,%ymm15,%ymm0
5869
vpand %ymm8,%ymm15,%ymm4
5870
5871
vpxor %ymm1,%ymm7,%ymm7
5872
5873
vpsrld $2,%ymm11,%ymm10
5874
vpxor %ymm2,%ymm7,%ymm7
5875
5876
vpslld $30,%ymm11,%ymm1
5877
vpxor %ymm4,%ymm0,%ymm0
5878
vpxor %ymm11,%ymm12,%ymm4
5879
5880
vpxor %ymm1,%ymm10,%ymm10
5881
vpaddd %ymm7,%ymm5,%ymm5
5882
5883
vpsrld $13,%ymm11,%ymm1
5884
5885
vpslld $19,%ymm11,%ymm2
5886
vpaddd %ymm0,%ymm5,%ymm5
5887
vpand %ymm4,%ymm3,%ymm3
5888
5889
vpxor %ymm1,%ymm10,%ymm7
5890
5891
vpsrld $22,%ymm11,%ymm1
5892
vpxor %ymm2,%ymm7,%ymm7
5893
5894
vpslld $10,%ymm11,%ymm2
5895
vpxor %ymm3,%ymm12,%ymm10
5896
vpaddd %ymm5,%ymm14,%ymm14
5897
5898
vpxor %ymm1,%ymm7,%ymm7
5899
vpxor %ymm2,%ymm7,%ymm7
5900
5901
vpaddd %ymm5,%ymm10,%ymm10
5902
vpaddd %ymm7,%ymm10,%ymm10
5903
vmovd 24(%r12),%xmm5
5904
vmovd 24(%r8),%xmm0
5905
vmovd 24(%r13),%xmm1
5906
vmovd 24(%r9),%xmm2
5907
vpinsrd $1,24(%r14),%xmm5,%xmm5
5908
vpinsrd $1,24(%r10),%xmm0,%xmm0
5909
vpinsrd $1,24(%r15),%xmm1,%xmm1
5910
vpunpckldq %ymm1,%ymm5,%ymm5
5911
vpinsrd $1,24(%r11),%xmm2,%xmm2
5912
vpunpckldq %ymm2,%ymm0,%ymm0
5913
vinserti128 $1,%xmm0,%ymm5,%ymm5
5914
vpshufb %ymm6,%ymm5,%ymm5
5915
vpsrld $6,%ymm14,%ymm7
5916
vpslld $26,%ymm14,%ymm2
5917
vmovdqu %ymm5,192-128(%rax)
5918
vpaddd %ymm9,%ymm5,%ymm5
5919
5920
vpsrld $11,%ymm14,%ymm1
5921
vpxor %ymm2,%ymm7,%ymm7
5922
vpslld $21,%ymm14,%ymm2
5923
vpaddd 64(%rbp),%ymm5,%ymm5
5924
vpxor %ymm1,%ymm7,%ymm7
5925
5926
vpsrld $25,%ymm14,%ymm1
5927
vpxor %ymm2,%ymm7,%ymm7
5928
5929
vpslld $7,%ymm14,%ymm2
5930
vpandn %ymm8,%ymm14,%ymm0
5931
vpand %ymm15,%ymm14,%ymm3
5932
5933
vpxor %ymm1,%ymm7,%ymm7
5934
5935
vpsrld $2,%ymm10,%ymm9
5936
vpxor %ymm2,%ymm7,%ymm7
5937
5938
vpslld $30,%ymm10,%ymm1
5939
vpxor %ymm3,%ymm0,%ymm0
5940
vpxor %ymm10,%ymm11,%ymm3
5941
5942
vpxor %ymm1,%ymm9,%ymm9
5943
vpaddd %ymm7,%ymm5,%ymm5
5944
5945
vpsrld $13,%ymm10,%ymm1
5946
5947
vpslld $19,%ymm10,%ymm2
5948
vpaddd %ymm0,%ymm5,%ymm5
5949
vpand %ymm3,%ymm4,%ymm4
5950
5951
vpxor %ymm1,%ymm9,%ymm7
5952
5953
vpsrld $22,%ymm10,%ymm1
5954
vpxor %ymm2,%ymm7,%ymm7
5955
5956
vpslld $10,%ymm10,%ymm2
5957
vpxor %ymm4,%ymm11,%ymm9
5958
vpaddd %ymm5,%ymm13,%ymm13
5959
5960
vpxor %ymm1,%ymm7,%ymm7
5961
vpxor %ymm2,%ymm7,%ymm7
5962
5963
vpaddd %ymm5,%ymm9,%ymm9
5964
vpaddd %ymm7,%ymm9,%ymm9
5965
vmovd 28(%r12),%xmm5
5966
vmovd 28(%r8),%xmm0
5967
vmovd 28(%r13),%xmm1
5968
vmovd 28(%r9),%xmm2
5969
vpinsrd $1,28(%r14),%xmm5,%xmm5
5970
vpinsrd $1,28(%r10),%xmm0,%xmm0
5971
vpinsrd $1,28(%r15),%xmm1,%xmm1
5972
vpunpckldq %ymm1,%ymm5,%ymm5
5973
vpinsrd $1,28(%r11),%xmm2,%xmm2
5974
vpunpckldq %ymm2,%ymm0,%ymm0
5975
vinserti128 $1,%xmm0,%ymm5,%ymm5
5976
vpshufb %ymm6,%ymm5,%ymm5
5977
vpsrld $6,%ymm13,%ymm7
5978
vpslld $26,%ymm13,%ymm2
5979
vmovdqu %ymm5,224-128(%rax)
5980
vpaddd %ymm8,%ymm5,%ymm5
5981
5982
vpsrld $11,%ymm13,%ymm1
5983
vpxor %ymm2,%ymm7,%ymm7
5984
vpslld $21,%ymm13,%ymm2
5985
vpaddd 96(%rbp),%ymm5,%ymm5
5986
vpxor %ymm1,%ymm7,%ymm7
5987
5988
vpsrld $25,%ymm13,%ymm1
5989
vpxor %ymm2,%ymm7,%ymm7
5990
5991
vpslld $7,%ymm13,%ymm2
5992
vpandn %ymm15,%ymm13,%ymm0
5993
vpand %ymm14,%ymm13,%ymm4
5994
5995
vpxor %ymm1,%ymm7,%ymm7
5996
5997
vpsrld $2,%ymm9,%ymm8
5998
vpxor %ymm2,%ymm7,%ymm7
5999
6000
vpslld $30,%ymm9,%ymm1
6001
vpxor %ymm4,%ymm0,%ymm0
6002
vpxor %ymm9,%ymm10,%ymm4
6003
6004
vpxor %ymm1,%ymm8,%ymm8
6005
vpaddd %ymm7,%ymm5,%ymm5
6006
6007
vpsrld $13,%ymm9,%ymm1
6008
6009
vpslld $19,%ymm9,%ymm2
6010
vpaddd %ymm0,%ymm5,%ymm5
6011
vpand %ymm4,%ymm3,%ymm3
6012
6013
vpxor %ymm1,%ymm8,%ymm7
6014
6015
vpsrld $22,%ymm9,%ymm1
6016
vpxor %ymm2,%ymm7,%ymm7
6017
6018
vpslld $10,%ymm9,%ymm2
6019
vpxor %ymm3,%ymm10,%ymm8
6020
vpaddd %ymm5,%ymm12,%ymm12
6021
6022
vpxor %ymm1,%ymm7,%ymm7
6023
vpxor %ymm2,%ymm7,%ymm7
6024
6025
vpaddd %ymm5,%ymm8,%ymm8
6026
vpaddd %ymm7,%ymm8,%ymm8
6027
addq $256,%rbp
6028
vmovd 32(%r12),%xmm5
6029
vmovd 32(%r8),%xmm0
6030
vmovd 32(%r13),%xmm1
6031
vmovd 32(%r9),%xmm2
6032
vpinsrd $1,32(%r14),%xmm5,%xmm5
6033
vpinsrd $1,32(%r10),%xmm0,%xmm0
6034
vpinsrd $1,32(%r15),%xmm1,%xmm1
6035
vpunpckldq %ymm1,%ymm5,%ymm5
6036
vpinsrd $1,32(%r11),%xmm2,%xmm2
6037
vpunpckldq %ymm2,%ymm0,%ymm0
6038
vinserti128 $1,%xmm0,%ymm5,%ymm5
6039
vpshufb %ymm6,%ymm5,%ymm5
6040
vpsrld $6,%ymm12,%ymm7
6041
vpslld $26,%ymm12,%ymm2
6042
vmovdqu %ymm5,256-256-128(%rbx)
6043
vpaddd %ymm15,%ymm5,%ymm5
6044
6045
vpsrld $11,%ymm12,%ymm1
6046
vpxor %ymm2,%ymm7,%ymm7
6047
vpslld $21,%ymm12,%ymm2
6048
vpaddd -128(%rbp),%ymm5,%ymm5
6049
vpxor %ymm1,%ymm7,%ymm7
6050
6051
vpsrld $25,%ymm12,%ymm1
6052
vpxor %ymm2,%ymm7,%ymm7
6053
6054
vpslld $7,%ymm12,%ymm2
6055
vpandn %ymm14,%ymm12,%ymm0
6056
vpand %ymm13,%ymm12,%ymm3
6057
6058
vpxor %ymm1,%ymm7,%ymm7
6059
6060
vpsrld $2,%ymm8,%ymm15
6061
vpxor %ymm2,%ymm7,%ymm7
6062
6063
vpslld $30,%ymm8,%ymm1
6064
vpxor %ymm3,%ymm0,%ymm0
6065
vpxor %ymm8,%ymm9,%ymm3
6066
6067
vpxor %ymm1,%ymm15,%ymm15
6068
vpaddd %ymm7,%ymm5,%ymm5
6069
6070
vpsrld $13,%ymm8,%ymm1
6071
6072
vpslld $19,%ymm8,%ymm2
6073
vpaddd %ymm0,%ymm5,%ymm5
6074
vpand %ymm3,%ymm4,%ymm4
6075
6076
vpxor %ymm1,%ymm15,%ymm7
6077
6078
vpsrld $22,%ymm8,%ymm1
6079
vpxor %ymm2,%ymm7,%ymm7
6080
6081
vpslld $10,%ymm8,%ymm2
6082
vpxor %ymm4,%ymm9,%ymm15
6083
vpaddd %ymm5,%ymm11,%ymm11
6084
6085
vpxor %ymm1,%ymm7,%ymm7
6086
vpxor %ymm2,%ymm7,%ymm7
6087
6088
vpaddd %ymm5,%ymm15,%ymm15
6089
vpaddd %ymm7,%ymm15,%ymm15
6090
vmovd 36(%r12),%xmm5
6091
vmovd 36(%r8),%xmm0
6092
vmovd 36(%r13),%xmm1
6093
vmovd 36(%r9),%xmm2
6094
vpinsrd $1,36(%r14),%xmm5,%xmm5
6095
vpinsrd $1,36(%r10),%xmm0,%xmm0
6096
vpinsrd $1,36(%r15),%xmm1,%xmm1
6097
vpunpckldq %ymm1,%ymm5,%ymm5
6098
vpinsrd $1,36(%r11),%xmm2,%xmm2
6099
vpunpckldq %ymm2,%ymm0,%ymm0
6100
vinserti128 $1,%xmm0,%ymm5,%ymm5
6101
vpshufb %ymm6,%ymm5,%ymm5
6102
vpsrld $6,%ymm11,%ymm7
6103
vpslld $26,%ymm11,%ymm2
6104
vmovdqu %ymm5,288-256-128(%rbx)
6105
vpaddd %ymm14,%ymm5,%ymm5
6106
6107
vpsrld $11,%ymm11,%ymm1
6108
vpxor %ymm2,%ymm7,%ymm7
6109
vpslld $21,%ymm11,%ymm2
6110
vpaddd -96(%rbp),%ymm5,%ymm5
6111
vpxor %ymm1,%ymm7,%ymm7
6112
6113
vpsrld $25,%ymm11,%ymm1
6114
vpxor %ymm2,%ymm7,%ymm7
6115
6116
vpslld $7,%ymm11,%ymm2
6117
vpandn %ymm13,%ymm11,%ymm0
6118
vpand %ymm12,%ymm11,%ymm4
6119
6120
vpxor %ymm1,%ymm7,%ymm7
6121
6122
vpsrld $2,%ymm15,%ymm14
6123
vpxor %ymm2,%ymm7,%ymm7
6124
6125
vpslld $30,%ymm15,%ymm1
6126
vpxor %ymm4,%ymm0,%ymm0
6127
vpxor %ymm15,%ymm8,%ymm4
6128
6129
vpxor %ymm1,%ymm14,%ymm14
6130
vpaddd %ymm7,%ymm5,%ymm5
6131
6132
vpsrld $13,%ymm15,%ymm1
6133
6134
vpslld $19,%ymm15,%ymm2
6135
vpaddd %ymm0,%ymm5,%ymm5
6136
vpand %ymm4,%ymm3,%ymm3
6137
6138
vpxor %ymm1,%ymm14,%ymm7
6139
6140
vpsrld $22,%ymm15,%ymm1
6141
vpxor %ymm2,%ymm7,%ymm7
6142
6143
vpslld $10,%ymm15,%ymm2
6144
vpxor %ymm3,%ymm8,%ymm14
6145
vpaddd %ymm5,%ymm10,%ymm10
6146
6147
vpxor %ymm1,%ymm7,%ymm7
6148
vpxor %ymm2,%ymm7,%ymm7
6149
6150
vpaddd %ymm5,%ymm14,%ymm14
6151
vpaddd %ymm7,%ymm14,%ymm14
6152
vmovd 40(%r12),%xmm5
6153
vmovd 40(%r8),%xmm0
6154
vmovd 40(%r13),%xmm1
6155
vmovd 40(%r9),%xmm2
6156
vpinsrd $1,40(%r14),%xmm5,%xmm5
6157
vpinsrd $1,40(%r10),%xmm0,%xmm0
6158
vpinsrd $1,40(%r15),%xmm1,%xmm1
6159
vpunpckldq %ymm1,%ymm5,%ymm5
6160
vpinsrd $1,40(%r11),%xmm2,%xmm2
6161
vpunpckldq %ymm2,%ymm0,%ymm0
6162
vinserti128 $1,%xmm0,%ymm5,%ymm5
6163
vpshufb %ymm6,%ymm5,%ymm5
6164
vpsrld $6,%ymm10,%ymm7
6165
vpslld $26,%ymm10,%ymm2
6166
vmovdqu %ymm5,320-256-128(%rbx)
6167
vpaddd %ymm13,%ymm5,%ymm5
6168
6169
vpsrld $11,%ymm10,%ymm1
6170
vpxor %ymm2,%ymm7,%ymm7
6171
vpslld $21,%ymm10,%ymm2
6172
vpaddd -64(%rbp),%ymm5,%ymm5
6173
vpxor %ymm1,%ymm7,%ymm7
6174
6175
vpsrld $25,%ymm10,%ymm1
6176
vpxor %ymm2,%ymm7,%ymm7
6177
6178
vpslld $7,%ymm10,%ymm2
6179
vpandn %ymm12,%ymm10,%ymm0
6180
vpand %ymm11,%ymm10,%ymm3
6181
6182
vpxor %ymm1,%ymm7,%ymm7
6183
6184
vpsrld $2,%ymm14,%ymm13
6185
vpxor %ymm2,%ymm7,%ymm7
6186
6187
vpslld $30,%ymm14,%ymm1
6188
vpxor %ymm3,%ymm0,%ymm0
6189
vpxor %ymm14,%ymm15,%ymm3
6190
6191
vpxor %ymm1,%ymm13,%ymm13
6192
vpaddd %ymm7,%ymm5,%ymm5
6193
6194
vpsrld $13,%ymm14,%ymm1
6195
6196
vpslld $19,%ymm14,%ymm2
6197
vpaddd %ymm0,%ymm5,%ymm5
6198
vpand %ymm3,%ymm4,%ymm4
6199
6200
vpxor %ymm1,%ymm13,%ymm7
6201
6202
vpsrld $22,%ymm14,%ymm1
6203
vpxor %ymm2,%ymm7,%ymm7
6204
6205
vpslld $10,%ymm14,%ymm2
6206
vpxor %ymm4,%ymm15,%ymm13
6207
vpaddd %ymm5,%ymm9,%ymm9
6208
6209
vpxor %ymm1,%ymm7,%ymm7
6210
vpxor %ymm2,%ymm7,%ymm7
6211
6212
vpaddd %ymm5,%ymm13,%ymm13
6213
vpaddd %ymm7,%ymm13,%ymm13
6214
vmovd 44(%r12),%xmm5
6215
vmovd 44(%r8),%xmm0
6216
vmovd 44(%r13),%xmm1
6217
vmovd 44(%r9),%xmm2
6218
vpinsrd $1,44(%r14),%xmm5,%xmm5
6219
vpinsrd $1,44(%r10),%xmm0,%xmm0
6220
vpinsrd $1,44(%r15),%xmm1,%xmm1
6221
vpunpckldq %ymm1,%ymm5,%ymm5
6222
vpinsrd $1,44(%r11),%xmm2,%xmm2
6223
vpunpckldq %ymm2,%ymm0,%ymm0
6224
vinserti128 $1,%xmm0,%ymm5,%ymm5
6225
vpshufb %ymm6,%ymm5,%ymm5
6226
vpsrld $6,%ymm9,%ymm7
6227
vpslld $26,%ymm9,%ymm2
6228
vmovdqu %ymm5,352-256-128(%rbx)
6229
vpaddd %ymm12,%ymm5,%ymm5
6230
6231
vpsrld $11,%ymm9,%ymm1
6232
vpxor %ymm2,%ymm7,%ymm7
6233
vpslld $21,%ymm9,%ymm2
6234
vpaddd -32(%rbp),%ymm5,%ymm5
6235
vpxor %ymm1,%ymm7,%ymm7
6236
6237
vpsrld $25,%ymm9,%ymm1
6238
vpxor %ymm2,%ymm7,%ymm7
6239
6240
vpslld $7,%ymm9,%ymm2
6241
vpandn %ymm11,%ymm9,%ymm0
6242
vpand %ymm10,%ymm9,%ymm4
6243
6244
vpxor %ymm1,%ymm7,%ymm7
6245
6246
vpsrld $2,%ymm13,%ymm12
6247
vpxor %ymm2,%ymm7,%ymm7
6248
6249
vpslld $30,%ymm13,%ymm1
6250
vpxor %ymm4,%ymm0,%ymm0
6251
vpxor %ymm13,%ymm14,%ymm4
6252
6253
vpxor %ymm1,%ymm12,%ymm12
6254
vpaddd %ymm7,%ymm5,%ymm5
6255
6256
vpsrld $13,%ymm13,%ymm1
6257
6258
vpslld $19,%ymm13,%ymm2
6259
vpaddd %ymm0,%ymm5,%ymm5
6260
vpand %ymm4,%ymm3,%ymm3
6261
6262
vpxor %ymm1,%ymm12,%ymm7
6263
6264
vpsrld $22,%ymm13,%ymm1
6265
vpxor %ymm2,%ymm7,%ymm7
6266
6267
vpslld $10,%ymm13,%ymm2
6268
vpxor %ymm3,%ymm14,%ymm12
6269
vpaddd %ymm5,%ymm8,%ymm8
6270
6271
vpxor %ymm1,%ymm7,%ymm7
6272
vpxor %ymm2,%ymm7,%ymm7
6273
6274
vpaddd %ymm5,%ymm12,%ymm12
6275
vpaddd %ymm7,%ymm12,%ymm12
6276
vmovd 48(%r12),%xmm5
6277
vmovd 48(%r8),%xmm0
6278
vmovd 48(%r13),%xmm1
6279
vmovd 48(%r9),%xmm2
6280
vpinsrd $1,48(%r14),%xmm5,%xmm5
6281
vpinsrd $1,48(%r10),%xmm0,%xmm0
6282
vpinsrd $1,48(%r15),%xmm1,%xmm1
6283
vpunpckldq %ymm1,%ymm5,%ymm5
6284
vpinsrd $1,48(%r11),%xmm2,%xmm2
6285
vpunpckldq %ymm2,%ymm0,%ymm0
6286
vinserti128 $1,%xmm0,%ymm5,%ymm5
6287
vpshufb %ymm6,%ymm5,%ymm5
6288
vpsrld $6,%ymm8,%ymm7
6289
vpslld $26,%ymm8,%ymm2
6290
vmovdqu %ymm5,384-256-128(%rbx)
6291
vpaddd %ymm11,%ymm5,%ymm5
6292
6293
vpsrld $11,%ymm8,%ymm1
6294
vpxor %ymm2,%ymm7,%ymm7
6295
vpslld $21,%ymm8,%ymm2
6296
vpaddd 0(%rbp),%ymm5,%ymm5
6297
vpxor %ymm1,%ymm7,%ymm7
6298
6299
vpsrld $25,%ymm8,%ymm1
6300
vpxor %ymm2,%ymm7,%ymm7
6301
6302
vpslld $7,%ymm8,%ymm2
6303
vpandn %ymm10,%ymm8,%ymm0
6304
vpand %ymm9,%ymm8,%ymm3
6305
6306
vpxor %ymm1,%ymm7,%ymm7
6307
6308
vpsrld $2,%ymm12,%ymm11
6309
vpxor %ymm2,%ymm7,%ymm7
6310
6311
vpslld $30,%ymm12,%ymm1
6312
vpxor %ymm3,%ymm0,%ymm0
6313
vpxor %ymm12,%ymm13,%ymm3
6314
6315
vpxor %ymm1,%ymm11,%ymm11
6316
vpaddd %ymm7,%ymm5,%ymm5
6317
6318
vpsrld $13,%ymm12,%ymm1
6319
6320
vpslld $19,%ymm12,%ymm2
6321
vpaddd %ymm0,%ymm5,%ymm5
6322
vpand %ymm3,%ymm4,%ymm4
6323
6324
vpxor %ymm1,%ymm11,%ymm7
6325
6326
vpsrld $22,%ymm12,%ymm1
6327
vpxor %ymm2,%ymm7,%ymm7
6328
6329
vpslld $10,%ymm12,%ymm2
6330
vpxor %ymm4,%ymm13,%ymm11
6331
vpaddd %ymm5,%ymm15,%ymm15
6332
6333
vpxor %ymm1,%ymm7,%ymm7
6334
vpxor %ymm2,%ymm7,%ymm7
6335
6336
vpaddd %ymm5,%ymm11,%ymm11
6337
vpaddd %ymm7,%ymm11,%ymm11
6338
vmovd 52(%r12),%xmm5
6339
vmovd 52(%r8),%xmm0
6340
vmovd 52(%r13),%xmm1
6341
vmovd 52(%r9),%xmm2
6342
vpinsrd $1,52(%r14),%xmm5,%xmm5
6343
vpinsrd $1,52(%r10),%xmm0,%xmm0
6344
vpinsrd $1,52(%r15),%xmm1,%xmm1
6345
vpunpckldq %ymm1,%ymm5,%ymm5
6346
vpinsrd $1,52(%r11),%xmm2,%xmm2
6347
vpunpckldq %ymm2,%ymm0,%ymm0
6348
vinserti128 $1,%xmm0,%ymm5,%ymm5
6349
vpshufb %ymm6,%ymm5,%ymm5
6350
vpsrld $6,%ymm15,%ymm7
6351
vpslld $26,%ymm15,%ymm2
6352
vmovdqu %ymm5,416-256-128(%rbx)
6353
vpaddd %ymm10,%ymm5,%ymm5
6354
6355
vpsrld $11,%ymm15,%ymm1
6356
vpxor %ymm2,%ymm7,%ymm7
6357
vpslld $21,%ymm15,%ymm2
6358
vpaddd 32(%rbp),%ymm5,%ymm5
6359
vpxor %ymm1,%ymm7,%ymm7
6360
6361
vpsrld $25,%ymm15,%ymm1
6362
vpxor %ymm2,%ymm7,%ymm7
6363
6364
vpslld $7,%ymm15,%ymm2
6365
vpandn %ymm9,%ymm15,%ymm0
6366
vpand %ymm8,%ymm15,%ymm4
6367
6368
vpxor %ymm1,%ymm7,%ymm7
6369
6370
vpsrld $2,%ymm11,%ymm10
6371
vpxor %ymm2,%ymm7,%ymm7
6372
6373
vpslld $30,%ymm11,%ymm1
6374
vpxor %ymm4,%ymm0,%ymm0
6375
vpxor %ymm11,%ymm12,%ymm4
6376
6377
vpxor %ymm1,%ymm10,%ymm10
6378
vpaddd %ymm7,%ymm5,%ymm5
6379
6380
vpsrld $13,%ymm11,%ymm1
6381
6382
vpslld $19,%ymm11,%ymm2
6383
vpaddd %ymm0,%ymm5,%ymm5
6384
vpand %ymm4,%ymm3,%ymm3
6385
6386
vpxor %ymm1,%ymm10,%ymm7
6387
6388
vpsrld $22,%ymm11,%ymm1
6389
vpxor %ymm2,%ymm7,%ymm7
6390
6391
vpslld $10,%ymm11,%ymm2
6392
vpxor %ymm3,%ymm12,%ymm10
6393
vpaddd %ymm5,%ymm14,%ymm14
6394
6395
vpxor %ymm1,%ymm7,%ymm7
6396
vpxor %ymm2,%ymm7,%ymm7
6397
6398
vpaddd %ymm5,%ymm10,%ymm10
6399
vpaddd %ymm7,%ymm10,%ymm10
6400
vmovd 56(%r12),%xmm5
6401
vmovd 56(%r8),%xmm0
6402
vmovd 56(%r13),%xmm1
6403
vmovd 56(%r9),%xmm2
6404
vpinsrd $1,56(%r14),%xmm5,%xmm5
6405
vpinsrd $1,56(%r10),%xmm0,%xmm0
6406
vpinsrd $1,56(%r15),%xmm1,%xmm1
6407
vpunpckldq %ymm1,%ymm5,%ymm5
6408
vpinsrd $1,56(%r11),%xmm2,%xmm2
6409
vpunpckldq %ymm2,%ymm0,%ymm0
6410
vinserti128 $1,%xmm0,%ymm5,%ymm5
6411
vpshufb %ymm6,%ymm5,%ymm5
6412
vpsrld $6,%ymm14,%ymm7
6413
vpslld $26,%ymm14,%ymm2
6414
vmovdqu %ymm5,448-256-128(%rbx)
6415
vpaddd %ymm9,%ymm5,%ymm5
6416
6417
vpsrld $11,%ymm14,%ymm1
6418
vpxor %ymm2,%ymm7,%ymm7
6419
vpslld $21,%ymm14,%ymm2
6420
vpaddd 64(%rbp),%ymm5,%ymm5
6421
vpxor %ymm1,%ymm7,%ymm7
6422
6423
vpsrld $25,%ymm14,%ymm1
6424
vpxor %ymm2,%ymm7,%ymm7
6425
6426
vpslld $7,%ymm14,%ymm2
6427
vpandn %ymm8,%ymm14,%ymm0
6428
vpand %ymm15,%ymm14,%ymm3
6429
6430
vpxor %ymm1,%ymm7,%ymm7
6431
6432
vpsrld $2,%ymm10,%ymm9
6433
vpxor %ymm2,%ymm7,%ymm7
6434
6435
vpslld $30,%ymm10,%ymm1
6436
vpxor %ymm3,%ymm0,%ymm0
6437
vpxor %ymm10,%ymm11,%ymm3
6438
6439
vpxor %ymm1,%ymm9,%ymm9
6440
vpaddd %ymm7,%ymm5,%ymm5
6441
6442
vpsrld $13,%ymm10,%ymm1
6443
6444
vpslld $19,%ymm10,%ymm2
6445
vpaddd %ymm0,%ymm5,%ymm5
6446
vpand %ymm3,%ymm4,%ymm4
6447
6448
vpxor %ymm1,%ymm9,%ymm7
6449
6450
vpsrld $22,%ymm10,%ymm1
6451
vpxor %ymm2,%ymm7,%ymm7
6452
6453
vpslld $10,%ymm10,%ymm2
6454
vpxor %ymm4,%ymm11,%ymm9
6455
vpaddd %ymm5,%ymm13,%ymm13
6456
6457
vpxor %ymm1,%ymm7,%ymm7
6458
vpxor %ymm2,%ymm7,%ymm7
6459
6460
vpaddd %ymm5,%ymm9,%ymm9
6461
vpaddd %ymm7,%ymm9,%ymm9
6462
vmovd 60(%r12),%xmm5
6463
leaq 64(%r12),%r12
6464
vmovd 60(%r8),%xmm0
6465
leaq 64(%r8),%r8
6466
vmovd 60(%r13),%xmm1
6467
leaq 64(%r13),%r13
6468
vmovd 60(%r9),%xmm2
6469
leaq 64(%r9),%r9
6470
vpinsrd $1,60(%r14),%xmm5,%xmm5
6471
leaq 64(%r14),%r14
6472
vpinsrd $1,60(%r10),%xmm0,%xmm0
6473
leaq 64(%r10),%r10
6474
vpinsrd $1,60(%r15),%xmm1,%xmm1
6475
leaq 64(%r15),%r15
6476
vpunpckldq %ymm1,%ymm5,%ymm5
6477
vpinsrd $1,60(%r11),%xmm2,%xmm2
6478
leaq 64(%r11),%r11
6479
vpunpckldq %ymm2,%ymm0,%ymm0
6480
vinserti128 $1,%xmm0,%ymm5,%ymm5
6481
vpshufb %ymm6,%ymm5,%ymm5
6482
vpsrld $6,%ymm13,%ymm7
6483
vpslld $26,%ymm13,%ymm2
6484
vmovdqu %ymm5,480-256-128(%rbx)
6485
vpaddd %ymm8,%ymm5,%ymm5
6486
6487
vpsrld $11,%ymm13,%ymm1
6488
vpxor %ymm2,%ymm7,%ymm7
6489
vpslld $21,%ymm13,%ymm2
6490
vpaddd 96(%rbp),%ymm5,%ymm5
6491
vpxor %ymm1,%ymm7,%ymm7
6492
6493
vpsrld $25,%ymm13,%ymm1
6494
vpxor %ymm2,%ymm7,%ymm7
6495
prefetcht0 63(%r12)
6496
vpslld $7,%ymm13,%ymm2
6497
vpandn %ymm15,%ymm13,%ymm0
6498
vpand %ymm14,%ymm13,%ymm4
6499
prefetcht0 63(%r13)
6500
vpxor %ymm1,%ymm7,%ymm7
6501
6502
vpsrld $2,%ymm9,%ymm8
6503
vpxor %ymm2,%ymm7,%ymm7
6504
prefetcht0 63(%r14)
6505
vpslld $30,%ymm9,%ymm1
6506
vpxor %ymm4,%ymm0,%ymm0
6507
vpxor %ymm9,%ymm10,%ymm4
6508
prefetcht0 63(%r15)
6509
vpxor %ymm1,%ymm8,%ymm8
6510
vpaddd %ymm7,%ymm5,%ymm5
6511
6512
vpsrld $13,%ymm9,%ymm1
6513
prefetcht0 63(%r8)
6514
vpslld $19,%ymm9,%ymm2
6515
vpaddd %ymm0,%ymm5,%ymm5
6516
vpand %ymm4,%ymm3,%ymm3
6517
prefetcht0 63(%r9)
6518
vpxor %ymm1,%ymm8,%ymm7
6519
6520
vpsrld $22,%ymm9,%ymm1
6521
vpxor %ymm2,%ymm7,%ymm7
6522
prefetcht0 63(%r10)
6523
vpslld $10,%ymm9,%ymm2
6524
vpxor %ymm3,%ymm10,%ymm8
6525
vpaddd %ymm5,%ymm12,%ymm12
6526
prefetcht0 63(%r11)
6527
vpxor %ymm1,%ymm7,%ymm7
6528
vpxor %ymm2,%ymm7,%ymm7
6529
6530
vpaddd %ymm5,%ymm8,%ymm8
6531
vpaddd %ymm7,%ymm8,%ymm8
6532
addq $256,%rbp
6533
vmovdqu 0-128(%rax),%ymm5
6534
movl $3,%ecx
6535
jmp .Loop_16_xx_avx2
6536
.align 32
6537
.Loop_16_xx_avx2:
6538
vmovdqu 32-128(%rax),%ymm6
6539
vpaddd 288-256-128(%rbx),%ymm5,%ymm5
6540
6541
vpsrld $3,%ymm6,%ymm7
6542
vpsrld $7,%ymm6,%ymm1
6543
vpslld $25,%ymm6,%ymm2
6544
vpxor %ymm1,%ymm7,%ymm7
6545
vpsrld $18,%ymm6,%ymm1
6546
vpxor %ymm2,%ymm7,%ymm7
6547
vpslld $14,%ymm6,%ymm2
6548
vmovdqu 448-256-128(%rbx),%ymm0
6549
vpsrld $10,%ymm0,%ymm3
6550
6551
vpxor %ymm1,%ymm7,%ymm7
6552
vpsrld $17,%ymm0,%ymm1
6553
vpxor %ymm2,%ymm7,%ymm7
6554
vpslld $15,%ymm0,%ymm2
6555
vpaddd %ymm7,%ymm5,%ymm5
6556
vpxor %ymm1,%ymm3,%ymm7
6557
vpsrld $19,%ymm0,%ymm1
6558
vpxor %ymm2,%ymm7,%ymm7
6559
vpslld $13,%ymm0,%ymm2
6560
vpxor %ymm1,%ymm7,%ymm7
6561
vpxor %ymm2,%ymm7,%ymm7
6562
vpaddd %ymm7,%ymm5,%ymm5
6563
vpsrld $6,%ymm12,%ymm7
6564
vpslld $26,%ymm12,%ymm2
6565
vmovdqu %ymm5,0-128(%rax)
6566
vpaddd %ymm15,%ymm5,%ymm5
6567
6568
vpsrld $11,%ymm12,%ymm1
6569
vpxor %ymm2,%ymm7,%ymm7
6570
vpslld $21,%ymm12,%ymm2
6571
vpaddd -128(%rbp),%ymm5,%ymm5
6572
vpxor %ymm1,%ymm7,%ymm7
6573
6574
vpsrld $25,%ymm12,%ymm1
6575
vpxor %ymm2,%ymm7,%ymm7
6576
6577
vpslld $7,%ymm12,%ymm2
6578
vpandn %ymm14,%ymm12,%ymm0
6579
vpand %ymm13,%ymm12,%ymm3
6580
6581
vpxor %ymm1,%ymm7,%ymm7
6582
6583
vpsrld $2,%ymm8,%ymm15
6584
vpxor %ymm2,%ymm7,%ymm7
6585
6586
vpslld $30,%ymm8,%ymm1
6587
vpxor %ymm3,%ymm0,%ymm0
6588
vpxor %ymm8,%ymm9,%ymm3
6589
6590
vpxor %ymm1,%ymm15,%ymm15
6591
vpaddd %ymm7,%ymm5,%ymm5
6592
6593
vpsrld $13,%ymm8,%ymm1
6594
6595
vpslld $19,%ymm8,%ymm2
6596
vpaddd %ymm0,%ymm5,%ymm5
6597
vpand %ymm3,%ymm4,%ymm4
6598
6599
vpxor %ymm1,%ymm15,%ymm7
6600
6601
vpsrld $22,%ymm8,%ymm1
6602
vpxor %ymm2,%ymm7,%ymm7
6603
6604
vpslld $10,%ymm8,%ymm2
6605
vpxor %ymm4,%ymm9,%ymm15
6606
vpaddd %ymm5,%ymm11,%ymm11
6607
6608
vpxor %ymm1,%ymm7,%ymm7
6609
vpxor %ymm2,%ymm7,%ymm7
6610
6611
vpaddd %ymm5,%ymm15,%ymm15
6612
vpaddd %ymm7,%ymm15,%ymm15
6613
vmovdqu 64-128(%rax),%ymm5
6614
vpaddd 320-256-128(%rbx),%ymm6,%ymm6
6615
6616
vpsrld $3,%ymm5,%ymm7
6617
vpsrld $7,%ymm5,%ymm1
6618
vpslld $25,%ymm5,%ymm2
6619
vpxor %ymm1,%ymm7,%ymm7
6620
vpsrld $18,%ymm5,%ymm1
6621
vpxor %ymm2,%ymm7,%ymm7
6622
vpslld $14,%ymm5,%ymm2
6623
vmovdqu 480-256-128(%rbx),%ymm0
6624
vpsrld $10,%ymm0,%ymm4
6625
6626
vpxor %ymm1,%ymm7,%ymm7
6627
vpsrld $17,%ymm0,%ymm1
6628
vpxor %ymm2,%ymm7,%ymm7
6629
vpslld $15,%ymm0,%ymm2
6630
vpaddd %ymm7,%ymm6,%ymm6
6631
vpxor %ymm1,%ymm4,%ymm7
6632
vpsrld $19,%ymm0,%ymm1
6633
vpxor %ymm2,%ymm7,%ymm7
6634
vpslld $13,%ymm0,%ymm2
6635
vpxor %ymm1,%ymm7,%ymm7
6636
vpxor %ymm2,%ymm7,%ymm7
6637
vpaddd %ymm7,%ymm6,%ymm6
6638
vpsrld $6,%ymm11,%ymm7
6639
vpslld $26,%ymm11,%ymm2
6640
vmovdqu %ymm6,32-128(%rax)
6641
vpaddd %ymm14,%ymm6,%ymm6
6642
6643
vpsrld $11,%ymm11,%ymm1
6644
vpxor %ymm2,%ymm7,%ymm7
6645
vpslld $21,%ymm11,%ymm2
6646
vpaddd -96(%rbp),%ymm6,%ymm6
6647
vpxor %ymm1,%ymm7,%ymm7
6648
6649
vpsrld $25,%ymm11,%ymm1
6650
vpxor %ymm2,%ymm7,%ymm7
6651
6652
vpslld $7,%ymm11,%ymm2
6653
vpandn %ymm13,%ymm11,%ymm0
6654
vpand %ymm12,%ymm11,%ymm4
6655
6656
vpxor %ymm1,%ymm7,%ymm7
6657
6658
vpsrld $2,%ymm15,%ymm14
6659
vpxor %ymm2,%ymm7,%ymm7
6660
6661
vpslld $30,%ymm15,%ymm1
6662
vpxor %ymm4,%ymm0,%ymm0
6663
vpxor %ymm15,%ymm8,%ymm4
6664
6665
vpxor %ymm1,%ymm14,%ymm14
6666
vpaddd %ymm7,%ymm6,%ymm6
6667
6668
vpsrld $13,%ymm15,%ymm1
6669
6670
vpslld $19,%ymm15,%ymm2
6671
vpaddd %ymm0,%ymm6,%ymm6
6672
vpand %ymm4,%ymm3,%ymm3
6673
6674
vpxor %ymm1,%ymm14,%ymm7
6675
6676
vpsrld $22,%ymm15,%ymm1
6677
vpxor %ymm2,%ymm7,%ymm7
6678
6679
vpslld $10,%ymm15,%ymm2
6680
vpxor %ymm3,%ymm8,%ymm14
6681
vpaddd %ymm6,%ymm10,%ymm10
6682
6683
vpxor %ymm1,%ymm7,%ymm7
6684
vpxor %ymm2,%ymm7,%ymm7
6685
6686
vpaddd %ymm6,%ymm14,%ymm14
6687
vpaddd %ymm7,%ymm14,%ymm14
6688
vmovdqu 96-128(%rax),%ymm6
6689
vpaddd 352-256-128(%rbx),%ymm5,%ymm5
6690
6691
vpsrld $3,%ymm6,%ymm7
6692
vpsrld $7,%ymm6,%ymm1
6693
vpslld $25,%ymm6,%ymm2
6694
vpxor %ymm1,%ymm7,%ymm7
6695
vpsrld $18,%ymm6,%ymm1
6696
vpxor %ymm2,%ymm7,%ymm7
6697
vpslld $14,%ymm6,%ymm2
6698
vmovdqu 0-128(%rax),%ymm0
6699
vpsrld $10,%ymm0,%ymm3
6700
6701
vpxor %ymm1,%ymm7,%ymm7
6702
vpsrld $17,%ymm0,%ymm1
6703
vpxor %ymm2,%ymm7,%ymm7
6704
vpslld $15,%ymm0,%ymm2
6705
vpaddd %ymm7,%ymm5,%ymm5
6706
vpxor %ymm1,%ymm3,%ymm7
6707
vpsrld $19,%ymm0,%ymm1
6708
vpxor %ymm2,%ymm7,%ymm7
6709
vpslld $13,%ymm0,%ymm2
6710
vpxor %ymm1,%ymm7,%ymm7
6711
vpxor %ymm2,%ymm7,%ymm7
6712
vpaddd %ymm7,%ymm5,%ymm5
6713
vpsrld $6,%ymm10,%ymm7
6714
vpslld $26,%ymm10,%ymm2
6715
vmovdqu %ymm5,64-128(%rax)
6716
vpaddd %ymm13,%ymm5,%ymm5
6717
6718
vpsrld $11,%ymm10,%ymm1
6719
vpxor %ymm2,%ymm7,%ymm7
6720
vpslld $21,%ymm10,%ymm2
6721
vpaddd -64(%rbp),%ymm5,%ymm5
6722
vpxor %ymm1,%ymm7,%ymm7
6723
6724
vpsrld $25,%ymm10,%ymm1
6725
vpxor %ymm2,%ymm7,%ymm7
6726
6727
vpslld $7,%ymm10,%ymm2
6728
vpandn %ymm12,%ymm10,%ymm0
6729
vpand %ymm11,%ymm10,%ymm3
6730
6731
vpxor %ymm1,%ymm7,%ymm7
6732
6733
vpsrld $2,%ymm14,%ymm13
6734
vpxor %ymm2,%ymm7,%ymm7
6735
6736
vpslld $30,%ymm14,%ymm1
6737
vpxor %ymm3,%ymm0,%ymm0
6738
vpxor %ymm14,%ymm15,%ymm3
6739
6740
vpxor %ymm1,%ymm13,%ymm13
6741
vpaddd %ymm7,%ymm5,%ymm5
6742
6743
vpsrld $13,%ymm14,%ymm1
6744
6745
vpslld $19,%ymm14,%ymm2
6746
vpaddd %ymm0,%ymm5,%ymm5
6747
vpand %ymm3,%ymm4,%ymm4
6748
6749
vpxor %ymm1,%ymm13,%ymm7
6750
6751
vpsrld $22,%ymm14,%ymm1
6752
vpxor %ymm2,%ymm7,%ymm7
6753
6754
vpslld $10,%ymm14,%ymm2
6755
vpxor %ymm4,%ymm15,%ymm13
6756
vpaddd %ymm5,%ymm9,%ymm9
6757
6758
vpxor %ymm1,%ymm7,%ymm7
6759
vpxor %ymm2,%ymm7,%ymm7
6760
6761
vpaddd %ymm5,%ymm13,%ymm13
6762
vpaddd %ymm7,%ymm13,%ymm13
6763
vmovdqu 128-128(%rax),%ymm5
6764
vpaddd 384-256-128(%rbx),%ymm6,%ymm6
6765
6766
vpsrld $3,%ymm5,%ymm7
6767
vpsrld $7,%ymm5,%ymm1
6768
vpslld $25,%ymm5,%ymm2
6769
vpxor %ymm1,%ymm7,%ymm7
6770
vpsrld $18,%ymm5,%ymm1
6771
vpxor %ymm2,%ymm7,%ymm7
6772
vpslld $14,%ymm5,%ymm2
6773
vmovdqu 32-128(%rax),%ymm0
6774
vpsrld $10,%ymm0,%ymm4
6775
6776
vpxor %ymm1,%ymm7,%ymm7
6777
vpsrld $17,%ymm0,%ymm1
6778
vpxor %ymm2,%ymm7,%ymm7
6779
vpslld $15,%ymm0,%ymm2
6780
vpaddd %ymm7,%ymm6,%ymm6
6781
vpxor %ymm1,%ymm4,%ymm7
6782
vpsrld $19,%ymm0,%ymm1
6783
vpxor %ymm2,%ymm7,%ymm7
6784
vpslld $13,%ymm0,%ymm2
6785
vpxor %ymm1,%ymm7,%ymm7
6786
vpxor %ymm2,%ymm7,%ymm7
6787
vpaddd %ymm7,%ymm6,%ymm6
6788
vpsrld $6,%ymm9,%ymm7
6789
vpslld $26,%ymm9,%ymm2
6790
vmovdqu %ymm6,96-128(%rax)
6791
vpaddd %ymm12,%ymm6,%ymm6
6792
6793
vpsrld $11,%ymm9,%ymm1
6794
vpxor %ymm2,%ymm7,%ymm7
6795
vpslld $21,%ymm9,%ymm2
6796
vpaddd -32(%rbp),%ymm6,%ymm6
6797
vpxor %ymm1,%ymm7,%ymm7
6798
6799
vpsrld $25,%ymm9,%ymm1
6800
vpxor %ymm2,%ymm7,%ymm7
6801
6802
vpslld $7,%ymm9,%ymm2
6803
vpandn %ymm11,%ymm9,%ymm0
6804
vpand %ymm10,%ymm9,%ymm4
6805
6806
vpxor %ymm1,%ymm7,%ymm7
6807
6808
vpsrld $2,%ymm13,%ymm12
6809
vpxor %ymm2,%ymm7,%ymm7
6810
6811
vpslld $30,%ymm13,%ymm1
6812
vpxor %ymm4,%ymm0,%ymm0
6813
vpxor %ymm13,%ymm14,%ymm4
6814
6815
vpxor %ymm1,%ymm12,%ymm12
6816
vpaddd %ymm7,%ymm6,%ymm6
6817
6818
vpsrld $13,%ymm13,%ymm1
6819
6820
vpslld $19,%ymm13,%ymm2
6821
vpaddd %ymm0,%ymm6,%ymm6
6822
vpand %ymm4,%ymm3,%ymm3
6823
6824
vpxor %ymm1,%ymm12,%ymm7
6825
6826
vpsrld $22,%ymm13,%ymm1
6827
vpxor %ymm2,%ymm7,%ymm7
6828
6829
vpslld $10,%ymm13,%ymm2
6830
vpxor %ymm3,%ymm14,%ymm12
6831
vpaddd %ymm6,%ymm8,%ymm8
6832
6833
vpxor %ymm1,%ymm7,%ymm7
6834
vpxor %ymm2,%ymm7,%ymm7
6835
6836
vpaddd %ymm6,%ymm12,%ymm12
6837
vpaddd %ymm7,%ymm12,%ymm12
6838
vmovdqu 160-128(%rax),%ymm6
6839
vpaddd 416-256-128(%rbx),%ymm5,%ymm5
6840
6841
vpsrld $3,%ymm6,%ymm7
6842
vpsrld $7,%ymm6,%ymm1
6843
vpslld $25,%ymm6,%ymm2
6844
vpxor %ymm1,%ymm7,%ymm7
6845
vpsrld $18,%ymm6,%ymm1
6846
vpxor %ymm2,%ymm7,%ymm7
6847
vpslld $14,%ymm6,%ymm2
6848
vmovdqu 64-128(%rax),%ymm0
6849
vpsrld $10,%ymm0,%ymm3
6850
6851
vpxor %ymm1,%ymm7,%ymm7
6852
vpsrld $17,%ymm0,%ymm1
6853
vpxor %ymm2,%ymm7,%ymm7
6854
vpslld $15,%ymm0,%ymm2
6855
vpaddd %ymm7,%ymm5,%ymm5
6856
vpxor %ymm1,%ymm3,%ymm7
6857
vpsrld $19,%ymm0,%ymm1
6858
vpxor %ymm2,%ymm7,%ymm7
6859
vpslld $13,%ymm0,%ymm2
6860
vpxor %ymm1,%ymm7,%ymm7
6861
vpxor %ymm2,%ymm7,%ymm7
6862
vpaddd %ymm7,%ymm5,%ymm5
6863
vpsrld $6,%ymm8,%ymm7
6864
vpslld $26,%ymm8,%ymm2
6865
vmovdqu %ymm5,128-128(%rax)
6866
vpaddd %ymm11,%ymm5,%ymm5
6867
6868
vpsrld $11,%ymm8,%ymm1
6869
vpxor %ymm2,%ymm7,%ymm7
6870
vpslld $21,%ymm8,%ymm2
6871
vpaddd 0(%rbp),%ymm5,%ymm5
6872
vpxor %ymm1,%ymm7,%ymm7
6873
6874
vpsrld $25,%ymm8,%ymm1
6875
vpxor %ymm2,%ymm7,%ymm7
6876
6877
vpslld $7,%ymm8,%ymm2
6878
vpandn %ymm10,%ymm8,%ymm0
6879
vpand %ymm9,%ymm8,%ymm3
6880
6881
vpxor %ymm1,%ymm7,%ymm7
6882
6883
vpsrld $2,%ymm12,%ymm11
6884
vpxor %ymm2,%ymm7,%ymm7
6885
6886
vpslld $30,%ymm12,%ymm1
6887
vpxor %ymm3,%ymm0,%ymm0
6888
vpxor %ymm12,%ymm13,%ymm3
6889
6890
vpxor %ymm1,%ymm11,%ymm11
6891
vpaddd %ymm7,%ymm5,%ymm5
6892
6893
vpsrld $13,%ymm12,%ymm1
6894
6895
vpslld $19,%ymm12,%ymm2
6896
vpaddd %ymm0,%ymm5,%ymm5
6897
vpand %ymm3,%ymm4,%ymm4
6898
6899
vpxor %ymm1,%ymm11,%ymm7
6900
6901
vpsrld $22,%ymm12,%ymm1
6902
vpxor %ymm2,%ymm7,%ymm7
6903
6904
vpslld $10,%ymm12,%ymm2
6905
vpxor %ymm4,%ymm13,%ymm11
6906
vpaddd %ymm5,%ymm15,%ymm15
6907
6908
vpxor %ymm1,%ymm7,%ymm7
6909
vpxor %ymm2,%ymm7,%ymm7
6910
6911
vpaddd %ymm5,%ymm11,%ymm11
6912
vpaddd %ymm7,%ymm11,%ymm11
6913
vmovdqu 192-128(%rax),%ymm5
6914
vpaddd 448-256-128(%rbx),%ymm6,%ymm6
6915
6916
vpsrld $3,%ymm5,%ymm7
6917
vpsrld $7,%ymm5,%ymm1
6918
vpslld $25,%ymm5,%ymm2
6919
vpxor %ymm1,%ymm7,%ymm7
6920
vpsrld $18,%ymm5,%ymm1
6921
vpxor %ymm2,%ymm7,%ymm7
6922
vpslld $14,%ymm5,%ymm2
6923
vmovdqu 96-128(%rax),%ymm0
6924
vpsrld $10,%ymm0,%ymm4
6925
6926
vpxor %ymm1,%ymm7,%ymm7
6927
vpsrld $17,%ymm0,%ymm1
6928
vpxor %ymm2,%ymm7,%ymm7
6929
vpslld $15,%ymm0,%ymm2
6930
vpaddd %ymm7,%ymm6,%ymm6
6931
vpxor %ymm1,%ymm4,%ymm7
6932
vpsrld $19,%ymm0,%ymm1
6933
vpxor %ymm2,%ymm7,%ymm7
6934
vpslld $13,%ymm0,%ymm2
6935
vpxor %ymm1,%ymm7,%ymm7
6936
vpxor %ymm2,%ymm7,%ymm7
6937
vpaddd %ymm7,%ymm6,%ymm6
6938
vpsrld $6,%ymm15,%ymm7
6939
vpslld $26,%ymm15,%ymm2
6940
vmovdqu %ymm6,160-128(%rax)
6941
vpaddd %ymm10,%ymm6,%ymm6
6942
6943
vpsrld $11,%ymm15,%ymm1
6944
vpxor %ymm2,%ymm7,%ymm7
6945
vpslld $21,%ymm15,%ymm2
6946
vpaddd 32(%rbp),%ymm6,%ymm6
6947
vpxor %ymm1,%ymm7,%ymm7
6948
6949
vpsrld $25,%ymm15,%ymm1
6950
vpxor %ymm2,%ymm7,%ymm7
6951
6952
vpslld $7,%ymm15,%ymm2
6953
vpandn %ymm9,%ymm15,%ymm0
6954
vpand %ymm8,%ymm15,%ymm4
6955
6956
vpxor %ymm1,%ymm7,%ymm7
6957
6958
vpsrld $2,%ymm11,%ymm10
6959
vpxor %ymm2,%ymm7,%ymm7
6960
6961
vpslld $30,%ymm11,%ymm1
6962
vpxor %ymm4,%ymm0,%ymm0
6963
vpxor %ymm11,%ymm12,%ymm4
6964
6965
vpxor %ymm1,%ymm10,%ymm10
6966
vpaddd %ymm7,%ymm6,%ymm6
6967
6968
vpsrld $13,%ymm11,%ymm1
6969
6970
vpslld $19,%ymm11,%ymm2
6971
vpaddd %ymm0,%ymm6,%ymm6
6972
vpand %ymm4,%ymm3,%ymm3
6973
6974
vpxor %ymm1,%ymm10,%ymm7
6975
6976
vpsrld $22,%ymm11,%ymm1
6977
vpxor %ymm2,%ymm7,%ymm7
6978
6979
vpslld $10,%ymm11,%ymm2
6980
vpxor %ymm3,%ymm12,%ymm10
6981
vpaddd %ymm6,%ymm14,%ymm14
6982
6983
vpxor %ymm1,%ymm7,%ymm7
6984
vpxor %ymm2,%ymm7,%ymm7
6985
6986
vpaddd %ymm6,%ymm10,%ymm10
6987
vpaddd %ymm7,%ymm10,%ymm10
6988
vmovdqu 224-128(%rax),%ymm6
6989
vpaddd 480-256-128(%rbx),%ymm5,%ymm5
6990
6991
vpsrld $3,%ymm6,%ymm7
6992
vpsrld $7,%ymm6,%ymm1
6993
vpslld $25,%ymm6,%ymm2
6994
vpxor %ymm1,%ymm7,%ymm7
6995
vpsrld $18,%ymm6,%ymm1
6996
vpxor %ymm2,%ymm7,%ymm7
6997
vpslld $14,%ymm6,%ymm2
6998
vmovdqu 128-128(%rax),%ymm0
6999
vpsrld $10,%ymm0,%ymm3
7000
7001
vpxor %ymm1,%ymm7,%ymm7
7002
vpsrld $17,%ymm0,%ymm1
7003
vpxor %ymm2,%ymm7,%ymm7
7004
vpslld $15,%ymm0,%ymm2
7005
vpaddd %ymm7,%ymm5,%ymm5
7006
vpxor %ymm1,%ymm3,%ymm7
7007
vpsrld $19,%ymm0,%ymm1
7008
vpxor %ymm2,%ymm7,%ymm7
7009
vpslld $13,%ymm0,%ymm2
7010
vpxor %ymm1,%ymm7,%ymm7
7011
vpxor %ymm2,%ymm7,%ymm7
7012
vpaddd %ymm7,%ymm5,%ymm5
7013
vpsrld $6,%ymm14,%ymm7
7014
vpslld $26,%ymm14,%ymm2
7015
vmovdqu %ymm5,192-128(%rax)
7016
vpaddd %ymm9,%ymm5,%ymm5
7017
7018
vpsrld $11,%ymm14,%ymm1
7019
vpxor %ymm2,%ymm7,%ymm7
7020
vpslld $21,%ymm14,%ymm2
7021
vpaddd 64(%rbp),%ymm5,%ymm5
7022
vpxor %ymm1,%ymm7,%ymm7
7023
7024
vpsrld $25,%ymm14,%ymm1
7025
vpxor %ymm2,%ymm7,%ymm7
7026
7027
vpslld $7,%ymm14,%ymm2
7028
vpandn %ymm8,%ymm14,%ymm0
7029
vpand %ymm15,%ymm14,%ymm3
7030
7031
vpxor %ymm1,%ymm7,%ymm7
7032
7033
vpsrld $2,%ymm10,%ymm9
7034
vpxor %ymm2,%ymm7,%ymm7
7035
7036
vpslld $30,%ymm10,%ymm1
7037
vpxor %ymm3,%ymm0,%ymm0
7038
vpxor %ymm10,%ymm11,%ymm3
7039
7040
vpxor %ymm1,%ymm9,%ymm9
7041
vpaddd %ymm7,%ymm5,%ymm5
7042
7043
vpsrld $13,%ymm10,%ymm1
7044
7045
vpslld $19,%ymm10,%ymm2
7046
vpaddd %ymm0,%ymm5,%ymm5
7047
vpand %ymm3,%ymm4,%ymm4
7048
7049
vpxor %ymm1,%ymm9,%ymm7
7050
7051
vpsrld $22,%ymm10,%ymm1
7052
vpxor %ymm2,%ymm7,%ymm7
7053
7054
vpslld $10,%ymm10,%ymm2
7055
vpxor %ymm4,%ymm11,%ymm9
7056
vpaddd %ymm5,%ymm13,%ymm13
7057
7058
vpxor %ymm1,%ymm7,%ymm7
7059
vpxor %ymm2,%ymm7,%ymm7
7060
7061
vpaddd %ymm5,%ymm9,%ymm9
7062
vpaddd %ymm7,%ymm9,%ymm9
7063
vmovdqu 256-256-128(%rbx),%ymm5
7064
vpaddd 0-128(%rax),%ymm6,%ymm6
7065
7066
vpsrld $3,%ymm5,%ymm7
7067
vpsrld $7,%ymm5,%ymm1
7068
vpslld $25,%ymm5,%ymm2
7069
vpxor %ymm1,%ymm7,%ymm7
7070
vpsrld $18,%ymm5,%ymm1
7071
vpxor %ymm2,%ymm7,%ymm7
7072
vpslld $14,%ymm5,%ymm2
7073
vmovdqu 160-128(%rax),%ymm0
7074
vpsrld $10,%ymm0,%ymm4
7075
7076
vpxor %ymm1,%ymm7,%ymm7
7077
vpsrld $17,%ymm0,%ymm1
7078
vpxor %ymm2,%ymm7,%ymm7
7079
vpslld $15,%ymm0,%ymm2
7080
vpaddd %ymm7,%ymm6,%ymm6
7081
vpxor %ymm1,%ymm4,%ymm7
7082
vpsrld $19,%ymm0,%ymm1
7083
vpxor %ymm2,%ymm7,%ymm7
7084
vpslld $13,%ymm0,%ymm2
7085
vpxor %ymm1,%ymm7,%ymm7
7086
vpxor %ymm2,%ymm7,%ymm7
7087
vpaddd %ymm7,%ymm6,%ymm6
7088
vpsrld $6,%ymm13,%ymm7
7089
vpslld $26,%ymm13,%ymm2
7090
vmovdqu %ymm6,224-128(%rax)
7091
vpaddd %ymm8,%ymm6,%ymm6
7092
7093
vpsrld $11,%ymm13,%ymm1
7094
vpxor %ymm2,%ymm7,%ymm7
7095
vpslld $21,%ymm13,%ymm2
7096
vpaddd 96(%rbp),%ymm6,%ymm6
7097
vpxor %ymm1,%ymm7,%ymm7
7098
7099
vpsrld $25,%ymm13,%ymm1
7100
vpxor %ymm2,%ymm7,%ymm7
7101
7102
vpslld $7,%ymm13,%ymm2
7103
vpandn %ymm15,%ymm13,%ymm0
7104
vpand %ymm14,%ymm13,%ymm4
7105
7106
vpxor %ymm1,%ymm7,%ymm7
7107
7108
vpsrld $2,%ymm9,%ymm8
7109
vpxor %ymm2,%ymm7,%ymm7
7110
7111
vpslld $30,%ymm9,%ymm1
7112
vpxor %ymm4,%ymm0,%ymm0
7113
vpxor %ymm9,%ymm10,%ymm4
7114
7115
vpxor %ymm1,%ymm8,%ymm8
7116
vpaddd %ymm7,%ymm6,%ymm6
7117
7118
vpsrld $13,%ymm9,%ymm1
7119
7120
vpslld $19,%ymm9,%ymm2
7121
vpaddd %ymm0,%ymm6,%ymm6
7122
vpand %ymm4,%ymm3,%ymm3
7123
7124
vpxor %ymm1,%ymm8,%ymm7
7125
7126
vpsrld $22,%ymm9,%ymm1
7127
vpxor %ymm2,%ymm7,%ymm7
7128
7129
vpslld $10,%ymm9,%ymm2
7130
vpxor %ymm3,%ymm10,%ymm8
7131
vpaddd %ymm6,%ymm12,%ymm12
7132
7133
vpxor %ymm1,%ymm7,%ymm7
7134
vpxor %ymm2,%ymm7,%ymm7
7135
7136
vpaddd %ymm6,%ymm8,%ymm8
7137
vpaddd %ymm7,%ymm8,%ymm8
7138
addq $256,%rbp
7139
vmovdqu 288-256-128(%rbx),%ymm6
7140
vpaddd 32-128(%rax),%ymm5,%ymm5
7141
7142
vpsrld $3,%ymm6,%ymm7
7143
vpsrld $7,%ymm6,%ymm1
7144
vpslld $25,%ymm6,%ymm2
7145
vpxor %ymm1,%ymm7,%ymm7
7146
vpsrld $18,%ymm6,%ymm1
7147
vpxor %ymm2,%ymm7,%ymm7
7148
vpslld $14,%ymm6,%ymm2
7149
vmovdqu 192-128(%rax),%ymm0
7150
vpsrld $10,%ymm0,%ymm3
7151
7152
vpxor %ymm1,%ymm7,%ymm7
7153
vpsrld $17,%ymm0,%ymm1
7154
vpxor %ymm2,%ymm7,%ymm7
7155
vpslld $15,%ymm0,%ymm2
7156
vpaddd %ymm7,%ymm5,%ymm5
7157
vpxor %ymm1,%ymm3,%ymm7
7158
vpsrld $19,%ymm0,%ymm1
7159
vpxor %ymm2,%ymm7,%ymm7
7160
vpslld $13,%ymm0,%ymm2
7161
vpxor %ymm1,%ymm7,%ymm7
7162
vpxor %ymm2,%ymm7,%ymm7
7163
vpaddd %ymm7,%ymm5,%ymm5
7164
vpsrld $6,%ymm12,%ymm7
7165
vpslld $26,%ymm12,%ymm2
7166
vmovdqu %ymm5,256-256-128(%rbx)
7167
vpaddd %ymm15,%ymm5,%ymm5
7168
7169
vpsrld $11,%ymm12,%ymm1
7170
vpxor %ymm2,%ymm7,%ymm7
7171
vpslld $21,%ymm12,%ymm2
7172
vpaddd -128(%rbp),%ymm5,%ymm5
7173
vpxor %ymm1,%ymm7,%ymm7
7174
7175
vpsrld $25,%ymm12,%ymm1
7176
vpxor %ymm2,%ymm7,%ymm7
7177
7178
vpslld $7,%ymm12,%ymm2
7179
vpandn %ymm14,%ymm12,%ymm0
7180
vpand %ymm13,%ymm12,%ymm3
7181
7182
vpxor %ymm1,%ymm7,%ymm7
7183
7184
vpsrld $2,%ymm8,%ymm15
7185
vpxor %ymm2,%ymm7,%ymm7
7186
7187
vpslld $30,%ymm8,%ymm1
7188
vpxor %ymm3,%ymm0,%ymm0
7189
vpxor %ymm8,%ymm9,%ymm3
7190
7191
vpxor %ymm1,%ymm15,%ymm15
7192
vpaddd %ymm7,%ymm5,%ymm5
7193
7194
vpsrld $13,%ymm8,%ymm1
7195
7196
vpslld $19,%ymm8,%ymm2
7197
vpaddd %ymm0,%ymm5,%ymm5
7198
vpand %ymm3,%ymm4,%ymm4
7199
7200
vpxor %ymm1,%ymm15,%ymm7
7201
7202
vpsrld $22,%ymm8,%ymm1
7203
vpxor %ymm2,%ymm7,%ymm7
7204
7205
vpslld $10,%ymm8,%ymm2
7206
vpxor %ymm4,%ymm9,%ymm15
7207
vpaddd %ymm5,%ymm11,%ymm11
7208
7209
vpxor %ymm1,%ymm7,%ymm7
7210
vpxor %ymm2,%ymm7,%ymm7
7211
7212
vpaddd %ymm5,%ymm15,%ymm15
7213
vpaddd %ymm7,%ymm15,%ymm15
7214
vmovdqu 320-256-128(%rbx),%ymm5
7215
vpaddd 64-128(%rax),%ymm6,%ymm6
7216
7217
vpsrld $3,%ymm5,%ymm7
7218
vpsrld $7,%ymm5,%ymm1
7219
vpslld $25,%ymm5,%ymm2
7220
vpxor %ymm1,%ymm7,%ymm7
7221
vpsrld $18,%ymm5,%ymm1
7222
vpxor %ymm2,%ymm7,%ymm7
7223
vpslld $14,%ymm5,%ymm2
7224
vmovdqu 224-128(%rax),%ymm0
7225
vpsrld $10,%ymm0,%ymm4
7226
7227
vpxor %ymm1,%ymm7,%ymm7
7228
vpsrld $17,%ymm0,%ymm1
7229
vpxor %ymm2,%ymm7,%ymm7
7230
vpslld $15,%ymm0,%ymm2
7231
vpaddd %ymm7,%ymm6,%ymm6
7232
vpxor %ymm1,%ymm4,%ymm7
7233
vpsrld $19,%ymm0,%ymm1
7234
vpxor %ymm2,%ymm7,%ymm7
7235
vpslld $13,%ymm0,%ymm2
7236
vpxor %ymm1,%ymm7,%ymm7
7237
vpxor %ymm2,%ymm7,%ymm7
7238
vpaddd %ymm7,%ymm6,%ymm6
7239
vpsrld $6,%ymm11,%ymm7
7240
vpslld $26,%ymm11,%ymm2
7241
vmovdqu %ymm6,288-256-128(%rbx)
7242
vpaddd %ymm14,%ymm6,%ymm6
7243
7244
vpsrld $11,%ymm11,%ymm1
7245
vpxor %ymm2,%ymm7,%ymm7
7246
vpslld $21,%ymm11,%ymm2
7247
vpaddd -96(%rbp),%ymm6,%ymm6
7248
vpxor %ymm1,%ymm7,%ymm7
7249
7250
vpsrld $25,%ymm11,%ymm1
7251
vpxor %ymm2,%ymm7,%ymm7
7252
7253
vpslld $7,%ymm11,%ymm2
7254
vpandn %ymm13,%ymm11,%ymm0
7255
vpand %ymm12,%ymm11,%ymm4
7256
7257
vpxor %ymm1,%ymm7,%ymm7
7258
7259
vpsrld $2,%ymm15,%ymm14
7260
vpxor %ymm2,%ymm7,%ymm7
7261
7262
vpslld $30,%ymm15,%ymm1
7263
vpxor %ymm4,%ymm0,%ymm0
7264
vpxor %ymm15,%ymm8,%ymm4
7265
7266
vpxor %ymm1,%ymm14,%ymm14
7267
vpaddd %ymm7,%ymm6,%ymm6
7268
7269
vpsrld $13,%ymm15,%ymm1
7270
7271
vpslld $19,%ymm15,%ymm2
7272
vpaddd %ymm0,%ymm6,%ymm6
7273
vpand %ymm4,%ymm3,%ymm3
7274
7275
vpxor %ymm1,%ymm14,%ymm7
7276
7277
vpsrld $22,%ymm15,%ymm1
7278
vpxor %ymm2,%ymm7,%ymm7
7279
7280
vpslld $10,%ymm15,%ymm2
7281
vpxor %ymm3,%ymm8,%ymm14
7282
vpaddd %ymm6,%ymm10,%ymm10
7283
7284
vpxor %ymm1,%ymm7,%ymm7
7285
vpxor %ymm2,%ymm7,%ymm7
7286
7287
vpaddd %ymm6,%ymm14,%ymm14
7288
vpaddd %ymm7,%ymm14,%ymm14
7289
vmovdqu 352-256-128(%rbx),%ymm6
7290
vpaddd 96-128(%rax),%ymm5,%ymm5
7291
7292
vpsrld $3,%ymm6,%ymm7
7293
vpsrld $7,%ymm6,%ymm1
7294
vpslld $25,%ymm6,%ymm2
7295
vpxor %ymm1,%ymm7,%ymm7
7296
vpsrld $18,%ymm6,%ymm1
7297
vpxor %ymm2,%ymm7,%ymm7
7298
vpslld $14,%ymm6,%ymm2
7299
vmovdqu 256-256-128(%rbx),%ymm0
7300
vpsrld $10,%ymm0,%ymm3
7301
7302
vpxor %ymm1,%ymm7,%ymm7
7303
vpsrld $17,%ymm0,%ymm1
7304
vpxor %ymm2,%ymm7,%ymm7
7305
vpslld $15,%ymm0,%ymm2
7306
vpaddd %ymm7,%ymm5,%ymm5
7307
vpxor %ymm1,%ymm3,%ymm7
7308
vpsrld $19,%ymm0,%ymm1
7309
vpxor %ymm2,%ymm7,%ymm7
7310
vpslld $13,%ymm0,%ymm2
7311
vpxor %ymm1,%ymm7,%ymm7
7312
vpxor %ymm2,%ymm7,%ymm7
7313
vpaddd %ymm7,%ymm5,%ymm5
7314
vpsrld $6,%ymm10,%ymm7
7315
vpslld $26,%ymm10,%ymm2
7316
vmovdqu %ymm5,320-256-128(%rbx)
7317
vpaddd %ymm13,%ymm5,%ymm5
7318
7319
vpsrld $11,%ymm10,%ymm1
7320
vpxor %ymm2,%ymm7,%ymm7
7321
vpslld $21,%ymm10,%ymm2
7322
vpaddd -64(%rbp),%ymm5,%ymm5
7323
vpxor %ymm1,%ymm7,%ymm7
7324
7325
vpsrld $25,%ymm10,%ymm1
7326
vpxor %ymm2,%ymm7,%ymm7
7327
7328
vpslld $7,%ymm10,%ymm2
7329
vpandn %ymm12,%ymm10,%ymm0
7330
vpand %ymm11,%ymm10,%ymm3
7331
7332
vpxor %ymm1,%ymm7,%ymm7
7333
7334
vpsrld $2,%ymm14,%ymm13
7335
vpxor %ymm2,%ymm7,%ymm7
7336
7337
vpslld $30,%ymm14,%ymm1
7338
vpxor %ymm3,%ymm0,%ymm0
7339
vpxor %ymm14,%ymm15,%ymm3
7340
7341
vpxor %ymm1,%ymm13,%ymm13
7342
vpaddd %ymm7,%ymm5,%ymm5
7343
7344
vpsrld $13,%ymm14,%ymm1
7345
7346
vpslld $19,%ymm14,%ymm2
7347
vpaddd %ymm0,%ymm5,%ymm5
7348
vpand %ymm3,%ymm4,%ymm4
7349
7350
vpxor %ymm1,%ymm13,%ymm7
7351
7352
vpsrld $22,%ymm14,%ymm1
7353
vpxor %ymm2,%ymm7,%ymm7
7354
7355
vpslld $10,%ymm14,%ymm2
7356
vpxor %ymm4,%ymm15,%ymm13
7357
vpaddd %ymm5,%ymm9,%ymm9
7358
7359
vpxor %ymm1,%ymm7,%ymm7
7360
vpxor %ymm2,%ymm7,%ymm7
7361
7362
vpaddd %ymm5,%ymm13,%ymm13
7363
vpaddd %ymm7,%ymm13,%ymm13
7364
vmovdqu 384-256-128(%rbx),%ymm5
7365
vpaddd 128-128(%rax),%ymm6,%ymm6
7366
7367
vpsrld $3,%ymm5,%ymm7
7368
vpsrld $7,%ymm5,%ymm1
7369
vpslld $25,%ymm5,%ymm2
7370
vpxor %ymm1,%ymm7,%ymm7
7371
vpsrld $18,%ymm5,%ymm1
7372
vpxor %ymm2,%ymm7,%ymm7
7373
vpslld $14,%ymm5,%ymm2
7374
vmovdqu 288-256-128(%rbx),%ymm0
7375
vpsrld $10,%ymm0,%ymm4
7376
7377
vpxor %ymm1,%ymm7,%ymm7
7378
vpsrld $17,%ymm0,%ymm1
7379
vpxor %ymm2,%ymm7,%ymm7
7380
vpslld $15,%ymm0,%ymm2
7381
vpaddd %ymm7,%ymm6,%ymm6
7382
vpxor %ymm1,%ymm4,%ymm7
7383
vpsrld $19,%ymm0,%ymm1
7384
vpxor %ymm2,%ymm7,%ymm7
7385
vpslld $13,%ymm0,%ymm2
7386
vpxor %ymm1,%ymm7,%ymm7
7387
vpxor %ymm2,%ymm7,%ymm7
7388
vpaddd %ymm7,%ymm6,%ymm6
7389
vpsrld $6,%ymm9,%ymm7
7390
vpslld $26,%ymm9,%ymm2
7391
vmovdqu %ymm6,352-256-128(%rbx)
7392
vpaddd %ymm12,%ymm6,%ymm6
7393
7394
vpsrld $11,%ymm9,%ymm1
7395
vpxor %ymm2,%ymm7,%ymm7
7396
vpslld $21,%ymm9,%ymm2
7397
vpaddd -32(%rbp),%ymm6,%ymm6
7398
vpxor %ymm1,%ymm7,%ymm7
7399
7400
vpsrld $25,%ymm9,%ymm1
7401
vpxor %ymm2,%ymm7,%ymm7
7402
7403
vpslld $7,%ymm9,%ymm2
7404
vpandn %ymm11,%ymm9,%ymm0
7405
vpand %ymm10,%ymm9,%ymm4
7406
7407
vpxor %ymm1,%ymm7,%ymm7
7408
7409
vpsrld $2,%ymm13,%ymm12
7410
vpxor %ymm2,%ymm7,%ymm7
7411
7412
vpslld $30,%ymm13,%ymm1
7413
vpxor %ymm4,%ymm0,%ymm0
7414
vpxor %ymm13,%ymm14,%ymm4
7415
7416
vpxor %ymm1,%ymm12,%ymm12
7417
vpaddd %ymm7,%ymm6,%ymm6
7418
7419
vpsrld $13,%ymm13,%ymm1
7420
7421
vpslld $19,%ymm13,%ymm2
7422
vpaddd %ymm0,%ymm6,%ymm6
7423
vpand %ymm4,%ymm3,%ymm3
7424
7425
vpxor %ymm1,%ymm12,%ymm7
7426
7427
vpsrld $22,%ymm13,%ymm1
7428
vpxor %ymm2,%ymm7,%ymm7
7429
7430
vpslld $10,%ymm13,%ymm2
7431
vpxor %ymm3,%ymm14,%ymm12
7432
vpaddd %ymm6,%ymm8,%ymm8
7433
7434
vpxor %ymm1,%ymm7,%ymm7
7435
vpxor %ymm2,%ymm7,%ymm7
7436
7437
vpaddd %ymm6,%ymm12,%ymm12
7438
vpaddd %ymm7,%ymm12,%ymm12
7439
vmovdqu 416-256-128(%rbx),%ymm6
7440
vpaddd 160-128(%rax),%ymm5,%ymm5
7441
7442
vpsrld $3,%ymm6,%ymm7
7443
vpsrld $7,%ymm6,%ymm1
7444
vpslld $25,%ymm6,%ymm2
7445
vpxor %ymm1,%ymm7,%ymm7
7446
vpsrld $18,%ymm6,%ymm1
7447
vpxor %ymm2,%ymm7,%ymm7
7448
vpslld $14,%ymm6,%ymm2
7449
vmovdqu 320-256-128(%rbx),%ymm0
7450
vpsrld $10,%ymm0,%ymm3
7451
7452
vpxor %ymm1,%ymm7,%ymm7
7453
vpsrld $17,%ymm0,%ymm1
7454
vpxor %ymm2,%ymm7,%ymm7
7455
vpslld $15,%ymm0,%ymm2
7456
vpaddd %ymm7,%ymm5,%ymm5
7457
vpxor %ymm1,%ymm3,%ymm7
7458
vpsrld $19,%ymm0,%ymm1
7459
vpxor %ymm2,%ymm7,%ymm7
7460
vpslld $13,%ymm0,%ymm2
7461
vpxor %ymm1,%ymm7,%ymm7
7462
vpxor %ymm2,%ymm7,%ymm7
7463
vpaddd %ymm7,%ymm5,%ymm5
7464
vpsrld $6,%ymm8,%ymm7
7465
vpslld $26,%ymm8,%ymm2
7466
vmovdqu %ymm5,384-256-128(%rbx)
7467
vpaddd %ymm11,%ymm5,%ymm5
7468
7469
vpsrld $11,%ymm8,%ymm1
7470
vpxor %ymm2,%ymm7,%ymm7
7471
vpslld $21,%ymm8,%ymm2
7472
vpaddd 0(%rbp),%ymm5,%ymm5
7473
vpxor %ymm1,%ymm7,%ymm7
7474
7475
vpsrld $25,%ymm8,%ymm1
7476
vpxor %ymm2,%ymm7,%ymm7
7477
7478
vpslld $7,%ymm8,%ymm2
7479
vpandn %ymm10,%ymm8,%ymm0
7480
vpand %ymm9,%ymm8,%ymm3
7481
7482
vpxor %ymm1,%ymm7,%ymm7
7483
7484
vpsrld $2,%ymm12,%ymm11
7485
vpxor %ymm2,%ymm7,%ymm7
7486
7487
vpslld $30,%ymm12,%ymm1
7488
vpxor %ymm3,%ymm0,%ymm0
7489
vpxor %ymm12,%ymm13,%ymm3
7490
7491
vpxor %ymm1,%ymm11,%ymm11
7492
vpaddd %ymm7,%ymm5,%ymm5
7493
7494
vpsrld $13,%ymm12,%ymm1
7495
7496
vpslld $19,%ymm12,%ymm2
7497
vpaddd %ymm0,%ymm5,%ymm5
7498
vpand %ymm3,%ymm4,%ymm4
7499
7500
vpxor %ymm1,%ymm11,%ymm7
7501
7502
vpsrld $22,%ymm12,%ymm1
7503
vpxor %ymm2,%ymm7,%ymm7
7504
7505
vpslld $10,%ymm12,%ymm2
7506
vpxor %ymm4,%ymm13,%ymm11
7507
vpaddd %ymm5,%ymm15,%ymm15
7508
7509
vpxor %ymm1,%ymm7,%ymm7
7510
vpxor %ymm2,%ymm7,%ymm7
7511
7512
vpaddd %ymm5,%ymm11,%ymm11
7513
vpaddd %ymm7,%ymm11,%ymm11
7514
vmovdqu 448-256-128(%rbx),%ymm5
7515
vpaddd 192-128(%rax),%ymm6,%ymm6
7516
7517
vpsrld $3,%ymm5,%ymm7
7518
vpsrld $7,%ymm5,%ymm1
7519
vpslld $25,%ymm5,%ymm2
7520
vpxor %ymm1,%ymm7,%ymm7
7521
vpsrld $18,%ymm5,%ymm1
7522
vpxor %ymm2,%ymm7,%ymm7
7523
vpslld $14,%ymm5,%ymm2
7524
vmovdqu 352-256-128(%rbx),%ymm0
7525
vpsrld $10,%ymm0,%ymm4
7526
7527
vpxor %ymm1,%ymm7,%ymm7
7528
vpsrld $17,%ymm0,%ymm1
7529
vpxor %ymm2,%ymm7,%ymm7
7530
vpslld $15,%ymm0,%ymm2
7531
vpaddd %ymm7,%ymm6,%ymm6
7532
vpxor %ymm1,%ymm4,%ymm7
7533
vpsrld $19,%ymm0,%ymm1
7534
vpxor %ymm2,%ymm7,%ymm7
7535
vpslld $13,%ymm0,%ymm2
7536
vpxor %ymm1,%ymm7,%ymm7
7537
vpxor %ymm2,%ymm7,%ymm7
7538
vpaddd %ymm7,%ymm6,%ymm6
7539
vpsrld $6,%ymm15,%ymm7
7540
vpslld $26,%ymm15,%ymm2
7541
vmovdqu %ymm6,416-256-128(%rbx)
7542
vpaddd %ymm10,%ymm6,%ymm6
7543
7544
vpsrld $11,%ymm15,%ymm1
7545
vpxor %ymm2,%ymm7,%ymm7
7546
vpslld $21,%ymm15,%ymm2
7547
vpaddd 32(%rbp),%ymm6,%ymm6
7548
vpxor %ymm1,%ymm7,%ymm7
7549
7550
vpsrld $25,%ymm15,%ymm1
7551
vpxor %ymm2,%ymm7,%ymm7
7552
7553
vpslld $7,%ymm15,%ymm2
7554
vpandn %ymm9,%ymm15,%ymm0
7555
vpand %ymm8,%ymm15,%ymm4
7556
7557
vpxor %ymm1,%ymm7,%ymm7
7558
7559
vpsrld $2,%ymm11,%ymm10
7560
vpxor %ymm2,%ymm7,%ymm7
7561
7562
vpslld $30,%ymm11,%ymm1
7563
vpxor %ymm4,%ymm0,%ymm0
7564
vpxor %ymm11,%ymm12,%ymm4
7565
7566
vpxor %ymm1,%ymm10,%ymm10
7567
vpaddd %ymm7,%ymm6,%ymm6
7568
7569
vpsrld $13,%ymm11,%ymm1
7570
7571
vpslld $19,%ymm11,%ymm2
7572
vpaddd %ymm0,%ymm6,%ymm6
7573
vpand %ymm4,%ymm3,%ymm3
7574
7575
vpxor %ymm1,%ymm10,%ymm7
7576
7577
vpsrld $22,%ymm11,%ymm1
7578
vpxor %ymm2,%ymm7,%ymm7
7579
7580
vpslld $10,%ymm11,%ymm2
7581
vpxor %ymm3,%ymm12,%ymm10
7582
vpaddd %ymm6,%ymm14,%ymm14
7583
7584
vpxor %ymm1,%ymm7,%ymm7
7585
vpxor %ymm2,%ymm7,%ymm7
7586
7587
vpaddd %ymm6,%ymm10,%ymm10
7588
vpaddd %ymm7,%ymm10,%ymm10
7589
vmovdqu 480-256-128(%rbx),%ymm6
7590
vpaddd 224-128(%rax),%ymm5,%ymm5
7591
7592
vpsrld $3,%ymm6,%ymm7
7593
vpsrld $7,%ymm6,%ymm1
7594
vpslld $25,%ymm6,%ymm2
7595
vpxor %ymm1,%ymm7,%ymm7
7596
vpsrld $18,%ymm6,%ymm1
7597
vpxor %ymm2,%ymm7,%ymm7
7598
vpslld $14,%ymm6,%ymm2
7599
vmovdqu 384-256-128(%rbx),%ymm0
7600
vpsrld $10,%ymm0,%ymm3
7601
7602
vpxor %ymm1,%ymm7,%ymm7
7603
vpsrld $17,%ymm0,%ymm1
7604
vpxor %ymm2,%ymm7,%ymm7
7605
vpslld $15,%ymm0,%ymm2
7606
vpaddd %ymm7,%ymm5,%ymm5
7607
vpxor %ymm1,%ymm3,%ymm7
7608
vpsrld $19,%ymm0,%ymm1
7609
vpxor %ymm2,%ymm7,%ymm7
7610
vpslld $13,%ymm0,%ymm2
7611
vpxor %ymm1,%ymm7,%ymm7
7612
vpxor %ymm2,%ymm7,%ymm7
7613
vpaddd %ymm7,%ymm5,%ymm5
7614
vpsrld $6,%ymm14,%ymm7
7615
vpslld $26,%ymm14,%ymm2
7616
vmovdqu %ymm5,448-256-128(%rbx)
7617
vpaddd %ymm9,%ymm5,%ymm5
7618
7619
vpsrld $11,%ymm14,%ymm1
7620
vpxor %ymm2,%ymm7,%ymm7
7621
vpslld $21,%ymm14,%ymm2
7622
vpaddd 64(%rbp),%ymm5,%ymm5
7623
vpxor %ymm1,%ymm7,%ymm7
7624
7625
vpsrld $25,%ymm14,%ymm1
7626
vpxor %ymm2,%ymm7,%ymm7
7627
7628
vpslld $7,%ymm14,%ymm2
7629
vpandn %ymm8,%ymm14,%ymm0
7630
vpand %ymm15,%ymm14,%ymm3
7631
7632
vpxor %ymm1,%ymm7,%ymm7
7633
7634
vpsrld $2,%ymm10,%ymm9
7635
vpxor %ymm2,%ymm7,%ymm7
7636
7637
vpslld $30,%ymm10,%ymm1
7638
vpxor %ymm3,%ymm0,%ymm0
7639
vpxor %ymm10,%ymm11,%ymm3
7640
7641
vpxor %ymm1,%ymm9,%ymm9
7642
vpaddd %ymm7,%ymm5,%ymm5
7643
7644
vpsrld $13,%ymm10,%ymm1
7645
7646
vpslld $19,%ymm10,%ymm2
7647
vpaddd %ymm0,%ymm5,%ymm5
7648
vpand %ymm3,%ymm4,%ymm4
7649
7650
vpxor %ymm1,%ymm9,%ymm7
7651
7652
vpsrld $22,%ymm10,%ymm1
7653
vpxor %ymm2,%ymm7,%ymm7
7654
7655
vpslld $10,%ymm10,%ymm2
7656
vpxor %ymm4,%ymm11,%ymm9
7657
vpaddd %ymm5,%ymm13,%ymm13
7658
7659
vpxor %ymm1,%ymm7,%ymm7
7660
vpxor %ymm2,%ymm7,%ymm7
7661
7662
vpaddd %ymm5,%ymm9,%ymm9
7663
vpaddd %ymm7,%ymm9,%ymm9
7664
vmovdqu 0-128(%rax),%ymm5
7665
vpaddd 256-256-128(%rbx),%ymm6,%ymm6
7666
7667
vpsrld $3,%ymm5,%ymm7
7668
vpsrld $7,%ymm5,%ymm1
7669
vpslld $25,%ymm5,%ymm2
7670
vpxor %ymm1,%ymm7,%ymm7
7671
vpsrld $18,%ymm5,%ymm1
7672
vpxor %ymm2,%ymm7,%ymm7
7673
vpslld $14,%ymm5,%ymm2
7674
vmovdqu 416-256-128(%rbx),%ymm0
7675
vpsrld $10,%ymm0,%ymm4
7676
7677
vpxor %ymm1,%ymm7,%ymm7
7678
vpsrld $17,%ymm0,%ymm1
7679
vpxor %ymm2,%ymm7,%ymm7
7680
vpslld $15,%ymm0,%ymm2
7681
vpaddd %ymm7,%ymm6,%ymm6
7682
vpxor %ymm1,%ymm4,%ymm7
7683
vpsrld $19,%ymm0,%ymm1
7684
vpxor %ymm2,%ymm7,%ymm7
7685
vpslld $13,%ymm0,%ymm2
7686
vpxor %ymm1,%ymm7,%ymm7
7687
vpxor %ymm2,%ymm7,%ymm7
7688
vpaddd %ymm7,%ymm6,%ymm6
7689
vpsrld $6,%ymm13,%ymm7
7690
vpslld $26,%ymm13,%ymm2
7691
vmovdqu %ymm6,480-256-128(%rbx)
7692
vpaddd %ymm8,%ymm6,%ymm6
7693
7694
vpsrld $11,%ymm13,%ymm1
7695
vpxor %ymm2,%ymm7,%ymm7
7696
vpslld $21,%ymm13,%ymm2
7697
vpaddd 96(%rbp),%ymm6,%ymm6
7698
vpxor %ymm1,%ymm7,%ymm7
7699
7700
vpsrld $25,%ymm13,%ymm1
7701
vpxor %ymm2,%ymm7,%ymm7
7702
7703
vpslld $7,%ymm13,%ymm2
7704
vpandn %ymm15,%ymm13,%ymm0
7705
vpand %ymm14,%ymm13,%ymm4
7706
7707
vpxor %ymm1,%ymm7,%ymm7
7708
7709
vpsrld $2,%ymm9,%ymm8
7710
vpxor %ymm2,%ymm7,%ymm7
7711
7712
vpslld $30,%ymm9,%ymm1
7713
vpxor %ymm4,%ymm0,%ymm0
7714
vpxor %ymm9,%ymm10,%ymm4
7715
7716
vpxor %ymm1,%ymm8,%ymm8
7717
vpaddd %ymm7,%ymm6,%ymm6
7718
7719
vpsrld $13,%ymm9,%ymm1
7720
7721
vpslld $19,%ymm9,%ymm2
7722
vpaddd %ymm0,%ymm6,%ymm6
7723
vpand %ymm4,%ymm3,%ymm3
7724
7725
vpxor %ymm1,%ymm8,%ymm7
7726
7727
vpsrld $22,%ymm9,%ymm1
7728
vpxor %ymm2,%ymm7,%ymm7
7729
7730
vpslld $10,%ymm9,%ymm2
7731
vpxor %ymm3,%ymm10,%ymm8
7732
vpaddd %ymm6,%ymm12,%ymm12
7733
7734
vpxor %ymm1,%ymm7,%ymm7
7735
vpxor %ymm2,%ymm7,%ymm7
7736
7737
vpaddd %ymm6,%ymm8,%ymm8
7738
vpaddd %ymm7,%ymm8,%ymm8
7739
addq $256,%rbp
7740
decl %ecx
7741
jnz .Loop_16_xx_avx2
7742
7743
movl $1,%ecx
7744
leaq 512(%rsp),%rbx
7745
leaq K256+128(%rip),%rbp
7746
cmpl 0(%rbx),%ecx
7747
cmovgeq %rbp,%r12
7748
cmpl 4(%rbx),%ecx
7749
cmovgeq %rbp,%r13
7750
cmpl 8(%rbx),%ecx
7751
cmovgeq %rbp,%r14
7752
cmpl 12(%rbx),%ecx
7753
cmovgeq %rbp,%r15
7754
cmpl 16(%rbx),%ecx
7755
cmovgeq %rbp,%r8
7756
cmpl 20(%rbx),%ecx
7757
cmovgeq %rbp,%r9
7758
cmpl 24(%rbx),%ecx
7759
cmovgeq %rbp,%r10
7760
cmpl 28(%rbx),%ecx
7761
cmovgeq %rbp,%r11
7762
vmovdqa (%rbx),%ymm7
7763
vpxor %ymm0,%ymm0,%ymm0
7764
vmovdqa %ymm7,%ymm6
7765
vpcmpgtd %ymm0,%ymm6,%ymm6
7766
vpaddd %ymm6,%ymm7,%ymm7
7767
7768
vmovdqu 0-128(%rdi),%ymm0
7769
vpand %ymm6,%ymm8,%ymm8
7770
vmovdqu 32-128(%rdi),%ymm1
7771
vpand %ymm6,%ymm9,%ymm9
7772
vmovdqu 64-128(%rdi),%ymm2
7773
vpand %ymm6,%ymm10,%ymm10
7774
vmovdqu 96-128(%rdi),%ymm5
7775
vpand %ymm6,%ymm11,%ymm11
7776
vpaddd %ymm0,%ymm8,%ymm8
7777
vmovdqu 128-128(%rdi),%ymm0
7778
vpand %ymm6,%ymm12,%ymm12
7779
vpaddd %ymm1,%ymm9,%ymm9
7780
vmovdqu 160-128(%rdi),%ymm1
7781
vpand %ymm6,%ymm13,%ymm13
7782
vpaddd %ymm2,%ymm10,%ymm10
7783
vmovdqu 192-128(%rdi),%ymm2
7784
vpand %ymm6,%ymm14,%ymm14
7785
vpaddd %ymm5,%ymm11,%ymm11
7786
vmovdqu 224-128(%rdi),%ymm5
7787
vpand %ymm6,%ymm15,%ymm15
7788
vpaddd %ymm0,%ymm12,%ymm12
7789
vpaddd %ymm1,%ymm13,%ymm13
7790
vmovdqu %ymm8,0-128(%rdi)
7791
vpaddd %ymm2,%ymm14,%ymm14
7792
vmovdqu %ymm9,32-128(%rdi)
7793
vpaddd %ymm5,%ymm15,%ymm15
7794
vmovdqu %ymm10,64-128(%rdi)
7795
vmovdqu %ymm11,96-128(%rdi)
7796
vmovdqu %ymm12,128-128(%rdi)
7797
vmovdqu %ymm13,160-128(%rdi)
7798
vmovdqu %ymm14,192-128(%rdi)
7799
vmovdqu %ymm15,224-128(%rdi)
7800
7801
vmovdqu %ymm7,(%rbx)
7802
leaq 256+128(%rsp),%rbx
7803
vmovdqu .Lpbswap(%rip),%ymm6
7804
decl %edx
7805
jnz .Loop_avx2
7806
7807
7808
7809
7810
7811
7812
7813
.Ldone_avx2:
7814
movq 544(%rsp),%rax
7815
.cfi_def_cfa %rax,8
7816
vzeroupper
7817
movq -48(%rax),%r15
7818
.cfi_restore %r15
7819
movq -40(%rax),%r14
7820
.cfi_restore %r14
7821
movq -32(%rax),%r13
7822
.cfi_restore %r13
7823
movq -24(%rax),%r12
7824
.cfi_restore %r12
7825
movq -16(%rax),%rbp
7826
.cfi_restore %rbp
7827
movq -8(%rax),%rbx
7828
.cfi_restore %rbx
7829
leaq (%rax),%rsp
7830
.cfi_def_cfa_register %rsp
7831
.Lepilogue_avx2:
7832
.byte 0xf3,0xc3
7833
.cfi_endproc
7834
.size sha256_multi_block_avx2,.-sha256_multi_block_avx2
7835
.section .rodata
7836
.align 256
7837
K256:
7838
.long 1116352408,1116352408,1116352408,1116352408
7839
.long 1116352408,1116352408,1116352408,1116352408
7840
.long 1899447441,1899447441,1899447441,1899447441
7841
.long 1899447441,1899447441,1899447441,1899447441
7842
.long 3049323471,3049323471,3049323471,3049323471
7843
.long 3049323471,3049323471,3049323471,3049323471
7844
.long 3921009573,3921009573,3921009573,3921009573
7845
.long 3921009573,3921009573,3921009573,3921009573
7846
.long 961987163,961987163,961987163,961987163
7847
.long 961987163,961987163,961987163,961987163
7848
.long 1508970993,1508970993,1508970993,1508970993
7849
.long 1508970993,1508970993,1508970993,1508970993
7850
.long 2453635748,2453635748,2453635748,2453635748
7851
.long 2453635748,2453635748,2453635748,2453635748
7852
.long 2870763221,2870763221,2870763221,2870763221
7853
.long 2870763221,2870763221,2870763221,2870763221
7854
.long 3624381080,3624381080,3624381080,3624381080
7855
.long 3624381080,3624381080,3624381080,3624381080
7856
.long 310598401,310598401,310598401,310598401
7857
.long 310598401,310598401,310598401,310598401
7858
.long 607225278,607225278,607225278,607225278
7859
.long 607225278,607225278,607225278,607225278
7860
.long 1426881987,1426881987,1426881987,1426881987
7861
.long 1426881987,1426881987,1426881987,1426881987
7862
.long 1925078388,1925078388,1925078388,1925078388
7863
.long 1925078388,1925078388,1925078388,1925078388
7864
.long 2162078206,2162078206,2162078206,2162078206
7865
.long 2162078206,2162078206,2162078206,2162078206
7866
.long 2614888103,2614888103,2614888103,2614888103
7867
.long 2614888103,2614888103,2614888103,2614888103
7868
.long 3248222580,3248222580,3248222580,3248222580
7869
.long 3248222580,3248222580,3248222580,3248222580
7870
.long 3835390401,3835390401,3835390401,3835390401
7871
.long 3835390401,3835390401,3835390401,3835390401
7872
.long 4022224774,4022224774,4022224774,4022224774
7873
.long 4022224774,4022224774,4022224774,4022224774
7874
.long 264347078,264347078,264347078,264347078
7875
.long 264347078,264347078,264347078,264347078
7876
.long 604807628,604807628,604807628,604807628
7877
.long 604807628,604807628,604807628,604807628
7878
.long 770255983,770255983,770255983,770255983
7879
.long 770255983,770255983,770255983,770255983
7880
.long 1249150122,1249150122,1249150122,1249150122
7881
.long 1249150122,1249150122,1249150122,1249150122
7882
.long 1555081692,1555081692,1555081692,1555081692
7883
.long 1555081692,1555081692,1555081692,1555081692
7884
.long 1996064986,1996064986,1996064986,1996064986
7885
.long 1996064986,1996064986,1996064986,1996064986
7886
.long 2554220882,2554220882,2554220882,2554220882
7887
.long 2554220882,2554220882,2554220882,2554220882
7888
.long 2821834349,2821834349,2821834349,2821834349
7889
.long 2821834349,2821834349,2821834349,2821834349
7890
.long 2952996808,2952996808,2952996808,2952996808
7891
.long 2952996808,2952996808,2952996808,2952996808
7892
.long 3210313671,3210313671,3210313671,3210313671
7893
.long 3210313671,3210313671,3210313671,3210313671
7894
.long 3336571891,3336571891,3336571891,3336571891
7895
.long 3336571891,3336571891,3336571891,3336571891
7896
.long 3584528711,3584528711,3584528711,3584528711
7897
.long 3584528711,3584528711,3584528711,3584528711
7898
.long 113926993,113926993,113926993,113926993
7899
.long 113926993,113926993,113926993,113926993
7900
.long 338241895,338241895,338241895,338241895
7901
.long 338241895,338241895,338241895,338241895
7902
.long 666307205,666307205,666307205,666307205
7903
.long 666307205,666307205,666307205,666307205
7904
.long 773529912,773529912,773529912,773529912
7905
.long 773529912,773529912,773529912,773529912
7906
.long 1294757372,1294757372,1294757372,1294757372
7907
.long 1294757372,1294757372,1294757372,1294757372
7908
.long 1396182291,1396182291,1396182291,1396182291
7909
.long 1396182291,1396182291,1396182291,1396182291
7910
.long 1695183700,1695183700,1695183700,1695183700
7911
.long 1695183700,1695183700,1695183700,1695183700
7912
.long 1986661051,1986661051,1986661051,1986661051
7913
.long 1986661051,1986661051,1986661051,1986661051
7914
.long 2177026350,2177026350,2177026350,2177026350
7915
.long 2177026350,2177026350,2177026350,2177026350
7916
.long 2456956037,2456956037,2456956037,2456956037
7917
.long 2456956037,2456956037,2456956037,2456956037
7918
.long 2730485921,2730485921,2730485921,2730485921
7919
.long 2730485921,2730485921,2730485921,2730485921
7920
.long 2820302411,2820302411,2820302411,2820302411
7921
.long 2820302411,2820302411,2820302411,2820302411
7922
.long 3259730800,3259730800,3259730800,3259730800
7923
.long 3259730800,3259730800,3259730800,3259730800
7924
.long 3345764771,3345764771,3345764771,3345764771
7925
.long 3345764771,3345764771,3345764771,3345764771
7926
.long 3516065817,3516065817,3516065817,3516065817
7927
.long 3516065817,3516065817,3516065817,3516065817
7928
.long 3600352804,3600352804,3600352804,3600352804
7929
.long 3600352804,3600352804,3600352804,3600352804
7930
.long 4094571909,4094571909,4094571909,4094571909
7931
.long 4094571909,4094571909,4094571909,4094571909
7932
.long 275423344,275423344,275423344,275423344
7933
.long 275423344,275423344,275423344,275423344
7934
.long 430227734,430227734,430227734,430227734
7935
.long 430227734,430227734,430227734,430227734
7936
.long 506948616,506948616,506948616,506948616
7937
.long 506948616,506948616,506948616,506948616
7938
.long 659060556,659060556,659060556,659060556
7939
.long 659060556,659060556,659060556,659060556
7940
.long 883997877,883997877,883997877,883997877
7941
.long 883997877,883997877,883997877,883997877
7942
.long 958139571,958139571,958139571,958139571
7943
.long 958139571,958139571,958139571,958139571
7944
.long 1322822218,1322822218,1322822218,1322822218
7945
.long 1322822218,1322822218,1322822218,1322822218
7946
.long 1537002063,1537002063,1537002063,1537002063
7947
.long 1537002063,1537002063,1537002063,1537002063
7948
.long 1747873779,1747873779,1747873779,1747873779
7949
.long 1747873779,1747873779,1747873779,1747873779
7950
.long 1955562222,1955562222,1955562222,1955562222
7951
.long 1955562222,1955562222,1955562222,1955562222
7952
.long 2024104815,2024104815,2024104815,2024104815
7953
.long 2024104815,2024104815,2024104815,2024104815
7954
.long 2227730452,2227730452,2227730452,2227730452
7955
.long 2227730452,2227730452,2227730452,2227730452
7956
.long 2361852424,2361852424,2361852424,2361852424
7957
.long 2361852424,2361852424,2361852424,2361852424
7958
.long 2428436474,2428436474,2428436474,2428436474
7959
.long 2428436474,2428436474,2428436474,2428436474
7960
.long 2756734187,2756734187,2756734187,2756734187
7961
.long 2756734187,2756734187,2756734187,2756734187
7962
.long 3204031479,3204031479,3204031479,3204031479
7963
.long 3204031479,3204031479,3204031479,3204031479
7964
.long 3329325298,3329325298,3329325298,3329325298
7965
.long 3329325298,3329325298,3329325298,3329325298
7966
.Lpbswap:
7967
.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
7968
.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
7969
K256_shaext:
7970
.long 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
7971
.long 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
7972
.long 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
7973
.long 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
7974
.long 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
7975
.long 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
7976
.long 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
7977
.long 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
7978
.long 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
7979
.long 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
7980
.long 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
7981
.long 0xd192e819,0xd6990624,0xf40e3585,0x106aa070
7982
.long 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
7983
.long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
7984
.long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
7985
.long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
7986
.byte 83,72,65,50,53,54,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
7987
.previous
7988
.section ".note.gnu.property", "a"
7989
.p2align 3
7990
.long 1f - 0f
7991
.long 4f - 1f
7992
.long 5
7993
0:
7994
# "GNU" encoded with .byte, since .asciz isn't supported
7995
# on Solaris.
7996
.byte 0x47
7997
.byte 0x4e
7998
.byte 0x55
7999
.byte 0
8000
1:
8001
.p2align 3
8002
.long 0xc0000002
8003
.long 3f - 2f
8004
2:
8005
.long 3
8006
3:
8007
.p2align 3
8008
4:
8009
8010