initial 32-bit arm assembly optimization support
This commit is contained in:
parent
e7d11baaae
commit
9c6e9f0995
@ -260,6 +260,8 @@ if(ENABLE_ASM)
|
||||
if("${CMAKE_C_COMPILER_ABI}" STREQUAL "ELF")
|
||||
if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(x86_64|amd64)")
|
||||
set(HOST_ASM_ELF_X86_64 true)
|
||||
elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "arm")
|
||||
set(HOST_ASM_ELF_ARMV4 true)
|
||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "SunOS" AND "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "i386")
|
||||
set(HOST_ASM_ELF_X86_64 true)
|
||||
endif()
|
||||
|
@ -1,3 +1,28 @@
|
||||
if(HOST_ASM_ELF_ARMV4)
|
||||
set(
|
||||
ASM_ARMV4_ELF_SRC
|
||||
aes/aes-elf-armv4.S
|
||||
bn/gf2m-elf-armv4.S
|
||||
bn/mont-elf-armv4.S
|
||||
sha/sha1-elf-armv4.S
|
||||
sha/sha512-elf-armv4.S
|
||||
sha/sha256-elf-armv4.S
|
||||
modes/ghash-elf-armv4.S
|
||||
armv4cpuid.S
|
||||
armcap.c
|
||||
)
|
||||
add_definitions(-DAES_ASM)
|
||||
add_definitions(-DOPENSSL_BN_ASM_MONT)
|
||||
add_definitions(-DOPENSSL_BN_ASM_GF2m)
|
||||
add_definitions(-DGHASH_ASM)
|
||||
add_definitions(-DSHA1_ASM)
|
||||
add_definitions(-DSHA256_ASM)
|
||||
add_definitions(-DSHA512_ASM)
|
||||
add_definitions(-DOPENSSL_CPUID_OBJ)
|
||||
set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_ARMV4_ELF_SRC})
|
||||
set_property(SOURCE ${ASM_ARMV4_ELF_SRC} PROPERTY LANGUAGE C)
|
||||
endif()
|
||||
|
||||
if(HOST_ASM_ELF_X86_64)
|
||||
set(
|
||||
ASM_X86_64_ELF_SRC
|
||||
|
15
update.sh
15
update.sh
@ -178,8 +178,21 @@ gen_asm() {
|
||||
EOF
|
||||
$MV $3.tmp $3
|
||||
}
|
||||
|
||||
echo generating arm ASM source for elf
|
||||
gen_asm_stdout elf aes/asm/aes-armv4.pl crypto/aes/aes-elf-armv4.S
|
||||
gen_asm_stdout elf bn/asm/armv4-gf2m.pl crypto/bn/gf2m-elf-armv4.S
|
||||
gen_asm_stdout elf bn/asm/armv4-mont.pl crypto/bn/mont-elf-armv4.S
|
||||
gen_asm_stdout elf sha/asm/sha1-armv4-large.pl crypto/sha/sha1-elf-armv4.S
|
||||
gen_asm_stdout elf sha/asm/sha256-armv4.pl crypto/sha/sha256-elf-armv4.S
|
||||
gen_asm_stdout elf sha/asm/sha512-armv4.pl crypto/sha/sha512-elf-armv4.S
|
||||
gen_asm_stdout elf modes/asm/ghash-armv4.pl crypto/modes/ghash-elf-armv4.S
|
||||
$CP $libcrypto_src/armv4cpuid.S crypto
|
||||
$CP $libcrypto_src/armcap.c crypto
|
||||
$CP $libcrypto_src/arm_arch.h crypto
|
||||
|
||||
for abi in elf macosx; do
|
||||
echo generating ASM source for $abi
|
||||
echo generating x86_64 ASM source for $abi
|
||||
gen_asm_stdout $abi aes/asm/aes-x86_64.pl crypto/aes/aes-$abi-x86_64.S
|
||||
gen_asm_stdout $abi aes/asm/vpaes-x86_64.pl crypto/aes/vpaes-$abi-x86_64.S
|
||||
gen_asm_stdout $abi aes/asm/bsaes-x86_64.pl crypto/aes/bsaes-$abi-x86_64.S
|
||||
|
Loading…
x
Reference in New Issue
Block a user