summaryrefslogtreecommitdiffstats
path: root/crypto/aes/asm/bsaes-armv7.pl
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2013-04-23 17:49:54 +0200
committerAndy Polyakov <appro@openssl.org>2013-04-23 17:49:54 +0200
commit75fe422323c3d5efd89d846d1b8fede3fed246cf (patch)
treeeea80eee1e27aad355fa140bfffa48c667c5386c /crypto/aes/asm/bsaes-armv7.pl
parent412834dcf02ac8ef7f17a375eea470c119afae60 (diff)
bsaes-armv7.pl: take it into build loop.
Diffstat (limited to 'crypto/aes/asm/bsaes-armv7.pl')
-rw-r--r--crypto/aes/asm/bsaes-armv7.pl9
1 files changed, 9 insertions, 0 deletions
diff --git a/crypto/aes/asm/bsaes-armv7.pl b/crypto/aes/asm/bsaes-armv7.pl
index d901c58f5a..71aae8d7e4 100644
--- a/crypto/aes/asm/bsaes-armv7.pl
+++ b/crypto/aes/asm/bsaes-armv7.pl
@@ -26,6 +26,9 @@
# which is [much] worse than anticipated (for further details see
# http://www.openssl.org/~appro/Snapdragon-S4.html).
#
+# Cortex-A15 manages in 14.2/19.6 cycles [when integer-only code
+# manages in 20.0 cycles].
+#
# When comparing to x86_64 results keep in mind that NEON unit is
# [mostly] single-issue and thus can't [fully] benefit from
# instruction-level parallelism. And when comparing to aes-armv4
@@ -617,6 +620,9 @@ ___
}
$code.=<<___;
+#include "arm_arch.h"
+
+#if __ARM_ARCH__>=7
.text
.code 32
.fpu neon
@@ -975,6 +981,9 @@ bsaes_decrypt_128:
.size bsaes_decrypt_128,.-bsaes_decrypt_128
___
}
+$code.=<<___;
+#endif
+___
$code =~ s/\`([^\`]*)\`/eval($1)/gem;