Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/sys/crypto/openssl/amd64/sha256-x86_64.S
39482 views
1
/* Do not modify. This file is auto-generated from sha512-x86_64.pl. */
2
.text
3
4
5
.globl sha256_block_data_order
6
.type sha256_block_data_order,@function
7
.align 16
8
sha256_block_data_order:
9
.cfi_startproc
10
leaq OPENSSL_ia32cap_P(%rip),%r11
11
movl 0(%r11),%r9d
12
movl 4(%r11),%r10d
13
movl 8(%r11),%r11d
14
testl $536870912,%r11d
15
jnz _shaext_shortcut
16
andl $296,%r11d
17
cmpl $296,%r11d
18
je .Lavx2_shortcut
19
andl $1073741824,%r9d
20
andl $268435968,%r10d
21
orl %r9d,%r10d
22
cmpl $1342177792,%r10d
23
je .Lavx_shortcut
24
testl $512,%r10d
25
jnz .Lssse3_shortcut
26
movq %rsp,%rax
27
.cfi_def_cfa_register %rax
28
pushq %rbx
29
.cfi_offset %rbx,-16
30
pushq %rbp
31
.cfi_offset %rbp,-24
32
pushq %r12
33
.cfi_offset %r12,-32
34
pushq %r13
35
.cfi_offset %r13,-40
36
pushq %r14
37
.cfi_offset %r14,-48
38
pushq %r15
39
.cfi_offset %r15,-56
40
shlq $4,%rdx
41
subq $64+32,%rsp
42
leaq (%rsi,%rdx,4),%rdx
43
andq $-64,%rsp
44
movq %rdi,64+0(%rsp)
45
movq %rsi,64+8(%rsp)
46
movq %rdx,64+16(%rsp)
47
movq %rax,88(%rsp)
48
.cfi_escape 0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
49
.Lprologue:
50
51
movl 0(%rdi),%eax
52
movl 4(%rdi),%ebx
53
movl 8(%rdi),%ecx
54
movl 12(%rdi),%edx
55
movl 16(%rdi),%r8d
56
movl 20(%rdi),%r9d
57
movl 24(%rdi),%r10d
58
movl 28(%rdi),%r11d
59
jmp .Lloop
60
61
.align 16
62
.Lloop:
63
movl %ebx,%edi
64
leaq K256(%rip),%rbp
65
xorl %ecx,%edi
66
movl 0(%rsi),%r12d
67
movl %r8d,%r13d
68
movl %eax,%r14d
69
bswapl %r12d
70
rorl $14,%r13d
71
movl %r9d,%r15d
72
73
xorl %r8d,%r13d
74
rorl $9,%r14d
75
xorl %r10d,%r15d
76
77
movl %r12d,0(%rsp)
78
xorl %eax,%r14d
79
andl %r8d,%r15d
80
81
rorl $5,%r13d
82
addl %r11d,%r12d
83
xorl %r10d,%r15d
84
85
rorl $11,%r14d
86
xorl %r8d,%r13d
87
addl %r15d,%r12d
88
89
movl %eax,%r15d
90
addl (%rbp),%r12d
91
xorl %eax,%r14d
92
93
xorl %ebx,%r15d
94
rorl $6,%r13d
95
movl %ebx,%r11d
96
97
andl %r15d,%edi
98
rorl $2,%r14d
99
addl %r13d,%r12d
100
101
xorl %edi,%r11d
102
addl %r12d,%edx
103
addl %r12d,%r11d
104
105
leaq 4(%rbp),%rbp
106
addl %r14d,%r11d
107
movl 4(%rsi),%r12d
108
movl %edx,%r13d
109
movl %r11d,%r14d
110
bswapl %r12d
111
rorl $14,%r13d
112
movl %r8d,%edi
113
114
xorl %edx,%r13d
115
rorl $9,%r14d
116
xorl %r9d,%edi
117
118
movl %r12d,4(%rsp)
119
xorl %r11d,%r14d
120
andl %edx,%edi
121
122
rorl $5,%r13d
123
addl %r10d,%r12d
124
xorl %r9d,%edi
125
126
rorl $11,%r14d
127
xorl %edx,%r13d
128
addl %edi,%r12d
129
130
movl %r11d,%edi
131
addl (%rbp),%r12d
132
xorl %r11d,%r14d
133
134
xorl %eax,%edi
135
rorl $6,%r13d
136
movl %eax,%r10d
137
138
andl %edi,%r15d
139
rorl $2,%r14d
140
addl %r13d,%r12d
141
142
xorl %r15d,%r10d
143
addl %r12d,%ecx
144
addl %r12d,%r10d
145
146
leaq 4(%rbp),%rbp
147
addl %r14d,%r10d
148
movl 8(%rsi),%r12d
149
movl %ecx,%r13d
150
movl %r10d,%r14d
151
bswapl %r12d
152
rorl $14,%r13d
153
movl %edx,%r15d
154
155
xorl %ecx,%r13d
156
rorl $9,%r14d
157
xorl %r8d,%r15d
158
159
movl %r12d,8(%rsp)
160
xorl %r10d,%r14d
161
andl %ecx,%r15d
162
163
rorl $5,%r13d
164
addl %r9d,%r12d
165
xorl %r8d,%r15d
166
167
rorl $11,%r14d
168
xorl %ecx,%r13d
169
addl %r15d,%r12d
170
171
movl %r10d,%r15d
172
addl (%rbp),%r12d
173
xorl %r10d,%r14d
174
175
xorl %r11d,%r15d
176
rorl $6,%r13d
177
movl %r11d,%r9d
178
179
andl %r15d,%edi
180
rorl $2,%r14d
181
addl %r13d,%r12d
182
183
xorl %edi,%r9d
184
addl %r12d,%ebx
185
addl %r12d,%r9d
186
187
leaq 4(%rbp),%rbp
188
addl %r14d,%r9d
189
movl 12(%rsi),%r12d
190
movl %ebx,%r13d
191
movl %r9d,%r14d
192
bswapl %r12d
193
rorl $14,%r13d
194
movl %ecx,%edi
195
196
xorl %ebx,%r13d
197
rorl $9,%r14d
198
xorl %edx,%edi
199
200
movl %r12d,12(%rsp)
201
xorl %r9d,%r14d
202
andl %ebx,%edi
203
204
rorl $5,%r13d
205
addl %r8d,%r12d
206
xorl %edx,%edi
207
208
rorl $11,%r14d
209
xorl %ebx,%r13d
210
addl %edi,%r12d
211
212
movl %r9d,%edi
213
addl (%rbp),%r12d
214
xorl %r9d,%r14d
215
216
xorl %r10d,%edi
217
rorl $6,%r13d
218
movl %r10d,%r8d
219
220
andl %edi,%r15d
221
rorl $2,%r14d
222
addl %r13d,%r12d
223
224
xorl %r15d,%r8d
225
addl %r12d,%eax
226
addl %r12d,%r8d
227
228
leaq 20(%rbp),%rbp
229
addl %r14d,%r8d
230
movl 16(%rsi),%r12d
231
movl %eax,%r13d
232
movl %r8d,%r14d
233
bswapl %r12d
234
rorl $14,%r13d
235
movl %ebx,%r15d
236
237
xorl %eax,%r13d
238
rorl $9,%r14d
239
xorl %ecx,%r15d
240
241
movl %r12d,16(%rsp)
242
xorl %r8d,%r14d
243
andl %eax,%r15d
244
245
rorl $5,%r13d
246
addl %edx,%r12d
247
xorl %ecx,%r15d
248
249
rorl $11,%r14d
250
xorl %eax,%r13d
251
addl %r15d,%r12d
252
253
movl %r8d,%r15d
254
addl (%rbp),%r12d
255
xorl %r8d,%r14d
256
257
xorl %r9d,%r15d
258
rorl $6,%r13d
259
movl %r9d,%edx
260
261
andl %r15d,%edi
262
rorl $2,%r14d
263
addl %r13d,%r12d
264
265
xorl %edi,%edx
266
addl %r12d,%r11d
267
addl %r12d,%edx
268
269
leaq 4(%rbp),%rbp
270
addl %r14d,%edx
271
movl 20(%rsi),%r12d
272
movl %r11d,%r13d
273
movl %edx,%r14d
274
bswapl %r12d
275
rorl $14,%r13d
276
movl %eax,%edi
277
278
xorl %r11d,%r13d
279
rorl $9,%r14d
280
xorl %ebx,%edi
281
282
movl %r12d,20(%rsp)
283
xorl %edx,%r14d
284
andl %r11d,%edi
285
286
rorl $5,%r13d
287
addl %ecx,%r12d
288
xorl %ebx,%edi
289
290
rorl $11,%r14d
291
xorl %r11d,%r13d
292
addl %edi,%r12d
293
294
movl %edx,%edi
295
addl (%rbp),%r12d
296
xorl %edx,%r14d
297
298
xorl %r8d,%edi
299
rorl $6,%r13d
300
movl %r8d,%ecx
301
302
andl %edi,%r15d
303
rorl $2,%r14d
304
addl %r13d,%r12d
305
306
xorl %r15d,%ecx
307
addl %r12d,%r10d
308
addl %r12d,%ecx
309
310
leaq 4(%rbp),%rbp
311
addl %r14d,%ecx
312
movl 24(%rsi),%r12d
313
movl %r10d,%r13d
314
movl %ecx,%r14d
315
bswapl %r12d
316
rorl $14,%r13d
317
movl %r11d,%r15d
318
319
xorl %r10d,%r13d
320
rorl $9,%r14d
321
xorl %eax,%r15d
322
323
movl %r12d,24(%rsp)
324
xorl %ecx,%r14d
325
andl %r10d,%r15d
326
327
rorl $5,%r13d
328
addl %ebx,%r12d
329
xorl %eax,%r15d
330
331
rorl $11,%r14d
332
xorl %r10d,%r13d
333
addl %r15d,%r12d
334
335
movl %ecx,%r15d
336
addl (%rbp),%r12d
337
xorl %ecx,%r14d
338
339
xorl %edx,%r15d
340
rorl $6,%r13d
341
movl %edx,%ebx
342
343
andl %r15d,%edi
344
rorl $2,%r14d
345
addl %r13d,%r12d
346
347
xorl %edi,%ebx
348
addl %r12d,%r9d
349
addl %r12d,%ebx
350
351
leaq 4(%rbp),%rbp
352
addl %r14d,%ebx
353
movl 28(%rsi),%r12d
354
movl %r9d,%r13d
355
movl %ebx,%r14d
356
bswapl %r12d
357
rorl $14,%r13d
358
movl %r10d,%edi
359
360
xorl %r9d,%r13d
361
rorl $9,%r14d
362
xorl %r11d,%edi
363
364
movl %r12d,28(%rsp)
365
xorl %ebx,%r14d
366
andl %r9d,%edi
367
368
rorl $5,%r13d
369
addl %eax,%r12d
370
xorl %r11d,%edi
371
372
rorl $11,%r14d
373
xorl %r9d,%r13d
374
addl %edi,%r12d
375
376
movl %ebx,%edi
377
addl (%rbp),%r12d
378
xorl %ebx,%r14d
379
380
xorl %ecx,%edi
381
rorl $6,%r13d
382
movl %ecx,%eax
383
384
andl %edi,%r15d
385
rorl $2,%r14d
386
addl %r13d,%r12d
387
388
xorl %r15d,%eax
389
addl %r12d,%r8d
390
addl %r12d,%eax
391
392
leaq 20(%rbp),%rbp
393
addl %r14d,%eax
394
movl 32(%rsi),%r12d
395
movl %r8d,%r13d
396
movl %eax,%r14d
397
bswapl %r12d
398
rorl $14,%r13d
399
movl %r9d,%r15d
400
401
xorl %r8d,%r13d
402
rorl $9,%r14d
403
xorl %r10d,%r15d
404
405
movl %r12d,32(%rsp)
406
xorl %eax,%r14d
407
andl %r8d,%r15d
408
409
rorl $5,%r13d
410
addl %r11d,%r12d
411
xorl %r10d,%r15d
412
413
rorl $11,%r14d
414
xorl %r8d,%r13d
415
addl %r15d,%r12d
416
417
movl %eax,%r15d
418
addl (%rbp),%r12d
419
xorl %eax,%r14d
420
421
xorl %ebx,%r15d
422
rorl $6,%r13d
423
movl %ebx,%r11d
424
425
andl %r15d,%edi
426
rorl $2,%r14d
427
addl %r13d,%r12d
428
429
xorl %edi,%r11d
430
addl %r12d,%edx
431
addl %r12d,%r11d
432
433
leaq 4(%rbp),%rbp
434
addl %r14d,%r11d
435
movl 36(%rsi),%r12d
436
movl %edx,%r13d
437
movl %r11d,%r14d
438
bswapl %r12d
439
rorl $14,%r13d
440
movl %r8d,%edi
441
442
xorl %edx,%r13d
443
rorl $9,%r14d
444
xorl %r9d,%edi
445
446
movl %r12d,36(%rsp)
447
xorl %r11d,%r14d
448
andl %edx,%edi
449
450
rorl $5,%r13d
451
addl %r10d,%r12d
452
xorl %r9d,%edi
453
454
rorl $11,%r14d
455
xorl %edx,%r13d
456
addl %edi,%r12d
457
458
movl %r11d,%edi
459
addl (%rbp),%r12d
460
xorl %r11d,%r14d
461
462
xorl %eax,%edi
463
rorl $6,%r13d
464
movl %eax,%r10d
465
466
andl %edi,%r15d
467
rorl $2,%r14d
468
addl %r13d,%r12d
469
470
xorl %r15d,%r10d
471
addl %r12d,%ecx
472
addl %r12d,%r10d
473
474
leaq 4(%rbp),%rbp
475
addl %r14d,%r10d
476
movl 40(%rsi),%r12d
477
movl %ecx,%r13d
478
movl %r10d,%r14d
479
bswapl %r12d
480
rorl $14,%r13d
481
movl %edx,%r15d
482
483
xorl %ecx,%r13d
484
rorl $9,%r14d
485
xorl %r8d,%r15d
486
487
movl %r12d,40(%rsp)
488
xorl %r10d,%r14d
489
andl %ecx,%r15d
490
491
rorl $5,%r13d
492
addl %r9d,%r12d
493
xorl %r8d,%r15d
494
495
rorl $11,%r14d
496
xorl %ecx,%r13d
497
addl %r15d,%r12d
498
499
movl %r10d,%r15d
500
addl (%rbp),%r12d
501
xorl %r10d,%r14d
502
503
xorl %r11d,%r15d
504
rorl $6,%r13d
505
movl %r11d,%r9d
506
507
andl %r15d,%edi
508
rorl $2,%r14d
509
addl %r13d,%r12d
510
511
xorl %edi,%r9d
512
addl %r12d,%ebx
513
addl %r12d,%r9d
514
515
leaq 4(%rbp),%rbp
516
addl %r14d,%r9d
517
movl 44(%rsi),%r12d
518
movl %ebx,%r13d
519
movl %r9d,%r14d
520
bswapl %r12d
521
rorl $14,%r13d
522
movl %ecx,%edi
523
524
xorl %ebx,%r13d
525
rorl $9,%r14d
526
xorl %edx,%edi
527
528
movl %r12d,44(%rsp)
529
xorl %r9d,%r14d
530
andl %ebx,%edi
531
532
rorl $5,%r13d
533
addl %r8d,%r12d
534
xorl %edx,%edi
535
536
rorl $11,%r14d
537
xorl %ebx,%r13d
538
addl %edi,%r12d
539
540
movl %r9d,%edi
541
addl (%rbp),%r12d
542
xorl %r9d,%r14d
543
544
xorl %r10d,%edi
545
rorl $6,%r13d
546
movl %r10d,%r8d
547
548
andl %edi,%r15d
549
rorl $2,%r14d
550
addl %r13d,%r12d
551
552
xorl %r15d,%r8d
553
addl %r12d,%eax
554
addl %r12d,%r8d
555
556
leaq 20(%rbp),%rbp
557
addl %r14d,%r8d
558
movl 48(%rsi),%r12d
559
movl %eax,%r13d
560
movl %r8d,%r14d
561
bswapl %r12d
562
rorl $14,%r13d
563
movl %ebx,%r15d
564
565
xorl %eax,%r13d
566
rorl $9,%r14d
567
xorl %ecx,%r15d
568
569
movl %r12d,48(%rsp)
570
xorl %r8d,%r14d
571
andl %eax,%r15d
572
573
rorl $5,%r13d
574
addl %edx,%r12d
575
xorl %ecx,%r15d
576
577
rorl $11,%r14d
578
xorl %eax,%r13d
579
addl %r15d,%r12d
580
581
movl %r8d,%r15d
582
addl (%rbp),%r12d
583
xorl %r8d,%r14d
584
585
xorl %r9d,%r15d
586
rorl $6,%r13d
587
movl %r9d,%edx
588
589
andl %r15d,%edi
590
rorl $2,%r14d
591
addl %r13d,%r12d
592
593
xorl %edi,%edx
594
addl %r12d,%r11d
595
addl %r12d,%edx
596
597
leaq 4(%rbp),%rbp
598
addl %r14d,%edx
599
movl 52(%rsi),%r12d
600
movl %r11d,%r13d
601
movl %edx,%r14d
602
bswapl %r12d
603
rorl $14,%r13d
604
movl %eax,%edi
605
606
xorl %r11d,%r13d
607
rorl $9,%r14d
608
xorl %ebx,%edi
609
610
movl %r12d,52(%rsp)
611
xorl %edx,%r14d
612
andl %r11d,%edi
613
614
rorl $5,%r13d
615
addl %ecx,%r12d
616
xorl %ebx,%edi
617
618
rorl $11,%r14d
619
xorl %r11d,%r13d
620
addl %edi,%r12d
621
622
movl %edx,%edi
623
addl (%rbp),%r12d
624
xorl %edx,%r14d
625
626
xorl %r8d,%edi
627
rorl $6,%r13d
628
movl %r8d,%ecx
629
630
andl %edi,%r15d
631
rorl $2,%r14d
632
addl %r13d,%r12d
633
634
xorl %r15d,%ecx
635
addl %r12d,%r10d
636
addl %r12d,%ecx
637
638
leaq 4(%rbp),%rbp
639
addl %r14d,%ecx
640
movl 56(%rsi),%r12d
641
movl %r10d,%r13d
642
movl %ecx,%r14d
643
bswapl %r12d
644
rorl $14,%r13d
645
movl %r11d,%r15d
646
647
xorl %r10d,%r13d
648
rorl $9,%r14d
649
xorl %eax,%r15d
650
651
movl %r12d,56(%rsp)
652
xorl %ecx,%r14d
653
andl %r10d,%r15d
654
655
rorl $5,%r13d
656
addl %ebx,%r12d
657
xorl %eax,%r15d
658
659
rorl $11,%r14d
660
xorl %r10d,%r13d
661
addl %r15d,%r12d
662
663
movl %ecx,%r15d
664
addl (%rbp),%r12d
665
xorl %ecx,%r14d
666
667
xorl %edx,%r15d
668
rorl $6,%r13d
669
movl %edx,%ebx
670
671
andl %r15d,%edi
672
rorl $2,%r14d
673
addl %r13d,%r12d
674
675
xorl %edi,%ebx
676
addl %r12d,%r9d
677
addl %r12d,%ebx
678
679
leaq 4(%rbp),%rbp
680
addl %r14d,%ebx
681
movl 60(%rsi),%r12d
682
movl %r9d,%r13d
683
movl %ebx,%r14d
684
bswapl %r12d
685
rorl $14,%r13d
686
movl %r10d,%edi
687
688
xorl %r9d,%r13d
689
rorl $9,%r14d
690
xorl %r11d,%edi
691
692
movl %r12d,60(%rsp)
693
xorl %ebx,%r14d
694
andl %r9d,%edi
695
696
rorl $5,%r13d
697
addl %eax,%r12d
698
xorl %r11d,%edi
699
700
rorl $11,%r14d
701
xorl %r9d,%r13d
702
addl %edi,%r12d
703
704
movl %ebx,%edi
705
addl (%rbp),%r12d
706
xorl %ebx,%r14d
707
708
xorl %ecx,%edi
709
rorl $6,%r13d
710
movl %ecx,%eax
711
712
andl %edi,%r15d
713
rorl $2,%r14d
714
addl %r13d,%r12d
715
716
xorl %r15d,%eax
717
addl %r12d,%r8d
718
addl %r12d,%eax
719
720
leaq 20(%rbp),%rbp
721
jmp .Lrounds_16_xx
722
.align 16
723
.Lrounds_16_xx:
724
movl 4(%rsp),%r13d
725
movl 56(%rsp),%r15d
726
727
movl %r13d,%r12d
728
rorl $11,%r13d
729
addl %r14d,%eax
730
movl %r15d,%r14d
731
rorl $2,%r15d
732
733
xorl %r12d,%r13d
734
shrl $3,%r12d
735
rorl $7,%r13d
736
xorl %r14d,%r15d
737
shrl $10,%r14d
738
739
rorl $17,%r15d
740
xorl %r13d,%r12d
741
xorl %r14d,%r15d
742
addl 36(%rsp),%r12d
743
744
addl 0(%rsp),%r12d
745
movl %r8d,%r13d
746
addl %r15d,%r12d
747
movl %eax,%r14d
748
rorl $14,%r13d
749
movl %r9d,%r15d
750
751
xorl %r8d,%r13d
752
rorl $9,%r14d
753
xorl %r10d,%r15d
754
755
movl %r12d,0(%rsp)
756
xorl %eax,%r14d
757
andl %r8d,%r15d
758
759
rorl $5,%r13d
760
addl %r11d,%r12d
761
xorl %r10d,%r15d
762
763
rorl $11,%r14d
764
xorl %r8d,%r13d
765
addl %r15d,%r12d
766
767
movl %eax,%r15d
768
addl (%rbp),%r12d
769
xorl %eax,%r14d
770
771
xorl %ebx,%r15d
772
rorl $6,%r13d
773
movl %ebx,%r11d
774
775
andl %r15d,%edi
776
rorl $2,%r14d
777
addl %r13d,%r12d
778
779
xorl %edi,%r11d
780
addl %r12d,%edx
781
addl %r12d,%r11d
782
783
leaq 4(%rbp),%rbp
784
movl 8(%rsp),%r13d
785
movl 60(%rsp),%edi
786
787
movl %r13d,%r12d
788
rorl $11,%r13d
789
addl %r14d,%r11d
790
movl %edi,%r14d
791
rorl $2,%edi
792
793
xorl %r12d,%r13d
794
shrl $3,%r12d
795
rorl $7,%r13d
796
xorl %r14d,%edi
797
shrl $10,%r14d
798
799
rorl $17,%edi
800
xorl %r13d,%r12d
801
xorl %r14d,%edi
802
addl 40(%rsp),%r12d
803
804
addl 4(%rsp),%r12d
805
movl %edx,%r13d
806
addl %edi,%r12d
807
movl %r11d,%r14d
808
rorl $14,%r13d
809
movl %r8d,%edi
810
811
xorl %edx,%r13d
812
rorl $9,%r14d
813
xorl %r9d,%edi
814
815
movl %r12d,4(%rsp)
816
xorl %r11d,%r14d
817
andl %edx,%edi
818
819
rorl $5,%r13d
820
addl %r10d,%r12d
821
xorl %r9d,%edi
822
823
rorl $11,%r14d
824
xorl %edx,%r13d
825
addl %edi,%r12d
826
827
movl %r11d,%edi
828
addl (%rbp),%r12d
829
xorl %r11d,%r14d
830
831
xorl %eax,%edi
832
rorl $6,%r13d
833
movl %eax,%r10d
834
835
andl %edi,%r15d
836
rorl $2,%r14d
837
addl %r13d,%r12d
838
839
xorl %r15d,%r10d
840
addl %r12d,%ecx
841
addl %r12d,%r10d
842
843
leaq 4(%rbp),%rbp
844
movl 12(%rsp),%r13d
845
movl 0(%rsp),%r15d
846
847
movl %r13d,%r12d
848
rorl $11,%r13d
849
addl %r14d,%r10d
850
movl %r15d,%r14d
851
rorl $2,%r15d
852
853
xorl %r12d,%r13d
854
shrl $3,%r12d
855
rorl $7,%r13d
856
xorl %r14d,%r15d
857
shrl $10,%r14d
858
859
rorl $17,%r15d
860
xorl %r13d,%r12d
861
xorl %r14d,%r15d
862
addl 44(%rsp),%r12d
863
864
addl 8(%rsp),%r12d
865
movl %ecx,%r13d
866
addl %r15d,%r12d
867
movl %r10d,%r14d
868
rorl $14,%r13d
869
movl %edx,%r15d
870
871
xorl %ecx,%r13d
872
rorl $9,%r14d
873
xorl %r8d,%r15d
874
875
movl %r12d,8(%rsp)
876
xorl %r10d,%r14d
877
andl %ecx,%r15d
878
879
rorl $5,%r13d
880
addl %r9d,%r12d
881
xorl %r8d,%r15d
882
883
rorl $11,%r14d
884
xorl %ecx,%r13d
885
addl %r15d,%r12d
886
887
movl %r10d,%r15d
888
addl (%rbp),%r12d
889
xorl %r10d,%r14d
890
891
xorl %r11d,%r15d
892
rorl $6,%r13d
893
movl %r11d,%r9d
894
895
andl %r15d,%edi
896
rorl $2,%r14d
897
addl %r13d,%r12d
898
899
xorl %edi,%r9d
900
addl %r12d,%ebx
901
addl %r12d,%r9d
902
903
leaq 4(%rbp),%rbp
904
movl 16(%rsp),%r13d
905
movl 4(%rsp),%edi
906
907
movl %r13d,%r12d
908
rorl $11,%r13d
909
addl %r14d,%r9d
910
movl %edi,%r14d
911
rorl $2,%edi
912
913
xorl %r12d,%r13d
914
shrl $3,%r12d
915
rorl $7,%r13d
916
xorl %r14d,%edi
917
shrl $10,%r14d
918
919
rorl $17,%edi
920
xorl %r13d,%r12d
921
xorl %r14d,%edi
922
addl 48(%rsp),%r12d
923
924
addl 12(%rsp),%r12d
925
movl %ebx,%r13d
926
addl %edi,%r12d
927
movl %r9d,%r14d
928
rorl $14,%r13d
929
movl %ecx,%edi
930
931
xorl %ebx,%r13d
932
rorl $9,%r14d
933
xorl %edx,%edi
934
935
movl %r12d,12(%rsp)
936
xorl %r9d,%r14d
937
andl %ebx,%edi
938
939
rorl $5,%r13d
940
addl %r8d,%r12d
941
xorl %edx,%edi
942
943
rorl $11,%r14d
944
xorl %ebx,%r13d
945
addl %edi,%r12d
946
947
movl %r9d,%edi
948
addl (%rbp),%r12d
949
xorl %r9d,%r14d
950
951
xorl %r10d,%edi
952
rorl $6,%r13d
953
movl %r10d,%r8d
954
955
andl %edi,%r15d
956
rorl $2,%r14d
957
addl %r13d,%r12d
958
959
xorl %r15d,%r8d
960
addl %r12d,%eax
961
addl %r12d,%r8d
962
963
leaq 20(%rbp),%rbp
964
movl 20(%rsp),%r13d
965
movl 8(%rsp),%r15d
966
967
movl %r13d,%r12d
968
rorl $11,%r13d
969
addl %r14d,%r8d
970
movl %r15d,%r14d
971
rorl $2,%r15d
972
973
xorl %r12d,%r13d
974
shrl $3,%r12d
975
rorl $7,%r13d
976
xorl %r14d,%r15d
977
shrl $10,%r14d
978
979
rorl $17,%r15d
980
xorl %r13d,%r12d
981
xorl %r14d,%r15d
982
addl 52(%rsp),%r12d
983
984
addl 16(%rsp),%r12d
985
movl %eax,%r13d
986
addl %r15d,%r12d
987
movl %r8d,%r14d
988
rorl $14,%r13d
989
movl %ebx,%r15d
990
991
xorl %eax,%r13d
992
rorl $9,%r14d
993
xorl %ecx,%r15d
994
995
movl %r12d,16(%rsp)
996
xorl %r8d,%r14d
997
andl %eax,%r15d
998
999
rorl $5,%r13d
1000
addl %edx,%r12d
1001
xorl %ecx,%r15d
1002
1003
rorl $11,%r14d
1004
xorl %eax,%r13d
1005
addl %r15d,%r12d
1006
1007
movl %r8d,%r15d
1008
addl (%rbp),%r12d
1009
xorl %r8d,%r14d
1010
1011
xorl %r9d,%r15d
1012
rorl $6,%r13d
1013
movl %r9d,%edx
1014
1015
andl %r15d,%edi
1016
rorl $2,%r14d
1017
addl %r13d,%r12d
1018
1019
xorl %edi,%edx
1020
addl %r12d,%r11d
1021
addl %r12d,%edx
1022
1023
leaq 4(%rbp),%rbp
1024
movl 24(%rsp),%r13d
1025
movl 12(%rsp),%edi
1026
1027
movl %r13d,%r12d
1028
rorl $11,%r13d
1029
addl %r14d,%edx
1030
movl %edi,%r14d
1031
rorl $2,%edi
1032
1033
xorl %r12d,%r13d
1034
shrl $3,%r12d
1035
rorl $7,%r13d
1036
xorl %r14d,%edi
1037
shrl $10,%r14d
1038
1039
rorl $17,%edi
1040
xorl %r13d,%r12d
1041
xorl %r14d,%edi
1042
addl 56(%rsp),%r12d
1043
1044
addl 20(%rsp),%r12d
1045
movl %r11d,%r13d
1046
addl %edi,%r12d
1047
movl %edx,%r14d
1048
rorl $14,%r13d
1049
movl %eax,%edi
1050
1051
xorl %r11d,%r13d
1052
rorl $9,%r14d
1053
xorl %ebx,%edi
1054
1055
movl %r12d,20(%rsp)
1056
xorl %edx,%r14d
1057
andl %r11d,%edi
1058
1059
rorl $5,%r13d
1060
addl %ecx,%r12d
1061
xorl %ebx,%edi
1062
1063
rorl $11,%r14d
1064
xorl %r11d,%r13d
1065
addl %edi,%r12d
1066
1067
movl %edx,%edi
1068
addl (%rbp),%r12d
1069
xorl %edx,%r14d
1070
1071
xorl %r8d,%edi
1072
rorl $6,%r13d
1073
movl %r8d,%ecx
1074
1075
andl %edi,%r15d
1076
rorl $2,%r14d
1077
addl %r13d,%r12d
1078
1079
xorl %r15d,%ecx
1080
addl %r12d,%r10d
1081
addl %r12d,%ecx
1082
1083
leaq 4(%rbp),%rbp
1084
movl 28(%rsp),%r13d
1085
movl 16(%rsp),%r15d
1086
1087
movl %r13d,%r12d
1088
rorl $11,%r13d
1089
addl %r14d,%ecx
1090
movl %r15d,%r14d
1091
rorl $2,%r15d
1092
1093
xorl %r12d,%r13d
1094
shrl $3,%r12d
1095
rorl $7,%r13d
1096
xorl %r14d,%r15d
1097
shrl $10,%r14d
1098
1099
rorl $17,%r15d
1100
xorl %r13d,%r12d
1101
xorl %r14d,%r15d
1102
addl 60(%rsp),%r12d
1103
1104
addl 24(%rsp),%r12d
1105
movl %r10d,%r13d
1106
addl %r15d,%r12d
1107
movl %ecx,%r14d
1108
rorl $14,%r13d
1109
movl %r11d,%r15d
1110
1111
xorl %r10d,%r13d
1112
rorl $9,%r14d
1113
xorl %eax,%r15d
1114
1115
movl %r12d,24(%rsp)
1116
xorl %ecx,%r14d
1117
andl %r10d,%r15d
1118
1119
rorl $5,%r13d
1120
addl %ebx,%r12d
1121
xorl %eax,%r15d
1122
1123
rorl $11,%r14d
1124
xorl %r10d,%r13d
1125
addl %r15d,%r12d
1126
1127
movl %ecx,%r15d
1128
addl (%rbp),%r12d
1129
xorl %ecx,%r14d
1130
1131
xorl %edx,%r15d
1132
rorl $6,%r13d
1133
movl %edx,%ebx
1134
1135
andl %r15d,%edi
1136
rorl $2,%r14d
1137
addl %r13d,%r12d
1138
1139
xorl %edi,%ebx
1140
addl %r12d,%r9d
1141
addl %r12d,%ebx
1142
1143
leaq 4(%rbp),%rbp
1144
movl 32(%rsp),%r13d
1145
movl 20(%rsp),%edi
1146
1147
movl %r13d,%r12d
1148
rorl $11,%r13d
1149
addl %r14d,%ebx
1150
movl %edi,%r14d
1151
rorl $2,%edi
1152
1153
xorl %r12d,%r13d
1154
shrl $3,%r12d
1155
rorl $7,%r13d
1156
xorl %r14d,%edi
1157
shrl $10,%r14d
1158
1159
rorl $17,%edi
1160
xorl %r13d,%r12d
1161
xorl %r14d,%edi
1162
addl 0(%rsp),%r12d
1163
1164
addl 28(%rsp),%r12d
1165
movl %r9d,%r13d
1166
addl %edi,%r12d
1167
movl %ebx,%r14d
1168
rorl $14,%r13d
1169
movl %r10d,%edi
1170
1171
xorl %r9d,%r13d
1172
rorl $9,%r14d
1173
xorl %r11d,%edi
1174
1175
movl %r12d,28(%rsp)
1176
xorl %ebx,%r14d
1177
andl %r9d,%edi
1178
1179
rorl $5,%r13d
1180
addl %eax,%r12d
1181
xorl %r11d,%edi
1182
1183
rorl $11,%r14d
1184
xorl %r9d,%r13d
1185
addl %edi,%r12d
1186
1187
movl %ebx,%edi
1188
addl (%rbp),%r12d
1189
xorl %ebx,%r14d
1190
1191
xorl %ecx,%edi
1192
rorl $6,%r13d
1193
movl %ecx,%eax
1194
1195
andl %edi,%r15d
1196
rorl $2,%r14d
1197
addl %r13d,%r12d
1198
1199
xorl %r15d,%eax
1200
addl %r12d,%r8d
1201
addl %r12d,%eax
1202
1203
leaq 20(%rbp),%rbp
1204
movl 36(%rsp),%r13d
1205
movl 24(%rsp),%r15d
1206
1207
movl %r13d,%r12d
1208
rorl $11,%r13d
1209
addl %r14d,%eax
1210
movl %r15d,%r14d
1211
rorl $2,%r15d
1212
1213
xorl %r12d,%r13d
1214
shrl $3,%r12d
1215
rorl $7,%r13d
1216
xorl %r14d,%r15d
1217
shrl $10,%r14d
1218
1219
rorl $17,%r15d
1220
xorl %r13d,%r12d
1221
xorl %r14d,%r15d
1222
addl 4(%rsp),%r12d
1223
1224
addl 32(%rsp),%r12d
1225
movl %r8d,%r13d
1226
addl %r15d,%r12d
1227
movl %eax,%r14d
1228
rorl $14,%r13d
1229
movl %r9d,%r15d
1230
1231
xorl %r8d,%r13d
1232
rorl $9,%r14d
1233
xorl %r10d,%r15d
1234
1235
movl %r12d,32(%rsp)
1236
xorl %eax,%r14d
1237
andl %r8d,%r15d
1238
1239
rorl $5,%r13d
1240
addl %r11d,%r12d
1241
xorl %r10d,%r15d
1242
1243
rorl $11,%r14d
1244
xorl %r8d,%r13d
1245
addl %r15d,%r12d
1246
1247
movl %eax,%r15d
1248
addl (%rbp),%r12d
1249
xorl %eax,%r14d
1250
1251
xorl %ebx,%r15d
1252
rorl $6,%r13d
1253
movl %ebx,%r11d
1254
1255
andl %r15d,%edi
1256
rorl $2,%r14d
1257
addl %r13d,%r12d
1258
1259
xorl %edi,%r11d
1260
addl %r12d,%edx
1261
addl %r12d,%r11d
1262
1263
leaq 4(%rbp),%rbp
1264
movl 40(%rsp),%r13d
1265
movl 28(%rsp),%edi
1266
1267
movl %r13d,%r12d
1268
rorl $11,%r13d
1269
addl %r14d,%r11d
1270
movl %edi,%r14d
1271
rorl $2,%edi
1272
1273
xorl %r12d,%r13d
1274
shrl $3,%r12d
1275
rorl $7,%r13d
1276
xorl %r14d,%edi
1277
shrl $10,%r14d
1278
1279
rorl $17,%edi
1280
xorl %r13d,%r12d
1281
xorl %r14d,%edi
1282
addl 8(%rsp),%r12d
1283
1284
addl 36(%rsp),%r12d
1285
movl %edx,%r13d
1286
addl %edi,%r12d
1287
movl %r11d,%r14d
1288
rorl $14,%r13d
1289
movl %r8d,%edi
1290
1291
xorl %edx,%r13d
1292
rorl $9,%r14d
1293
xorl %r9d,%edi
1294
1295
movl %r12d,36(%rsp)
1296
xorl %r11d,%r14d
1297
andl %edx,%edi
1298
1299
rorl $5,%r13d
1300
addl %r10d,%r12d
1301
xorl %r9d,%edi
1302
1303
rorl $11,%r14d
1304
xorl %edx,%r13d
1305
addl %edi,%r12d
1306
1307
movl %r11d,%edi
1308
addl (%rbp),%r12d
1309
xorl %r11d,%r14d
1310
1311
xorl %eax,%edi
1312
rorl $6,%r13d
1313
movl %eax,%r10d
1314
1315
andl %edi,%r15d
1316
rorl $2,%r14d
1317
addl %r13d,%r12d
1318
1319
xorl %r15d,%r10d
1320
addl %r12d,%ecx
1321
addl %r12d,%r10d
1322
1323
leaq 4(%rbp),%rbp
1324
movl 44(%rsp),%r13d
1325
movl 32(%rsp),%r15d
1326
1327
movl %r13d,%r12d
1328
rorl $11,%r13d
1329
addl %r14d,%r10d
1330
movl %r15d,%r14d
1331
rorl $2,%r15d
1332
1333
xorl %r12d,%r13d
1334
shrl $3,%r12d
1335
rorl $7,%r13d
1336
xorl %r14d,%r15d
1337
shrl $10,%r14d
1338
1339
rorl $17,%r15d
1340
xorl %r13d,%r12d
1341
xorl %r14d,%r15d
1342
addl 12(%rsp),%r12d
1343
1344
addl 40(%rsp),%r12d
1345
movl %ecx,%r13d
1346
addl %r15d,%r12d
1347
movl %r10d,%r14d
1348
rorl $14,%r13d
1349
movl %edx,%r15d
1350
1351
xorl %ecx,%r13d
1352
rorl $9,%r14d
1353
xorl %r8d,%r15d
1354
1355
movl %r12d,40(%rsp)
1356
xorl %r10d,%r14d
1357
andl %ecx,%r15d
1358
1359
rorl $5,%r13d
1360
addl %r9d,%r12d
1361
xorl %r8d,%r15d
1362
1363
rorl $11,%r14d
1364
xorl %ecx,%r13d
1365
addl %r15d,%r12d
1366
1367
movl %r10d,%r15d
1368
addl (%rbp),%r12d
1369
xorl %r10d,%r14d
1370
1371
xorl %r11d,%r15d
1372
rorl $6,%r13d
1373
movl %r11d,%r9d
1374
1375
andl %r15d,%edi
1376
rorl $2,%r14d
1377
addl %r13d,%r12d
1378
1379
xorl %edi,%r9d
1380
addl %r12d,%ebx
1381
addl %r12d,%r9d
1382
1383
leaq 4(%rbp),%rbp
1384
movl 48(%rsp),%r13d
1385
movl 36(%rsp),%edi
1386
1387
movl %r13d,%r12d
1388
rorl $11,%r13d
1389
addl %r14d,%r9d
1390
movl %edi,%r14d
1391
rorl $2,%edi
1392
1393
xorl %r12d,%r13d
1394
shrl $3,%r12d
1395
rorl $7,%r13d
1396
xorl %r14d,%edi
1397
shrl $10,%r14d
1398
1399
rorl $17,%edi
1400
xorl %r13d,%r12d
1401
xorl %r14d,%edi
1402
addl 16(%rsp),%r12d
1403
1404
addl 44(%rsp),%r12d
1405
movl %ebx,%r13d
1406
addl %edi,%r12d
1407
movl %r9d,%r14d
1408
rorl $14,%r13d
1409
movl %ecx,%edi
1410
1411
xorl %ebx,%r13d
1412
rorl $9,%r14d
1413
xorl %edx,%edi
1414
1415
movl %r12d,44(%rsp)
1416
xorl %r9d,%r14d
1417
andl %ebx,%edi
1418
1419
rorl $5,%r13d
1420
addl %r8d,%r12d
1421
xorl %edx,%edi
1422
1423
rorl $11,%r14d
1424
xorl %ebx,%r13d
1425
addl %edi,%r12d
1426
1427
movl %r9d,%edi
1428
addl (%rbp),%r12d
1429
xorl %r9d,%r14d
1430
1431
xorl %r10d,%edi
1432
rorl $6,%r13d
1433
movl %r10d,%r8d
1434
1435
andl %edi,%r15d
1436
rorl $2,%r14d
1437
addl %r13d,%r12d
1438
1439
xorl %r15d,%r8d
1440
addl %r12d,%eax
1441
addl %r12d,%r8d
1442
1443
leaq 20(%rbp),%rbp
1444
movl 52(%rsp),%r13d
1445
movl 40(%rsp),%r15d
1446
1447
movl %r13d,%r12d
1448
rorl $11,%r13d
1449
addl %r14d,%r8d
1450
movl %r15d,%r14d
1451
rorl $2,%r15d
1452
1453
xorl %r12d,%r13d
1454
shrl $3,%r12d
1455
rorl $7,%r13d
1456
xorl %r14d,%r15d
1457
shrl $10,%r14d
1458
1459
rorl $17,%r15d
1460
xorl %r13d,%r12d
1461
xorl %r14d,%r15d
1462
addl 20(%rsp),%r12d
1463
1464
addl 48(%rsp),%r12d
1465
movl %eax,%r13d
1466
addl %r15d,%r12d
1467
movl %r8d,%r14d
1468
rorl $14,%r13d
1469
movl %ebx,%r15d
1470
1471
xorl %eax,%r13d
1472
rorl $9,%r14d
1473
xorl %ecx,%r15d
1474
1475
movl %r12d,48(%rsp)
1476
xorl %r8d,%r14d
1477
andl %eax,%r15d
1478
1479
rorl $5,%r13d
1480
addl %edx,%r12d
1481
xorl %ecx,%r15d
1482
1483
rorl $11,%r14d
1484
xorl %eax,%r13d
1485
addl %r15d,%r12d
1486
1487
movl %r8d,%r15d
1488
addl (%rbp),%r12d
1489
xorl %r8d,%r14d
1490
1491
xorl %r9d,%r15d
1492
rorl $6,%r13d
1493
movl %r9d,%edx
1494
1495
andl %r15d,%edi
1496
rorl $2,%r14d
1497
addl %r13d,%r12d
1498
1499
xorl %edi,%edx
1500
addl %r12d,%r11d
1501
addl %r12d,%edx
1502
1503
leaq 4(%rbp),%rbp
1504
movl 56(%rsp),%r13d
1505
movl 44(%rsp),%edi
1506
1507
movl %r13d,%r12d
1508
rorl $11,%r13d
1509
addl %r14d,%edx
1510
movl %edi,%r14d
1511
rorl $2,%edi
1512
1513
xorl %r12d,%r13d
1514
shrl $3,%r12d
1515
rorl $7,%r13d
1516
xorl %r14d,%edi
1517
shrl $10,%r14d
1518
1519
rorl $17,%edi
1520
xorl %r13d,%r12d
1521
xorl %r14d,%edi
1522
addl 24(%rsp),%r12d
1523
1524
addl 52(%rsp),%r12d
1525
movl %r11d,%r13d
1526
addl %edi,%r12d
1527
movl %edx,%r14d
1528
rorl $14,%r13d
1529
movl %eax,%edi
1530
1531
xorl %r11d,%r13d
1532
rorl $9,%r14d
1533
xorl %ebx,%edi
1534
1535
movl %r12d,52(%rsp)
1536
xorl %edx,%r14d
1537
andl %r11d,%edi
1538
1539
rorl $5,%r13d
1540
addl %ecx,%r12d
1541
xorl %ebx,%edi
1542
1543
rorl $11,%r14d
1544
xorl %r11d,%r13d
1545
addl %edi,%r12d
1546
1547
movl %edx,%edi
1548
addl (%rbp),%r12d
1549
xorl %edx,%r14d
1550
1551
xorl %r8d,%edi
1552
rorl $6,%r13d
1553
movl %r8d,%ecx
1554
1555
andl %edi,%r15d
1556
rorl $2,%r14d
1557
addl %r13d,%r12d
1558
1559
xorl %r15d,%ecx
1560
addl %r12d,%r10d
1561
addl %r12d,%ecx
1562
1563
leaq 4(%rbp),%rbp
1564
movl 60(%rsp),%r13d
1565
movl 48(%rsp),%r15d
1566
1567
movl %r13d,%r12d
1568
rorl $11,%r13d
1569
addl %r14d,%ecx
1570
movl %r15d,%r14d
1571
rorl $2,%r15d
1572
1573
xorl %r12d,%r13d
1574
shrl $3,%r12d
1575
rorl $7,%r13d
1576
xorl %r14d,%r15d
1577
shrl $10,%r14d
1578
1579
rorl $17,%r15d
1580
xorl %r13d,%r12d
1581
xorl %r14d,%r15d
1582
addl 28(%rsp),%r12d
1583
1584
addl 56(%rsp),%r12d
1585
movl %r10d,%r13d
1586
addl %r15d,%r12d
1587
movl %ecx,%r14d
1588
rorl $14,%r13d
1589
movl %r11d,%r15d
1590
1591
xorl %r10d,%r13d
1592
rorl $9,%r14d
1593
xorl %eax,%r15d
1594
1595
movl %r12d,56(%rsp)
1596
xorl %ecx,%r14d
1597
andl %r10d,%r15d
1598
1599
rorl $5,%r13d
1600
addl %ebx,%r12d
1601
xorl %eax,%r15d
1602
1603
rorl $11,%r14d
1604
xorl %r10d,%r13d
1605
addl %r15d,%r12d
1606
1607
movl %ecx,%r15d
1608
addl (%rbp),%r12d
1609
xorl %ecx,%r14d
1610
1611
xorl %edx,%r15d
1612
rorl $6,%r13d
1613
movl %edx,%ebx
1614
1615
andl %r15d,%edi
1616
rorl $2,%r14d
1617
addl %r13d,%r12d
1618
1619
xorl %edi,%ebx
1620
addl %r12d,%r9d
1621
addl %r12d,%ebx
1622
1623
leaq 4(%rbp),%rbp
1624
movl 0(%rsp),%r13d
1625
movl 52(%rsp),%edi
1626
1627
movl %r13d,%r12d
1628
rorl $11,%r13d
1629
addl %r14d,%ebx
1630
movl %edi,%r14d
1631
rorl $2,%edi
1632
1633
xorl %r12d,%r13d
1634
shrl $3,%r12d
1635
rorl $7,%r13d
1636
xorl %r14d,%edi
1637
shrl $10,%r14d
1638
1639
rorl $17,%edi
1640
xorl %r13d,%r12d
1641
xorl %r14d,%edi
1642
addl 32(%rsp),%r12d
1643
1644
addl 60(%rsp),%r12d
1645
movl %r9d,%r13d
1646
addl %edi,%r12d
1647
movl %ebx,%r14d
1648
rorl $14,%r13d
1649
movl %r10d,%edi
1650
1651
xorl %r9d,%r13d
1652
rorl $9,%r14d
1653
xorl %r11d,%edi
1654
1655
movl %r12d,60(%rsp)
1656
xorl %ebx,%r14d
1657
andl %r9d,%edi
1658
1659
rorl $5,%r13d
1660
addl %eax,%r12d
1661
xorl %r11d,%edi
1662
1663
rorl $11,%r14d
1664
xorl %r9d,%r13d
1665
addl %edi,%r12d
1666
1667
movl %ebx,%edi
1668
addl (%rbp),%r12d
1669
xorl %ebx,%r14d
1670
1671
xorl %ecx,%edi
1672
rorl $6,%r13d
1673
movl %ecx,%eax
1674
1675
andl %edi,%r15d
1676
rorl $2,%r14d
1677
addl %r13d,%r12d
1678
1679
xorl %r15d,%eax
1680
addl %r12d,%r8d
1681
addl %r12d,%eax
1682
1683
leaq 20(%rbp),%rbp
1684
cmpb $0,3(%rbp)
1685
jnz .Lrounds_16_xx
1686
1687
movq 64+0(%rsp),%rdi
1688
addl %r14d,%eax
1689
leaq 64(%rsi),%rsi
1690
1691
addl 0(%rdi),%eax
1692
addl 4(%rdi),%ebx
1693
addl 8(%rdi),%ecx
1694
addl 12(%rdi),%edx
1695
addl 16(%rdi),%r8d
1696
addl 20(%rdi),%r9d
1697
addl 24(%rdi),%r10d
1698
addl 28(%rdi),%r11d
1699
1700
cmpq 64+16(%rsp),%rsi
1701
1702
movl %eax,0(%rdi)
1703
movl %ebx,4(%rdi)
1704
movl %ecx,8(%rdi)
1705
movl %edx,12(%rdi)
1706
movl %r8d,16(%rdi)
1707
movl %r9d,20(%rdi)
1708
movl %r10d,24(%rdi)
1709
movl %r11d,28(%rdi)
1710
jb .Lloop
1711
1712
movq 88(%rsp),%rsi
1713
.cfi_def_cfa %rsi,8
1714
movq -48(%rsi),%r15
1715
.cfi_restore %r15
1716
movq -40(%rsi),%r14
1717
.cfi_restore %r14
1718
movq -32(%rsi),%r13
1719
.cfi_restore %r13
1720
movq -24(%rsi),%r12
1721
.cfi_restore %r12
1722
movq -16(%rsi),%rbp
1723
.cfi_restore %rbp
1724
movq -8(%rsi),%rbx
1725
.cfi_restore %rbx
1726
leaq (%rsi),%rsp
1727
.cfi_def_cfa_register %rsp
1728
.Lepilogue:
1729
.byte 0xf3,0xc3
1730
.cfi_endproc
1731
.size sha256_block_data_order,.-sha256_block_data_order
1732
.section .rodata
1733
.align 64
1734
.type K256,@object
1735
K256:
1736
.long 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
1737
.long 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
1738
.long 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
1739
.long 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
1740
.long 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
1741
.long 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
1742
.long 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
1743
.long 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
1744
.long 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
1745
.long 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
1746
.long 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
1747
.long 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
1748
.long 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
1749
.long 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
1750
.long 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
1751
.long 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
1752
.long 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
1753
.long 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
1754
.long 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
1755
.long 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
1756
.long 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
1757
.long 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
1758
.long 0xd192e819,0xd6990624,0xf40e3585,0x106aa070
1759
.long 0xd192e819,0xd6990624,0xf40e3585,0x106aa070
1760
.long 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
1761
.long 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
1762
.long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
1763
.long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
1764
.long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
1765
.long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
1766
.long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
1767
.long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
1768
1769
.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
1770
.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
1771
.long 0x03020100,0x0b0a0908,0xffffffff,0xffffffff
1772
.long 0x03020100,0x0b0a0908,0xffffffff,0xffffffff
1773
.long 0xffffffff,0xffffffff,0x03020100,0x0b0a0908
1774
.long 0xffffffff,0xffffffff,0x03020100,0x0b0a0908
1775
.byte 83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
1776
.previous
1777
.type sha256_block_data_order_shaext,@function
1778
.align 64
1779
sha256_block_data_order_shaext:
1780
_shaext_shortcut:
1781
.cfi_startproc
1782
leaq K256+128(%rip),%rcx
1783
movdqu (%rdi),%xmm1
1784
movdqu 16(%rdi),%xmm2
1785
movdqa 512-128(%rcx),%xmm7
1786
1787
pshufd $0x1b,%xmm1,%xmm0
1788
pshufd $0xb1,%xmm1,%xmm1
1789
pshufd $0x1b,%xmm2,%xmm2
1790
movdqa %xmm7,%xmm8
1791
.byte 102,15,58,15,202,8
1792
punpcklqdq %xmm0,%xmm2
1793
jmp .Loop_shaext
1794
1795
.align 16
1796
.Loop_shaext:
1797
movdqu (%rsi),%xmm3
1798
movdqu 16(%rsi),%xmm4
1799
movdqu 32(%rsi),%xmm5
1800
.byte 102,15,56,0,223
1801
movdqu 48(%rsi),%xmm6
1802
1803
movdqa 0-128(%rcx),%xmm0
1804
paddd %xmm3,%xmm0
1805
.byte 102,15,56,0,231
1806
movdqa %xmm2,%xmm10
1807
.byte 15,56,203,209
1808
pshufd $0x0e,%xmm0,%xmm0
1809
nop
1810
movdqa %xmm1,%xmm9
1811
.byte 15,56,203,202
1812
1813
movdqa 32-128(%rcx),%xmm0
1814
paddd %xmm4,%xmm0
1815
.byte 102,15,56,0,239
1816
.byte 15,56,203,209
1817
pshufd $0x0e,%xmm0,%xmm0
1818
leaq 64(%rsi),%rsi
1819
.byte 15,56,204,220
1820
.byte 15,56,203,202
1821
1822
movdqa 64-128(%rcx),%xmm0
1823
paddd %xmm5,%xmm0
1824
.byte 102,15,56,0,247
1825
.byte 15,56,203,209
1826
pshufd $0x0e,%xmm0,%xmm0
1827
movdqa %xmm6,%xmm7
1828
.byte 102,15,58,15,253,4
1829
nop
1830
paddd %xmm7,%xmm3
1831
.byte 15,56,204,229
1832
.byte 15,56,203,202
1833
1834
movdqa 96-128(%rcx),%xmm0
1835
paddd %xmm6,%xmm0
1836
.byte 15,56,205,222
1837
.byte 15,56,203,209
1838
pshufd $0x0e,%xmm0,%xmm0
1839
movdqa %xmm3,%xmm7
1840
.byte 102,15,58,15,254,4
1841
nop
1842
paddd %xmm7,%xmm4
1843
.byte 15,56,204,238
1844
.byte 15,56,203,202
1845
movdqa 128-128(%rcx),%xmm0
1846
paddd %xmm3,%xmm0
1847
.byte 15,56,205,227
1848
.byte 15,56,203,209
1849
pshufd $0x0e,%xmm0,%xmm0
1850
movdqa %xmm4,%xmm7
1851
.byte 102,15,58,15,251,4
1852
nop
1853
paddd %xmm7,%xmm5
1854
.byte 15,56,204,243
1855
.byte 15,56,203,202
1856
movdqa 160-128(%rcx),%xmm0
1857
paddd %xmm4,%xmm0
1858
.byte 15,56,205,236
1859
.byte 15,56,203,209
1860
pshufd $0x0e,%xmm0,%xmm0
1861
movdqa %xmm5,%xmm7
1862
.byte 102,15,58,15,252,4
1863
nop
1864
paddd %xmm7,%xmm6
1865
.byte 15,56,204,220
1866
.byte 15,56,203,202
1867
movdqa 192-128(%rcx),%xmm0
1868
paddd %xmm5,%xmm0
1869
.byte 15,56,205,245
1870
.byte 15,56,203,209
1871
pshufd $0x0e,%xmm0,%xmm0
1872
movdqa %xmm6,%xmm7
1873
.byte 102,15,58,15,253,4
1874
nop
1875
paddd %xmm7,%xmm3
1876
.byte 15,56,204,229
1877
.byte 15,56,203,202
1878
movdqa 224-128(%rcx),%xmm0
1879
paddd %xmm6,%xmm0
1880
.byte 15,56,205,222
1881
.byte 15,56,203,209
1882
pshufd $0x0e,%xmm0,%xmm0
1883
movdqa %xmm3,%xmm7
1884
.byte 102,15,58,15,254,4
1885
nop
1886
paddd %xmm7,%xmm4
1887
.byte 15,56,204,238
1888
.byte 15,56,203,202
1889
movdqa 256-128(%rcx),%xmm0
1890
paddd %xmm3,%xmm0
1891
.byte 15,56,205,227
1892
.byte 15,56,203,209
1893
pshufd $0x0e,%xmm0,%xmm0
1894
movdqa %xmm4,%xmm7
1895
.byte 102,15,58,15,251,4
1896
nop
1897
paddd %xmm7,%xmm5
1898
.byte 15,56,204,243
1899
.byte 15,56,203,202
1900
movdqa 288-128(%rcx),%xmm0
1901
paddd %xmm4,%xmm0
1902
.byte 15,56,205,236
1903
.byte 15,56,203,209
1904
pshufd $0x0e,%xmm0,%xmm0
1905
movdqa %xmm5,%xmm7
1906
.byte 102,15,58,15,252,4
1907
nop
1908
paddd %xmm7,%xmm6
1909
.byte 15,56,204,220
1910
.byte 15,56,203,202
1911
movdqa 320-128(%rcx),%xmm0
1912
paddd %xmm5,%xmm0
1913
.byte 15,56,205,245
1914
.byte 15,56,203,209
1915
pshufd $0x0e,%xmm0,%xmm0
1916
movdqa %xmm6,%xmm7
1917
.byte 102,15,58,15,253,4
1918
nop
1919
paddd %xmm7,%xmm3
1920
.byte 15,56,204,229
1921
.byte 15,56,203,202
1922
movdqa 352-128(%rcx),%xmm0
1923
paddd %xmm6,%xmm0
1924
.byte 15,56,205,222
1925
.byte 15,56,203,209
1926
pshufd $0x0e,%xmm0,%xmm0
1927
movdqa %xmm3,%xmm7
1928
.byte 102,15,58,15,254,4
1929
nop
1930
paddd %xmm7,%xmm4
1931
.byte 15,56,204,238
1932
.byte 15,56,203,202
1933
movdqa 384-128(%rcx),%xmm0
1934
paddd %xmm3,%xmm0
1935
.byte 15,56,205,227
1936
.byte 15,56,203,209
1937
pshufd $0x0e,%xmm0,%xmm0
1938
movdqa %xmm4,%xmm7
1939
.byte 102,15,58,15,251,4
1940
nop
1941
paddd %xmm7,%xmm5
1942
.byte 15,56,204,243
1943
.byte 15,56,203,202
1944
movdqa 416-128(%rcx),%xmm0
1945
paddd %xmm4,%xmm0
1946
.byte 15,56,205,236
1947
.byte 15,56,203,209
1948
pshufd $0x0e,%xmm0,%xmm0
1949
movdqa %xmm5,%xmm7
1950
.byte 102,15,58,15,252,4
1951
.byte 15,56,203,202
1952
paddd %xmm7,%xmm6
1953
1954
movdqa 448-128(%rcx),%xmm0
1955
paddd %xmm5,%xmm0
1956
.byte 15,56,203,209
1957
pshufd $0x0e,%xmm0,%xmm0
1958
.byte 15,56,205,245
1959
movdqa %xmm8,%xmm7
1960
.byte 15,56,203,202
1961
1962
movdqa 480-128(%rcx),%xmm0
1963
paddd %xmm6,%xmm0
1964
nop
1965
.byte 15,56,203,209
1966
pshufd $0x0e,%xmm0,%xmm0
1967
decq %rdx
1968
nop
1969
.byte 15,56,203,202
1970
1971
paddd %xmm10,%xmm2
1972
paddd %xmm9,%xmm1
1973
jnz .Loop_shaext
1974
1975
pshufd $0xb1,%xmm2,%xmm2
1976
pshufd $0x1b,%xmm1,%xmm7
1977
pshufd $0xb1,%xmm1,%xmm1
1978
punpckhqdq %xmm2,%xmm1
1979
.byte 102,15,58,15,215,8
1980
1981
movdqu %xmm1,(%rdi)
1982
movdqu %xmm2,16(%rdi)
1983
.byte 0xf3,0xc3
1984
.cfi_endproc
1985
.size sha256_block_data_order_shaext,.-sha256_block_data_order_shaext
1986
.type sha256_block_data_order_ssse3,@function
1987
.align 64
1988
sha256_block_data_order_ssse3:
1989
.cfi_startproc
1990
.Lssse3_shortcut:
1991
movq %rsp,%rax
1992
.cfi_def_cfa_register %rax
1993
pushq %rbx
1994
.cfi_offset %rbx,-16
1995
pushq %rbp
1996
.cfi_offset %rbp,-24
1997
pushq %r12
1998
.cfi_offset %r12,-32
1999
pushq %r13
2000
.cfi_offset %r13,-40
2001
pushq %r14
2002
.cfi_offset %r14,-48
2003
pushq %r15
2004
.cfi_offset %r15,-56
2005
shlq $4,%rdx
2006
subq $96,%rsp
2007
leaq (%rsi,%rdx,4),%rdx
2008
andq $-64,%rsp
2009
movq %rdi,64+0(%rsp)
2010
movq %rsi,64+8(%rsp)
2011
movq %rdx,64+16(%rsp)
2012
movq %rax,88(%rsp)
2013
.cfi_escape 0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
2014
.Lprologue_ssse3:
2015
2016
movl 0(%rdi),%eax
2017
movl 4(%rdi),%ebx
2018
movl 8(%rdi),%ecx
2019
movl 12(%rdi),%edx
2020
movl 16(%rdi),%r8d
2021
movl 20(%rdi),%r9d
2022
movl 24(%rdi),%r10d
2023
movl 28(%rdi),%r11d
2024
2025
2026
jmp .Lloop_ssse3
2027
.align 16
2028
.Lloop_ssse3:
2029
movdqa K256+512(%rip),%xmm7
2030
movdqu 0(%rsi),%xmm0
2031
movdqu 16(%rsi),%xmm1
2032
movdqu 32(%rsi),%xmm2
2033
.byte 102,15,56,0,199
2034
movdqu 48(%rsi),%xmm3
2035
leaq K256(%rip),%rbp
2036
.byte 102,15,56,0,207
2037
movdqa 0(%rbp),%xmm4
2038
movdqa 32(%rbp),%xmm5
2039
.byte 102,15,56,0,215
2040
paddd %xmm0,%xmm4
2041
movdqa 64(%rbp),%xmm6
2042
.byte 102,15,56,0,223
2043
movdqa 96(%rbp),%xmm7
2044
paddd %xmm1,%xmm5
2045
paddd %xmm2,%xmm6
2046
paddd %xmm3,%xmm7
2047
movdqa %xmm4,0(%rsp)
2048
movl %eax,%r14d
2049
movdqa %xmm5,16(%rsp)
2050
movl %ebx,%edi
2051
movdqa %xmm6,32(%rsp)
2052
xorl %ecx,%edi
2053
movdqa %xmm7,48(%rsp)
2054
movl %r8d,%r13d
2055
jmp .Lssse3_00_47
2056
2057
.align 16
2058
.Lssse3_00_47:
2059
subq $-128,%rbp
2060
rorl $14,%r13d
2061
movdqa %xmm1,%xmm4
2062
movl %r14d,%eax
2063
movl %r9d,%r12d
2064
movdqa %xmm3,%xmm7
2065
rorl $9,%r14d
2066
xorl %r8d,%r13d
2067
xorl %r10d,%r12d
2068
rorl $5,%r13d
2069
xorl %eax,%r14d
2070
.byte 102,15,58,15,224,4
2071
andl %r8d,%r12d
2072
xorl %r8d,%r13d
2073
.byte 102,15,58,15,250,4
2074
addl 0(%rsp),%r11d
2075
movl %eax,%r15d
2076
xorl %r10d,%r12d
2077
rorl $11,%r14d
2078
movdqa %xmm4,%xmm5
2079
xorl %ebx,%r15d
2080
addl %r12d,%r11d
2081
movdqa %xmm4,%xmm6
2082
rorl $6,%r13d
2083
andl %r15d,%edi
2084
psrld $3,%xmm4
2085
xorl %eax,%r14d
2086
addl %r13d,%r11d
2087
xorl %ebx,%edi
2088
paddd %xmm7,%xmm0
2089
rorl $2,%r14d
2090
addl %r11d,%edx
2091
psrld $7,%xmm6
2092
addl %edi,%r11d
2093
movl %edx,%r13d
2094
pshufd $250,%xmm3,%xmm7
2095
addl %r11d,%r14d
2096
rorl $14,%r13d
2097
pslld $14,%xmm5
2098
movl %r14d,%r11d
2099
movl %r8d,%r12d
2100
pxor %xmm6,%xmm4
2101
rorl $9,%r14d
2102
xorl %edx,%r13d
2103
xorl %r9d,%r12d
2104
rorl $5,%r13d
2105
psrld $11,%xmm6
2106
xorl %r11d,%r14d
2107
pxor %xmm5,%xmm4
2108
andl %edx,%r12d
2109
xorl %edx,%r13d
2110
pslld $11,%xmm5
2111
addl 4(%rsp),%r10d
2112
movl %r11d,%edi
2113
pxor %xmm6,%xmm4
2114
xorl %r9d,%r12d
2115
rorl $11,%r14d
2116
movdqa %xmm7,%xmm6
2117
xorl %eax,%edi
2118
addl %r12d,%r10d
2119
pxor %xmm5,%xmm4
2120
rorl $6,%r13d
2121
andl %edi,%r15d
2122
xorl %r11d,%r14d
2123
psrld $10,%xmm7
2124
addl %r13d,%r10d
2125
xorl %eax,%r15d
2126
paddd %xmm4,%xmm0
2127
rorl $2,%r14d
2128
addl %r10d,%ecx
2129
psrlq $17,%xmm6
2130
addl %r15d,%r10d
2131
movl %ecx,%r13d
2132
addl %r10d,%r14d
2133
pxor %xmm6,%xmm7
2134
rorl $14,%r13d
2135
movl %r14d,%r10d
2136
movl %edx,%r12d
2137
rorl $9,%r14d
2138
psrlq $2,%xmm6
2139
xorl %ecx,%r13d
2140
xorl %r8d,%r12d
2141
pxor %xmm6,%xmm7
2142
rorl $5,%r13d
2143
xorl %r10d,%r14d
2144
andl %ecx,%r12d
2145
pshufd $128,%xmm7,%xmm7
2146
xorl %ecx,%r13d
2147
addl 8(%rsp),%r9d
2148
movl %r10d,%r15d
2149
psrldq $8,%xmm7
2150
xorl %r8d,%r12d
2151
rorl $11,%r14d
2152
xorl %r11d,%r15d
2153
addl %r12d,%r9d
2154
rorl $6,%r13d
2155
paddd %xmm7,%xmm0
2156
andl %r15d,%edi
2157
xorl %r10d,%r14d
2158
addl %r13d,%r9d
2159
pshufd $80,%xmm0,%xmm7
2160
xorl %r11d,%edi
2161
rorl $2,%r14d
2162
addl %r9d,%ebx
2163
movdqa %xmm7,%xmm6
2164
addl %edi,%r9d
2165
movl %ebx,%r13d
2166
psrld $10,%xmm7
2167
addl %r9d,%r14d
2168
rorl $14,%r13d
2169
psrlq $17,%xmm6
2170
movl %r14d,%r9d
2171
movl %ecx,%r12d
2172
pxor %xmm6,%xmm7
2173
rorl $9,%r14d
2174
xorl %ebx,%r13d
2175
xorl %edx,%r12d
2176
rorl $5,%r13d
2177
xorl %r9d,%r14d
2178
psrlq $2,%xmm6
2179
andl %ebx,%r12d
2180
xorl %ebx,%r13d
2181
addl 12(%rsp),%r8d
2182
pxor %xmm6,%xmm7
2183
movl %r9d,%edi
2184
xorl %edx,%r12d
2185
rorl $11,%r14d
2186
pshufd $8,%xmm7,%xmm7
2187
xorl %r10d,%edi
2188
addl %r12d,%r8d
2189
movdqa 0(%rbp),%xmm6
2190
rorl $6,%r13d
2191
andl %edi,%r15d
2192
pslldq $8,%xmm7
2193
xorl %r9d,%r14d
2194
addl %r13d,%r8d
2195
xorl %r10d,%r15d
2196
paddd %xmm7,%xmm0
2197
rorl $2,%r14d
2198
addl %r8d,%eax
2199
addl %r15d,%r8d
2200
paddd %xmm0,%xmm6
2201
movl %eax,%r13d
2202
addl %r8d,%r14d
2203
movdqa %xmm6,0(%rsp)
2204
rorl $14,%r13d
2205
movdqa %xmm2,%xmm4
2206
movl %r14d,%r8d
2207
movl %ebx,%r12d
2208
movdqa %xmm0,%xmm7
2209
rorl $9,%r14d
2210
xorl %eax,%r13d
2211
xorl %ecx,%r12d
2212
rorl $5,%r13d
2213
xorl %r8d,%r14d
2214
.byte 102,15,58,15,225,4
2215
andl %eax,%r12d
2216
xorl %eax,%r13d
2217
.byte 102,15,58,15,251,4
2218
addl 16(%rsp),%edx
2219
movl %r8d,%r15d
2220
xorl %ecx,%r12d
2221
rorl $11,%r14d
2222
movdqa %xmm4,%xmm5
2223
xorl %r9d,%r15d
2224
addl %r12d,%edx
2225
movdqa %xmm4,%xmm6
2226
rorl $6,%r13d
2227
andl %r15d,%edi
2228
psrld $3,%xmm4
2229
xorl %r8d,%r14d
2230
addl %r13d,%edx
2231
xorl %r9d,%edi
2232
paddd %xmm7,%xmm1
2233
rorl $2,%r14d
2234
addl %edx,%r11d
2235
psrld $7,%xmm6
2236
addl %edi,%edx
2237
movl %r11d,%r13d
2238
pshufd $250,%xmm0,%xmm7
2239
addl %edx,%r14d
2240
rorl $14,%r13d
2241
pslld $14,%xmm5
2242
movl %r14d,%edx
2243
movl %eax,%r12d
2244
pxor %xmm6,%xmm4
2245
rorl $9,%r14d
2246
xorl %r11d,%r13d
2247
xorl %ebx,%r12d
2248
rorl $5,%r13d
2249
psrld $11,%xmm6
2250
xorl %edx,%r14d
2251
pxor %xmm5,%xmm4
2252
andl %r11d,%r12d
2253
xorl %r11d,%r13d
2254
pslld $11,%xmm5
2255
addl 20(%rsp),%ecx
2256
movl %edx,%edi
2257
pxor %xmm6,%xmm4
2258
xorl %ebx,%r12d
2259
rorl $11,%r14d
2260
movdqa %xmm7,%xmm6
2261
xorl %r8d,%edi
2262
addl %r12d,%ecx
2263
pxor %xmm5,%xmm4
2264
rorl $6,%r13d
2265
andl %edi,%r15d
2266
xorl %edx,%r14d
2267
psrld $10,%xmm7
2268
addl %r13d,%ecx
2269
xorl %r8d,%r15d
2270
paddd %xmm4,%xmm1
2271
rorl $2,%r14d
2272
addl %ecx,%r10d
2273
psrlq $17,%xmm6
2274
addl %r15d,%ecx
2275
movl %r10d,%r13d
2276
addl %ecx,%r14d
2277
pxor %xmm6,%xmm7
2278
rorl $14,%r13d
2279
movl %r14d,%ecx
2280
movl %r11d,%r12d
2281
rorl $9,%r14d
2282
psrlq $2,%xmm6
2283
xorl %r10d,%r13d
2284
xorl %eax,%r12d
2285
pxor %xmm6,%xmm7
2286
rorl $5,%r13d
2287
xorl %ecx,%r14d
2288
andl %r10d,%r12d
2289
pshufd $128,%xmm7,%xmm7
2290
xorl %r10d,%r13d
2291
addl 24(%rsp),%ebx
2292
movl %ecx,%r15d
2293
psrldq $8,%xmm7
2294
xorl %eax,%r12d
2295
rorl $11,%r14d
2296
xorl %edx,%r15d
2297
addl %r12d,%ebx
2298
rorl $6,%r13d
2299
paddd %xmm7,%xmm1
2300
andl %r15d,%edi
2301
xorl %ecx,%r14d
2302
addl %r13d,%ebx
2303
pshufd $80,%xmm1,%xmm7
2304
xorl %edx,%edi
2305
rorl $2,%r14d
2306
addl %ebx,%r9d
2307
movdqa %xmm7,%xmm6
2308
addl %edi,%ebx
2309
movl %r9d,%r13d
2310
psrld $10,%xmm7
2311
addl %ebx,%r14d
2312
rorl $14,%r13d
2313
psrlq $17,%xmm6
2314
movl %r14d,%ebx
2315
movl %r10d,%r12d
2316
pxor %xmm6,%xmm7
2317
rorl $9,%r14d
2318
xorl %r9d,%r13d
2319
xorl %r11d,%r12d
2320
rorl $5,%r13d
2321
xorl %ebx,%r14d
2322
psrlq $2,%xmm6
2323
andl %r9d,%r12d
2324
xorl %r9d,%r13d
2325
addl 28(%rsp),%eax
2326
pxor %xmm6,%xmm7
2327
movl %ebx,%edi
2328
xorl %r11d,%r12d
2329
rorl $11,%r14d
2330
pshufd $8,%xmm7,%xmm7
2331
xorl %ecx,%edi
2332
addl %r12d,%eax
2333
movdqa 32(%rbp),%xmm6
2334
rorl $6,%r13d
2335
andl %edi,%r15d
2336
pslldq $8,%xmm7
2337
xorl %ebx,%r14d
2338
addl %r13d,%eax
2339
xorl %ecx,%r15d
2340
paddd %xmm7,%xmm1
2341
rorl $2,%r14d
2342
addl %eax,%r8d
2343
addl %r15d,%eax
2344
paddd %xmm1,%xmm6
2345
movl %r8d,%r13d
2346
addl %eax,%r14d
2347
movdqa %xmm6,16(%rsp)
2348
rorl $14,%r13d
2349
movdqa %xmm3,%xmm4
2350
movl %r14d,%eax
2351
movl %r9d,%r12d
2352
movdqa %xmm1,%xmm7
2353
rorl $9,%r14d
2354
xorl %r8d,%r13d
2355
xorl %r10d,%r12d
2356
rorl $5,%r13d
2357
xorl %eax,%r14d
2358
.byte 102,15,58,15,226,4
2359
andl %r8d,%r12d
2360
xorl %r8d,%r13d
2361
.byte 102,15,58,15,248,4
2362
addl 32(%rsp),%r11d
2363
movl %eax,%r15d
2364
xorl %r10d,%r12d
2365
rorl $11,%r14d
2366
movdqa %xmm4,%xmm5
2367
xorl %ebx,%r15d
2368
addl %r12d,%r11d
2369
movdqa %xmm4,%xmm6
2370
rorl $6,%r13d
2371
andl %r15d,%edi
2372
psrld $3,%xmm4
2373
xorl %eax,%r14d
2374
addl %r13d,%r11d
2375
xorl %ebx,%edi
2376
paddd %xmm7,%xmm2
2377
rorl $2,%r14d
2378
addl %r11d,%edx
2379
psrld $7,%xmm6
2380
addl %edi,%r11d
2381
movl %edx,%r13d
2382
pshufd $250,%xmm1,%xmm7
2383
addl %r11d,%r14d
2384
rorl $14,%r13d
2385
pslld $14,%xmm5
2386
movl %r14d,%r11d
2387
movl %r8d,%r12d
2388
pxor %xmm6,%xmm4
2389
rorl $9,%r14d
2390
xorl %edx,%r13d
2391
xorl %r9d,%r12d
2392
rorl $5,%r13d
2393
psrld $11,%xmm6
2394
xorl %r11d,%r14d
2395
pxor %xmm5,%xmm4
2396
andl %edx,%r12d
2397
xorl %edx,%r13d
2398
pslld $11,%xmm5
2399
addl 36(%rsp),%r10d
2400
movl %r11d,%edi
2401
pxor %xmm6,%xmm4
2402
xorl %r9d,%r12d
2403
rorl $11,%r14d
2404
movdqa %xmm7,%xmm6
2405
xorl %eax,%edi
2406
addl %r12d,%r10d
2407
pxor %xmm5,%xmm4
2408
rorl $6,%r13d
2409
andl %edi,%r15d
2410
xorl %r11d,%r14d
2411
psrld $10,%xmm7
2412
addl %r13d,%r10d
2413
xorl %eax,%r15d
2414
paddd %xmm4,%xmm2
2415
rorl $2,%r14d
2416
addl %r10d,%ecx
2417
psrlq $17,%xmm6
2418
addl %r15d,%r10d
2419
movl %ecx,%r13d
2420
addl %r10d,%r14d
2421
pxor %xmm6,%xmm7
2422
rorl $14,%r13d
2423
movl %r14d,%r10d
2424
movl %edx,%r12d
2425
rorl $9,%r14d
2426
psrlq $2,%xmm6
2427
xorl %ecx,%r13d
2428
xorl %r8d,%r12d
2429
pxor %xmm6,%xmm7
2430
rorl $5,%r13d
2431
xorl %r10d,%r14d
2432
andl %ecx,%r12d
2433
pshufd $128,%xmm7,%xmm7
2434
xorl %ecx,%r13d
2435
addl 40(%rsp),%r9d
2436
movl %r10d,%r15d
2437
psrldq $8,%xmm7
2438
xorl %r8d,%r12d
2439
rorl $11,%r14d
2440
xorl %r11d,%r15d
2441
addl %r12d,%r9d
2442
rorl $6,%r13d
2443
paddd %xmm7,%xmm2
2444
andl %r15d,%edi
2445
xorl %r10d,%r14d
2446
addl %r13d,%r9d
2447
pshufd $80,%xmm2,%xmm7
2448
xorl %r11d,%edi
2449
rorl $2,%r14d
2450
addl %r9d,%ebx
2451
movdqa %xmm7,%xmm6
2452
addl %edi,%r9d
2453
movl %ebx,%r13d
2454
psrld $10,%xmm7
2455
addl %r9d,%r14d
2456
rorl $14,%r13d
2457
psrlq $17,%xmm6
2458
movl %r14d,%r9d
2459
movl %ecx,%r12d
2460
pxor %xmm6,%xmm7
2461
rorl $9,%r14d
2462
xorl %ebx,%r13d
2463
xorl %edx,%r12d
2464
rorl $5,%r13d
2465
xorl %r9d,%r14d
2466
psrlq $2,%xmm6
2467
andl %ebx,%r12d
2468
xorl %ebx,%r13d
2469
addl 44(%rsp),%r8d
2470
pxor %xmm6,%xmm7
2471
movl %r9d,%edi
2472
xorl %edx,%r12d
2473
rorl $11,%r14d
2474
pshufd $8,%xmm7,%xmm7
2475
xorl %r10d,%edi
2476
addl %r12d,%r8d
2477
movdqa 64(%rbp),%xmm6
2478
rorl $6,%r13d
2479
andl %edi,%r15d
2480
pslldq $8,%xmm7
2481
xorl %r9d,%r14d
2482
addl %r13d,%r8d
2483
xorl %r10d,%r15d
2484
paddd %xmm7,%xmm2
2485
rorl $2,%r14d
2486
addl %r8d,%eax
2487
addl %r15d,%r8d
2488
paddd %xmm2,%xmm6
2489
movl %eax,%r13d
2490
addl %r8d,%r14d
2491
movdqa %xmm6,32(%rsp)
2492
rorl $14,%r13d
2493
movdqa %xmm0,%xmm4
2494
movl %r14d,%r8d
2495
movl %ebx,%r12d
2496
movdqa %xmm2,%xmm7
2497
rorl $9,%r14d
2498
xorl %eax,%r13d
2499
xorl %ecx,%r12d
2500
rorl $5,%r13d
2501
xorl %r8d,%r14d
2502
.byte 102,15,58,15,227,4
2503
andl %eax,%r12d
2504
xorl %eax,%r13d
2505
.byte 102,15,58,15,249,4
2506
addl 48(%rsp),%edx
2507
movl %r8d,%r15d
2508
xorl %ecx,%r12d
2509
rorl $11,%r14d
2510
movdqa %xmm4,%xmm5
2511
xorl %r9d,%r15d
2512
addl %r12d,%edx
2513
movdqa %xmm4,%xmm6
2514
rorl $6,%r13d
2515
andl %r15d,%edi
2516
psrld $3,%xmm4
2517
xorl %r8d,%r14d
2518
addl %r13d,%edx
2519
xorl %r9d,%edi
2520
paddd %xmm7,%xmm3
2521
rorl $2,%r14d
2522
addl %edx,%r11d
2523
psrld $7,%xmm6
2524
addl %edi,%edx
2525
movl %r11d,%r13d
2526
pshufd $250,%xmm2,%xmm7
2527
addl %edx,%r14d
2528
rorl $14,%r13d
2529
pslld $14,%xmm5
2530
movl %r14d,%edx
2531
movl %eax,%r12d
2532
pxor %xmm6,%xmm4
2533
rorl $9,%r14d
2534
xorl %r11d,%r13d
2535
xorl %ebx,%r12d
2536
rorl $5,%r13d
2537
psrld $11,%xmm6
2538
xorl %edx,%r14d
2539
pxor %xmm5,%xmm4
2540
andl %r11d,%r12d
2541
xorl %r11d,%r13d
2542
pslld $11,%xmm5
2543
addl 52(%rsp),%ecx
2544
movl %edx,%edi
2545
pxor %xmm6,%xmm4
2546
xorl %ebx,%r12d
2547
rorl $11,%r14d
2548
movdqa %xmm7,%xmm6
2549
xorl %r8d,%edi
2550
addl %r12d,%ecx
2551
pxor %xmm5,%xmm4
2552
rorl $6,%r13d
2553
andl %edi,%r15d
2554
xorl %edx,%r14d
2555
psrld $10,%xmm7
2556
addl %r13d,%ecx
2557
xorl %r8d,%r15d
2558
paddd %xmm4,%xmm3
2559
rorl $2,%r14d
2560
addl %ecx,%r10d
2561
psrlq $17,%xmm6
2562
addl %r15d,%ecx
2563
movl %r10d,%r13d
2564
addl %ecx,%r14d
2565
pxor %xmm6,%xmm7
2566
rorl $14,%r13d
2567
movl %r14d,%ecx
2568
movl %r11d,%r12d
2569
rorl $9,%r14d
2570
psrlq $2,%xmm6
2571
xorl %r10d,%r13d
2572
xorl %eax,%r12d
2573
pxor %xmm6,%xmm7
2574
rorl $5,%r13d
2575
xorl %ecx,%r14d
2576
andl %r10d,%r12d
2577
pshufd $128,%xmm7,%xmm7
2578
xorl %r10d,%r13d
2579
addl 56(%rsp),%ebx
2580
movl %ecx,%r15d
2581
psrldq $8,%xmm7
2582
xorl %eax,%r12d
2583
rorl $11,%r14d
2584
xorl %edx,%r15d
2585
addl %r12d,%ebx
2586
rorl $6,%r13d
2587
paddd %xmm7,%xmm3
2588
andl %r15d,%edi
2589
xorl %ecx,%r14d
2590
addl %r13d,%ebx
2591
pshufd $80,%xmm3,%xmm7
2592
xorl %edx,%edi
2593
rorl $2,%r14d
2594
addl %ebx,%r9d
2595
movdqa %xmm7,%xmm6
2596
addl %edi,%ebx
2597
movl %r9d,%r13d
2598
psrld $10,%xmm7
2599
addl %ebx,%r14d
2600
rorl $14,%r13d
2601
psrlq $17,%xmm6
2602
movl %r14d,%ebx
2603
movl %r10d,%r12d
2604
pxor %xmm6,%xmm7
2605
rorl $9,%r14d
2606
xorl %r9d,%r13d
2607
xorl %r11d,%r12d
2608
rorl $5,%r13d
2609
xorl %ebx,%r14d
2610
psrlq $2,%xmm6
2611
andl %r9d,%r12d
2612
xorl %r9d,%r13d
2613
addl 60(%rsp),%eax
2614
pxor %xmm6,%xmm7
2615
movl %ebx,%edi
2616
xorl %r11d,%r12d
2617
rorl $11,%r14d
2618
pshufd $8,%xmm7,%xmm7
2619
xorl %ecx,%edi
2620
addl %r12d,%eax
2621
movdqa 96(%rbp),%xmm6
2622
rorl $6,%r13d
2623
andl %edi,%r15d
2624
pslldq $8,%xmm7
2625
xorl %ebx,%r14d
2626
addl %r13d,%eax
2627
xorl %ecx,%r15d
2628
paddd %xmm7,%xmm3
2629
rorl $2,%r14d
2630
addl %eax,%r8d
2631
addl %r15d,%eax
2632
paddd %xmm3,%xmm6
2633
movl %r8d,%r13d
2634
addl %eax,%r14d
2635
movdqa %xmm6,48(%rsp)
2636
cmpb $0,131(%rbp)
2637
jne .Lssse3_00_47
2638
rorl $14,%r13d
2639
movl %r14d,%eax
2640
movl %r9d,%r12d
2641
rorl $9,%r14d
2642
xorl %r8d,%r13d
2643
xorl %r10d,%r12d
2644
rorl $5,%r13d
2645
xorl %eax,%r14d
2646
andl %r8d,%r12d
2647
xorl %r8d,%r13d
2648
addl 0(%rsp),%r11d
2649
movl %eax,%r15d
2650
xorl %r10d,%r12d
2651
rorl $11,%r14d
2652
xorl %ebx,%r15d
2653
addl %r12d,%r11d
2654
rorl $6,%r13d
2655
andl %r15d,%edi
2656
xorl %eax,%r14d
2657
addl %r13d,%r11d
2658
xorl %ebx,%edi
2659
rorl $2,%r14d
2660
addl %r11d,%edx
2661
addl %edi,%r11d
2662
movl %edx,%r13d
2663
addl %r11d,%r14d
2664
rorl $14,%r13d
2665
movl %r14d,%r11d
2666
movl %r8d,%r12d
2667
rorl $9,%r14d
2668
xorl %edx,%r13d
2669
xorl %r9d,%r12d
2670
rorl $5,%r13d
2671
xorl %r11d,%r14d
2672
andl %edx,%r12d
2673
xorl %edx,%r13d
2674
addl 4(%rsp),%r10d
2675
movl %r11d,%edi
2676
xorl %r9d,%r12d
2677
rorl $11,%r14d
2678
xorl %eax,%edi
2679
addl %r12d,%r10d
2680
rorl $6,%r13d
2681
andl %edi,%r15d
2682
xorl %r11d,%r14d
2683
addl %r13d,%r10d
2684
xorl %eax,%r15d
2685
rorl $2,%r14d
2686
addl %r10d,%ecx
2687
addl %r15d,%r10d
2688
movl %ecx,%r13d
2689
addl %r10d,%r14d
2690
rorl $14,%r13d
2691
movl %r14d,%r10d
2692
movl %edx,%r12d
2693
rorl $9,%r14d
2694
xorl %ecx,%r13d
2695
xorl %r8d,%r12d
2696
rorl $5,%r13d
2697
xorl %r10d,%r14d
2698
andl %ecx,%r12d
2699
xorl %ecx,%r13d
2700
addl 8(%rsp),%r9d
2701
movl %r10d,%r15d
2702
xorl %r8d,%r12d
2703
rorl $11,%r14d
2704
xorl %r11d,%r15d
2705
addl %r12d,%r9d
2706
rorl $6,%r13d
2707
andl %r15d,%edi
2708
xorl %r10d,%r14d
2709
addl %r13d,%r9d
2710
xorl %r11d,%edi
2711
rorl $2,%r14d
2712
addl %r9d,%ebx
2713
addl %edi,%r9d
2714
movl %ebx,%r13d
2715
addl %r9d,%r14d
2716
rorl $14,%r13d
2717
movl %r14d,%r9d
2718
movl %ecx,%r12d
2719
rorl $9,%r14d
2720
xorl %ebx,%r13d
2721
xorl %edx,%r12d
2722
rorl $5,%r13d
2723
xorl %r9d,%r14d
2724
andl %ebx,%r12d
2725
xorl %ebx,%r13d
2726
addl 12(%rsp),%r8d
2727
movl %r9d,%edi
2728
xorl %edx,%r12d
2729
rorl $11,%r14d
2730
xorl %r10d,%edi
2731
addl %r12d,%r8d
2732
rorl $6,%r13d
2733
andl %edi,%r15d
2734
xorl %r9d,%r14d
2735
addl %r13d,%r8d
2736
xorl %r10d,%r15d
2737
rorl $2,%r14d
2738
addl %r8d,%eax
2739
addl %r15d,%r8d
2740
movl %eax,%r13d
2741
addl %r8d,%r14d
2742
rorl $14,%r13d
2743
movl %r14d,%r8d
2744
movl %ebx,%r12d
2745
rorl $9,%r14d
2746
xorl %eax,%r13d
2747
xorl %ecx,%r12d
2748
rorl $5,%r13d
2749
xorl %r8d,%r14d
2750
andl %eax,%r12d
2751
xorl %eax,%r13d
2752
addl 16(%rsp),%edx
2753
movl %r8d,%r15d
2754
xorl %ecx,%r12d
2755
rorl $11,%r14d
2756
xorl %r9d,%r15d
2757
addl %r12d,%edx
2758
rorl $6,%r13d
2759
andl %r15d,%edi
2760
xorl %r8d,%r14d
2761
addl %r13d,%edx
2762
xorl %r9d,%edi
2763
rorl $2,%r14d
2764
addl %edx,%r11d
2765
addl %edi,%edx
2766
movl %r11d,%r13d
2767
addl %edx,%r14d
2768
rorl $14,%r13d
2769
movl %r14d,%edx
2770
movl %eax,%r12d
2771
rorl $9,%r14d
2772
xorl %r11d,%r13d
2773
xorl %ebx,%r12d
2774
rorl $5,%r13d
2775
xorl %edx,%r14d
2776
andl %r11d,%r12d
2777
xorl %r11d,%r13d
2778
addl 20(%rsp),%ecx
2779
movl %edx,%edi
2780
xorl %ebx,%r12d
2781
rorl $11,%r14d
2782
xorl %r8d,%edi
2783
addl %r12d,%ecx
2784
rorl $6,%r13d
2785
andl %edi,%r15d
2786
xorl %edx,%r14d
2787
addl %r13d,%ecx
2788
xorl %r8d,%r15d
2789
rorl $2,%r14d
2790
addl %ecx,%r10d
2791
addl %r15d,%ecx
2792
movl %r10d,%r13d
2793
addl %ecx,%r14d
2794
rorl $14,%r13d
2795
movl %r14d,%ecx
2796
movl %r11d,%r12d
2797
rorl $9,%r14d
2798
xorl %r10d,%r13d
2799
xorl %eax,%r12d
2800
rorl $5,%r13d
2801
xorl %ecx,%r14d
2802
andl %r10d,%r12d
2803
xorl %r10d,%r13d
2804
addl 24(%rsp),%ebx
2805
movl %ecx,%r15d
2806
xorl %eax,%r12d
2807
rorl $11,%r14d
2808
xorl %edx,%r15d
2809
addl %r12d,%ebx
2810
rorl $6,%r13d
2811
andl %r15d,%edi
2812
xorl %ecx,%r14d
2813
addl %r13d,%ebx
2814
xorl %edx,%edi
2815
rorl $2,%r14d
2816
addl %ebx,%r9d
2817
addl %edi,%ebx
2818
movl %r9d,%r13d
2819
addl %ebx,%r14d
2820
rorl $14,%r13d
2821
movl %r14d,%ebx
2822
movl %r10d,%r12d
2823
rorl $9,%r14d
2824
xorl %r9d,%r13d
2825
xorl %r11d,%r12d
2826
rorl $5,%r13d
2827
xorl %ebx,%r14d
2828
andl %r9d,%r12d
2829
xorl %r9d,%r13d
2830
addl 28(%rsp),%eax
2831
movl %ebx,%edi
2832
xorl %r11d,%r12d
2833
rorl $11,%r14d
2834
xorl %ecx,%edi
2835
addl %r12d,%eax
2836
rorl $6,%r13d
2837
andl %edi,%r15d
2838
xorl %ebx,%r14d
2839
addl %r13d,%eax
2840
xorl %ecx,%r15d
2841
rorl $2,%r14d
2842
addl %eax,%r8d
2843
addl %r15d,%eax
2844
movl %r8d,%r13d
2845
addl %eax,%r14d
2846
rorl $14,%r13d
2847
movl %r14d,%eax
2848
movl %r9d,%r12d
2849
rorl $9,%r14d
2850
xorl %r8d,%r13d
2851
xorl %r10d,%r12d
2852
rorl $5,%r13d
2853
xorl %eax,%r14d
2854
andl %r8d,%r12d
2855
xorl %r8d,%r13d
2856
addl 32(%rsp),%r11d
2857
movl %eax,%r15d
2858
xorl %r10d,%r12d
2859
rorl $11,%r14d
2860
xorl %ebx,%r15d
2861
addl %r12d,%r11d
2862
rorl $6,%r13d
2863
andl %r15d,%edi
2864
xorl %eax,%r14d
2865
addl %r13d,%r11d
2866
xorl %ebx,%edi
2867
rorl $2,%r14d
2868
addl %r11d,%edx
2869
addl %edi,%r11d
2870
movl %edx,%r13d
2871
addl %r11d,%r14d
2872
rorl $14,%r13d
2873
movl %r14d,%r11d
2874
movl %r8d,%r12d
2875
rorl $9,%r14d
2876
xorl %edx,%r13d
2877
xorl %r9d,%r12d
2878
rorl $5,%r13d
2879
xorl %r11d,%r14d
2880
andl %edx,%r12d
2881
xorl %edx,%r13d
2882
addl 36(%rsp),%r10d
2883
movl %r11d,%edi
2884
xorl %r9d,%r12d
2885
rorl $11,%r14d
2886
xorl %eax,%edi
2887
addl %r12d,%r10d
2888
rorl $6,%r13d
2889
andl %edi,%r15d
2890
xorl %r11d,%r14d
2891
addl %r13d,%r10d
2892
xorl %eax,%r15d
2893
rorl $2,%r14d
2894
addl %r10d,%ecx
2895
addl %r15d,%r10d
2896
movl %ecx,%r13d
2897
addl %r10d,%r14d
2898
rorl $14,%r13d
2899
movl %r14d,%r10d
2900
movl %edx,%r12d
2901
rorl $9,%r14d
2902
xorl %ecx,%r13d
2903
xorl %r8d,%r12d
2904
rorl $5,%r13d
2905
xorl %r10d,%r14d
2906
andl %ecx,%r12d
2907
xorl %ecx,%r13d
2908
addl 40(%rsp),%r9d
2909
movl %r10d,%r15d
2910
xorl %r8d,%r12d
2911
rorl $11,%r14d
2912
xorl %r11d,%r15d
2913
addl %r12d,%r9d
2914
rorl $6,%r13d
2915
andl %r15d,%edi
2916
xorl %r10d,%r14d
2917
addl %r13d,%r9d
2918
xorl %r11d,%edi
2919
rorl $2,%r14d
2920
addl %r9d,%ebx
2921
addl %edi,%r9d
2922
movl %ebx,%r13d
2923
addl %r9d,%r14d
2924
rorl $14,%r13d
2925
movl %r14d,%r9d
2926
movl %ecx,%r12d
2927
rorl $9,%r14d
2928
xorl %ebx,%r13d
2929
xorl %edx,%r12d
2930
rorl $5,%r13d
2931
xorl %r9d,%r14d
2932
andl %ebx,%r12d
2933
xorl %ebx,%r13d
2934
addl 44(%rsp),%r8d
2935
movl %r9d,%edi
2936
xorl %edx,%r12d
2937
rorl $11,%r14d
2938
xorl %r10d,%edi
2939
addl %r12d,%r8d
2940
rorl $6,%r13d
2941
andl %edi,%r15d
2942
xorl %r9d,%r14d
2943
addl %r13d,%r8d
2944
xorl %r10d,%r15d
2945
rorl $2,%r14d
2946
addl %r8d,%eax
2947
addl %r15d,%r8d
2948
movl %eax,%r13d
2949
addl %r8d,%r14d
2950
rorl $14,%r13d
2951
movl %r14d,%r8d
2952
movl %ebx,%r12d
2953
rorl $9,%r14d
2954
xorl %eax,%r13d
2955
xorl %ecx,%r12d
2956
rorl $5,%r13d
2957
xorl %r8d,%r14d
2958
andl %eax,%r12d
2959
xorl %eax,%r13d
2960
addl 48(%rsp),%edx
2961
movl %r8d,%r15d
2962
xorl %ecx,%r12d
2963
rorl $11,%r14d
2964
xorl %r9d,%r15d
2965
addl %r12d,%edx
2966
rorl $6,%r13d
2967
andl %r15d,%edi
2968
xorl %r8d,%r14d
2969
addl %r13d,%edx
2970
xorl %r9d,%edi
2971
rorl $2,%r14d
2972
addl %edx,%r11d
2973
addl %edi,%edx
2974
movl %r11d,%r13d
2975
addl %edx,%r14d
2976
rorl $14,%r13d
2977
movl %r14d,%edx
2978
movl %eax,%r12d
2979
rorl $9,%r14d
2980
xorl %r11d,%r13d
2981
xorl %ebx,%r12d
2982
rorl $5,%r13d
2983
xorl %edx,%r14d
2984
andl %r11d,%r12d
2985
xorl %r11d,%r13d
2986
addl 52(%rsp),%ecx
2987
movl %edx,%edi
2988
xorl %ebx,%r12d
2989
rorl $11,%r14d
2990
xorl %r8d,%edi
2991
addl %r12d,%ecx
2992
rorl $6,%r13d
2993
andl %edi,%r15d
2994
xorl %edx,%r14d
2995
addl %r13d,%ecx
2996
xorl %r8d,%r15d
2997
rorl $2,%r14d
2998
addl %ecx,%r10d
2999
addl %r15d,%ecx
3000
movl %r10d,%r13d
3001
addl %ecx,%r14d
3002
rorl $14,%r13d
3003
movl %r14d,%ecx
3004
movl %r11d,%r12d
3005
rorl $9,%r14d
3006
xorl %r10d,%r13d
3007
xorl %eax,%r12d
3008
rorl $5,%r13d
3009
xorl %ecx,%r14d
3010
andl %r10d,%r12d
3011
xorl %r10d,%r13d
3012
addl 56(%rsp),%ebx
3013
movl %ecx,%r15d
3014
xorl %eax,%r12d
3015
rorl $11,%r14d
3016
xorl %edx,%r15d
3017
addl %r12d,%ebx
3018
rorl $6,%r13d
3019
andl %r15d,%edi
3020
xorl %ecx,%r14d
3021
addl %r13d,%ebx
3022
xorl %edx,%edi
3023
rorl $2,%r14d
3024
addl %ebx,%r9d
3025
addl %edi,%ebx
3026
movl %r9d,%r13d
3027
addl %ebx,%r14d
3028
rorl $14,%r13d
3029
movl %r14d,%ebx
3030
movl %r10d,%r12d
3031
rorl $9,%r14d
3032
xorl %r9d,%r13d
3033
xorl %r11d,%r12d
3034
rorl $5,%r13d
3035
xorl %ebx,%r14d
3036
andl %r9d,%r12d
3037
xorl %r9d,%r13d
3038
addl 60(%rsp),%eax
3039
movl %ebx,%edi
3040
xorl %r11d,%r12d
3041
rorl $11,%r14d
3042
xorl %ecx,%edi
3043
addl %r12d,%eax
3044
rorl $6,%r13d
3045
andl %edi,%r15d
3046
xorl %ebx,%r14d
3047
addl %r13d,%eax
3048
xorl %ecx,%r15d
3049
rorl $2,%r14d
3050
addl %eax,%r8d
3051
addl %r15d,%eax
3052
movl %r8d,%r13d
3053
addl %eax,%r14d
3054
movq 64+0(%rsp),%rdi
3055
movl %r14d,%eax
3056
3057
addl 0(%rdi),%eax
3058
leaq 64(%rsi),%rsi
3059
addl 4(%rdi),%ebx
3060
addl 8(%rdi),%ecx
3061
addl 12(%rdi),%edx
3062
addl 16(%rdi),%r8d
3063
addl 20(%rdi),%r9d
3064
addl 24(%rdi),%r10d
3065
addl 28(%rdi),%r11d
3066
3067
cmpq 64+16(%rsp),%rsi
3068
3069
movl %eax,0(%rdi)
3070
movl %ebx,4(%rdi)
3071
movl %ecx,8(%rdi)
3072
movl %edx,12(%rdi)
3073
movl %r8d,16(%rdi)
3074
movl %r9d,20(%rdi)
3075
movl %r10d,24(%rdi)
3076
movl %r11d,28(%rdi)
3077
jb .Lloop_ssse3
3078
3079
movq 88(%rsp),%rsi
3080
.cfi_def_cfa %rsi,8
3081
movq -48(%rsi),%r15
3082
.cfi_restore %r15
3083
movq -40(%rsi),%r14
3084
.cfi_restore %r14
3085
movq -32(%rsi),%r13
3086
.cfi_restore %r13
3087
movq -24(%rsi),%r12
3088
.cfi_restore %r12
3089
movq -16(%rsi),%rbp
3090
.cfi_restore %rbp
3091
movq -8(%rsi),%rbx
3092
.cfi_restore %rbx
3093
leaq (%rsi),%rsp
3094
.cfi_def_cfa_register %rsp
3095
.Lepilogue_ssse3:
3096
.byte 0xf3,0xc3
3097
.cfi_endproc
3098
.size sha256_block_data_order_ssse3,.-sha256_block_data_order_ssse3
3099
.type sha256_block_data_order_avx,@function
3100
.align 64
3101
sha256_block_data_order_avx:
3102
.cfi_startproc
3103
.Lavx_shortcut:
3104
movq %rsp,%rax
3105
.cfi_def_cfa_register %rax
3106
pushq %rbx
3107
.cfi_offset %rbx,-16
3108
pushq %rbp
3109
.cfi_offset %rbp,-24
3110
pushq %r12
3111
.cfi_offset %r12,-32
3112
pushq %r13
3113
.cfi_offset %r13,-40
3114
pushq %r14
3115
.cfi_offset %r14,-48
3116
pushq %r15
3117
.cfi_offset %r15,-56
3118
shlq $4,%rdx
3119
subq $96,%rsp
3120
leaq (%rsi,%rdx,4),%rdx
3121
andq $-64,%rsp
3122
movq %rdi,64+0(%rsp)
3123
movq %rsi,64+8(%rsp)
3124
movq %rdx,64+16(%rsp)
3125
movq %rax,88(%rsp)
3126
.cfi_escape 0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
3127
.Lprologue_avx:
3128
3129
vzeroupper
3130
movl 0(%rdi),%eax
3131
movl 4(%rdi),%ebx
3132
movl 8(%rdi),%ecx
3133
movl 12(%rdi),%edx
3134
movl 16(%rdi),%r8d
3135
movl 20(%rdi),%r9d
3136
movl 24(%rdi),%r10d
3137
movl 28(%rdi),%r11d
3138
vmovdqa K256+512+32(%rip),%xmm8
3139
vmovdqa K256+512+64(%rip),%xmm9
3140
jmp .Lloop_avx
3141
.align 16
3142
.Lloop_avx:
3143
vmovdqa K256+512(%rip),%xmm7
3144
vmovdqu 0(%rsi),%xmm0
3145
vmovdqu 16(%rsi),%xmm1
3146
vmovdqu 32(%rsi),%xmm2
3147
vmovdqu 48(%rsi),%xmm3
3148
vpshufb %xmm7,%xmm0,%xmm0
3149
leaq K256(%rip),%rbp
3150
vpshufb %xmm7,%xmm1,%xmm1
3151
vpshufb %xmm7,%xmm2,%xmm2
3152
vpaddd 0(%rbp),%xmm0,%xmm4
3153
vpshufb %xmm7,%xmm3,%xmm3
3154
vpaddd 32(%rbp),%xmm1,%xmm5
3155
vpaddd 64(%rbp),%xmm2,%xmm6
3156
vpaddd 96(%rbp),%xmm3,%xmm7
3157
vmovdqa %xmm4,0(%rsp)
3158
movl %eax,%r14d
3159
vmovdqa %xmm5,16(%rsp)
3160
movl %ebx,%edi
3161
vmovdqa %xmm6,32(%rsp)
3162
xorl %ecx,%edi
3163
vmovdqa %xmm7,48(%rsp)
3164
movl %r8d,%r13d
3165
jmp .Lavx_00_47
3166
3167
.align 16
3168
.Lavx_00_47:
3169
subq $-128,%rbp
3170
vpalignr $4,%xmm0,%xmm1,%xmm4
3171
shrdl $14,%r13d,%r13d
3172
movl %r14d,%eax
3173
movl %r9d,%r12d
3174
vpalignr $4,%xmm2,%xmm3,%xmm7
3175
shrdl $9,%r14d,%r14d
3176
xorl %r8d,%r13d
3177
xorl %r10d,%r12d
3178
vpsrld $7,%xmm4,%xmm6
3179
shrdl $5,%r13d,%r13d
3180
xorl %eax,%r14d
3181
andl %r8d,%r12d
3182
vpaddd %xmm7,%xmm0,%xmm0
3183
xorl %r8d,%r13d
3184
addl 0(%rsp),%r11d
3185
movl %eax,%r15d
3186
vpsrld $3,%xmm4,%xmm7
3187
xorl %r10d,%r12d
3188
shrdl $11,%r14d,%r14d
3189
xorl %ebx,%r15d
3190
vpslld $14,%xmm4,%xmm5
3191
addl %r12d,%r11d
3192
shrdl $6,%r13d,%r13d
3193
andl %r15d,%edi
3194
vpxor %xmm6,%xmm7,%xmm4
3195
xorl %eax,%r14d
3196
addl %r13d,%r11d
3197
xorl %ebx,%edi
3198
vpshufd $250,%xmm3,%xmm7
3199
shrdl $2,%r14d,%r14d
3200
addl %r11d,%edx
3201
addl %edi,%r11d
3202
vpsrld $11,%xmm6,%xmm6
3203
movl %edx,%r13d
3204
addl %r11d,%r14d
3205
shrdl $14,%r13d,%r13d
3206
vpxor %xmm5,%xmm4,%xmm4
3207
movl %r14d,%r11d
3208
movl %r8d,%r12d
3209
shrdl $9,%r14d,%r14d
3210
vpslld $11,%xmm5,%xmm5
3211
xorl %edx,%r13d
3212
xorl %r9d,%r12d
3213
shrdl $5,%r13d,%r13d
3214
vpxor %xmm6,%xmm4,%xmm4
3215
xorl %r11d,%r14d
3216
andl %edx,%r12d
3217
xorl %edx,%r13d
3218
vpsrld $10,%xmm7,%xmm6
3219
addl 4(%rsp),%r10d
3220
movl %r11d,%edi
3221
xorl %r9d,%r12d
3222
vpxor %xmm5,%xmm4,%xmm4
3223
shrdl $11,%r14d,%r14d
3224
xorl %eax,%edi
3225
addl %r12d,%r10d
3226
vpsrlq $17,%xmm7,%xmm7
3227
shrdl $6,%r13d,%r13d
3228
andl %edi,%r15d
3229
xorl %r11d,%r14d
3230
vpaddd %xmm4,%xmm0,%xmm0
3231
addl %r13d,%r10d
3232
xorl %eax,%r15d
3233
shrdl $2,%r14d,%r14d
3234
vpxor %xmm7,%xmm6,%xmm6
3235
addl %r10d,%ecx
3236
addl %r15d,%r10d
3237
movl %ecx,%r13d
3238
vpsrlq $2,%xmm7,%xmm7
3239
addl %r10d,%r14d
3240
shrdl $14,%r13d,%r13d
3241
movl %r14d,%r10d
3242
vpxor %xmm7,%xmm6,%xmm6
3243
movl %edx,%r12d
3244
shrdl $9,%r14d,%r14d
3245
xorl %ecx,%r13d
3246
vpshufb %xmm8,%xmm6,%xmm6
3247
xorl %r8d,%r12d
3248
shrdl $5,%r13d,%r13d
3249
xorl %r10d,%r14d
3250
vpaddd %xmm6,%xmm0,%xmm0
3251
andl %ecx,%r12d
3252
xorl %ecx,%r13d
3253
addl 8(%rsp),%r9d
3254
vpshufd $80,%xmm0,%xmm7
3255
movl %r10d,%r15d
3256
xorl %r8d,%r12d
3257
shrdl $11,%r14d,%r14d
3258
vpsrld $10,%xmm7,%xmm6
3259
xorl %r11d,%r15d
3260
addl %r12d,%r9d
3261
shrdl $6,%r13d,%r13d
3262
vpsrlq $17,%xmm7,%xmm7
3263
andl %r15d,%edi
3264
xorl %r10d,%r14d
3265
addl %r13d,%r9d
3266
vpxor %xmm7,%xmm6,%xmm6
3267
xorl %r11d,%edi
3268
shrdl $2,%r14d,%r14d
3269
addl %r9d,%ebx
3270
vpsrlq $2,%xmm7,%xmm7
3271
addl %edi,%r9d
3272
movl %ebx,%r13d
3273
addl %r9d,%r14d
3274
vpxor %xmm7,%xmm6,%xmm6
3275
shrdl $14,%r13d,%r13d
3276
movl %r14d,%r9d
3277
movl %ecx,%r12d
3278
vpshufb %xmm9,%xmm6,%xmm6
3279
shrdl $9,%r14d,%r14d
3280
xorl %ebx,%r13d
3281
xorl %edx,%r12d
3282
vpaddd %xmm6,%xmm0,%xmm0
3283
shrdl $5,%r13d,%r13d
3284
xorl %r9d,%r14d
3285
andl %ebx,%r12d
3286
vpaddd 0(%rbp),%xmm0,%xmm6
3287
xorl %ebx,%r13d
3288
addl 12(%rsp),%r8d
3289
movl %r9d,%edi
3290
xorl %edx,%r12d
3291
shrdl $11,%r14d,%r14d
3292
xorl %r10d,%edi
3293
addl %r12d,%r8d
3294
shrdl $6,%r13d,%r13d
3295
andl %edi,%r15d
3296
xorl %r9d,%r14d
3297
addl %r13d,%r8d
3298
xorl %r10d,%r15d
3299
shrdl $2,%r14d,%r14d
3300
addl %r8d,%eax
3301
addl %r15d,%r8d
3302
movl %eax,%r13d
3303
addl %r8d,%r14d
3304
vmovdqa %xmm6,0(%rsp)
3305
vpalignr $4,%xmm1,%xmm2,%xmm4
3306
shrdl $14,%r13d,%r13d
3307
movl %r14d,%r8d
3308
movl %ebx,%r12d
3309
vpalignr $4,%xmm3,%xmm0,%xmm7
3310
shrdl $9,%r14d,%r14d
3311
xorl %eax,%r13d
3312
xorl %ecx,%r12d
3313
vpsrld $7,%xmm4,%xmm6
3314
shrdl $5,%r13d,%r13d
3315
xorl %r8d,%r14d
3316
andl %eax,%r12d
3317
vpaddd %xmm7,%xmm1,%xmm1
3318
xorl %eax,%r13d
3319
addl 16(%rsp),%edx
3320
movl %r8d,%r15d
3321
vpsrld $3,%xmm4,%xmm7
3322
xorl %ecx,%r12d
3323
shrdl $11,%r14d,%r14d
3324
xorl %r9d,%r15d
3325
vpslld $14,%xmm4,%xmm5
3326
addl %r12d,%edx
3327
shrdl $6,%r13d,%r13d
3328
andl %r15d,%edi
3329
vpxor %xmm6,%xmm7,%xmm4
3330
xorl %r8d,%r14d
3331
addl %r13d,%edx
3332
xorl %r9d,%edi
3333
vpshufd $250,%xmm0,%xmm7
3334
shrdl $2,%r14d,%r14d
3335
addl %edx,%r11d
3336
addl %edi,%edx
3337
vpsrld $11,%xmm6,%xmm6
3338
movl %r11d,%r13d
3339
addl %edx,%r14d
3340
shrdl $14,%r13d,%r13d
3341
vpxor %xmm5,%xmm4,%xmm4
3342
movl %r14d,%edx
3343
movl %eax,%r12d
3344
shrdl $9,%r14d,%r14d
3345
vpslld $11,%xmm5,%xmm5
3346
xorl %r11d,%r13d
3347
xorl %ebx,%r12d
3348
shrdl $5,%r13d,%r13d
3349
vpxor %xmm6,%xmm4,%xmm4
3350
xorl %edx,%r14d
3351
andl %r11d,%r12d
3352
xorl %r11d,%r13d
3353
vpsrld $10,%xmm7,%xmm6
3354
addl 20(%rsp),%ecx
3355
movl %edx,%edi
3356
xorl %ebx,%r12d
3357
vpxor %xmm5,%xmm4,%xmm4
3358
shrdl $11,%r14d,%r14d
3359
xorl %r8d,%edi
3360
addl %r12d,%ecx
3361
vpsrlq $17,%xmm7,%xmm7
3362
shrdl $6,%r13d,%r13d
3363
andl %edi,%r15d
3364
xorl %edx,%r14d
3365
vpaddd %xmm4,%xmm1,%xmm1
3366
addl %r13d,%ecx
3367
xorl %r8d,%r15d
3368
shrdl $2,%r14d,%r14d
3369
vpxor %xmm7,%xmm6,%xmm6
3370
addl %ecx,%r10d
3371
addl %r15d,%ecx
3372
movl %r10d,%r13d
3373
vpsrlq $2,%xmm7,%xmm7
3374
addl %ecx,%r14d
3375
shrdl $14,%r13d,%r13d
3376
movl %r14d,%ecx
3377
vpxor %xmm7,%xmm6,%xmm6
3378
movl %r11d,%r12d
3379
shrdl $9,%r14d,%r14d
3380
xorl %r10d,%r13d
3381
vpshufb %xmm8,%xmm6,%xmm6
3382
xorl %eax,%r12d
3383
shrdl $5,%r13d,%r13d
3384
xorl %ecx,%r14d
3385
vpaddd %xmm6,%xmm1,%xmm1
3386
andl %r10d,%r12d
3387
xorl %r10d,%r13d
3388
addl 24(%rsp),%ebx
3389
vpshufd $80,%xmm1,%xmm7
3390
movl %ecx,%r15d
3391
xorl %eax,%r12d
3392
shrdl $11,%r14d,%r14d
3393
vpsrld $10,%xmm7,%xmm6
3394
xorl %edx,%r15d
3395
addl %r12d,%ebx
3396
shrdl $6,%r13d,%r13d
3397
vpsrlq $17,%xmm7,%xmm7
3398
andl %r15d,%edi
3399
xorl %ecx,%r14d
3400
addl %r13d,%ebx
3401
vpxor %xmm7,%xmm6,%xmm6
3402
xorl %edx,%edi
3403
shrdl $2,%r14d,%r14d
3404
addl %ebx,%r9d
3405
vpsrlq $2,%xmm7,%xmm7
3406
addl %edi,%ebx
3407
movl %r9d,%r13d
3408
addl %ebx,%r14d
3409
vpxor %xmm7,%xmm6,%xmm6
3410
shrdl $14,%r13d,%r13d
3411
movl %r14d,%ebx
3412
movl %r10d,%r12d
3413
vpshufb %xmm9,%xmm6,%xmm6
3414
shrdl $9,%r14d,%r14d
3415
xorl %r9d,%r13d
3416
xorl %r11d,%r12d
3417
vpaddd %xmm6,%xmm1,%xmm1
3418
shrdl $5,%r13d,%r13d
3419
xorl %ebx,%r14d
3420
andl %r9d,%r12d
3421
vpaddd 32(%rbp),%xmm1,%xmm6
3422
xorl %r9d,%r13d
3423
addl 28(%rsp),%eax
3424
movl %ebx,%edi
3425
xorl %r11d,%r12d
3426
shrdl $11,%r14d,%r14d
3427
xorl %ecx,%edi
3428
addl %r12d,%eax
3429
shrdl $6,%r13d,%r13d
3430
andl %edi,%r15d
3431
xorl %ebx,%r14d
3432
addl %r13d,%eax
3433
xorl %ecx,%r15d
3434
shrdl $2,%r14d,%r14d
3435
addl %eax,%r8d
3436
addl %r15d,%eax
3437
movl %r8d,%r13d
3438
addl %eax,%r14d
3439
vmovdqa %xmm6,16(%rsp)
3440
vpalignr $4,%xmm2,%xmm3,%xmm4
3441
shrdl $14,%r13d,%r13d
3442
movl %r14d,%eax
3443
movl %r9d,%r12d
3444
vpalignr $4,%xmm0,%xmm1,%xmm7
3445
shrdl $9,%r14d,%r14d
3446
xorl %r8d,%r13d
3447
xorl %r10d,%r12d
3448
vpsrld $7,%xmm4,%xmm6
3449
shrdl $5,%r13d,%r13d
3450
xorl %eax,%r14d
3451
andl %r8d,%r12d
3452
vpaddd %xmm7,%xmm2,%xmm2
3453
xorl %r8d,%r13d
3454
addl 32(%rsp),%r11d
3455
movl %eax,%r15d
3456
vpsrld $3,%xmm4,%xmm7
3457
xorl %r10d,%r12d
3458
shrdl $11,%r14d,%r14d
3459
xorl %ebx,%r15d
3460
vpslld $14,%xmm4,%xmm5
3461
addl %r12d,%r11d
3462
shrdl $6,%r13d,%r13d
3463
andl %r15d,%edi
3464
vpxor %xmm6,%xmm7,%xmm4
3465
xorl %eax,%r14d
3466
addl %r13d,%r11d
3467
xorl %ebx,%edi
3468
vpshufd $250,%xmm1,%xmm7
3469
shrdl $2,%r14d,%r14d
3470
addl %r11d,%edx
3471
addl %edi,%r11d
3472
vpsrld $11,%xmm6,%xmm6
3473
movl %edx,%r13d
3474
addl %r11d,%r14d
3475
shrdl $14,%r13d,%r13d
3476
vpxor %xmm5,%xmm4,%xmm4
3477
movl %r14d,%r11d
3478
movl %r8d,%r12d
3479
shrdl $9,%r14d,%r14d
3480
vpslld $11,%xmm5,%xmm5
3481
xorl %edx,%r13d
3482
xorl %r9d,%r12d
3483
shrdl $5,%r13d,%r13d
3484
vpxor %xmm6,%xmm4,%xmm4
3485
xorl %r11d,%r14d
3486
andl %edx,%r12d
3487
xorl %edx,%r13d
3488
vpsrld $10,%xmm7,%xmm6
3489
addl 36(%rsp),%r10d
3490
movl %r11d,%edi
3491
xorl %r9d,%r12d
3492
vpxor %xmm5,%xmm4,%xmm4
3493
shrdl $11,%r14d,%r14d
3494
xorl %eax,%edi
3495
addl %r12d,%r10d
3496
vpsrlq $17,%xmm7,%xmm7
3497
shrdl $6,%r13d,%r13d
3498
andl %edi,%r15d
3499
xorl %r11d,%r14d
3500
vpaddd %xmm4,%xmm2,%xmm2
3501
addl %r13d,%r10d
3502
xorl %eax,%r15d
3503
shrdl $2,%r14d,%r14d
3504
vpxor %xmm7,%xmm6,%xmm6
3505
addl %r10d,%ecx
3506
addl %r15d,%r10d
3507
movl %ecx,%r13d
3508
vpsrlq $2,%xmm7,%xmm7
3509
addl %r10d,%r14d
3510
shrdl $14,%r13d,%r13d
3511
movl %r14d,%r10d
3512
vpxor %xmm7,%xmm6,%xmm6
3513
movl %edx,%r12d
3514
shrdl $9,%r14d,%r14d
3515
xorl %ecx,%r13d
3516
vpshufb %xmm8,%xmm6,%xmm6
3517
xorl %r8d,%r12d
3518
shrdl $5,%r13d,%r13d
3519
xorl %r10d,%r14d
3520
vpaddd %xmm6,%xmm2,%xmm2
3521
andl %ecx,%r12d
3522
xorl %ecx,%r13d
3523
addl 40(%rsp),%r9d
3524
vpshufd $80,%xmm2,%xmm7
3525
movl %r10d,%r15d
3526
xorl %r8d,%r12d
3527
shrdl $11,%r14d,%r14d
3528
vpsrld $10,%xmm7,%xmm6
3529
xorl %r11d,%r15d
3530
addl %r12d,%r9d
3531
shrdl $6,%r13d,%r13d
3532
vpsrlq $17,%xmm7,%xmm7
3533
andl %r15d,%edi
3534
xorl %r10d,%r14d
3535
addl %r13d,%r9d
3536
vpxor %xmm7,%xmm6,%xmm6
3537
xorl %r11d,%edi
3538
shrdl $2,%r14d,%r14d
3539
addl %r9d,%ebx
3540
vpsrlq $2,%xmm7,%xmm7
3541
addl %edi,%r9d
3542
movl %ebx,%r13d
3543
addl %r9d,%r14d
3544
vpxor %xmm7,%xmm6,%xmm6
3545
shrdl $14,%r13d,%r13d
3546
movl %r14d,%r9d
3547
movl %ecx,%r12d
3548
vpshufb %xmm9,%xmm6,%xmm6
3549
shrdl $9,%r14d,%r14d
3550
xorl %ebx,%r13d
3551
xorl %edx,%r12d
3552
vpaddd %xmm6,%xmm2,%xmm2
3553
shrdl $5,%r13d,%r13d
3554
xorl %r9d,%r14d
3555
andl %ebx,%r12d
3556
vpaddd 64(%rbp),%xmm2,%xmm6
3557
xorl %ebx,%r13d
3558
addl 44(%rsp),%r8d
3559
movl %r9d,%edi
3560
xorl %edx,%r12d
3561
shrdl $11,%r14d,%r14d
3562
xorl %r10d,%edi
3563
addl %r12d,%r8d
3564
shrdl $6,%r13d,%r13d
3565
andl %edi,%r15d
3566
xorl %r9d,%r14d
3567
addl %r13d,%r8d
3568
xorl %r10d,%r15d
3569
shrdl $2,%r14d,%r14d
3570
addl %r8d,%eax
3571
addl %r15d,%r8d
3572
movl %eax,%r13d
3573
addl %r8d,%r14d
3574
vmovdqa %xmm6,32(%rsp)
3575
vpalignr $4,%xmm3,%xmm0,%xmm4
3576
shrdl $14,%r13d,%r13d
3577
movl %r14d,%r8d
3578
movl %ebx,%r12d
3579
vpalignr $4,%xmm1,%xmm2,%xmm7
3580
shrdl $9,%r14d,%r14d
3581
xorl %eax,%r13d
3582
xorl %ecx,%r12d
3583
vpsrld $7,%xmm4,%xmm6
3584
shrdl $5,%r13d,%r13d
3585
xorl %r8d,%r14d
3586
andl %eax,%r12d
3587
vpaddd %xmm7,%xmm3,%xmm3
3588
xorl %eax,%r13d
3589
addl 48(%rsp),%edx
3590
movl %r8d,%r15d
3591
vpsrld $3,%xmm4,%xmm7
3592
xorl %ecx,%r12d
3593
shrdl $11,%r14d,%r14d
3594
xorl %r9d,%r15d
3595
vpslld $14,%xmm4,%xmm5
3596
addl %r12d,%edx
3597
shrdl $6,%r13d,%r13d
3598
andl %r15d,%edi
3599
vpxor %xmm6,%xmm7,%xmm4
3600
xorl %r8d,%r14d
3601
addl %r13d,%edx
3602
xorl %r9d,%edi
3603
vpshufd $250,%xmm2,%xmm7
3604
shrdl $2,%r14d,%r14d
3605
addl %edx,%r11d
3606
addl %edi,%edx
3607
vpsrld $11,%xmm6,%xmm6
3608
movl %r11d,%r13d
3609
addl %edx,%r14d
3610
shrdl $14,%r13d,%r13d
3611
vpxor %xmm5,%xmm4,%xmm4
3612
movl %r14d,%edx
3613
movl %eax,%r12d
3614
shrdl $9,%r14d,%r14d
3615
vpslld $11,%xmm5,%xmm5
3616
xorl %r11d,%r13d
3617
xorl %ebx,%r12d
3618
shrdl $5,%r13d,%r13d
3619
vpxor %xmm6,%xmm4,%xmm4
3620
xorl %edx,%r14d
3621
andl %r11d,%r12d
3622
xorl %r11d,%r13d
3623
vpsrld $10,%xmm7,%xmm6
3624
addl 52(%rsp),%ecx
3625
movl %edx,%edi
3626
xorl %ebx,%r12d
3627
vpxor %xmm5,%xmm4,%xmm4
3628
shrdl $11,%r14d,%r14d
3629
xorl %r8d,%edi
3630
addl %r12d,%ecx
3631
vpsrlq $17,%xmm7,%xmm7
3632
shrdl $6,%r13d,%r13d
3633
andl %edi,%r15d
3634
xorl %edx,%r14d
3635
vpaddd %xmm4,%xmm3,%xmm3
3636
addl %r13d,%ecx
3637
xorl %r8d,%r15d
3638
shrdl $2,%r14d,%r14d
3639
vpxor %xmm7,%xmm6,%xmm6
3640
addl %ecx,%r10d
3641
addl %r15d,%ecx
3642
movl %r10d,%r13d
3643
vpsrlq $2,%xmm7,%xmm7
3644
addl %ecx,%r14d
3645
shrdl $14,%r13d,%r13d
3646
movl %r14d,%ecx
3647
vpxor %xmm7,%xmm6,%xmm6
3648
movl %r11d,%r12d
3649
shrdl $9,%r14d,%r14d
3650
xorl %r10d,%r13d
3651
vpshufb %xmm8,%xmm6,%xmm6
3652
xorl %eax,%r12d
3653
shrdl $5,%r13d,%r13d
3654
xorl %ecx,%r14d
3655
vpaddd %xmm6,%xmm3,%xmm3
3656
andl %r10d,%r12d
3657
xorl %r10d,%r13d
3658
addl 56(%rsp),%ebx
3659
vpshufd $80,%xmm3,%xmm7
3660
movl %ecx,%r15d
3661
xorl %eax,%r12d
3662
shrdl $11,%r14d,%r14d
3663
vpsrld $10,%xmm7,%xmm6
3664
xorl %edx,%r15d
3665
addl %r12d,%ebx
3666
shrdl $6,%r13d,%r13d
3667
vpsrlq $17,%xmm7,%xmm7
3668
andl %r15d,%edi
3669
xorl %ecx,%r14d
3670
addl %r13d,%ebx
3671
vpxor %xmm7,%xmm6,%xmm6
3672
xorl %edx,%edi
3673
shrdl $2,%r14d,%r14d
3674
addl %ebx,%r9d
3675
vpsrlq $2,%xmm7,%xmm7
3676
addl %edi,%ebx
3677
movl %r9d,%r13d
3678
addl %ebx,%r14d
3679
vpxor %xmm7,%xmm6,%xmm6
3680
shrdl $14,%r13d,%r13d
3681
movl %r14d,%ebx
3682
movl %r10d,%r12d
3683
vpshufb %xmm9,%xmm6,%xmm6
3684
shrdl $9,%r14d,%r14d
3685
xorl %r9d,%r13d
3686
xorl %r11d,%r12d
3687
vpaddd %xmm6,%xmm3,%xmm3
3688
shrdl $5,%r13d,%r13d
3689
xorl %ebx,%r14d
3690
andl %r9d,%r12d
3691
vpaddd 96(%rbp),%xmm3,%xmm6
3692
xorl %r9d,%r13d
3693
addl 60(%rsp),%eax
3694
movl %ebx,%edi
3695
xorl %r11d,%r12d
3696
shrdl $11,%r14d,%r14d
3697
xorl %ecx,%edi
3698
addl %r12d,%eax
3699
shrdl $6,%r13d,%r13d
3700
andl %edi,%r15d
3701
xorl %ebx,%r14d
3702
addl %r13d,%eax
3703
xorl %ecx,%r15d
3704
shrdl $2,%r14d,%r14d
3705
addl %eax,%r8d
3706
addl %r15d,%eax
3707
movl %r8d,%r13d
3708
addl %eax,%r14d
3709
vmovdqa %xmm6,48(%rsp)
3710
cmpb $0,131(%rbp)
3711
jne .Lavx_00_47
3712
shrdl $14,%r13d,%r13d
3713
movl %r14d,%eax
3714
movl %r9d,%r12d
3715
shrdl $9,%r14d,%r14d
3716
xorl %r8d,%r13d
3717
xorl %r10d,%r12d
3718
shrdl $5,%r13d,%r13d
3719
xorl %eax,%r14d
3720
andl %r8d,%r12d
3721
xorl %r8d,%r13d
3722
addl 0(%rsp),%r11d
3723
movl %eax,%r15d
3724
xorl %r10d,%r12d
3725
shrdl $11,%r14d,%r14d
3726
xorl %ebx,%r15d
3727
addl %r12d,%r11d
3728
shrdl $6,%r13d,%r13d
3729
andl %r15d,%edi
3730
xorl %eax,%r14d
3731
addl %r13d,%r11d
3732
xorl %ebx,%edi
3733
shrdl $2,%r14d,%r14d
3734
addl %r11d,%edx
3735
addl %edi,%r11d
3736
movl %edx,%r13d
3737
addl %r11d,%r14d
3738
shrdl $14,%r13d,%r13d
3739
movl %r14d,%r11d
3740
movl %r8d,%r12d
3741
shrdl $9,%r14d,%r14d
3742
xorl %edx,%r13d
3743
xorl %r9d,%r12d
3744
shrdl $5,%r13d,%r13d
3745
xorl %r11d,%r14d
3746
andl %edx,%r12d
3747
xorl %edx,%r13d
3748
addl 4(%rsp),%r10d
3749
movl %r11d,%edi
3750
xorl %r9d,%r12d
3751
shrdl $11,%r14d,%r14d
3752
xorl %eax,%edi
3753
addl %r12d,%r10d
3754
shrdl $6,%r13d,%r13d
3755
andl %edi,%r15d
3756
xorl %r11d,%r14d
3757
addl %r13d,%r10d
3758
xorl %eax,%r15d
3759
shrdl $2,%r14d,%r14d
3760
addl %r10d,%ecx
3761
addl %r15d,%r10d
3762
movl %ecx,%r13d
3763
addl %r10d,%r14d
3764
shrdl $14,%r13d,%r13d
3765
movl %r14d,%r10d
3766
movl %edx,%r12d
3767
shrdl $9,%r14d,%r14d
3768
xorl %ecx,%r13d
3769
xorl %r8d,%r12d
3770
shrdl $5,%r13d,%r13d
3771
xorl %r10d,%r14d
3772
andl %ecx,%r12d
3773
xorl %ecx,%r13d
3774
addl 8(%rsp),%r9d
3775
movl %r10d,%r15d
3776
xorl %r8d,%r12d
3777
shrdl $11,%r14d,%r14d
3778
xorl %r11d,%r15d
3779
addl %r12d,%r9d
3780
shrdl $6,%r13d,%r13d
3781
andl %r15d,%edi
3782
xorl %r10d,%r14d
3783
addl %r13d,%r9d
3784
xorl %r11d,%edi
3785
shrdl $2,%r14d,%r14d
3786
addl %r9d,%ebx
3787
addl %edi,%r9d
3788
movl %ebx,%r13d
3789
addl %r9d,%r14d
3790
shrdl $14,%r13d,%r13d
3791
movl %r14d,%r9d
3792
movl %ecx,%r12d
3793
shrdl $9,%r14d,%r14d
3794
xorl %ebx,%r13d
3795
xorl %edx,%r12d
3796
shrdl $5,%r13d,%r13d
3797
xorl %r9d,%r14d
3798
andl %ebx,%r12d
3799
xorl %ebx,%r13d
3800
addl 12(%rsp),%r8d
3801
movl %r9d,%edi
3802
xorl %edx,%r12d
3803
shrdl $11,%r14d,%r14d
3804
xorl %r10d,%edi
3805
addl %r12d,%r8d
3806
shrdl $6,%r13d,%r13d
3807
andl %edi,%r15d
3808
xorl %r9d,%r14d
3809
addl %r13d,%r8d
3810
xorl %r10d,%r15d
3811
shrdl $2,%r14d,%r14d
3812
addl %r8d,%eax
3813
addl %r15d,%r8d
3814
movl %eax,%r13d
3815
addl %r8d,%r14d
3816
shrdl $14,%r13d,%r13d
3817
movl %r14d,%r8d
3818
movl %ebx,%r12d
3819
shrdl $9,%r14d,%r14d
3820
xorl %eax,%r13d
3821
xorl %ecx,%r12d
3822
shrdl $5,%r13d,%r13d
3823
xorl %r8d,%r14d
3824
andl %eax,%r12d
3825
xorl %eax,%r13d
3826
addl 16(%rsp),%edx
3827
movl %r8d,%r15d
3828
xorl %ecx,%r12d
3829
shrdl $11,%r14d,%r14d
3830
xorl %r9d,%r15d
3831
addl %r12d,%edx
3832
shrdl $6,%r13d,%r13d
3833
andl %r15d,%edi
3834
xorl %r8d,%r14d
3835
addl %r13d,%edx
3836
xorl %r9d,%edi
3837
shrdl $2,%r14d,%r14d
3838
addl %edx,%r11d
3839
addl %edi,%edx
3840
movl %r11d,%r13d
3841
addl %edx,%r14d
3842
shrdl $14,%r13d,%r13d
3843
movl %r14d,%edx
3844
movl %eax,%r12d
3845
shrdl $9,%r14d,%r14d
3846
xorl %r11d,%r13d
3847
xorl %ebx,%r12d
3848
shrdl $5,%r13d,%r13d
3849
xorl %edx,%r14d
3850
andl %r11d,%r12d
3851
xorl %r11d,%r13d
3852
addl 20(%rsp),%ecx
3853
movl %edx,%edi
3854
xorl %ebx,%r12d
3855
shrdl $11,%r14d,%r14d
3856
xorl %r8d,%edi
3857
addl %r12d,%ecx
3858
shrdl $6,%r13d,%r13d
3859
andl %edi,%r15d
3860
xorl %edx,%r14d
3861
addl %r13d,%ecx
3862
xorl %r8d,%r15d
3863
shrdl $2,%r14d,%r14d
3864
addl %ecx,%r10d
3865
addl %r15d,%ecx
3866
movl %r10d,%r13d
3867
addl %ecx,%r14d
3868
shrdl $14,%r13d,%r13d
3869
movl %r14d,%ecx
3870
movl %r11d,%r12d
3871
shrdl $9,%r14d,%r14d
3872
xorl %r10d,%r13d
3873
xorl %eax,%r12d
3874
shrdl $5,%r13d,%r13d
3875
xorl %ecx,%r14d
3876
andl %r10d,%r12d
3877
xorl %r10d,%r13d
3878
addl 24(%rsp),%ebx
3879
movl %ecx,%r15d
3880
xorl %eax,%r12d
3881
shrdl $11,%r14d,%r14d
3882
xorl %edx,%r15d
3883
addl %r12d,%ebx
3884
shrdl $6,%r13d,%r13d
3885
andl %r15d,%edi
3886
xorl %ecx,%r14d
3887
addl %r13d,%ebx
3888
xorl %edx,%edi
3889
shrdl $2,%r14d,%r14d
3890
addl %ebx,%r9d
3891
addl %edi,%ebx
3892
movl %r9d,%r13d
3893
addl %ebx,%r14d
3894
shrdl $14,%r13d,%r13d
3895
movl %r14d,%ebx
3896
movl %r10d,%r12d
3897
shrdl $9,%r14d,%r14d
3898
xorl %r9d,%r13d
3899
xorl %r11d,%r12d
3900
shrdl $5,%r13d,%r13d
3901
xorl %ebx,%r14d
3902
andl %r9d,%r12d
3903
xorl %r9d,%r13d
3904
addl 28(%rsp),%eax
3905
movl %ebx,%edi
3906
xorl %r11d,%r12d
3907
shrdl $11,%r14d,%r14d
3908
xorl %ecx,%edi
3909
addl %r12d,%eax
3910
shrdl $6,%r13d,%r13d
3911
andl %edi,%r15d
3912
xorl %ebx,%r14d
3913
addl %r13d,%eax
3914
xorl %ecx,%r15d
3915
shrdl $2,%r14d,%r14d
3916
addl %eax,%r8d
3917
addl %r15d,%eax
3918
movl %r8d,%r13d
3919
addl %eax,%r14d
3920
shrdl $14,%r13d,%r13d
3921
movl %r14d,%eax
3922
movl %r9d,%r12d
3923
shrdl $9,%r14d,%r14d
3924
xorl %r8d,%r13d
3925
xorl %r10d,%r12d
3926
shrdl $5,%r13d,%r13d
3927
xorl %eax,%r14d
3928
andl %r8d,%r12d
3929
xorl %r8d,%r13d
3930
addl 32(%rsp),%r11d
3931
movl %eax,%r15d
3932
xorl %r10d,%r12d
3933
shrdl $11,%r14d,%r14d
3934
xorl %ebx,%r15d
3935
addl %r12d,%r11d
3936
shrdl $6,%r13d,%r13d
3937
andl %r15d,%edi
3938
xorl %eax,%r14d
3939
addl %r13d,%r11d
3940
xorl %ebx,%edi
3941
shrdl $2,%r14d,%r14d
3942
addl %r11d,%edx
3943
addl %edi,%r11d
3944
movl %edx,%r13d
3945
addl %r11d,%r14d
3946
shrdl $14,%r13d,%r13d
3947
movl %r14d,%r11d
3948
movl %r8d,%r12d
3949
shrdl $9,%r14d,%r14d
3950
xorl %edx,%r13d
3951
xorl %r9d,%r12d
3952
shrdl $5,%r13d,%r13d
3953
xorl %r11d,%r14d
3954
andl %edx,%r12d
3955
xorl %edx,%r13d
3956
addl 36(%rsp),%r10d
3957
movl %r11d,%edi
3958
xorl %r9d,%r12d
3959
shrdl $11,%r14d,%r14d
3960
xorl %eax,%edi
3961
addl %r12d,%r10d
3962
shrdl $6,%r13d,%r13d
3963
andl %edi,%r15d
3964
xorl %r11d,%r14d
3965
addl %r13d,%r10d
3966
xorl %eax,%r15d
3967
shrdl $2,%r14d,%r14d
3968
addl %r10d,%ecx
3969
addl %r15d,%r10d
3970
movl %ecx,%r13d
3971
addl %r10d,%r14d
3972
shrdl $14,%r13d,%r13d
3973
movl %r14d,%r10d
3974
movl %edx,%r12d
3975
shrdl $9,%r14d,%r14d
3976
xorl %ecx,%r13d
3977
xorl %r8d,%r12d
3978
shrdl $5,%r13d,%r13d
3979
xorl %r10d,%r14d
3980
andl %ecx,%r12d
3981
xorl %ecx,%r13d
3982
addl 40(%rsp),%r9d
3983
movl %r10d,%r15d
3984
xorl %r8d,%r12d
3985
shrdl $11,%r14d,%r14d
3986
xorl %r11d,%r15d
3987
addl %r12d,%r9d
3988
shrdl $6,%r13d,%r13d
3989
andl %r15d,%edi
3990
xorl %r10d,%r14d
3991
addl %r13d,%r9d
3992
xorl %r11d,%edi
3993
shrdl $2,%r14d,%r14d
3994
addl %r9d,%ebx
3995
addl %edi,%r9d
3996
movl %ebx,%r13d
3997
addl %r9d,%r14d
3998
shrdl $14,%r13d,%r13d
3999
movl %r14d,%r9d
4000
movl %ecx,%r12d
4001
shrdl $9,%r14d,%r14d
4002
xorl %ebx,%r13d
4003
xorl %edx,%r12d
4004
shrdl $5,%r13d,%r13d
4005
xorl %r9d,%r14d
4006
andl %ebx,%r12d
4007
xorl %ebx,%r13d
4008
addl 44(%rsp),%r8d
4009
movl %r9d,%edi
4010
xorl %edx,%r12d
4011
shrdl $11,%r14d,%r14d
4012
xorl %r10d,%edi
4013
addl %r12d,%r8d
4014
shrdl $6,%r13d,%r13d
4015
andl %edi,%r15d
4016
xorl %r9d,%r14d
4017
addl %r13d,%r8d
4018
xorl %r10d,%r15d
4019
shrdl $2,%r14d,%r14d
4020
addl %r8d,%eax
4021
addl %r15d,%r8d
4022
movl %eax,%r13d
4023
addl %r8d,%r14d
4024
shrdl $14,%r13d,%r13d
4025
movl %r14d,%r8d
4026
movl %ebx,%r12d
4027
shrdl $9,%r14d,%r14d
4028
xorl %eax,%r13d
4029
xorl %ecx,%r12d
4030
shrdl $5,%r13d,%r13d
4031
xorl %r8d,%r14d
4032
andl %eax,%r12d
4033
xorl %eax,%r13d
4034
addl 48(%rsp),%edx
4035
movl %r8d,%r15d
4036
xorl %ecx,%r12d
4037
shrdl $11,%r14d,%r14d
4038
xorl %r9d,%r15d
4039
addl %r12d,%edx
4040
shrdl $6,%r13d,%r13d
4041
andl %r15d,%edi
4042
xorl %r8d,%r14d
4043
addl %r13d,%edx
4044
xorl %r9d,%edi
4045
shrdl $2,%r14d,%r14d
4046
addl %edx,%r11d
4047
addl %edi,%edx
4048
movl %r11d,%r13d
4049
addl %edx,%r14d
4050
shrdl $14,%r13d,%r13d
4051
movl %r14d,%edx
4052
movl %eax,%r12d
4053
shrdl $9,%r14d,%r14d
4054
xorl %r11d,%r13d
4055
xorl %ebx,%r12d
4056
shrdl $5,%r13d,%r13d
4057
xorl %edx,%r14d
4058
andl %r11d,%r12d
4059
xorl %r11d,%r13d
4060
addl 52(%rsp),%ecx
4061
movl %edx,%edi
4062
xorl %ebx,%r12d
4063
shrdl $11,%r14d,%r14d
4064
xorl %r8d,%edi
4065
addl %r12d,%ecx
4066
shrdl $6,%r13d,%r13d
4067
andl %edi,%r15d
4068
xorl %edx,%r14d
4069
addl %r13d,%ecx
4070
xorl %r8d,%r15d
4071
shrdl $2,%r14d,%r14d
4072
addl %ecx,%r10d
4073
addl %r15d,%ecx
4074
movl %r10d,%r13d
4075
addl %ecx,%r14d
4076
shrdl $14,%r13d,%r13d
4077
movl %r14d,%ecx
4078
movl %r11d,%r12d
4079
shrdl $9,%r14d,%r14d
4080
xorl %r10d,%r13d
4081
xorl %eax,%r12d
4082
shrdl $5,%r13d,%r13d
4083
xorl %ecx,%r14d
4084
andl %r10d,%r12d
4085
xorl %r10d,%r13d
4086
addl 56(%rsp),%ebx
4087
movl %ecx,%r15d
4088
xorl %eax,%r12d
4089
shrdl $11,%r14d,%r14d
4090
xorl %edx,%r15d
4091
addl %r12d,%ebx
4092
shrdl $6,%r13d,%r13d
4093
andl %r15d,%edi
4094
xorl %ecx,%r14d
4095
addl %r13d,%ebx
4096
xorl %edx,%edi
4097
shrdl $2,%r14d,%r14d
4098
addl %ebx,%r9d
4099
addl %edi,%ebx
4100
movl %r9d,%r13d
4101
addl %ebx,%r14d
4102
shrdl $14,%r13d,%r13d
4103
movl %r14d,%ebx
4104
movl %r10d,%r12d
4105
shrdl $9,%r14d,%r14d
4106
xorl %r9d,%r13d
4107
xorl %r11d,%r12d
4108
shrdl $5,%r13d,%r13d
4109
xorl %ebx,%r14d
4110
andl %r9d,%r12d
4111
xorl %r9d,%r13d
4112
addl 60(%rsp),%eax
4113
movl %ebx,%edi
4114
xorl %r11d,%r12d
4115
shrdl $11,%r14d,%r14d
4116
xorl %ecx,%edi
4117
addl %r12d,%eax
4118
shrdl $6,%r13d,%r13d
4119
andl %edi,%r15d
4120
xorl %ebx,%r14d
4121
addl %r13d,%eax
4122
xorl %ecx,%r15d
4123
shrdl $2,%r14d,%r14d
4124
addl %eax,%r8d
4125
addl %r15d,%eax
4126
movl %r8d,%r13d
4127
addl %eax,%r14d
4128
movq 64+0(%rsp),%rdi
4129
movl %r14d,%eax
4130
4131
addl 0(%rdi),%eax
4132
leaq 64(%rsi),%rsi
4133
addl 4(%rdi),%ebx
4134
addl 8(%rdi),%ecx
4135
addl 12(%rdi),%edx
4136
addl 16(%rdi),%r8d
4137
addl 20(%rdi),%r9d
4138
addl 24(%rdi),%r10d
4139
addl 28(%rdi),%r11d
4140
4141
cmpq 64+16(%rsp),%rsi
4142
4143
movl %eax,0(%rdi)
4144
movl %ebx,4(%rdi)
4145
movl %ecx,8(%rdi)
4146
movl %edx,12(%rdi)
4147
movl %r8d,16(%rdi)
4148
movl %r9d,20(%rdi)
4149
movl %r10d,24(%rdi)
4150
movl %r11d,28(%rdi)
4151
jb .Lloop_avx
4152
4153
movq 88(%rsp),%rsi
4154
.cfi_def_cfa %rsi,8
4155
vzeroupper
4156
movq -48(%rsi),%r15
4157
.cfi_restore %r15
4158
movq -40(%rsi),%r14
4159
.cfi_restore %r14
4160
movq -32(%rsi),%r13
4161
.cfi_restore %r13
4162
movq -24(%rsi),%r12
4163
.cfi_restore %r12
4164
movq -16(%rsi),%rbp
4165
.cfi_restore %rbp
4166
movq -8(%rsi),%rbx
4167
.cfi_restore %rbx
4168
leaq (%rsi),%rsp
4169
.cfi_def_cfa_register %rsp
4170
.Lepilogue_avx:
4171
.byte 0xf3,0xc3
4172
.cfi_endproc
4173
.size sha256_block_data_order_avx,.-sha256_block_data_order_avx
4174
.type sha256_block_data_order_avx2,@function
4175
.align 64
4176
sha256_block_data_order_avx2:
4177
.cfi_startproc
4178
.Lavx2_shortcut:
4179
movq %rsp,%rax
4180
.cfi_def_cfa_register %rax
4181
pushq %rbx
4182
.cfi_offset %rbx,-16
4183
pushq %rbp
4184
.cfi_offset %rbp,-24
4185
pushq %r12
4186
.cfi_offset %r12,-32
4187
pushq %r13
4188
.cfi_offset %r13,-40
4189
pushq %r14
4190
.cfi_offset %r14,-48
4191
pushq %r15
4192
.cfi_offset %r15,-56
4193
subq $544,%rsp
4194
shlq $4,%rdx
4195
andq $-1024,%rsp
4196
leaq (%rsi,%rdx,4),%rdx
4197
addq $448,%rsp
4198
movq %rdi,64+0(%rsp)
4199
movq %rsi,64+8(%rsp)
4200
movq %rdx,64+16(%rsp)
4201
movq %rax,88(%rsp)
4202
.cfi_escape 0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
4203
.Lprologue_avx2:
4204
4205
vzeroupper
4206
subq $-64,%rsi
4207
movl 0(%rdi),%eax
4208
movq %rsi,%r12
4209
movl 4(%rdi),%ebx
4210
cmpq %rdx,%rsi
4211
movl 8(%rdi),%ecx
4212
cmoveq %rsp,%r12
4213
movl 12(%rdi),%edx
4214
movl 16(%rdi),%r8d
4215
movl 20(%rdi),%r9d
4216
movl 24(%rdi),%r10d
4217
movl 28(%rdi),%r11d
4218
vmovdqa K256+512+32(%rip),%ymm8
4219
vmovdqa K256+512+64(%rip),%ymm9
4220
jmp .Loop_avx2
4221
.align 16
4222
.Loop_avx2:
4223
vmovdqa K256+512(%rip),%ymm7
4224
vmovdqu -64+0(%rsi),%xmm0
4225
vmovdqu -64+16(%rsi),%xmm1
4226
vmovdqu -64+32(%rsi),%xmm2
4227
vmovdqu -64+48(%rsi),%xmm3
4228
4229
vinserti128 $1,(%r12),%ymm0,%ymm0
4230
vinserti128 $1,16(%r12),%ymm1,%ymm1
4231
vpshufb %ymm7,%ymm0,%ymm0
4232
vinserti128 $1,32(%r12),%ymm2,%ymm2
4233
vpshufb %ymm7,%ymm1,%ymm1
4234
vinserti128 $1,48(%r12),%ymm3,%ymm3
4235
4236
leaq K256(%rip),%rbp
4237
vpshufb %ymm7,%ymm2,%ymm2
4238
vpaddd 0(%rbp),%ymm0,%ymm4
4239
vpshufb %ymm7,%ymm3,%ymm3
4240
vpaddd 32(%rbp),%ymm1,%ymm5
4241
vpaddd 64(%rbp),%ymm2,%ymm6
4242
vpaddd 96(%rbp),%ymm3,%ymm7
4243
vmovdqa %ymm4,0(%rsp)
4244
xorl %r14d,%r14d
4245
vmovdqa %ymm5,32(%rsp)
4246
4247
movq 88(%rsp),%rdi
4248
.cfi_def_cfa %rdi,8
4249
leaq -64(%rsp),%rsp
4250
4251
4252
4253
movq %rdi,-8(%rsp)
4254
.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08
4255
movl %ebx,%edi
4256
vmovdqa %ymm6,0(%rsp)
4257
xorl %ecx,%edi
4258
vmovdqa %ymm7,32(%rsp)
4259
movl %r9d,%r12d
4260
subq $-32*4,%rbp
4261
jmp .Lavx2_00_47
4262
4263
.align 16
4264
.Lavx2_00_47:
4265
leaq -64(%rsp),%rsp
4266
.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08
4267
4268
pushq 64-8(%rsp)
4269
.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08
4270
leaq 8(%rsp),%rsp
4271
.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08
4272
vpalignr $4,%ymm0,%ymm1,%ymm4
4273
addl 0+128(%rsp),%r11d
4274
andl %r8d,%r12d
4275
rorxl $25,%r8d,%r13d
4276
vpalignr $4,%ymm2,%ymm3,%ymm7
4277
rorxl $11,%r8d,%r15d
4278
leal (%rax,%r14,1),%eax
4279
leal (%r11,%r12,1),%r11d
4280
vpsrld $7,%ymm4,%ymm6
4281
andnl %r10d,%r8d,%r12d
4282
xorl %r15d,%r13d
4283
rorxl $6,%r8d,%r14d
4284
vpaddd %ymm7,%ymm0,%ymm0
4285
leal (%r11,%r12,1),%r11d
4286
xorl %r14d,%r13d
4287
movl %eax,%r15d
4288
vpsrld $3,%ymm4,%ymm7
4289
rorxl $22,%eax,%r12d
4290
leal (%r11,%r13,1),%r11d
4291
xorl %ebx,%r15d
4292
vpslld $14,%ymm4,%ymm5
4293
rorxl $13,%eax,%r14d
4294
rorxl $2,%eax,%r13d
4295
leal (%rdx,%r11,1),%edx
4296
vpxor %ymm6,%ymm7,%ymm4
4297
andl %r15d,%edi
4298
xorl %r12d,%r14d
4299
xorl %ebx,%edi
4300
vpshufd $250,%ymm3,%ymm7
4301
xorl %r13d,%r14d
4302
leal (%r11,%rdi,1),%r11d
4303
movl %r8d,%r12d
4304
vpsrld $11,%ymm6,%ymm6
4305
addl 4+128(%rsp),%r10d
4306
andl %edx,%r12d
4307
rorxl $25,%edx,%r13d
4308
vpxor %ymm5,%ymm4,%ymm4
4309
rorxl $11,%edx,%edi
4310
leal (%r11,%r14,1),%r11d
4311
leal (%r10,%r12,1),%r10d
4312
vpslld $11,%ymm5,%ymm5
4313
andnl %r9d,%edx,%r12d
4314
xorl %edi,%r13d
4315
rorxl $6,%edx,%r14d
4316
vpxor %ymm6,%ymm4,%ymm4
4317
leal (%r10,%r12,1),%r10d
4318
xorl %r14d,%r13d
4319
movl %r11d,%edi
4320
vpsrld $10,%ymm7,%ymm6
4321
rorxl $22,%r11d,%r12d
4322
leal (%r10,%r13,1),%r10d
4323
xorl %eax,%edi
4324
vpxor %ymm5,%ymm4,%ymm4
4325
rorxl $13,%r11d,%r14d
4326
rorxl $2,%r11d,%r13d
4327
leal (%rcx,%r10,1),%ecx
4328
vpsrlq $17,%ymm7,%ymm7
4329
andl %edi,%r15d
4330
xorl %r12d,%r14d
4331
xorl %eax,%r15d
4332
vpaddd %ymm4,%ymm0,%ymm0
4333
xorl %r13d,%r14d
4334
leal (%r10,%r15,1),%r10d
4335
movl %edx,%r12d
4336
vpxor %ymm7,%ymm6,%ymm6
4337
addl 8+128(%rsp),%r9d
4338
andl %ecx,%r12d
4339
rorxl $25,%ecx,%r13d
4340
vpsrlq $2,%ymm7,%ymm7
4341
rorxl $11,%ecx,%r15d
4342
leal (%r10,%r14,1),%r10d
4343
leal (%r9,%r12,1),%r9d
4344
vpxor %ymm7,%ymm6,%ymm6
4345
andnl %r8d,%ecx,%r12d
4346
xorl %r15d,%r13d
4347
rorxl $6,%ecx,%r14d
4348
vpshufb %ymm8,%ymm6,%ymm6
4349
leal (%r9,%r12,1),%r9d
4350
xorl %r14d,%r13d
4351
movl %r10d,%r15d
4352
vpaddd %ymm6,%ymm0,%ymm0
4353
rorxl $22,%r10d,%r12d
4354
leal (%r9,%r13,1),%r9d
4355
xorl %r11d,%r15d
4356
vpshufd $80,%ymm0,%ymm7
4357
rorxl $13,%r10d,%r14d
4358
rorxl $2,%r10d,%r13d
4359
leal (%rbx,%r9,1),%ebx
4360
vpsrld $10,%ymm7,%ymm6
4361
andl %r15d,%edi
4362
xorl %r12d,%r14d
4363
xorl %r11d,%edi
4364
vpsrlq $17,%ymm7,%ymm7
4365
xorl %r13d,%r14d
4366
leal (%r9,%rdi,1),%r9d
4367
movl %ecx,%r12d
4368
vpxor %ymm7,%ymm6,%ymm6
4369
addl 12+128(%rsp),%r8d
4370
andl %ebx,%r12d
4371
rorxl $25,%ebx,%r13d
4372
vpsrlq $2,%ymm7,%ymm7
4373
rorxl $11,%ebx,%edi
4374
leal (%r9,%r14,1),%r9d
4375
leal (%r8,%r12,1),%r8d
4376
vpxor %ymm7,%ymm6,%ymm6
4377
andnl %edx,%ebx,%r12d
4378
xorl %edi,%r13d
4379
rorxl $6,%ebx,%r14d
4380
vpshufb %ymm9,%ymm6,%ymm6
4381
leal (%r8,%r12,1),%r8d
4382
xorl %r14d,%r13d
4383
movl %r9d,%edi
4384
vpaddd %ymm6,%ymm0,%ymm0
4385
rorxl $22,%r9d,%r12d
4386
leal (%r8,%r13,1),%r8d
4387
xorl %r10d,%edi
4388
vpaddd 0(%rbp),%ymm0,%ymm6
4389
rorxl $13,%r9d,%r14d
4390
rorxl $2,%r9d,%r13d
4391
leal (%rax,%r8,1),%eax
4392
andl %edi,%r15d
4393
xorl %r12d,%r14d
4394
xorl %r10d,%r15d
4395
xorl %r13d,%r14d
4396
leal (%r8,%r15,1),%r8d
4397
movl %ebx,%r12d
4398
vmovdqa %ymm6,0(%rsp)
4399
vpalignr $4,%ymm1,%ymm2,%ymm4
4400
addl 32+128(%rsp),%edx
4401
andl %eax,%r12d
4402
rorxl $25,%eax,%r13d
4403
vpalignr $4,%ymm3,%ymm0,%ymm7
4404
rorxl $11,%eax,%r15d
4405
leal (%r8,%r14,1),%r8d
4406
leal (%rdx,%r12,1),%edx
4407
vpsrld $7,%ymm4,%ymm6
4408
andnl %ecx,%eax,%r12d
4409
xorl %r15d,%r13d
4410
rorxl $6,%eax,%r14d
4411
vpaddd %ymm7,%ymm1,%ymm1
4412
leal (%rdx,%r12,1),%edx
4413
xorl %r14d,%r13d
4414
movl %r8d,%r15d
4415
vpsrld $3,%ymm4,%ymm7
4416
rorxl $22,%r8d,%r12d
4417
leal (%rdx,%r13,1),%edx
4418
xorl %r9d,%r15d
4419
vpslld $14,%ymm4,%ymm5
4420
rorxl $13,%r8d,%r14d
4421
rorxl $2,%r8d,%r13d
4422
leal (%r11,%rdx,1),%r11d
4423
vpxor %ymm6,%ymm7,%ymm4
4424
andl %r15d,%edi
4425
xorl %r12d,%r14d
4426
xorl %r9d,%edi
4427
vpshufd $250,%ymm0,%ymm7
4428
xorl %r13d,%r14d
4429
leal (%rdx,%rdi,1),%edx
4430
movl %eax,%r12d
4431
vpsrld $11,%ymm6,%ymm6
4432
addl 36+128(%rsp),%ecx
4433
andl %r11d,%r12d
4434
rorxl $25,%r11d,%r13d
4435
vpxor %ymm5,%ymm4,%ymm4
4436
rorxl $11,%r11d,%edi
4437
leal (%rdx,%r14,1),%edx
4438
leal (%rcx,%r12,1),%ecx
4439
vpslld $11,%ymm5,%ymm5
4440
andnl %ebx,%r11d,%r12d
4441
xorl %edi,%r13d
4442
rorxl $6,%r11d,%r14d
4443
vpxor %ymm6,%ymm4,%ymm4
4444
leal (%rcx,%r12,1),%ecx
4445
xorl %r14d,%r13d
4446
movl %edx,%edi
4447
vpsrld $10,%ymm7,%ymm6
4448
rorxl $22,%edx,%r12d
4449
leal (%rcx,%r13,1),%ecx
4450
xorl %r8d,%edi
4451
vpxor %ymm5,%ymm4,%ymm4
4452
rorxl $13,%edx,%r14d
4453
rorxl $2,%edx,%r13d
4454
leal (%r10,%rcx,1),%r10d
4455
vpsrlq $17,%ymm7,%ymm7
4456
andl %edi,%r15d
4457
xorl %r12d,%r14d
4458
xorl %r8d,%r15d
4459
vpaddd %ymm4,%ymm1,%ymm1
4460
xorl %r13d,%r14d
4461
leal (%rcx,%r15,1),%ecx
4462
movl %r11d,%r12d
4463
vpxor %ymm7,%ymm6,%ymm6
4464
addl 40+128(%rsp),%ebx
4465
andl %r10d,%r12d
4466
rorxl $25,%r10d,%r13d
4467
vpsrlq $2,%ymm7,%ymm7
4468
rorxl $11,%r10d,%r15d
4469
leal (%rcx,%r14,1),%ecx
4470
leal (%rbx,%r12,1),%ebx
4471
vpxor %ymm7,%ymm6,%ymm6
4472
andnl %eax,%r10d,%r12d
4473
xorl %r15d,%r13d
4474
rorxl $6,%r10d,%r14d
4475
vpshufb %ymm8,%ymm6,%ymm6
4476
leal (%rbx,%r12,1),%ebx
4477
xorl %r14d,%r13d
4478
movl %ecx,%r15d
4479
vpaddd %ymm6,%ymm1,%ymm1
4480
rorxl $22,%ecx,%r12d
4481
leal (%rbx,%r13,1),%ebx
4482
xorl %edx,%r15d
4483
vpshufd $80,%ymm1,%ymm7
4484
rorxl $13,%ecx,%r14d
4485
rorxl $2,%ecx,%r13d
4486
leal (%r9,%rbx,1),%r9d
4487
vpsrld $10,%ymm7,%ymm6
4488
andl %r15d,%edi
4489
xorl %r12d,%r14d
4490
xorl %edx,%edi
4491
vpsrlq $17,%ymm7,%ymm7
4492
xorl %r13d,%r14d
4493
leal (%rbx,%rdi,1),%ebx
4494
movl %r10d,%r12d
4495
vpxor %ymm7,%ymm6,%ymm6
4496
addl 44+128(%rsp),%eax
4497
andl %r9d,%r12d
4498
rorxl $25,%r9d,%r13d
4499
vpsrlq $2,%ymm7,%ymm7
4500
rorxl $11,%r9d,%edi
4501
leal (%rbx,%r14,1),%ebx
4502
leal (%rax,%r12,1),%eax
4503
vpxor %ymm7,%ymm6,%ymm6
4504
andnl %r11d,%r9d,%r12d
4505
xorl %edi,%r13d
4506
rorxl $6,%r9d,%r14d
4507
vpshufb %ymm9,%ymm6,%ymm6
4508
leal (%rax,%r12,1),%eax
4509
xorl %r14d,%r13d
4510
movl %ebx,%edi
4511
vpaddd %ymm6,%ymm1,%ymm1
4512
rorxl $22,%ebx,%r12d
4513
leal (%rax,%r13,1),%eax
4514
xorl %ecx,%edi
4515
vpaddd 32(%rbp),%ymm1,%ymm6
4516
rorxl $13,%ebx,%r14d
4517
rorxl $2,%ebx,%r13d
4518
leal (%r8,%rax,1),%r8d
4519
andl %edi,%r15d
4520
xorl %r12d,%r14d
4521
xorl %ecx,%r15d
4522
xorl %r13d,%r14d
4523
leal (%rax,%r15,1),%eax
4524
movl %r9d,%r12d
4525
vmovdqa %ymm6,32(%rsp)
4526
leaq -64(%rsp),%rsp
4527
.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08
4528
4529
pushq 64-8(%rsp)
4530
.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08
4531
leaq 8(%rsp),%rsp
4532
.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08
4533
vpalignr $4,%ymm2,%ymm3,%ymm4
4534
addl 0+128(%rsp),%r11d
4535
andl %r8d,%r12d
4536
rorxl $25,%r8d,%r13d
4537
vpalignr $4,%ymm0,%ymm1,%ymm7
4538
rorxl $11,%r8d,%r15d
4539
leal (%rax,%r14,1),%eax
4540
leal (%r11,%r12,1),%r11d
4541
vpsrld $7,%ymm4,%ymm6
4542
andnl %r10d,%r8d,%r12d
4543
xorl %r15d,%r13d
4544
rorxl $6,%r8d,%r14d
4545
vpaddd %ymm7,%ymm2,%ymm2
4546
leal (%r11,%r12,1),%r11d
4547
xorl %r14d,%r13d
4548
movl %eax,%r15d
4549
vpsrld $3,%ymm4,%ymm7
4550
rorxl $22,%eax,%r12d
4551
leal (%r11,%r13,1),%r11d
4552
xorl %ebx,%r15d
4553
vpslld $14,%ymm4,%ymm5
4554
rorxl $13,%eax,%r14d
4555
rorxl $2,%eax,%r13d
4556
leal (%rdx,%r11,1),%edx
4557
vpxor %ymm6,%ymm7,%ymm4
4558
andl %r15d,%edi
4559
xorl %r12d,%r14d
4560
xorl %ebx,%edi
4561
vpshufd $250,%ymm1,%ymm7
4562
xorl %r13d,%r14d
4563
leal (%r11,%rdi,1),%r11d
4564
movl %r8d,%r12d
4565
vpsrld $11,%ymm6,%ymm6
4566
addl 4+128(%rsp),%r10d
4567
andl %edx,%r12d
4568
rorxl $25,%edx,%r13d
4569
vpxor %ymm5,%ymm4,%ymm4
4570
rorxl $11,%edx,%edi
4571
leal (%r11,%r14,1),%r11d
4572
leal (%r10,%r12,1),%r10d
4573
vpslld $11,%ymm5,%ymm5
4574
andnl %r9d,%edx,%r12d
4575
xorl %edi,%r13d
4576
rorxl $6,%edx,%r14d
4577
vpxor %ymm6,%ymm4,%ymm4
4578
leal (%r10,%r12,1),%r10d
4579
xorl %r14d,%r13d
4580
movl %r11d,%edi
4581
vpsrld $10,%ymm7,%ymm6
4582
rorxl $22,%r11d,%r12d
4583
leal (%r10,%r13,1),%r10d
4584
xorl %eax,%edi
4585
vpxor %ymm5,%ymm4,%ymm4
4586
rorxl $13,%r11d,%r14d
4587
rorxl $2,%r11d,%r13d
4588
leal (%rcx,%r10,1),%ecx
4589
vpsrlq $17,%ymm7,%ymm7
4590
andl %edi,%r15d
4591
xorl %r12d,%r14d
4592
xorl %eax,%r15d
4593
vpaddd %ymm4,%ymm2,%ymm2
4594
xorl %r13d,%r14d
4595
leal (%r10,%r15,1),%r10d
4596
movl %edx,%r12d
4597
vpxor %ymm7,%ymm6,%ymm6
4598
addl 8+128(%rsp),%r9d
4599
andl %ecx,%r12d
4600
rorxl $25,%ecx,%r13d
4601
vpsrlq $2,%ymm7,%ymm7
4602
rorxl $11,%ecx,%r15d
4603
leal (%r10,%r14,1),%r10d
4604
leal (%r9,%r12,1),%r9d
4605
vpxor %ymm7,%ymm6,%ymm6
4606
andnl %r8d,%ecx,%r12d
4607
xorl %r15d,%r13d
4608
rorxl $6,%ecx,%r14d
4609
vpshufb %ymm8,%ymm6,%ymm6
4610
leal (%r9,%r12,1),%r9d
4611
xorl %r14d,%r13d
4612
movl %r10d,%r15d
4613
vpaddd %ymm6,%ymm2,%ymm2
4614
rorxl $22,%r10d,%r12d
4615
leal (%r9,%r13,1),%r9d
4616
xorl %r11d,%r15d
4617
vpshufd $80,%ymm2,%ymm7
4618
rorxl $13,%r10d,%r14d
4619
rorxl $2,%r10d,%r13d
4620
leal (%rbx,%r9,1),%ebx
4621
vpsrld $10,%ymm7,%ymm6
4622
andl %r15d,%edi
4623
xorl %r12d,%r14d
4624
xorl %r11d,%edi
4625
vpsrlq $17,%ymm7,%ymm7
4626
xorl %r13d,%r14d
4627
leal (%r9,%rdi,1),%r9d
4628
movl %ecx,%r12d
4629
vpxor %ymm7,%ymm6,%ymm6
4630
addl 12+128(%rsp),%r8d
4631
andl %ebx,%r12d
4632
rorxl $25,%ebx,%r13d
4633
vpsrlq $2,%ymm7,%ymm7
4634
rorxl $11,%ebx,%edi
4635
leal (%r9,%r14,1),%r9d
4636
leal (%r8,%r12,1),%r8d
4637
vpxor %ymm7,%ymm6,%ymm6
4638
andnl %edx,%ebx,%r12d
4639
xorl %edi,%r13d
4640
rorxl $6,%ebx,%r14d
4641
vpshufb %ymm9,%ymm6,%ymm6
4642
leal (%r8,%r12,1),%r8d
4643
xorl %r14d,%r13d
4644
movl %r9d,%edi
4645
vpaddd %ymm6,%ymm2,%ymm2
4646
rorxl $22,%r9d,%r12d
4647
leal (%r8,%r13,1),%r8d
4648
xorl %r10d,%edi
4649
vpaddd 64(%rbp),%ymm2,%ymm6
4650
rorxl $13,%r9d,%r14d
4651
rorxl $2,%r9d,%r13d
4652
leal (%rax,%r8,1),%eax
4653
andl %edi,%r15d
4654
xorl %r12d,%r14d
4655
xorl %r10d,%r15d
4656
xorl %r13d,%r14d
4657
leal (%r8,%r15,1),%r8d
4658
movl %ebx,%r12d
4659
vmovdqa %ymm6,0(%rsp)
4660
vpalignr $4,%ymm3,%ymm0,%ymm4
4661
addl 32+128(%rsp),%edx
4662
andl %eax,%r12d
4663
rorxl $25,%eax,%r13d
4664
vpalignr $4,%ymm1,%ymm2,%ymm7
4665
rorxl $11,%eax,%r15d
4666
leal (%r8,%r14,1),%r8d
4667
leal (%rdx,%r12,1),%edx
4668
vpsrld $7,%ymm4,%ymm6
4669
andnl %ecx,%eax,%r12d
4670
xorl %r15d,%r13d
4671
rorxl $6,%eax,%r14d
4672
vpaddd %ymm7,%ymm3,%ymm3
4673
leal (%rdx,%r12,1),%edx
4674
xorl %r14d,%r13d
4675
movl %r8d,%r15d
4676
vpsrld $3,%ymm4,%ymm7
4677
rorxl $22,%r8d,%r12d
4678
leal (%rdx,%r13,1),%edx
4679
xorl %r9d,%r15d
4680
vpslld $14,%ymm4,%ymm5
4681
rorxl $13,%r8d,%r14d
4682
rorxl $2,%r8d,%r13d
4683
leal (%r11,%rdx,1),%r11d
4684
vpxor %ymm6,%ymm7,%ymm4
4685
andl %r15d,%edi
4686
xorl %r12d,%r14d
4687
xorl %r9d,%edi
4688
vpshufd $250,%ymm2,%ymm7
4689
xorl %r13d,%r14d
4690
leal (%rdx,%rdi,1),%edx
4691
movl %eax,%r12d
4692
vpsrld $11,%ymm6,%ymm6
4693
addl 36+128(%rsp),%ecx
4694
andl %r11d,%r12d
4695
rorxl $25,%r11d,%r13d
4696
vpxor %ymm5,%ymm4,%ymm4
4697
rorxl $11,%r11d,%edi
4698
leal (%rdx,%r14,1),%edx
4699
leal (%rcx,%r12,1),%ecx
4700
vpslld $11,%ymm5,%ymm5
4701
andnl %ebx,%r11d,%r12d
4702
xorl %edi,%r13d
4703
rorxl $6,%r11d,%r14d
4704
vpxor %ymm6,%ymm4,%ymm4
4705
leal (%rcx,%r12,1),%ecx
4706
xorl %r14d,%r13d
4707
movl %edx,%edi
4708
vpsrld $10,%ymm7,%ymm6
4709
rorxl $22,%edx,%r12d
4710
leal (%rcx,%r13,1),%ecx
4711
xorl %r8d,%edi
4712
vpxor %ymm5,%ymm4,%ymm4
4713
rorxl $13,%edx,%r14d
4714
rorxl $2,%edx,%r13d
4715
leal (%r10,%rcx,1),%r10d
4716
vpsrlq $17,%ymm7,%ymm7
4717
andl %edi,%r15d
4718
xorl %r12d,%r14d
4719
xorl %r8d,%r15d
4720
vpaddd %ymm4,%ymm3,%ymm3
4721
xorl %r13d,%r14d
4722
leal (%rcx,%r15,1),%ecx
4723
movl %r11d,%r12d
4724
vpxor %ymm7,%ymm6,%ymm6
4725
addl 40+128(%rsp),%ebx
4726
andl %r10d,%r12d
4727
rorxl $25,%r10d,%r13d
4728
vpsrlq $2,%ymm7,%ymm7
4729
rorxl $11,%r10d,%r15d
4730
leal (%rcx,%r14,1),%ecx
4731
leal (%rbx,%r12,1),%ebx
4732
vpxor %ymm7,%ymm6,%ymm6
4733
andnl %eax,%r10d,%r12d
4734
xorl %r15d,%r13d
4735
rorxl $6,%r10d,%r14d
4736
vpshufb %ymm8,%ymm6,%ymm6
4737
leal (%rbx,%r12,1),%ebx
4738
xorl %r14d,%r13d
4739
movl %ecx,%r15d
4740
vpaddd %ymm6,%ymm3,%ymm3
4741
rorxl $22,%ecx,%r12d
4742
leal (%rbx,%r13,1),%ebx
4743
xorl %edx,%r15d
4744
vpshufd $80,%ymm3,%ymm7
4745
rorxl $13,%ecx,%r14d
4746
rorxl $2,%ecx,%r13d
4747
leal (%r9,%rbx,1),%r9d
4748
vpsrld $10,%ymm7,%ymm6
4749
andl %r15d,%edi
4750
xorl %r12d,%r14d
4751
xorl %edx,%edi
4752
vpsrlq $17,%ymm7,%ymm7
4753
xorl %r13d,%r14d
4754
leal (%rbx,%rdi,1),%ebx
4755
movl %r10d,%r12d
4756
vpxor %ymm7,%ymm6,%ymm6
4757
addl 44+128(%rsp),%eax
4758
andl %r9d,%r12d
4759
rorxl $25,%r9d,%r13d
4760
vpsrlq $2,%ymm7,%ymm7
4761
rorxl $11,%r9d,%edi
4762
leal (%rbx,%r14,1),%ebx
4763
leal (%rax,%r12,1),%eax
4764
vpxor %ymm7,%ymm6,%ymm6
4765
andnl %r11d,%r9d,%r12d
4766
xorl %edi,%r13d
4767
rorxl $6,%r9d,%r14d
4768
vpshufb %ymm9,%ymm6,%ymm6
4769
leal (%rax,%r12,1),%eax
4770
xorl %r14d,%r13d
4771
movl %ebx,%edi
4772
vpaddd %ymm6,%ymm3,%ymm3
4773
rorxl $22,%ebx,%r12d
4774
leal (%rax,%r13,1),%eax
4775
xorl %ecx,%edi
4776
vpaddd 96(%rbp),%ymm3,%ymm6
4777
rorxl $13,%ebx,%r14d
4778
rorxl $2,%ebx,%r13d
4779
leal (%r8,%rax,1),%r8d
4780
andl %edi,%r15d
4781
xorl %r12d,%r14d
4782
xorl %ecx,%r15d
4783
xorl %r13d,%r14d
4784
leal (%rax,%r15,1),%eax
4785
movl %r9d,%r12d
4786
vmovdqa %ymm6,32(%rsp)
4787
leaq 128(%rbp),%rbp
4788
cmpb $0,3(%rbp)
4789
jne .Lavx2_00_47
4790
addl 0+64(%rsp),%r11d
4791
andl %r8d,%r12d
4792
rorxl $25,%r8d,%r13d
4793
rorxl $11,%r8d,%r15d
4794
leal (%rax,%r14,1),%eax
4795
leal (%r11,%r12,1),%r11d
4796
andnl %r10d,%r8d,%r12d
4797
xorl %r15d,%r13d
4798
rorxl $6,%r8d,%r14d
4799
leal (%r11,%r12,1),%r11d
4800
xorl %r14d,%r13d
4801
movl %eax,%r15d
4802
rorxl $22,%eax,%r12d
4803
leal (%r11,%r13,1),%r11d
4804
xorl %ebx,%r15d
4805
rorxl $13,%eax,%r14d
4806
rorxl $2,%eax,%r13d
4807
leal (%rdx,%r11,1),%edx
4808
andl %r15d,%edi
4809
xorl %r12d,%r14d
4810
xorl %ebx,%edi
4811
xorl %r13d,%r14d
4812
leal (%r11,%rdi,1),%r11d
4813
movl %r8d,%r12d
4814
addl 4+64(%rsp),%r10d
4815
andl %edx,%r12d
4816
rorxl $25,%edx,%r13d
4817
rorxl $11,%edx,%edi
4818
leal (%r11,%r14,1),%r11d
4819
leal (%r10,%r12,1),%r10d
4820
andnl %r9d,%edx,%r12d
4821
xorl %edi,%r13d
4822
rorxl $6,%edx,%r14d
4823
leal (%r10,%r12,1),%r10d
4824
xorl %r14d,%r13d
4825
movl %r11d,%edi
4826
rorxl $22,%r11d,%r12d
4827
leal (%r10,%r13,1),%r10d
4828
xorl %eax,%edi
4829
rorxl $13,%r11d,%r14d
4830
rorxl $2,%r11d,%r13d
4831
leal (%rcx,%r10,1),%ecx
4832
andl %edi,%r15d
4833
xorl %r12d,%r14d
4834
xorl %eax,%r15d
4835
xorl %r13d,%r14d
4836
leal (%r10,%r15,1),%r10d
4837
movl %edx,%r12d
4838
addl 8+64(%rsp),%r9d
4839
andl %ecx,%r12d
4840
rorxl $25,%ecx,%r13d
4841
rorxl $11,%ecx,%r15d
4842
leal (%r10,%r14,1),%r10d
4843
leal (%r9,%r12,1),%r9d
4844
andnl %r8d,%ecx,%r12d
4845
xorl %r15d,%r13d
4846
rorxl $6,%ecx,%r14d
4847
leal (%r9,%r12,1),%r9d
4848
xorl %r14d,%r13d
4849
movl %r10d,%r15d
4850
rorxl $22,%r10d,%r12d
4851
leal (%r9,%r13,1),%r9d
4852
xorl %r11d,%r15d
4853
rorxl $13,%r10d,%r14d
4854
rorxl $2,%r10d,%r13d
4855
leal (%rbx,%r9,1),%ebx
4856
andl %r15d,%edi
4857
xorl %r12d,%r14d
4858
xorl %r11d,%edi
4859
xorl %r13d,%r14d
4860
leal (%r9,%rdi,1),%r9d
4861
movl %ecx,%r12d
4862
addl 12+64(%rsp),%r8d
4863
andl %ebx,%r12d
4864
rorxl $25,%ebx,%r13d
4865
rorxl $11,%ebx,%edi
4866
leal (%r9,%r14,1),%r9d
4867
leal (%r8,%r12,1),%r8d
4868
andnl %edx,%ebx,%r12d
4869
xorl %edi,%r13d
4870
rorxl $6,%ebx,%r14d
4871
leal (%r8,%r12,1),%r8d
4872
xorl %r14d,%r13d
4873
movl %r9d,%edi
4874
rorxl $22,%r9d,%r12d
4875
leal (%r8,%r13,1),%r8d
4876
xorl %r10d,%edi
4877
rorxl $13,%r9d,%r14d
4878
rorxl $2,%r9d,%r13d
4879
leal (%rax,%r8,1),%eax
4880
andl %edi,%r15d
4881
xorl %r12d,%r14d
4882
xorl %r10d,%r15d
4883
xorl %r13d,%r14d
4884
leal (%r8,%r15,1),%r8d
4885
movl %ebx,%r12d
4886
addl 32+64(%rsp),%edx
4887
andl %eax,%r12d
4888
rorxl $25,%eax,%r13d
4889
rorxl $11,%eax,%r15d
4890
leal (%r8,%r14,1),%r8d
4891
leal (%rdx,%r12,1),%edx
4892
andnl %ecx,%eax,%r12d
4893
xorl %r15d,%r13d
4894
rorxl $6,%eax,%r14d
4895
leal (%rdx,%r12,1),%edx
4896
xorl %r14d,%r13d
4897
movl %r8d,%r15d
4898
rorxl $22,%r8d,%r12d
4899
leal (%rdx,%r13,1),%edx
4900
xorl %r9d,%r15d
4901
rorxl $13,%r8d,%r14d
4902
rorxl $2,%r8d,%r13d
4903
leal (%r11,%rdx,1),%r11d
4904
andl %r15d,%edi
4905
xorl %r12d,%r14d
4906
xorl %r9d,%edi
4907
xorl %r13d,%r14d
4908
leal (%rdx,%rdi,1),%edx
4909
movl %eax,%r12d
4910
addl 36+64(%rsp),%ecx
4911
andl %r11d,%r12d
4912
rorxl $25,%r11d,%r13d
4913
rorxl $11,%r11d,%edi
4914
leal (%rdx,%r14,1),%edx
4915
leal (%rcx,%r12,1),%ecx
4916
andnl %ebx,%r11d,%r12d
4917
xorl %edi,%r13d
4918
rorxl $6,%r11d,%r14d
4919
leal (%rcx,%r12,1),%ecx
4920
xorl %r14d,%r13d
4921
movl %edx,%edi
4922
rorxl $22,%edx,%r12d
4923
leal (%rcx,%r13,1),%ecx
4924
xorl %r8d,%edi
4925
rorxl $13,%edx,%r14d
4926
rorxl $2,%edx,%r13d
4927
leal (%r10,%rcx,1),%r10d
4928
andl %edi,%r15d
4929
xorl %r12d,%r14d
4930
xorl %r8d,%r15d
4931
xorl %r13d,%r14d
4932
leal (%rcx,%r15,1),%ecx
4933
movl %r11d,%r12d
4934
addl 40+64(%rsp),%ebx
4935
andl %r10d,%r12d
4936
rorxl $25,%r10d,%r13d
4937
rorxl $11,%r10d,%r15d
4938
leal (%rcx,%r14,1),%ecx
4939
leal (%rbx,%r12,1),%ebx
4940
andnl %eax,%r10d,%r12d
4941
xorl %r15d,%r13d
4942
rorxl $6,%r10d,%r14d
4943
leal (%rbx,%r12,1),%ebx
4944
xorl %r14d,%r13d
4945
movl %ecx,%r15d
4946
rorxl $22,%ecx,%r12d
4947
leal (%rbx,%r13,1),%ebx
4948
xorl %edx,%r15d
4949
rorxl $13,%ecx,%r14d
4950
rorxl $2,%ecx,%r13d
4951
leal (%r9,%rbx,1),%r9d
4952
andl %r15d,%edi
4953
xorl %r12d,%r14d
4954
xorl %edx,%edi
4955
xorl %r13d,%r14d
4956
leal (%rbx,%rdi,1),%ebx
4957
movl %r10d,%r12d
4958
addl 44+64(%rsp),%eax
4959
andl %r9d,%r12d
4960
rorxl $25,%r9d,%r13d
4961
rorxl $11,%r9d,%edi
4962
leal (%rbx,%r14,1),%ebx
4963
leal (%rax,%r12,1),%eax
4964
andnl %r11d,%r9d,%r12d
4965
xorl %edi,%r13d
4966
rorxl $6,%r9d,%r14d
4967
leal (%rax,%r12,1),%eax
4968
xorl %r14d,%r13d
4969
movl %ebx,%edi
4970
rorxl $22,%ebx,%r12d
4971
leal (%rax,%r13,1),%eax
4972
xorl %ecx,%edi
4973
rorxl $13,%ebx,%r14d
4974
rorxl $2,%ebx,%r13d
4975
leal (%r8,%rax,1),%r8d
4976
andl %edi,%r15d
4977
xorl %r12d,%r14d
4978
xorl %ecx,%r15d
4979
xorl %r13d,%r14d
4980
leal (%rax,%r15,1),%eax
4981
movl %r9d,%r12d
4982
addl 0(%rsp),%r11d
4983
andl %r8d,%r12d
4984
rorxl $25,%r8d,%r13d
4985
rorxl $11,%r8d,%r15d
4986
leal (%rax,%r14,1),%eax
4987
leal (%r11,%r12,1),%r11d
4988
andnl %r10d,%r8d,%r12d
4989
xorl %r15d,%r13d
4990
rorxl $6,%r8d,%r14d
4991
leal (%r11,%r12,1),%r11d
4992
xorl %r14d,%r13d
4993
movl %eax,%r15d
4994
rorxl $22,%eax,%r12d
4995
leal (%r11,%r13,1),%r11d
4996
xorl %ebx,%r15d
4997
rorxl $13,%eax,%r14d
4998
rorxl $2,%eax,%r13d
4999
leal (%rdx,%r11,1),%edx
5000
andl %r15d,%edi
5001
xorl %r12d,%r14d
5002
xorl %ebx,%edi
5003
xorl %r13d,%r14d
5004
leal (%r11,%rdi,1),%r11d
5005
movl %r8d,%r12d
5006
addl 4(%rsp),%r10d
5007
andl %edx,%r12d
5008
rorxl $25,%edx,%r13d
5009
rorxl $11,%edx,%edi
5010
leal (%r11,%r14,1),%r11d
5011
leal (%r10,%r12,1),%r10d
5012
andnl %r9d,%edx,%r12d
5013
xorl %edi,%r13d
5014
rorxl $6,%edx,%r14d
5015
leal (%r10,%r12,1),%r10d
5016
xorl %r14d,%r13d
5017
movl %r11d,%edi
5018
rorxl $22,%r11d,%r12d
5019
leal (%r10,%r13,1),%r10d
5020
xorl %eax,%edi
5021
rorxl $13,%r11d,%r14d
5022
rorxl $2,%r11d,%r13d
5023
leal (%rcx,%r10,1),%ecx
5024
andl %edi,%r15d
5025
xorl %r12d,%r14d
5026
xorl %eax,%r15d
5027
xorl %r13d,%r14d
5028
leal (%r10,%r15,1),%r10d
5029
movl %edx,%r12d
5030
addl 8(%rsp),%r9d
5031
andl %ecx,%r12d
5032
rorxl $25,%ecx,%r13d
5033
rorxl $11,%ecx,%r15d
5034
leal (%r10,%r14,1),%r10d
5035
leal (%r9,%r12,1),%r9d
5036
andnl %r8d,%ecx,%r12d
5037
xorl %r15d,%r13d
5038
rorxl $6,%ecx,%r14d
5039
leal (%r9,%r12,1),%r9d
5040
xorl %r14d,%r13d
5041
movl %r10d,%r15d
5042
rorxl $22,%r10d,%r12d
5043
leal (%r9,%r13,1),%r9d
5044
xorl %r11d,%r15d
5045
rorxl $13,%r10d,%r14d
5046
rorxl $2,%r10d,%r13d
5047
leal (%rbx,%r9,1),%ebx
5048
andl %r15d,%edi
5049
xorl %r12d,%r14d
5050
xorl %r11d,%edi
5051
xorl %r13d,%r14d
5052
leal (%r9,%rdi,1),%r9d
5053
movl %ecx,%r12d
5054
addl 12(%rsp),%r8d
5055
andl %ebx,%r12d
5056
rorxl $25,%ebx,%r13d
5057
rorxl $11,%ebx,%edi
5058
leal (%r9,%r14,1),%r9d
5059
leal (%r8,%r12,1),%r8d
5060
andnl %edx,%ebx,%r12d
5061
xorl %edi,%r13d
5062
rorxl $6,%ebx,%r14d
5063
leal (%r8,%r12,1),%r8d
5064
xorl %r14d,%r13d
5065
movl %r9d,%edi
5066
rorxl $22,%r9d,%r12d
5067
leal (%r8,%r13,1),%r8d
5068
xorl %r10d,%edi
5069
rorxl $13,%r9d,%r14d
5070
rorxl $2,%r9d,%r13d
5071
leal (%rax,%r8,1),%eax
5072
andl %edi,%r15d
5073
xorl %r12d,%r14d
5074
xorl %r10d,%r15d
5075
xorl %r13d,%r14d
5076
leal (%r8,%r15,1),%r8d
5077
movl %ebx,%r12d
5078
addl 32(%rsp),%edx
5079
andl %eax,%r12d
5080
rorxl $25,%eax,%r13d
5081
rorxl $11,%eax,%r15d
5082
leal (%r8,%r14,1),%r8d
5083
leal (%rdx,%r12,1),%edx
5084
andnl %ecx,%eax,%r12d
5085
xorl %r15d,%r13d
5086
rorxl $6,%eax,%r14d
5087
leal (%rdx,%r12,1),%edx
5088
xorl %r14d,%r13d
5089
movl %r8d,%r15d
5090
rorxl $22,%r8d,%r12d
5091
leal (%rdx,%r13,1),%edx
5092
xorl %r9d,%r15d
5093
rorxl $13,%r8d,%r14d
5094
rorxl $2,%r8d,%r13d
5095
leal (%r11,%rdx,1),%r11d
5096
andl %r15d,%edi
5097
xorl %r12d,%r14d
5098
xorl %r9d,%edi
5099
xorl %r13d,%r14d
5100
leal (%rdx,%rdi,1),%edx
5101
movl %eax,%r12d
5102
addl 36(%rsp),%ecx
5103
andl %r11d,%r12d
5104
rorxl $25,%r11d,%r13d
5105
rorxl $11,%r11d,%edi
5106
leal (%rdx,%r14,1),%edx
5107
leal (%rcx,%r12,1),%ecx
5108
andnl %ebx,%r11d,%r12d
5109
xorl %edi,%r13d
5110
rorxl $6,%r11d,%r14d
5111
leal (%rcx,%r12,1),%ecx
5112
xorl %r14d,%r13d
5113
movl %edx,%edi
5114
rorxl $22,%edx,%r12d
5115
leal (%rcx,%r13,1),%ecx
5116
xorl %r8d,%edi
5117
rorxl $13,%edx,%r14d
5118
rorxl $2,%edx,%r13d
5119
leal (%r10,%rcx,1),%r10d
5120
andl %edi,%r15d
5121
xorl %r12d,%r14d
5122
xorl %r8d,%r15d
5123
xorl %r13d,%r14d
5124
leal (%rcx,%r15,1),%ecx
5125
movl %r11d,%r12d
5126
addl 40(%rsp),%ebx
5127
andl %r10d,%r12d
5128
rorxl $25,%r10d,%r13d
5129
rorxl $11,%r10d,%r15d
5130
leal (%rcx,%r14,1),%ecx
5131
leal (%rbx,%r12,1),%ebx
5132
andnl %eax,%r10d,%r12d
5133
xorl %r15d,%r13d
5134
rorxl $6,%r10d,%r14d
5135
leal (%rbx,%r12,1),%ebx
5136
xorl %r14d,%r13d
5137
movl %ecx,%r15d
5138
rorxl $22,%ecx,%r12d
5139
leal (%rbx,%r13,1),%ebx
5140
xorl %edx,%r15d
5141
rorxl $13,%ecx,%r14d
5142
rorxl $2,%ecx,%r13d
5143
leal (%r9,%rbx,1),%r9d
5144
andl %r15d,%edi
5145
xorl %r12d,%r14d
5146
xorl %edx,%edi
5147
xorl %r13d,%r14d
5148
leal (%rbx,%rdi,1),%ebx
5149
movl %r10d,%r12d
5150
addl 44(%rsp),%eax
5151
andl %r9d,%r12d
5152
rorxl $25,%r9d,%r13d
5153
rorxl $11,%r9d,%edi
5154
leal (%rbx,%r14,1),%ebx
5155
leal (%rax,%r12,1),%eax
5156
andnl %r11d,%r9d,%r12d
5157
xorl %edi,%r13d
5158
rorxl $6,%r9d,%r14d
5159
leal (%rax,%r12,1),%eax
5160
xorl %r14d,%r13d
5161
movl %ebx,%edi
5162
rorxl $22,%ebx,%r12d
5163
leal (%rax,%r13,1),%eax
5164
xorl %ecx,%edi
5165
rorxl $13,%ebx,%r14d
5166
rorxl $2,%ebx,%r13d
5167
leal (%r8,%rax,1),%r8d
5168
andl %edi,%r15d
5169
xorl %r12d,%r14d
5170
xorl %ecx,%r15d
5171
xorl %r13d,%r14d
5172
leal (%rax,%r15,1),%eax
5173
movl %r9d,%r12d
5174
movq 512(%rsp),%rdi
5175
addl %r14d,%eax
5176
5177
leaq 448(%rsp),%rbp
5178
5179
addl 0(%rdi),%eax
5180
addl 4(%rdi),%ebx
5181
addl 8(%rdi),%ecx
5182
addl 12(%rdi),%edx
5183
addl 16(%rdi),%r8d
5184
addl 20(%rdi),%r9d
5185
addl 24(%rdi),%r10d
5186
addl 28(%rdi),%r11d
5187
5188
movl %eax,0(%rdi)
5189
movl %ebx,4(%rdi)
5190
movl %ecx,8(%rdi)
5191
movl %edx,12(%rdi)
5192
movl %r8d,16(%rdi)
5193
movl %r9d,20(%rdi)
5194
movl %r10d,24(%rdi)
5195
movl %r11d,28(%rdi)
5196
5197
cmpq 80(%rbp),%rsi
5198
je .Ldone_avx2
5199
5200
xorl %r14d,%r14d
5201
movl %ebx,%edi
5202
xorl %ecx,%edi
5203
movl %r9d,%r12d
5204
jmp .Lower_avx2
5205
.align 16
5206
.Lower_avx2:
5207
addl 0+16(%rbp),%r11d
5208
andl %r8d,%r12d
5209
rorxl $25,%r8d,%r13d
5210
rorxl $11,%r8d,%r15d
5211
leal (%rax,%r14,1),%eax
5212
leal (%r11,%r12,1),%r11d
5213
andnl %r10d,%r8d,%r12d
5214
xorl %r15d,%r13d
5215
rorxl $6,%r8d,%r14d
5216
leal (%r11,%r12,1),%r11d
5217
xorl %r14d,%r13d
5218
movl %eax,%r15d
5219
rorxl $22,%eax,%r12d
5220
leal (%r11,%r13,1),%r11d
5221
xorl %ebx,%r15d
5222
rorxl $13,%eax,%r14d
5223
rorxl $2,%eax,%r13d
5224
leal (%rdx,%r11,1),%edx
5225
andl %r15d,%edi
5226
xorl %r12d,%r14d
5227
xorl %ebx,%edi
5228
xorl %r13d,%r14d
5229
leal (%r11,%rdi,1),%r11d
5230
movl %r8d,%r12d
5231
addl 4+16(%rbp),%r10d
5232
andl %edx,%r12d
5233
rorxl $25,%edx,%r13d
5234
rorxl $11,%edx,%edi
5235
leal (%r11,%r14,1),%r11d
5236
leal (%r10,%r12,1),%r10d
5237
andnl %r9d,%edx,%r12d
5238
xorl %edi,%r13d
5239
rorxl $6,%edx,%r14d
5240
leal (%r10,%r12,1),%r10d
5241
xorl %r14d,%r13d
5242
movl %r11d,%edi
5243
rorxl $22,%r11d,%r12d
5244
leal (%r10,%r13,1),%r10d
5245
xorl %eax,%edi
5246
rorxl $13,%r11d,%r14d
5247
rorxl $2,%r11d,%r13d
5248
leal (%rcx,%r10,1),%ecx
5249
andl %edi,%r15d
5250
xorl %r12d,%r14d
5251
xorl %eax,%r15d
5252
xorl %r13d,%r14d
5253
leal (%r10,%r15,1),%r10d
5254
movl %edx,%r12d
5255
addl 8+16(%rbp),%r9d
5256
andl %ecx,%r12d
5257
rorxl $25,%ecx,%r13d
5258
rorxl $11,%ecx,%r15d
5259
leal (%r10,%r14,1),%r10d
5260
leal (%r9,%r12,1),%r9d
5261
andnl %r8d,%ecx,%r12d
5262
xorl %r15d,%r13d
5263
rorxl $6,%ecx,%r14d
5264
leal (%r9,%r12,1),%r9d
5265
xorl %r14d,%r13d
5266
movl %r10d,%r15d
5267
rorxl $22,%r10d,%r12d
5268
leal (%r9,%r13,1),%r9d
5269
xorl %r11d,%r15d
5270
rorxl $13,%r10d,%r14d
5271
rorxl $2,%r10d,%r13d
5272
leal (%rbx,%r9,1),%ebx
5273
andl %r15d,%edi
5274
xorl %r12d,%r14d
5275
xorl %r11d,%edi
5276
xorl %r13d,%r14d
5277
leal (%r9,%rdi,1),%r9d
5278
movl %ecx,%r12d
5279
addl 12+16(%rbp),%r8d
5280
andl %ebx,%r12d
5281
rorxl $25,%ebx,%r13d
5282
rorxl $11,%ebx,%edi
5283
leal (%r9,%r14,1),%r9d
5284
leal (%r8,%r12,1),%r8d
5285
andnl %edx,%ebx,%r12d
5286
xorl %edi,%r13d
5287
rorxl $6,%ebx,%r14d
5288
leal (%r8,%r12,1),%r8d
5289
xorl %r14d,%r13d
5290
movl %r9d,%edi
5291
rorxl $22,%r9d,%r12d
5292
leal (%r8,%r13,1),%r8d
5293
xorl %r10d,%edi
5294
rorxl $13,%r9d,%r14d
5295
rorxl $2,%r9d,%r13d
5296
leal (%rax,%r8,1),%eax
5297
andl %edi,%r15d
5298
xorl %r12d,%r14d
5299
xorl %r10d,%r15d
5300
xorl %r13d,%r14d
5301
leal (%r8,%r15,1),%r8d
5302
movl %ebx,%r12d
5303
addl 32+16(%rbp),%edx
5304
andl %eax,%r12d
5305
rorxl $25,%eax,%r13d
5306
rorxl $11,%eax,%r15d
5307
leal (%r8,%r14,1),%r8d
5308
leal (%rdx,%r12,1),%edx
5309
andnl %ecx,%eax,%r12d
5310
xorl %r15d,%r13d
5311
rorxl $6,%eax,%r14d
5312
leal (%rdx,%r12,1),%edx
5313
xorl %r14d,%r13d
5314
movl %r8d,%r15d
5315
rorxl $22,%r8d,%r12d
5316
leal (%rdx,%r13,1),%edx
5317
xorl %r9d,%r15d
5318
rorxl $13,%r8d,%r14d
5319
rorxl $2,%r8d,%r13d
5320
leal (%r11,%rdx,1),%r11d
5321
andl %r15d,%edi
5322
xorl %r12d,%r14d
5323
xorl %r9d,%edi
5324
xorl %r13d,%r14d
5325
leal (%rdx,%rdi,1),%edx
5326
movl %eax,%r12d
5327
addl 36+16(%rbp),%ecx
5328
andl %r11d,%r12d
5329
rorxl $25,%r11d,%r13d
5330
rorxl $11,%r11d,%edi
5331
leal (%rdx,%r14,1),%edx
5332
leal (%rcx,%r12,1),%ecx
5333
andnl %ebx,%r11d,%r12d
5334
xorl %edi,%r13d
5335
rorxl $6,%r11d,%r14d
5336
leal (%rcx,%r12,1),%ecx
5337
xorl %r14d,%r13d
5338
movl %edx,%edi
5339
rorxl $22,%edx,%r12d
5340
leal (%rcx,%r13,1),%ecx
5341
xorl %r8d,%edi
5342
rorxl $13,%edx,%r14d
5343
rorxl $2,%edx,%r13d
5344
leal (%r10,%rcx,1),%r10d
5345
andl %edi,%r15d
5346
xorl %r12d,%r14d
5347
xorl %r8d,%r15d
5348
xorl %r13d,%r14d
5349
leal (%rcx,%r15,1),%ecx
5350
movl %r11d,%r12d
5351
addl 40+16(%rbp),%ebx
5352
andl %r10d,%r12d
5353
rorxl $25,%r10d,%r13d
5354
rorxl $11,%r10d,%r15d
5355
leal (%rcx,%r14,1),%ecx
5356
leal (%rbx,%r12,1),%ebx
5357
andnl %eax,%r10d,%r12d
5358
xorl %r15d,%r13d
5359
rorxl $6,%r10d,%r14d
5360
leal (%rbx,%r12,1),%ebx
5361
xorl %r14d,%r13d
5362
movl %ecx,%r15d
5363
rorxl $22,%ecx,%r12d
5364
leal (%rbx,%r13,1),%ebx
5365
xorl %edx,%r15d
5366
rorxl $13,%ecx,%r14d
5367
rorxl $2,%ecx,%r13d
5368
leal (%r9,%rbx,1),%r9d
5369
andl %r15d,%edi
5370
xorl %r12d,%r14d
5371
xorl %edx,%edi
5372
xorl %r13d,%r14d
5373
leal (%rbx,%rdi,1),%ebx
5374
movl %r10d,%r12d
5375
addl 44+16(%rbp),%eax
5376
andl %r9d,%r12d
5377
rorxl $25,%r9d,%r13d
5378
rorxl $11,%r9d,%edi
5379
leal (%rbx,%r14,1),%ebx
5380
leal (%rax,%r12,1),%eax
5381
andnl %r11d,%r9d,%r12d
5382
xorl %edi,%r13d
5383
rorxl $6,%r9d,%r14d
5384
leal (%rax,%r12,1),%eax
5385
xorl %r14d,%r13d
5386
movl %ebx,%edi
5387
rorxl $22,%ebx,%r12d
5388
leal (%rax,%r13,1),%eax
5389
xorl %ecx,%edi
5390
rorxl $13,%ebx,%r14d
5391
rorxl $2,%ebx,%r13d
5392
leal (%r8,%rax,1),%r8d
5393
andl %edi,%r15d
5394
xorl %r12d,%r14d
5395
xorl %ecx,%r15d
5396
xorl %r13d,%r14d
5397
leal (%rax,%r15,1),%eax
5398
movl %r9d,%r12d
5399
leaq -64(%rbp),%rbp
5400
cmpq %rsp,%rbp
5401
jae .Lower_avx2
5402
5403
movq 512(%rsp),%rdi
5404
addl %r14d,%eax
5405
5406
leaq 448(%rsp),%rsp
5407
5408
.cfi_escape 0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
5409
5410
addl 0(%rdi),%eax
5411
addl 4(%rdi),%ebx
5412
addl 8(%rdi),%ecx
5413
addl 12(%rdi),%edx
5414
addl 16(%rdi),%r8d
5415
addl 20(%rdi),%r9d
5416
leaq 128(%rsi),%rsi
5417
addl 24(%rdi),%r10d
5418
movq %rsi,%r12
5419
addl 28(%rdi),%r11d
5420
cmpq 64+16(%rsp),%rsi
5421
5422
movl %eax,0(%rdi)
5423
cmoveq %rsp,%r12
5424
movl %ebx,4(%rdi)
5425
movl %ecx,8(%rdi)
5426
movl %edx,12(%rdi)
5427
movl %r8d,16(%rdi)
5428
movl %r9d,20(%rdi)
5429
movl %r10d,24(%rdi)
5430
movl %r11d,28(%rdi)
5431
5432
jbe .Loop_avx2
5433
leaq (%rsp),%rbp
5434
5435
5436
.cfi_escape 0x0f,0x06,0x76,0xd8,0x00,0x06,0x23,0x08
5437
5438
.Ldone_avx2:
5439
movq 88(%rbp),%rsi
5440
.cfi_def_cfa %rsi,8
5441
vzeroupper
5442
movq -48(%rsi),%r15
5443
.cfi_restore %r15
5444
movq -40(%rsi),%r14
5445
.cfi_restore %r14
5446
movq -32(%rsi),%r13
5447
.cfi_restore %r13
5448
movq -24(%rsi),%r12
5449
.cfi_restore %r12
5450
movq -16(%rsi),%rbp
5451
.cfi_restore %rbp
5452
movq -8(%rsi),%rbx
5453
.cfi_restore %rbx
5454
leaq (%rsi),%rsp
5455
.cfi_def_cfa_register %rsp
5456
.Lepilogue_avx2:
5457
.byte 0xf3,0xc3
5458
.cfi_endproc
5459
.size sha256_block_data_order_avx2,.-sha256_block_data_order_avx2
5460
.section ".note.gnu.property", "a"
5461
.p2align 3
5462
.long 1f - 0f
5463
.long 4f - 1f
5464
.long 5
5465
0:
5466
# "GNU" encoded with .byte, since .asciz isn't supported
5467
# on Solaris.
5468
.byte 0x47
5469
.byte 0x4e
5470
.byte 0x55
5471
.byte 0
5472
1:
5473
.p2align 3
5474
.long 0xc0000002
5475
.long 3f - 2f
5476
2:
5477
.long 3
5478
3:
5479
.p2align 3
5480
4:
5481
5482