summaryrefslogtreecommitdiffstats
path: root/crypto/rc4
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2007-03-20 09:13:07 +0000
committerAndy Polyakov <appro@openssl.org>2007-03-20 09:13:07 +0000
commitde50494505b53b32a0b127525b18e259ee0f9033 (patch)
tree8f7e455ff27a3f052184bf5636be7787e17a0804 /crypto/rc4
parent3d1def0132a18d2002d7bdeac5fa2a2be59ac8e7 (diff)
Two extra instructions in RC4 character loop give 80% performance
improvement on Core2. I still need to detect Core2 and choose this path...
Diffstat (limited to 'crypto/rc4')
-rwxr-xr-xcrypto/rc4/asm/rc4-x86_64.pl2
1 files changed, 2 insertions, 0 deletions
diff --git a/crypto/rc4/asm/rc4-x86_64.pl b/crypto/rc4/asm/rc4-x86_64.pl
index 4b990cba07..5236afec12 100755
--- a/crypto/rc4/asm/rc4-x86_64.pl
+++ b/crypto/rc4/asm/rc4-x86_64.pl
@@ -221,6 +221,8 @@ $code.=<<___;
movb $TY#b,($dat,$XX[0])
add $TX[0]#b,$TY#b
add \$1,$XX[0]#b
+ movzb $TY#b,$TY#d
+ movzb $XX[0]#b,$XX[0]#d
movzb ($dat,$TY),$TY#d
movzb ($dat,$XX[0]),$TX[0]#d
xorb ($inp),$TY#b