Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/sys/crypto/openssl/amd64/rc4-md5-x86_64.S
39482 views
1
/* Do not modify. This file is auto-generated from rc4-md5-x86_64.pl. */
2
.text
3
.align 16
4
5
.globl rc4_md5_enc
6
.type rc4_md5_enc,@function
7
rc4_md5_enc:
8
.cfi_startproc
9
cmpq $0,%r9
10
je .Labort
11
pushq %rbx
12
.cfi_adjust_cfa_offset 8
13
.cfi_offset %rbx,-16
14
pushq %rbp
15
.cfi_adjust_cfa_offset 8
16
.cfi_offset %rbp,-24
17
pushq %r12
18
.cfi_adjust_cfa_offset 8
19
.cfi_offset %r12,-32
20
pushq %r13
21
.cfi_adjust_cfa_offset 8
22
.cfi_offset %r13,-40
23
pushq %r14
24
.cfi_adjust_cfa_offset 8
25
.cfi_offset %r14,-48
26
pushq %r15
27
.cfi_adjust_cfa_offset 8
28
.cfi_offset %r15,-56
29
subq $40,%rsp
30
.cfi_adjust_cfa_offset 40
31
.Lbody:
32
movq %rcx,%r11
33
movq %r9,%r12
34
movq %rsi,%r13
35
movq %rdx,%r14
36
movq %r8,%r15
37
xorq %rbp,%rbp
38
xorq %rcx,%rcx
39
40
leaq 8(%rdi),%rdi
41
movb -8(%rdi),%bpl
42
movb -4(%rdi),%cl
43
44
incb %bpl
45
subq %r13,%r14
46
movl (%rdi,%rbp,4),%eax
47
addb %al,%cl
48
leaq (%rdi,%rbp,4),%rsi
49
shlq $6,%r12
50
addq %r15,%r12
51
movq %r12,16(%rsp)
52
53
movq %r11,24(%rsp)
54
movl 0(%r11),%r8d
55
movl 4(%r11),%r9d
56
movl 8(%r11),%r10d
57
movl 12(%r11),%r11d
58
jmp .Loop
59
60
.align 16
61
.Loop:
62
movl %r8d,0(%rsp)
63
movl %r9d,4(%rsp)
64
movl %r10d,8(%rsp)
65
movl %r11d,%r12d
66
movl %r11d,12(%rsp)
67
pxor %xmm0,%xmm0
68
movl (%rdi,%rcx,4),%edx
69
xorl %r10d,%r12d
70
movl %eax,(%rdi,%rcx,4)
71
andl %r9d,%r12d
72
addl 0(%r15),%r8d
73
addb %dl,%al
74
movl 4(%rsi),%ebx
75
addl $3614090360,%r8d
76
xorl %r11d,%r12d
77
movzbl %al,%eax
78
movl %edx,0(%rsi)
79
addl %r12d,%r8d
80
addb %bl,%cl
81
roll $7,%r8d
82
movl %r10d,%r12d
83
movd (%rdi,%rax,4),%xmm0
84
85
addl %r9d,%r8d
86
pxor %xmm1,%xmm1
87
movl (%rdi,%rcx,4),%edx
88
xorl %r9d,%r12d
89
movl %ebx,(%rdi,%rcx,4)
90
andl %r8d,%r12d
91
addl 4(%r15),%r11d
92
addb %dl,%bl
93
movl 8(%rsi),%eax
94
addl $3905402710,%r11d
95
xorl %r10d,%r12d
96
movzbl %bl,%ebx
97
movl %edx,4(%rsi)
98
addl %r12d,%r11d
99
addb %al,%cl
100
roll $12,%r11d
101
movl %r9d,%r12d
102
movd (%rdi,%rbx,4),%xmm1
103
104
addl %r8d,%r11d
105
movl (%rdi,%rcx,4),%edx
106
xorl %r8d,%r12d
107
movl %eax,(%rdi,%rcx,4)
108
andl %r11d,%r12d
109
addl 8(%r15),%r10d
110
addb %dl,%al
111
movl 12(%rsi),%ebx
112
addl $606105819,%r10d
113
xorl %r9d,%r12d
114
movzbl %al,%eax
115
movl %edx,8(%rsi)
116
addl %r12d,%r10d
117
addb %bl,%cl
118
roll $17,%r10d
119
movl %r8d,%r12d
120
pinsrw $1,(%rdi,%rax,4),%xmm0
121
122
addl %r11d,%r10d
123
movl (%rdi,%rcx,4),%edx
124
xorl %r11d,%r12d
125
movl %ebx,(%rdi,%rcx,4)
126
andl %r10d,%r12d
127
addl 12(%r15),%r9d
128
addb %dl,%bl
129
movl 16(%rsi),%eax
130
addl $3250441966,%r9d
131
xorl %r8d,%r12d
132
movzbl %bl,%ebx
133
movl %edx,12(%rsi)
134
addl %r12d,%r9d
135
addb %al,%cl
136
roll $22,%r9d
137
movl %r11d,%r12d
138
pinsrw $1,(%rdi,%rbx,4),%xmm1
139
140
addl %r10d,%r9d
141
movl (%rdi,%rcx,4),%edx
142
xorl %r10d,%r12d
143
movl %eax,(%rdi,%rcx,4)
144
andl %r9d,%r12d
145
addl 16(%r15),%r8d
146
addb %dl,%al
147
movl 20(%rsi),%ebx
148
addl $4118548399,%r8d
149
xorl %r11d,%r12d
150
movzbl %al,%eax
151
movl %edx,16(%rsi)
152
addl %r12d,%r8d
153
addb %bl,%cl
154
roll $7,%r8d
155
movl %r10d,%r12d
156
pinsrw $2,(%rdi,%rax,4),%xmm0
157
158
addl %r9d,%r8d
159
movl (%rdi,%rcx,4),%edx
160
xorl %r9d,%r12d
161
movl %ebx,(%rdi,%rcx,4)
162
andl %r8d,%r12d
163
addl 20(%r15),%r11d
164
addb %dl,%bl
165
movl 24(%rsi),%eax
166
addl $1200080426,%r11d
167
xorl %r10d,%r12d
168
movzbl %bl,%ebx
169
movl %edx,20(%rsi)
170
addl %r12d,%r11d
171
addb %al,%cl
172
roll $12,%r11d
173
movl %r9d,%r12d
174
pinsrw $2,(%rdi,%rbx,4),%xmm1
175
176
addl %r8d,%r11d
177
movl (%rdi,%rcx,4),%edx
178
xorl %r8d,%r12d
179
movl %eax,(%rdi,%rcx,4)
180
andl %r11d,%r12d
181
addl 24(%r15),%r10d
182
addb %dl,%al
183
movl 28(%rsi),%ebx
184
addl $2821735955,%r10d
185
xorl %r9d,%r12d
186
movzbl %al,%eax
187
movl %edx,24(%rsi)
188
addl %r12d,%r10d
189
addb %bl,%cl
190
roll $17,%r10d
191
movl %r8d,%r12d
192
pinsrw $3,(%rdi,%rax,4),%xmm0
193
194
addl %r11d,%r10d
195
movl (%rdi,%rcx,4),%edx
196
xorl %r11d,%r12d
197
movl %ebx,(%rdi,%rcx,4)
198
andl %r10d,%r12d
199
addl 28(%r15),%r9d
200
addb %dl,%bl
201
movl 32(%rsi),%eax
202
addl $4249261313,%r9d
203
xorl %r8d,%r12d
204
movzbl %bl,%ebx
205
movl %edx,28(%rsi)
206
addl %r12d,%r9d
207
addb %al,%cl
208
roll $22,%r9d
209
movl %r11d,%r12d
210
pinsrw $3,(%rdi,%rbx,4),%xmm1
211
212
addl %r10d,%r9d
213
movl (%rdi,%rcx,4),%edx
214
xorl %r10d,%r12d
215
movl %eax,(%rdi,%rcx,4)
216
andl %r9d,%r12d
217
addl 32(%r15),%r8d
218
addb %dl,%al
219
movl 36(%rsi),%ebx
220
addl $1770035416,%r8d
221
xorl %r11d,%r12d
222
movzbl %al,%eax
223
movl %edx,32(%rsi)
224
addl %r12d,%r8d
225
addb %bl,%cl
226
roll $7,%r8d
227
movl %r10d,%r12d
228
pinsrw $4,(%rdi,%rax,4),%xmm0
229
230
addl %r9d,%r8d
231
movl (%rdi,%rcx,4),%edx
232
xorl %r9d,%r12d
233
movl %ebx,(%rdi,%rcx,4)
234
andl %r8d,%r12d
235
addl 36(%r15),%r11d
236
addb %dl,%bl
237
movl 40(%rsi),%eax
238
addl $2336552879,%r11d
239
xorl %r10d,%r12d
240
movzbl %bl,%ebx
241
movl %edx,36(%rsi)
242
addl %r12d,%r11d
243
addb %al,%cl
244
roll $12,%r11d
245
movl %r9d,%r12d
246
pinsrw $4,(%rdi,%rbx,4),%xmm1
247
248
addl %r8d,%r11d
249
movl (%rdi,%rcx,4),%edx
250
xorl %r8d,%r12d
251
movl %eax,(%rdi,%rcx,4)
252
andl %r11d,%r12d
253
addl 40(%r15),%r10d
254
addb %dl,%al
255
movl 44(%rsi),%ebx
256
addl $4294925233,%r10d
257
xorl %r9d,%r12d
258
movzbl %al,%eax
259
movl %edx,40(%rsi)
260
addl %r12d,%r10d
261
addb %bl,%cl
262
roll $17,%r10d
263
movl %r8d,%r12d
264
pinsrw $5,(%rdi,%rax,4),%xmm0
265
266
addl %r11d,%r10d
267
movl (%rdi,%rcx,4),%edx
268
xorl %r11d,%r12d
269
movl %ebx,(%rdi,%rcx,4)
270
andl %r10d,%r12d
271
addl 44(%r15),%r9d
272
addb %dl,%bl
273
movl 48(%rsi),%eax
274
addl $2304563134,%r9d
275
xorl %r8d,%r12d
276
movzbl %bl,%ebx
277
movl %edx,44(%rsi)
278
addl %r12d,%r9d
279
addb %al,%cl
280
roll $22,%r9d
281
movl %r11d,%r12d
282
pinsrw $5,(%rdi,%rbx,4),%xmm1
283
284
addl %r10d,%r9d
285
movl (%rdi,%rcx,4),%edx
286
xorl %r10d,%r12d
287
movl %eax,(%rdi,%rcx,4)
288
andl %r9d,%r12d
289
addl 48(%r15),%r8d
290
addb %dl,%al
291
movl 52(%rsi),%ebx
292
addl $1804603682,%r8d
293
xorl %r11d,%r12d
294
movzbl %al,%eax
295
movl %edx,48(%rsi)
296
addl %r12d,%r8d
297
addb %bl,%cl
298
roll $7,%r8d
299
movl %r10d,%r12d
300
pinsrw $6,(%rdi,%rax,4),%xmm0
301
302
addl %r9d,%r8d
303
movl (%rdi,%rcx,4),%edx
304
xorl %r9d,%r12d
305
movl %ebx,(%rdi,%rcx,4)
306
andl %r8d,%r12d
307
addl 52(%r15),%r11d
308
addb %dl,%bl
309
movl 56(%rsi),%eax
310
addl $4254626195,%r11d
311
xorl %r10d,%r12d
312
movzbl %bl,%ebx
313
movl %edx,52(%rsi)
314
addl %r12d,%r11d
315
addb %al,%cl
316
roll $12,%r11d
317
movl %r9d,%r12d
318
pinsrw $6,(%rdi,%rbx,4),%xmm1
319
320
addl %r8d,%r11d
321
movl (%rdi,%rcx,4),%edx
322
xorl %r8d,%r12d
323
movl %eax,(%rdi,%rcx,4)
324
andl %r11d,%r12d
325
addl 56(%r15),%r10d
326
addb %dl,%al
327
movl 60(%rsi),%ebx
328
addl $2792965006,%r10d
329
xorl %r9d,%r12d
330
movzbl %al,%eax
331
movl %edx,56(%rsi)
332
addl %r12d,%r10d
333
addb %bl,%cl
334
roll $17,%r10d
335
movl %r8d,%r12d
336
pinsrw $7,(%rdi,%rax,4),%xmm0
337
338
addl %r11d,%r10d
339
movdqu (%r13),%xmm2
340
movl (%rdi,%rcx,4),%edx
341
xorl %r11d,%r12d
342
movl %ebx,(%rdi,%rcx,4)
343
andl %r10d,%r12d
344
addl 60(%r15),%r9d
345
addb %dl,%bl
346
movl 64(%rsi),%eax
347
addl $1236535329,%r9d
348
xorl %r8d,%r12d
349
movzbl %bl,%ebx
350
movl %edx,60(%rsi)
351
addl %r12d,%r9d
352
addb %al,%cl
353
roll $22,%r9d
354
movl %r10d,%r12d
355
pinsrw $7,(%rdi,%rbx,4),%xmm1
356
357
addl %r10d,%r9d
358
psllq $8,%xmm1
359
pxor %xmm0,%xmm2
360
pxor %xmm1,%xmm2
361
pxor %xmm0,%xmm0
362
movl (%rdi,%rcx,4),%edx
363
xorl %r9d,%r12d
364
movl %eax,(%rdi,%rcx,4)
365
andl %r11d,%r12d
366
addl 4(%r15),%r8d
367
addb %dl,%al
368
movl 68(%rsi),%ebx
369
addl $4129170786,%r8d
370
xorl %r10d,%r12d
371
movzbl %al,%eax
372
movl %edx,64(%rsi)
373
addl %r12d,%r8d
374
addb %bl,%cl
375
roll $5,%r8d
376
movl %r9d,%r12d
377
movd (%rdi,%rax,4),%xmm0
378
379
addl %r9d,%r8d
380
pxor %xmm1,%xmm1
381
movl (%rdi,%rcx,4),%edx
382
xorl %r8d,%r12d
383
movl %ebx,(%rdi,%rcx,4)
384
andl %r10d,%r12d
385
addl 24(%r15),%r11d
386
addb %dl,%bl
387
movl 72(%rsi),%eax
388
addl $3225465664,%r11d
389
xorl %r9d,%r12d
390
movzbl %bl,%ebx
391
movl %edx,68(%rsi)
392
addl %r12d,%r11d
393
addb %al,%cl
394
roll $9,%r11d
395
movl %r8d,%r12d
396
movd (%rdi,%rbx,4),%xmm1
397
398
addl %r8d,%r11d
399
movl (%rdi,%rcx,4),%edx
400
xorl %r11d,%r12d
401
movl %eax,(%rdi,%rcx,4)
402
andl %r9d,%r12d
403
addl 44(%r15),%r10d
404
addb %dl,%al
405
movl 76(%rsi),%ebx
406
addl $643717713,%r10d
407
xorl %r8d,%r12d
408
movzbl %al,%eax
409
movl %edx,72(%rsi)
410
addl %r12d,%r10d
411
addb %bl,%cl
412
roll $14,%r10d
413
movl %r11d,%r12d
414
pinsrw $1,(%rdi,%rax,4),%xmm0
415
416
addl %r11d,%r10d
417
movl (%rdi,%rcx,4),%edx
418
xorl %r10d,%r12d
419
movl %ebx,(%rdi,%rcx,4)
420
andl %r8d,%r12d
421
addl 0(%r15),%r9d
422
addb %dl,%bl
423
movl 80(%rsi),%eax
424
addl $3921069994,%r9d
425
xorl %r11d,%r12d
426
movzbl %bl,%ebx
427
movl %edx,76(%rsi)
428
addl %r12d,%r9d
429
addb %al,%cl
430
roll $20,%r9d
431
movl %r10d,%r12d
432
pinsrw $1,(%rdi,%rbx,4),%xmm1
433
434
addl %r10d,%r9d
435
movl (%rdi,%rcx,4),%edx
436
xorl %r9d,%r12d
437
movl %eax,(%rdi,%rcx,4)
438
andl %r11d,%r12d
439
addl 20(%r15),%r8d
440
addb %dl,%al
441
movl 84(%rsi),%ebx
442
addl $3593408605,%r8d
443
xorl %r10d,%r12d
444
movzbl %al,%eax
445
movl %edx,80(%rsi)
446
addl %r12d,%r8d
447
addb %bl,%cl
448
roll $5,%r8d
449
movl %r9d,%r12d
450
pinsrw $2,(%rdi,%rax,4),%xmm0
451
452
addl %r9d,%r8d
453
movl (%rdi,%rcx,4),%edx
454
xorl %r8d,%r12d
455
movl %ebx,(%rdi,%rcx,4)
456
andl %r10d,%r12d
457
addl 40(%r15),%r11d
458
addb %dl,%bl
459
movl 88(%rsi),%eax
460
addl $38016083,%r11d
461
xorl %r9d,%r12d
462
movzbl %bl,%ebx
463
movl %edx,84(%rsi)
464
addl %r12d,%r11d
465
addb %al,%cl
466
roll $9,%r11d
467
movl %r8d,%r12d
468
pinsrw $2,(%rdi,%rbx,4),%xmm1
469
470
addl %r8d,%r11d
471
movl (%rdi,%rcx,4),%edx
472
xorl %r11d,%r12d
473
movl %eax,(%rdi,%rcx,4)
474
andl %r9d,%r12d
475
addl 60(%r15),%r10d
476
addb %dl,%al
477
movl 92(%rsi),%ebx
478
addl $3634488961,%r10d
479
xorl %r8d,%r12d
480
movzbl %al,%eax
481
movl %edx,88(%rsi)
482
addl %r12d,%r10d
483
addb %bl,%cl
484
roll $14,%r10d
485
movl %r11d,%r12d
486
pinsrw $3,(%rdi,%rax,4),%xmm0
487
488
addl %r11d,%r10d
489
movl (%rdi,%rcx,4),%edx
490
xorl %r10d,%r12d
491
movl %ebx,(%rdi,%rcx,4)
492
andl %r8d,%r12d
493
addl 16(%r15),%r9d
494
addb %dl,%bl
495
movl 96(%rsi),%eax
496
addl $3889429448,%r9d
497
xorl %r11d,%r12d
498
movzbl %bl,%ebx
499
movl %edx,92(%rsi)
500
addl %r12d,%r9d
501
addb %al,%cl
502
roll $20,%r9d
503
movl %r10d,%r12d
504
pinsrw $3,(%rdi,%rbx,4),%xmm1
505
506
addl %r10d,%r9d
507
movl (%rdi,%rcx,4),%edx
508
xorl %r9d,%r12d
509
movl %eax,(%rdi,%rcx,4)
510
andl %r11d,%r12d
511
addl 36(%r15),%r8d
512
addb %dl,%al
513
movl 100(%rsi),%ebx
514
addl $568446438,%r8d
515
xorl %r10d,%r12d
516
movzbl %al,%eax
517
movl %edx,96(%rsi)
518
addl %r12d,%r8d
519
addb %bl,%cl
520
roll $5,%r8d
521
movl %r9d,%r12d
522
pinsrw $4,(%rdi,%rax,4),%xmm0
523
524
addl %r9d,%r8d
525
movl (%rdi,%rcx,4),%edx
526
xorl %r8d,%r12d
527
movl %ebx,(%rdi,%rcx,4)
528
andl %r10d,%r12d
529
addl 56(%r15),%r11d
530
addb %dl,%bl
531
movl 104(%rsi),%eax
532
addl $3275163606,%r11d
533
xorl %r9d,%r12d
534
movzbl %bl,%ebx
535
movl %edx,100(%rsi)
536
addl %r12d,%r11d
537
addb %al,%cl
538
roll $9,%r11d
539
movl %r8d,%r12d
540
pinsrw $4,(%rdi,%rbx,4),%xmm1
541
542
addl %r8d,%r11d
543
movl (%rdi,%rcx,4),%edx
544
xorl %r11d,%r12d
545
movl %eax,(%rdi,%rcx,4)
546
andl %r9d,%r12d
547
addl 12(%r15),%r10d
548
addb %dl,%al
549
movl 108(%rsi),%ebx
550
addl $4107603335,%r10d
551
xorl %r8d,%r12d
552
movzbl %al,%eax
553
movl %edx,104(%rsi)
554
addl %r12d,%r10d
555
addb %bl,%cl
556
roll $14,%r10d
557
movl %r11d,%r12d
558
pinsrw $5,(%rdi,%rax,4),%xmm0
559
560
addl %r11d,%r10d
561
movl (%rdi,%rcx,4),%edx
562
xorl %r10d,%r12d
563
movl %ebx,(%rdi,%rcx,4)
564
andl %r8d,%r12d
565
addl 32(%r15),%r9d
566
addb %dl,%bl
567
movl 112(%rsi),%eax
568
addl $1163531501,%r9d
569
xorl %r11d,%r12d
570
movzbl %bl,%ebx
571
movl %edx,108(%rsi)
572
addl %r12d,%r9d
573
addb %al,%cl
574
roll $20,%r9d
575
movl %r10d,%r12d
576
pinsrw $5,(%rdi,%rbx,4),%xmm1
577
578
addl %r10d,%r9d
579
movl (%rdi,%rcx,4),%edx
580
xorl %r9d,%r12d
581
movl %eax,(%rdi,%rcx,4)
582
andl %r11d,%r12d
583
addl 52(%r15),%r8d
584
addb %dl,%al
585
movl 116(%rsi),%ebx
586
addl $2850285829,%r8d
587
xorl %r10d,%r12d
588
movzbl %al,%eax
589
movl %edx,112(%rsi)
590
addl %r12d,%r8d
591
addb %bl,%cl
592
roll $5,%r8d
593
movl %r9d,%r12d
594
pinsrw $6,(%rdi,%rax,4),%xmm0
595
596
addl %r9d,%r8d
597
movl (%rdi,%rcx,4),%edx
598
xorl %r8d,%r12d
599
movl %ebx,(%rdi,%rcx,4)
600
andl %r10d,%r12d
601
addl 8(%r15),%r11d
602
addb %dl,%bl
603
movl 120(%rsi),%eax
604
addl $4243563512,%r11d
605
xorl %r9d,%r12d
606
movzbl %bl,%ebx
607
movl %edx,116(%rsi)
608
addl %r12d,%r11d
609
addb %al,%cl
610
roll $9,%r11d
611
movl %r8d,%r12d
612
pinsrw $6,(%rdi,%rbx,4),%xmm1
613
614
addl %r8d,%r11d
615
movl (%rdi,%rcx,4),%edx
616
xorl %r11d,%r12d
617
movl %eax,(%rdi,%rcx,4)
618
andl %r9d,%r12d
619
addl 28(%r15),%r10d
620
addb %dl,%al
621
movl 124(%rsi),%ebx
622
addl $1735328473,%r10d
623
xorl %r8d,%r12d
624
movzbl %al,%eax
625
movl %edx,120(%rsi)
626
addl %r12d,%r10d
627
addb %bl,%cl
628
roll $14,%r10d
629
movl %r11d,%r12d
630
pinsrw $7,(%rdi,%rax,4),%xmm0
631
632
addl %r11d,%r10d
633
movdqu 16(%r13),%xmm3
634
addb $32,%bpl
635
movl (%rdi,%rcx,4),%edx
636
xorl %r10d,%r12d
637
movl %ebx,(%rdi,%rcx,4)
638
andl %r8d,%r12d
639
addl 48(%r15),%r9d
640
addb %dl,%bl
641
movl 0(%rdi,%rbp,4),%eax
642
addl $2368359562,%r9d
643
xorl %r11d,%r12d
644
movzbl %bl,%ebx
645
movl %edx,124(%rsi)
646
addl %r12d,%r9d
647
addb %al,%cl
648
roll $20,%r9d
649
movl %r11d,%r12d
650
pinsrw $7,(%rdi,%rbx,4),%xmm1
651
652
addl %r10d,%r9d
653
movq %rcx,%rsi
654
xorq %rcx,%rcx
655
movb %sil,%cl
656
leaq (%rdi,%rbp,4),%rsi
657
psllq $8,%xmm1
658
pxor %xmm0,%xmm3
659
pxor %xmm1,%xmm3
660
pxor %xmm0,%xmm0
661
movl (%rdi,%rcx,4),%edx
662
xorl %r10d,%r12d
663
movl %eax,(%rdi,%rcx,4)
664
xorl %r9d,%r12d
665
addl 20(%r15),%r8d
666
addb %dl,%al
667
movl 4(%rsi),%ebx
668
addl $4294588738,%r8d
669
movzbl %al,%eax
670
addl %r12d,%r8d
671
movl %edx,0(%rsi)
672
addb %bl,%cl
673
roll $4,%r8d
674
movl %r10d,%r12d
675
movd (%rdi,%rax,4),%xmm0
676
677
addl %r9d,%r8d
678
pxor %xmm1,%xmm1
679
movl (%rdi,%rcx,4),%edx
680
xorl %r9d,%r12d
681
movl %ebx,(%rdi,%rcx,4)
682
xorl %r8d,%r12d
683
addl 32(%r15),%r11d
684
addb %dl,%bl
685
movl 8(%rsi),%eax
686
addl $2272392833,%r11d
687
movzbl %bl,%ebx
688
addl %r12d,%r11d
689
movl %edx,4(%rsi)
690
addb %al,%cl
691
roll $11,%r11d
692
movl %r9d,%r12d
693
movd (%rdi,%rbx,4),%xmm1
694
695
addl %r8d,%r11d
696
movl (%rdi,%rcx,4),%edx
697
xorl %r8d,%r12d
698
movl %eax,(%rdi,%rcx,4)
699
xorl %r11d,%r12d
700
addl 44(%r15),%r10d
701
addb %dl,%al
702
movl 12(%rsi),%ebx
703
addl $1839030562,%r10d
704
movzbl %al,%eax
705
addl %r12d,%r10d
706
movl %edx,8(%rsi)
707
addb %bl,%cl
708
roll $16,%r10d
709
movl %r8d,%r12d
710
pinsrw $1,(%rdi,%rax,4),%xmm0
711
712
addl %r11d,%r10d
713
movl (%rdi,%rcx,4),%edx
714
xorl %r11d,%r12d
715
movl %ebx,(%rdi,%rcx,4)
716
xorl %r10d,%r12d
717
addl 56(%r15),%r9d
718
addb %dl,%bl
719
movl 16(%rsi),%eax
720
addl $4259657740,%r9d
721
movzbl %bl,%ebx
722
addl %r12d,%r9d
723
movl %edx,12(%rsi)
724
addb %al,%cl
725
roll $23,%r9d
726
movl %r11d,%r12d
727
pinsrw $1,(%rdi,%rbx,4),%xmm1
728
729
addl %r10d,%r9d
730
movl (%rdi,%rcx,4),%edx
731
xorl %r10d,%r12d
732
movl %eax,(%rdi,%rcx,4)
733
xorl %r9d,%r12d
734
addl 4(%r15),%r8d
735
addb %dl,%al
736
movl 20(%rsi),%ebx
737
addl $2763975236,%r8d
738
movzbl %al,%eax
739
addl %r12d,%r8d
740
movl %edx,16(%rsi)
741
addb %bl,%cl
742
roll $4,%r8d
743
movl %r10d,%r12d
744
pinsrw $2,(%rdi,%rax,4),%xmm0
745
746
addl %r9d,%r8d
747
movl (%rdi,%rcx,4),%edx
748
xorl %r9d,%r12d
749
movl %ebx,(%rdi,%rcx,4)
750
xorl %r8d,%r12d
751
addl 16(%r15),%r11d
752
addb %dl,%bl
753
movl 24(%rsi),%eax
754
addl $1272893353,%r11d
755
movzbl %bl,%ebx
756
addl %r12d,%r11d
757
movl %edx,20(%rsi)
758
addb %al,%cl
759
roll $11,%r11d
760
movl %r9d,%r12d
761
pinsrw $2,(%rdi,%rbx,4),%xmm1
762
763
addl %r8d,%r11d
764
movl (%rdi,%rcx,4),%edx
765
xorl %r8d,%r12d
766
movl %eax,(%rdi,%rcx,4)
767
xorl %r11d,%r12d
768
addl 28(%r15),%r10d
769
addb %dl,%al
770
movl 28(%rsi),%ebx
771
addl $4139469664,%r10d
772
movzbl %al,%eax
773
addl %r12d,%r10d
774
movl %edx,24(%rsi)
775
addb %bl,%cl
776
roll $16,%r10d
777
movl %r8d,%r12d
778
pinsrw $3,(%rdi,%rax,4),%xmm0
779
780
addl %r11d,%r10d
781
movl (%rdi,%rcx,4),%edx
782
xorl %r11d,%r12d
783
movl %ebx,(%rdi,%rcx,4)
784
xorl %r10d,%r12d
785
addl 40(%r15),%r9d
786
addb %dl,%bl
787
movl 32(%rsi),%eax
788
addl $3200236656,%r9d
789
movzbl %bl,%ebx
790
addl %r12d,%r9d
791
movl %edx,28(%rsi)
792
addb %al,%cl
793
roll $23,%r9d
794
movl %r11d,%r12d
795
pinsrw $3,(%rdi,%rbx,4),%xmm1
796
797
addl %r10d,%r9d
798
movl (%rdi,%rcx,4),%edx
799
xorl %r10d,%r12d
800
movl %eax,(%rdi,%rcx,4)
801
xorl %r9d,%r12d
802
addl 52(%r15),%r8d
803
addb %dl,%al
804
movl 36(%rsi),%ebx
805
addl $681279174,%r8d
806
movzbl %al,%eax
807
addl %r12d,%r8d
808
movl %edx,32(%rsi)
809
addb %bl,%cl
810
roll $4,%r8d
811
movl %r10d,%r12d
812
pinsrw $4,(%rdi,%rax,4),%xmm0
813
814
addl %r9d,%r8d
815
movl (%rdi,%rcx,4),%edx
816
xorl %r9d,%r12d
817
movl %ebx,(%rdi,%rcx,4)
818
xorl %r8d,%r12d
819
addl 0(%r15),%r11d
820
addb %dl,%bl
821
movl 40(%rsi),%eax
822
addl $3936430074,%r11d
823
movzbl %bl,%ebx
824
addl %r12d,%r11d
825
movl %edx,36(%rsi)
826
addb %al,%cl
827
roll $11,%r11d
828
movl %r9d,%r12d
829
pinsrw $4,(%rdi,%rbx,4),%xmm1
830
831
addl %r8d,%r11d
832
movl (%rdi,%rcx,4),%edx
833
xorl %r8d,%r12d
834
movl %eax,(%rdi,%rcx,4)
835
xorl %r11d,%r12d
836
addl 12(%r15),%r10d
837
addb %dl,%al
838
movl 44(%rsi),%ebx
839
addl $3572445317,%r10d
840
movzbl %al,%eax
841
addl %r12d,%r10d
842
movl %edx,40(%rsi)
843
addb %bl,%cl
844
roll $16,%r10d
845
movl %r8d,%r12d
846
pinsrw $5,(%rdi,%rax,4),%xmm0
847
848
addl %r11d,%r10d
849
movl (%rdi,%rcx,4),%edx
850
xorl %r11d,%r12d
851
movl %ebx,(%rdi,%rcx,4)
852
xorl %r10d,%r12d
853
addl 24(%r15),%r9d
854
addb %dl,%bl
855
movl 48(%rsi),%eax
856
addl $76029189,%r9d
857
movzbl %bl,%ebx
858
addl %r12d,%r9d
859
movl %edx,44(%rsi)
860
addb %al,%cl
861
roll $23,%r9d
862
movl %r11d,%r12d
863
pinsrw $5,(%rdi,%rbx,4),%xmm1
864
865
addl %r10d,%r9d
866
movl (%rdi,%rcx,4),%edx
867
xorl %r10d,%r12d
868
movl %eax,(%rdi,%rcx,4)
869
xorl %r9d,%r12d
870
addl 36(%r15),%r8d
871
addb %dl,%al
872
movl 52(%rsi),%ebx
873
addl $3654602809,%r8d
874
movzbl %al,%eax
875
addl %r12d,%r8d
876
movl %edx,48(%rsi)
877
addb %bl,%cl
878
roll $4,%r8d
879
movl %r10d,%r12d
880
pinsrw $6,(%rdi,%rax,4),%xmm0
881
882
addl %r9d,%r8d
883
movl (%rdi,%rcx,4),%edx
884
xorl %r9d,%r12d
885
movl %ebx,(%rdi,%rcx,4)
886
xorl %r8d,%r12d
887
addl 48(%r15),%r11d
888
addb %dl,%bl
889
movl 56(%rsi),%eax
890
addl $3873151461,%r11d
891
movzbl %bl,%ebx
892
addl %r12d,%r11d
893
movl %edx,52(%rsi)
894
addb %al,%cl
895
roll $11,%r11d
896
movl %r9d,%r12d
897
pinsrw $6,(%rdi,%rbx,4),%xmm1
898
899
addl %r8d,%r11d
900
movl (%rdi,%rcx,4),%edx
901
xorl %r8d,%r12d
902
movl %eax,(%rdi,%rcx,4)
903
xorl %r11d,%r12d
904
addl 60(%r15),%r10d
905
addb %dl,%al
906
movl 60(%rsi),%ebx
907
addl $530742520,%r10d
908
movzbl %al,%eax
909
addl %r12d,%r10d
910
movl %edx,56(%rsi)
911
addb %bl,%cl
912
roll $16,%r10d
913
movl %r8d,%r12d
914
pinsrw $7,(%rdi,%rax,4),%xmm0
915
916
addl %r11d,%r10d
917
movdqu 32(%r13),%xmm4
918
movl (%rdi,%rcx,4),%edx
919
xorl %r11d,%r12d
920
movl %ebx,(%rdi,%rcx,4)
921
xorl %r10d,%r12d
922
addl 8(%r15),%r9d
923
addb %dl,%bl
924
movl 64(%rsi),%eax
925
addl $3299628645,%r9d
926
movzbl %bl,%ebx
927
addl %r12d,%r9d
928
movl %edx,60(%rsi)
929
addb %al,%cl
930
roll $23,%r9d
931
movl $-1,%r12d
932
pinsrw $7,(%rdi,%rbx,4),%xmm1
933
934
addl %r10d,%r9d
935
psllq $8,%xmm1
936
pxor %xmm0,%xmm4
937
pxor %xmm1,%xmm4
938
pxor %xmm0,%xmm0
939
movl (%rdi,%rcx,4),%edx
940
xorl %r11d,%r12d
941
movl %eax,(%rdi,%rcx,4)
942
orl %r9d,%r12d
943
addl 0(%r15),%r8d
944
addb %dl,%al
945
movl 68(%rsi),%ebx
946
addl $4096336452,%r8d
947
movzbl %al,%eax
948
xorl %r10d,%r12d
949
movl %edx,64(%rsi)
950
addl %r12d,%r8d
951
addb %bl,%cl
952
roll $6,%r8d
953
movl $-1,%r12d
954
movd (%rdi,%rax,4),%xmm0
955
956
addl %r9d,%r8d
957
pxor %xmm1,%xmm1
958
movl (%rdi,%rcx,4),%edx
959
xorl %r10d,%r12d
960
movl %ebx,(%rdi,%rcx,4)
961
orl %r8d,%r12d
962
addl 28(%r15),%r11d
963
addb %dl,%bl
964
movl 72(%rsi),%eax
965
addl $1126891415,%r11d
966
movzbl %bl,%ebx
967
xorl %r9d,%r12d
968
movl %edx,68(%rsi)
969
addl %r12d,%r11d
970
addb %al,%cl
971
roll $10,%r11d
972
movl $-1,%r12d
973
movd (%rdi,%rbx,4),%xmm1
974
975
addl %r8d,%r11d
976
movl (%rdi,%rcx,4),%edx
977
xorl %r9d,%r12d
978
movl %eax,(%rdi,%rcx,4)
979
orl %r11d,%r12d
980
addl 56(%r15),%r10d
981
addb %dl,%al
982
movl 76(%rsi),%ebx
983
addl $2878612391,%r10d
984
movzbl %al,%eax
985
xorl %r8d,%r12d
986
movl %edx,72(%rsi)
987
addl %r12d,%r10d
988
addb %bl,%cl
989
roll $15,%r10d
990
movl $-1,%r12d
991
pinsrw $1,(%rdi,%rax,4),%xmm0
992
993
addl %r11d,%r10d
994
movl (%rdi,%rcx,4),%edx
995
xorl %r8d,%r12d
996
movl %ebx,(%rdi,%rcx,4)
997
orl %r10d,%r12d
998
addl 20(%r15),%r9d
999
addb %dl,%bl
1000
movl 80(%rsi),%eax
1001
addl $4237533241,%r9d
1002
movzbl %bl,%ebx
1003
xorl %r11d,%r12d
1004
movl %edx,76(%rsi)
1005
addl %r12d,%r9d
1006
addb %al,%cl
1007
roll $21,%r9d
1008
movl $-1,%r12d
1009
pinsrw $1,(%rdi,%rbx,4),%xmm1
1010
1011
addl %r10d,%r9d
1012
movl (%rdi,%rcx,4),%edx
1013
xorl %r11d,%r12d
1014
movl %eax,(%rdi,%rcx,4)
1015
orl %r9d,%r12d
1016
addl 48(%r15),%r8d
1017
addb %dl,%al
1018
movl 84(%rsi),%ebx
1019
addl $1700485571,%r8d
1020
movzbl %al,%eax
1021
xorl %r10d,%r12d
1022
movl %edx,80(%rsi)
1023
addl %r12d,%r8d
1024
addb %bl,%cl
1025
roll $6,%r8d
1026
movl $-1,%r12d
1027
pinsrw $2,(%rdi,%rax,4),%xmm0
1028
1029
addl %r9d,%r8d
1030
movl (%rdi,%rcx,4),%edx
1031
xorl %r10d,%r12d
1032
movl %ebx,(%rdi,%rcx,4)
1033
orl %r8d,%r12d
1034
addl 12(%r15),%r11d
1035
addb %dl,%bl
1036
movl 88(%rsi),%eax
1037
addl $2399980690,%r11d
1038
movzbl %bl,%ebx
1039
xorl %r9d,%r12d
1040
movl %edx,84(%rsi)
1041
addl %r12d,%r11d
1042
addb %al,%cl
1043
roll $10,%r11d
1044
movl $-1,%r12d
1045
pinsrw $2,(%rdi,%rbx,4),%xmm1
1046
1047
addl %r8d,%r11d
1048
movl (%rdi,%rcx,4),%edx
1049
xorl %r9d,%r12d
1050
movl %eax,(%rdi,%rcx,4)
1051
orl %r11d,%r12d
1052
addl 40(%r15),%r10d
1053
addb %dl,%al
1054
movl 92(%rsi),%ebx
1055
addl $4293915773,%r10d
1056
movzbl %al,%eax
1057
xorl %r8d,%r12d
1058
movl %edx,88(%rsi)
1059
addl %r12d,%r10d
1060
addb %bl,%cl
1061
roll $15,%r10d
1062
movl $-1,%r12d
1063
pinsrw $3,(%rdi,%rax,4),%xmm0
1064
1065
addl %r11d,%r10d
1066
movl (%rdi,%rcx,4),%edx
1067
xorl %r8d,%r12d
1068
movl %ebx,(%rdi,%rcx,4)
1069
orl %r10d,%r12d
1070
addl 4(%r15),%r9d
1071
addb %dl,%bl
1072
movl 96(%rsi),%eax
1073
addl $2240044497,%r9d
1074
movzbl %bl,%ebx
1075
xorl %r11d,%r12d
1076
movl %edx,92(%rsi)
1077
addl %r12d,%r9d
1078
addb %al,%cl
1079
roll $21,%r9d
1080
movl $-1,%r12d
1081
pinsrw $3,(%rdi,%rbx,4),%xmm1
1082
1083
addl %r10d,%r9d
1084
movl (%rdi,%rcx,4),%edx
1085
xorl %r11d,%r12d
1086
movl %eax,(%rdi,%rcx,4)
1087
orl %r9d,%r12d
1088
addl 32(%r15),%r8d
1089
addb %dl,%al
1090
movl 100(%rsi),%ebx
1091
addl $1873313359,%r8d
1092
movzbl %al,%eax
1093
xorl %r10d,%r12d
1094
movl %edx,96(%rsi)
1095
addl %r12d,%r8d
1096
addb %bl,%cl
1097
roll $6,%r8d
1098
movl $-1,%r12d
1099
pinsrw $4,(%rdi,%rax,4),%xmm0
1100
1101
addl %r9d,%r8d
1102
movl (%rdi,%rcx,4),%edx
1103
xorl %r10d,%r12d
1104
movl %ebx,(%rdi,%rcx,4)
1105
orl %r8d,%r12d
1106
addl 60(%r15),%r11d
1107
addb %dl,%bl
1108
movl 104(%rsi),%eax
1109
addl $4264355552,%r11d
1110
movzbl %bl,%ebx
1111
xorl %r9d,%r12d
1112
movl %edx,100(%rsi)
1113
addl %r12d,%r11d
1114
addb %al,%cl
1115
roll $10,%r11d
1116
movl $-1,%r12d
1117
pinsrw $4,(%rdi,%rbx,4),%xmm1
1118
1119
addl %r8d,%r11d
1120
movl (%rdi,%rcx,4),%edx
1121
xorl %r9d,%r12d
1122
movl %eax,(%rdi,%rcx,4)
1123
orl %r11d,%r12d
1124
addl 24(%r15),%r10d
1125
addb %dl,%al
1126
movl 108(%rsi),%ebx
1127
addl $2734768916,%r10d
1128
movzbl %al,%eax
1129
xorl %r8d,%r12d
1130
movl %edx,104(%rsi)
1131
addl %r12d,%r10d
1132
addb %bl,%cl
1133
roll $15,%r10d
1134
movl $-1,%r12d
1135
pinsrw $5,(%rdi,%rax,4),%xmm0
1136
1137
addl %r11d,%r10d
1138
movl (%rdi,%rcx,4),%edx
1139
xorl %r8d,%r12d
1140
movl %ebx,(%rdi,%rcx,4)
1141
orl %r10d,%r12d
1142
addl 52(%r15),%r9d
1143
addb %dl,%bl
1144
movl 112(%rsi),%eax
1145
addl $1309151649,%r9d
1146
movzbl %bl,%ebx
1147
xorl %r11d,%r12d
1148
movl %edx,108(%rsi)
1149
addl %r12d,%r9d
1150
addb %al,%cl
1151
roll $21,%r9d
1152
movl $-1,%r12d
1153
pinsrw $5,(%rdi,%rbx,4),%xmm1
1154
1155
addl %r10d,%r9d
1156
movl (%rdi,%rcx,4),%edx
1157
xorl %r11d,%r12d
1158
movl %eax,(%rdi,%rcx,4)
1159
orl %r9d,%r12d
1160
addl 16(%r15),%r8d
1161
addb %dl,%al
1162
movl 116(%rsi),%ebx
1163
addl $4149444226,%r8d
1164
movzbl %al,%eax
1165
xorl %r10d,%r12d
1166
movl %edx,112(%rsi)
1167
addl %r12d,%r8d
1168
addb %bl,%cl
1169
roll $6,%r8d
1170
movl $-1,%r12d
1171
pinsrw $6,(%rdi,%rax,4),%xmm0
1172
1173
addl %r9d,%r8d
1174
movl (%rdi,%rcx,4),%edx
1175
xorl %r10d,%r12d
1176
movl %ebx,(%rdi,%rcx,4)
1177
orl %r8d,%r12d
1178
addl 44(%r15),%r11d
1179
addb %dl,%bl
1180
movl 120(%rsi),%eax
1181
addl $3174756917,%r11d
1182
movzbl %bl,%ebx
1183
xorl %r9d,%r12d
1184
movl %edx,116(%rsi)
1185
addl %r12d,%r11d
1186
addb %al,%cl
1187
roll $10,%r11d
1188
movl $-1,%r12d
1189
pinsrw $6,(%rdi,%rbx,4),%xmm1
1190
1191
addl %r8d,%r11d
1192
movl (%rdi,%rcx,4),%edx
1193
xorl %r9d,%r12d
1194
movl %eax,(%rdi,%rcx,4)
1195
orl %r11d,%r12d
1196
addl 8(%r15),%r10d
1197
addb %dl,%al
1198
movl 124(%rsi),%ebx
1199
addl $718787259,%r10d
1200
movzbl %al,%eax
1201
xorl %r8d,%r12d
1202
movl %edx,120(%rsi)
1203
addl %r12d,%r10d
1204
addb %bl,%cl
1205
roll $15,%r10d
1206
movl $-1,%r12d
1207
pinsrw $7,(%rdi,%rax,4),%xmm0
1208
1209
addl %r11d,%r10d
1210
movdqu 48(%r13),%xmm5
1211
addb $32,%bpl
1212
movl (%rdi,%rcx,4),%edx
1213
xorl %r8d,%r12d
1214
movl %ebx,(%rdi,%rcx,4)
1215
orl %r10d,%r12d
1216
addl 36(%r15),%r9d
1217
addb %dl,%bl
1218
movl 0(%rdi,%rbp,4),%eax
1219
addl $3951481745,%r9d
1220
movzbl %bl,%ebx
1221
xorl %r11d,%r12d
1222
movl %edx,124(%rsi)
1223
addl %r12d,%r9d
1224
addb %al,%cl
1225
roll $21,%r9d
1226
movl $-1,%r12d
1227
pinsrw $7,(%rdi,%rbx,4),%xmm1
1228
1229
addl %r10d,%r9d
1230
movq %rbp,%rsi
1231
xorq %rbp,%rbp
1232
movb %sil,%bpl
1233
movq %rcx,%rsi
1234
xorq %rcx,%rcx
1235
movb %sil,%cl
1236
leaq (%rdi,%rbp,4),%rsi
1237
psllq $8,%xmm1
1238
pxor %xmm0,%xmm5
1239
pxor %xmm1,%xmm5
1240
addl 0(%rsp),%r8d
1241
addl 4(%rsp),%r9d
1242
addl 8(%rsp),%r10d
1243
addl 12(%rsp),%r11d
1244
1245
movdqu %xmm2,(%r14,%r13,1)
1246
movdqu %xmm3,16(%r14,%r13,1)
1247
movdqu %xmm4,32(%r14,%r13,1)
1248
movdqu %xmm5,48(%r14,%r13,1)
1249
leaq 64(%r15),%r15
1250
leaq 64(%r13),%r13
1251
cmpq 16(%rsp),%r15
1252
jb .Loop
1253
1254
movq 24(%rsp),%r12
1255
subb %al,%cl
1256
movl %r8d,0(%r12)
1257
movl %r9d,4(%r12)
1258
movl %r10d,8(%r12)
1259
movl %r11d,12(%r12)
1260
subb $1,%bpl
1261
movl %ebp,-8(%rdi)
1262
movl %ecx,-4(%rdi)
1263
1264
movq 40(%rsp),%r15
1265
.cfi_restore %r15
1266
movq 48(%rsp),%r14
1267
.cfi_restore %r14
1268
movq 56(%rsp),%r13
1269
.cfi_restore %r13
1270
movq 64(%rsp),%r12
1271
.cfi_restore %r12
1272
movq 72(%rsp),%rbp
1273
.cfi_restore %rbp
1274
movq 80(%rsp),%rbx
1275
.cfi_restore %rbx
1276
leaq 88(%rsp),%rsp
1277
.cfi_adjust_cfa_offset -88
1278
.Lepilogue:
1279
.Labort:
1280
.byte 0xf3,0xc3
1281
.cfi_endproc
1282
.size rc4_md5_enc,.-rc4_md5_enc
1283
.section ".note.gnu.property", "a"
1284
.p2align 3
1285
.long 1f - 0f
1286
.long 4f - 1f
1287
.long 5
1288
0:
1289
# "GNU" encoded with .byte, since .asciz isn't supported
1290
# on Solaris.
1291
.byte 0x47
1292
.byte 0x4e
1293
.byte 0x55
1294
.byte 0
1295
1:
1296
.p2align 3
1297
.long 0xc0000002
1298
.long 3f - 2f
1299
2:
1300
.long 3
1301
3:
1302
.p2align 3
1303
4:
1304
1305