1 #if defined(__x86_64__)
3 .extern OPENSSL_ia32cap_P
4 .hidden OPENSSL_ia32cap_P
8 .type asm_RC4,@function
30 movl OPENSSL_ia32cap_P(%rip),%r8d
35 movl (%rdi,%r10,4),%eax
46 movl (%rdi,%rcx,4),%edx
47 movl %eax,(%rdi,%rcx,4)
48 movl %edx,(%rdi,%r10,4)
51 movl (%rdi,%rax,4),%edx
52 movl (%rdi,%r10,4),%eax
54 movb %dl,(%r12,%r13,1)
64 movl (%rdi,%rcx,4),%edx
65 movl %eax,(%rdi,%rcx,4)
66 movl 0(%rdi,%rsi,4),%ebx
68 movl %edx,0(%rdi,%r10,4)
70 movb (%rdi,%rdx,4),%r8b
72 movl (%rdi,%rcx,4),%edx
73 movl %ebx,(%rdi,%rcx,4)
74 movl 4(%rdi,%rsi,4),%eax
76 movl %edx,4(%rdi,%r10,4)
78 movb (%rdi,%rdx,4),%r8b
80 movl (%rdi,%rcx,4),%edx
81 movl %eax,(%rdi,%rcx,4)
82 movl 8(%rdi,%rsi,4),%ebx
84 movl %edx,8(%rdi,%r10,4)
86 movb (%rdi,%rdx,4),%r8b
88 movl (%rdi,%rcx,4),%edx
89 movl %ebx,(%rdi,%rcx,4)
90 movl 12(%rdi,%rsi,4),%eax
92 movl %edx,12(%rdi,%r10,4)
94 movb (%rdi,%rdx,4),%r8b
96 movl (%rdi,%rcx,4),%edx
97 movl %eax,(%rdi,%rcx,4)
98 movl 16(%rdi,%rsi,4),%ebx
100 movl %edx,16(%rdi,%r10,4)
102 movb (%rdi,%rdx,4),%r8b
104 movl (%rdi,%rcx,4),%edx
105 movl %ebx,(%rdi,%rcx,4)
106 movl 20(%rdi,%rsi,4),%eax
108 movl %edx,20(%rdi,%r10,4)
110 movb (%rdi,%rdx,4),%r8b
112 movl (%rdi,%rcx,4),%edx
113 movl %eax,(%rdi,%rcx,4)
114 movl 24(%rdi,%rsi,4),%ebx
116 movl %edx,24(%rdi,%r10,4)
118 movb (%rdi,%rdx,4),%r8b
121 movl (%rdi,%rcx,4),%edx
122 movl %ebx,(%rdi,%rcx,4)
123 movl -4(%rdi,%rsi,4),%eax
125 movl %edx,28(%rdi,%r10,4)
127 movb (%rdi,%rdx,4),%r8b
133 movq %r8,(%r12,%r13,1)
151 movl (%rdi,%rcx,4),%edx
152 movl %eax,(%rdi,%rcx,4)
153 movl %edx,(%rdi,%r10,4)
156 movl (%rdi,%rax,4),%edx
157 movl (%rdi,%r10,4),%eax
159 movb %dl,(%r12,%r13,1)
169 leaq (%rdi,%r10,4),%rsi
171 movl (%rdi,%rcx,4),%edx
173 movl %eax,(%rdi,%rcx,4)
179 pinsrw $0,(%rdi,%rax,4),%xmm0
184 movl (%rdi,%rcx,4),%edx
188 movl %eax,(%rdi,%rcx,4)
195 pinsrw $0,(%rdi,%rax,4),%xmm0
196 movdqu %xmm2,(%r12,%r13,1)
199 movl (%rdi,%rcx,4),%edx
201 movl %ebx,(%rdi,%rcx,4)
207 pinsrw $0,(%rdi,%rbx,4),%xmm1
208 movl (%rdi,%rcx,4),%edx
209 movl %eax,(%rdi,%rcx,4)
215 pinsrw $1,(%rdi,%rax,4),%xmm0
216 movl (%rdi,%rcx,4),%edx
217 movl %ebx,(%rdi,%rcx,4)
223 pinsrw $1,(%rdi,%rbx,4),%xmm1
224 movl (%rdi,%rcx,4),%edx
225 movl %eax,(%rdi,%rcx,4)
231 pinsrw $2,(%rdi,%rax,4),%xmm0
232 movl (%rdi,%rcx,4),%edx
233 movl %ebx,(%rdi,%rcx,4)
239 pinsrw $2,(%rdi,%rbx,4),%xmm1
240 movl (%rdi,%rcx,4),%edx
241 movl %eax,(%rdi,%rcx,4)
247 pinsrw $3,(%rdi,%rax,4),%xmm0
248 movl (%rdi,%rcx,4),%edx
249 movl %ebx,(%rdi,%rcx,4)
255 pinsrw $3,(%rdi,%rbx,4),%xmm1
256 movl (%rdi,%rcx,4),%edx
257 movl %eax,(%rdi,%rcx,4)
263 pinsrw $4,(%rdi,%rax,4),%xmm0
264 movl (%rdi,%rcx,4),%edx
265 movl %ebx,(%rdi,%rcx,4)
271 pinsrw $4,(%rdi,%rbx,4),%xmm1
272 movl (%rdi,%rcx,4),%edx
273 movl %eax,(%rdi,%rcx,4)
279 pinsrw $5,(%rdi,%rax,4),%xmm0
280 movl (%rdi,%rcx,4),%edx
281 movl %ebx,(%rdi,%rcx,4)
287 pinsrw $5,(%rdi,%rbx,4),%xmm1
288 movl (%rdi,%rcx,4),%edx
289 movl %eax,(%rdi,%rcx,4)
295 pinsrw $6,(%rdi,%rax,4),%xmm0
296 movl (%rdi,%rcx,4),%edx
297 movl %ebx,(%rdi,%rcx,4)
303 pinsrw $6,(%rdi,%rbx,4),%xmm1
304 movl (%rdi,%rcx,4),%edx
305 movl %eax,(%rdi,%rcx,4)
311 pinsrw $7,(%rdi,%rax,4),%xmm0
314 movl (%rdi,%rcx,4),%edx
315 movl %ebx,(%rdi,%rcx,4)
319 leaq (%rdi,%r10,4),%rsi
320 pinsrw $7,(%rdi,%rbx,4),%xmm1
332 movdqu %xmm2,(%r12,%r13,1)
342 movl (%rdi,%rcx,4),%edx
343 movl %eax,(%rdi,%rcx,4)
344 movl %edx,(%rdi,%r10,4)
347 movl (%rdi,%rax,4),%edx
348 movl (%rdi,%r10,4),%eax
350 movb %dl,(%r12,%r13,1)
359 movzbl (%rdi,%r10,1),%eax
369 movzbl (%rdi,%rcx,1),%edx
371 movzbl (%rdi,%rsi,1),%ebx
372 movb %al,(%rdi,%rcx,1)
374 movb %dl,(%rdi,%r10,1)
379 xorb (%rdi,%rdx,1),%r8b
383 movzbl (%rdi,%rcx,1),%edx
385 movzbl (%rdi,%r10,1),%eax
386 movb %bl,(%rdi,%rcx,1)
388 movb %dl,(%rdi,%rsi,1)
393 xorb (%rdi,%rdx,1),%r8b
397 movzbl (%rdi,%rcx,1),%edx
399 movzbl (%rdi,%rsi,1),%ebx
400 movb %al,(%rdi,%rcx,1)
402 movb %dl,(%rdi,%r10,1)
407 xorb (%rdi,%rdx,1),%r8b
411 movzbl (%rdi,%rcx,1),%edx
413 movzbl (%rdi,%r10,1),%eax
414 movb %bl,(%rdi,%rcx,1)
416 movb %dl,(%rdi,%rsi,1)
421 xorb (%rdi,%rdx,1),%r8b
425 movzbl (%rdi,%rcx,1),%edx
427 movzbl (%rdi,%rsi,1),%ebx
428 movb %al,(%rdi,%rcx,1)
430 movb %dl,(%rdi,%r10,1)
435 xorb (%rdi,%rdx,1),%r9b
439 movzbl (%rdi,%rcx,1),%edx
441 movzbl (%rdi,%r10,1),%eax
442 movb %bl,(%rdi,%rcx,1)
444 movb %dl,(%rdi,%rsi,1)
449 xorb (%rdi,%rdx,1),%r9b
453 movzbl (%rdi,%rcx,1),%edx
455 movzbl (%rdi,%rsi,1),%ebx
456 movb %al,(%rdi,%rcx,1)
458 movb %dl,(%rdi,%r10,1)
463 xorb (%rdi,%rdx,1),%r9b
467 movzbl (%rdi,%rcx,1),%edx
469 movzbl (%rdi,%r10,1),%eax
470 movb %bl,(%rdi,%rcx,1)
472 movb %dl,(%rdi,%rsi,1)
477 xorb (%rdi,%rdx,1),%r9b
494 movzbl (%rdi,%rcx,1),%edx
495 movb %al,(%rdi,%rcx,1)
496 movb %dl,(%rdi,%r10,1)
501 movzbl (%rdi,%rdx,1),%edx
502 movzbl (%rdi,%r10,1),%eax
523 .size asm_RC4,.-asm_RC4
524 .globl asm_RC4_set_key
525 .hidden asm_RC4_set_key
526 .type asm_RC4_set_key,@function
530 leaq (%rdx,%rsi,1),%rdx
538 movl OPENSSL_ia32cap_P(%rip),%r8d
545 movl %eax,(%rdi,%rax,4)
553 movl (%rdi,%r9,4),%r10d
554 addb (%rdx,%rsi,1),%r8b
557 movl (%rdi,%r8,4),%r11d
559 movl %r10d,(%rdi,%r8,4)
560 movl %r11d,(%rdi,%r9,4)
567 movb %al,(%rdi,%rax,1)
575 movb (%rdi,%r9,1),%r10b
576 addb (%rdx,%rsi,1),%r8b
579 movb (%rdi,%r8,1),%r11b
583 movb %r10b,(%rdi,%r8,1)
584 movb %r11b,(%rdi,%r9,1)
595 .size asm_RC4_set_key,.-asm_RC4_set_key