summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/rc4/asm/rc4-x86_64.pl
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/rc4/asm/rc4-x86_64.pl')
-rwxr-xr-xsrc/lib/libcrypto/rc4/asm/rc4-x86_64.pl9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/lib/libcrypto/rc4/asm/rc4-x86_64.pl b/src/lib/libcrypto/rc4/asm/rc4-x86_64.pl
index 197749dda7..2135b38ef8 100755
--- a/src/lib/libcrypto/rc4/asm/rc4-x86_64.pl
+++ b/src/lib/libcrypto/rc4/asm/rc4-x86_64.pl
@@ -122,6 +122,7 @@ $out="%rcx"; # arg4
122$code=<<___; 122$code=<<___;
123.text 123.text
124.extern OPENSSL_ia32cap_P 124.extern OPENSSL_ia32cap_P
125.hidden OPENSSL_ia32cap_P
125 126
126.globl RC4 127.globl RC4
127.type RC4,\@function,4 128.type RC4,\@function,4
@@ -164,7 +165,7 @@ $code.=<<___;
164 movl ($dat,$XX[0],4),$TX[0]#d 165 movl ($dat,$XX[0],4),$TX[0]#d
165 test \$-16,$len 166 test \$-16,$len
166 jz .Lloop1 167 jz .Lloop1
167 bt \$30,%r8d # Intel CPU? 168 bt \$IA32CAP_BIT0_INTEL,%r8d # Intel CPU?
168 jc .Lintel 169 jc .Lintel
169 and \$7,$TX[1] 170 and \$7,$TX[1]
170 lea 1($XX[0]),$XX[1] 171 lea 1($XX[0]),$XX[1]
@@ -442,7 +443,7 @@ RC4_set_key:
442 xor %r11,%r11 443 xor %r11,%r11
443 444
444 mov OPENSSL_ia32cap_P(%rip),$idx#d 445 mov OPENSSL_ia32cap_P(%rip),$idx#d
445 bt \$20,$idx#d # RC4_CHAR? 446 bt \$IA32CAP_BIT0_INTELP4,$idx#d # RC4_CHAR?
446 jc .Lc1stloop 447 jc .Lc1stloop
447 jmp .Lw1stloop 448 jmp .Lw1stloop
448 449
@@ -506,9 +507,9 @@ RC4_set_key:
506RC4_options: 507RC4_options:
507 lea .Lopts(%rip),%rax 508 lea .Lopts(%rip),%rax
508 mov OPENSSL_ia32cap_P(%rip),%edx 509 mov OPENSSL_ia32cap_P(%rip),%edx
509 bt \$20,%edx 510 bt \$IA32CAP_BIT0_INTELP4,%edx
510 jc .L8xchar 511 jc .L8xchar
511 bt \$30,%edx 512 bt \$IA32CAP_BIT0_INTEL,%edx
512 jnc .Ldone 513 jnc .Ldone
513 add \$25,%rax 514 add \$25,%rax
514 ret 515 ret