summaryrefslogtreecommitdiffstats
path: root/crypto/aes/asm
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2005-07-14 13:16:31 +0000
committerAndy Polyakov <appro@openssl.org>2005-07-14 13:16:31 +0000
commitb4f5e5c95912e753147c2efe2f5eb7be97908556 (patch)
tree74f889e45d0313f1354e75f9535545a3ef5d50a6 /crypto/aes/asm
parent0d2848b3bafc7473b26597764ed5c65fb42e2a45 (diff)
Commentary section update.
Diffstat (limited to 'crypto/aes/asm')
-rwxr-xr-xcrypto/aes/asm/aes-x86_64.pl19
1 files changed, 14 insertions, 5 deletions
diff --git a/crypto/aes/asm/aes-x86_64.pl b/crypto/aes/asm/aes-x86_64.pl
index 3113e35dc6..f39a36ab3d 100755
--- a/crypto/aes/asm/aes-x86_64.pl
+++ b/crypto/aes/asm/aes-x86_64.pl
@@ -10,12 +10,21 @@
#
# aes-*-cbc benchmarks are improved by 50% [compared to gcc 3.3.2 on
# Opteron 240 CPU] plus all the bells-n-whistles from 32-bit version
-# [you'll notice a lot of resemblance], such as compressed S-boxs
-# and prefetch of these tables in CBC mode, as well as avoiding L1
-# cache aliasing between stack frame and key schedule and already
-# mentioned tables.
+# [you'll notice a lot of resemblance], such as compressed S-boxes
+# in little-endian byte order, prefetch of these tables in CBC mode,
+# as well as avoiding L1 cache aliasing between stack frame and key
+# schedule and already mentioned tables.
#
-# ECB performance is 15.6 cycles per processed byte for 128-bit key.
+# Performance in number of cycles per processed byte for 128-bit key:
+#
+# ECB CBC encrypt
+# AMD64 15.6 14.6(*)
+# EM64T 23.3(**) 21.4(*)
+#
+# (*) CBC benchmarks are better than ECB thanks to custom ABI used
+# by the private block encryption function.
+# (**) This module exhibits virtually same ECB performance as 32-bit
+# counterpart on [current] Intel CPU.
$output=shift;
open STDOUT,"| $^X ../perlasm/x86_64-xlate.pl $output";