diff options
author | Andy Polyakov <appro@openssl.org> | 2013-04-23 17:49:54 +0200 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2013-04-23 17:49:54 +0200 |
commit | 75fe422323c3d5efd89d846d1b8fede3fed246cf (patch) | |
tree | eea80eee1e27aad355fa140bfffa48c667c5386c /crypto | |
parent | 412834dcf02ac8ef7f17a375eea470c119afae60 (diff) |
bsaes-armv7.pl: take it into build loop.
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/aes/Makefile | 2 | ||||
-rw-r--r-- | crypto/aes/asm/bsaes-armv7.pl | 9 |
2 files changed, 11 insertions, 0 deletions
diff --git a/crypto/aes/Makefile b/crypto/aes/Makefile index 2b5e8f0920..e185ae75db 100644 --- a/crypto/aes/Makefile +++ b/crypto/aes/Makefile @@ -83,6 +83,8 @@ aes-mips.S: asm/aes-mips.pl # GNU make "catch all" aes-%.S: asm/aes-%.pl; $(PERL) $< $(PERLASM_SCHEME) $@ aes-armv4.o: aes-armv4.S +bsaes-%.S: asm/bsaes-%.pl; $(PERL) $< $(PERLASM_SCHEME) $@ +bsaes-armv7.o: bsaes-armv7.S files: $(PERL) $(TOP)/util/files.pl "AES_ENC=$(AES_ENC)" Makefile >> $(TOP)/MINFO 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; |