OLD | NEW |
1 #if defined(__x86_64__) | 1 #if defined(__x86_64__) |
2 .text | 2 .text |
3 | 3 |
4 | 4 |
5 .globl asm_RC4 | 5 .globl asm_RC4 |
6 .hidden asm_RC4 | 6 .hidden asm_RC4 |
7 .type asm_RC4,@function | 7 .type asm_RC4,@function |
8 .align 16 | 8 .align 16 |
9 asm_RC4: | 9 asm_RC4: |
10 orq %rsi,%rsi | 10 orq %rsi,%rsi |
11 jne .Lentry | 11 jne .Lentry |
12 .byte 0xf3,0xc3 | 12 .byte 0xf3,0xc3 |
13 .Lentry: | 13 .Lentry: |
14 pushq %rbx | 14 pushq %rbx |
15 pushq %r12 | 15 pushq %r12 |
16 pushq %r13 | 16 pushq %r13 |
17 .Lprologue: | 17 .Lprologue: |
18 movq %rsi,%r11 | 18 movq %rsi,%r11 |
19 movq %rdx,%r12 | 19 movq %rdx,%r12 |
20 movq %rcx,%r13 | 20 movq %rcx,%r13 |
21 xorq %r10,%r10 | 21 xorq %r10,%r10 |
22 xorq %rcx,%rcx | 22 xorq %rcx,%rcx |
23 | 23 |
24 leaq 8(%rdi),%rdi | 24 leaq 8(%rdi),%rdi |
25 movb -8(%rdi),%r10b | 25 movb -8(%rdi),%r10b |
26 movb -4(%rdi),%cl | 26 movb -4(%rdi),%cl |
27 cmpl $-1,256(%rdi) | 27 cmpl $-1,256(%rdi) |
28 je .LRC4_CHAR | 28 je .LRC4_CHAR |
29 » movq» OPENSSL_ia32cap_P@GOTPCREL(%rip),%r8 | 29 » movl» OPENSSL_ia32cap_P(%rip),%r8d |
30 » movl» (%r8),%r8d | |
31 xorq %rbx,%rbx | 30 xorq %rbx,%rbx |
32 incb %r10b | 31 incb %r10b |
33 subq %r10,%rbx | 32 subq %r10,%rbx |
34 subq %r12,%r13 | 33 subq %r12,%r13 |
35 movl (%rdi,%r10,4),%eax | 34 movl (%rdi,%r10,4),%eax |
36 testq $-16,%r11 | 35 testq $-16,%r11 |
37 jz .Lloop1 | 36 jz .Lloop1 |
38 btl $30,%r8d | 37 btl $30,%r8d |
39 jc .Lintel | 38 jc .Lintel |
40 andq $7,%rbx | 39 andq $7,%rbx |
(...skipping 487 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
528 asm_RC4_set_key: | 527 asm_RC4_set_key: |
529 leaq 8(%rdi),%rdi | 528 leaq 8(%rdi),%rdi |
530 leaq (%rdx,%rsi,1),%rdx | 529 leaq (%rdx,%rsi,1),%rdx |
531 negq %rsi | 530 negq %rsi |
532 movq %rsi,%rcx | 531 movq %rsi,%rcx |
533 xorl %eax,%eax | 532 xorl %eax,%eax |
534 xorq %r9,%r9 | 533 xorq %r9,%r9 |
535 xorq %r10,%r10 | 534 xorq %r10,%r10 |
536 xorq %r11,%r11 | 535 xorq %r11,%r11 |
537 | 536 |
538 » movq» OPENSSL_ia32cap_P@GOTPCREL(%rip),%r8 | 537 » movl» OPENSSL_ia32cap_P(%rip),%r8d |
539 » movl» (%r8),%r8d | |
540 btl $20,%r8d | 538 btl $20,%r8d |
541 jc .Lc1stloop | 539 jc .Lc1stloop |
542 jmp .Lw1stloop | 540 jmp .Lw1stloop |
543 | 541 |
544 .align 16 | 542 .align 16 |
545 .Lw1stloop: | 543 .Lw1stloop: |
546 movl %eax,(%rdi,%rax,4) | 544 movl %eax,(%rdi,%rax,4) |
547 addb $1,%al | 545 addb $1,%al |
548 jnc .Lw1stloop | 546 jnc .Lw1stloop |
549 | 547 |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
615 .byte 0xf3,0xc3 | 613 .byte 0xf3,0xc3 |
616 .align 64 | 614 .align 64 |
617 .Lopts: | 615 .Lopts: |
618 .byte 114,99,52,40,56,120,44,105,110,116,41,0 | 616 .byte 114,99,52,40,56,120,44,105,110,116,41,0 |
619 .byte 114,99,52,40,56,120,44,99,104,97,114,41,0 | 617 .byte 114,99,52,40,56,120,44,99,104,97,114,41,0 |
620 .byte 114,99,52,40,49,54,120,44,105,110,116,41,0 | 618 .byte 114,99,52,40,49,54,120,44,105,110,116,41,0 |
621 .byte 82,67,52,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,1
11,114,103,62,0 | 619 .byte 82,67,52,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,1
11,114,103,62,0 |
622 .align 64 | 620 .align 64 |
623 .size RC4_options,.-RC4_options | 621 .size RC4_options,.-RC4_options |
624 #endif | 622 #endif |
OLD | NEW |