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