diff options
author | Kenny Root <kroot@google.com> | 2013-06-14 14:27:05 -0700 |
---|---|---|
committer | Kenny Root <kroot@google.com> | 2013-06-14 14:29:23 -0700 |
commit | 5a43d1928da29b4ec7b911fe865ed78ee3c2ca26 (patch) | |
tree | 723e2992359a87ace7ec42dddb5fde00c56351ce | |
parent | a92286c64bc25e7ea9f8335789d66be9cea66bfb (diff) | |
download | scrypt-5a43d1928da29b4ec7b911fe865ed78ee3c2ca26.tar.gz |
Exclude NEON files for ARMs that do not have it
full_eng is a target that doesn't emulate NEON. Presumably because qemu
makes NEON slower than non-NEON.
Change-Id: I2153a62da6aef7efa75eae9892822af861ef4476
-rw-r--r-- | Scrypt-config.mk | 19 | ||||
-rwxr-xr-x | import_scrypt.sh | 11 | ||||
-rw-r--r-- | scrypt.config | 8 |
3 files changed, 34 insertions, 4 deletions
diff --git a/Scrypt-config.mk b/Scrypt-config.mk index 30db285..bbe1063 100644 --- a/Scrypt-config.mk +++ b/Scrypt-config.mk @@ -37,10 +37,16 @@ common_c_includes := \ arm_c_flags := -arm_src_files := \ +arm_src_files := + +arm_exclude_files := + +arm_neon_c_flags := + +arm_neon_src_files := \ lib/crypto/crypto_scrypt-neon.c \ -arm_exclude_files := \ +arm_neon_exclude_files := \ lib/crypto/crypto_scrypt-ref.c \ x86_c_flags := @@ -75,6 +81,15 @@ target_c_includes := $(addprefix external/scrypt/,$(common_c_includes)) $(local_ target_src_files := $(common_src_files) $($(target_arch)_src_files) target_src_files := $(filter-out $($(target_arch)_exclude_files), $(target_src_files)) +# Hacks for ARM NEON support +ifeq ($(target_arch),arm) +ifeq ($(ARCH_ARM_HAVE_NEON),true) +target_c_flags += $(arm_neon_c_flags) +target_src_files += $(arm_neon_src_files) +target_src_files := $(filter-out $(arm_neon_exclude_files), $(target_src_files)) +endif +endif + ifeq ($(HOST_OS)-$(HOST_ARCH),linux-x86) host_arch := x86 else diff --git a/import_scrypt.sh b/import_scrypt.sh index 684379d..324eae6 100755 --- a/import_scrypt.sh +++ b/import_scrypt.sh @@ -262,7 +262,7 @@ print_defines_in_mk() { # $1: Target file name. (e.g. Scrypt-config.mk) function generate_config_mk() { declare -r output="$1" - declare -r all_archs="arm x86 x86_64 mips" + declare -r all_archs="arm arm_neon x86 x86_64 mips" echo "Generating $(basename $output)" ( @@ -324,6 +324,15 @@ target_c_includes := \$(addprefix external/scrypt/,\$(common_c_includes)) \$(loc target_src_files := \$(common_src_files) \$(\$(target_arch)_src_files) target_src_files := \$(filter-out \$(\$(target_arch)_exclude_files), \$(target_src_files)) +# Hacks for ARM NEON support +ifeq (\$(target_arch),arm) +ifeq (\$(ARCH_ARM_HAVE_NEON),true) +target_c_flags += \$(arm_neon_c_flags) +target_src_files += \$(arm_neon_src_files) +target_src_files := \$(filter-out \$(arm_neon_exclude_files), \$(target_src_files)) +endif +endif + ifeq (\$(HOST_OS)-\$(HOST_ARCH),linux-x86) host_arch := x86 else diff --git a/scrypt.config b/scrypt.config index 13fd4c9..3ccb4d0 100644 --- a/scrypt.config +++ b/scrypt.config @@ -44,10 +44,16 @@ lib/crypto/crypto_scrypt-ref.c \ " SCRYPT_SOURCES_arm="\ -lib/crypto/crypto_scrypt-neon.c \ " SCRYPT_SOURCES_EXCLUDES_arm="\ +" + +SCRYPT_SOURCES_arm_neon="\ +lib/crypto/crypto_scrypt-neon.c \ +" + +SCRYPT_SOURCES_EXCLUDES_arm_neon="\ lib/crypto/crypto_scrypt-ref.c \ " |