Add SM3 ASM

This commit is contained in:
Zhi Guan
2022-10-15 16:42:35 +08:00
parent a9c5e99192
commit a80ead7e04
2 changed files with 12 additions and 4 deletions

View File

@@ -8,7 +8,6 @@ option(BUILD_SHARED_LIBS "Build using shared libraries" OFF)
include_directories(include) include_directories(include)
#enable_language(ASM)
set(src set(src
@@ -76,6 +75,14 @@ set(src
src/tls13.c src/tls13.c
) )
option(ENABLE_SM3_AVX_BMI2 "Enable SM3 AVX+BMI2 assembly implementation" OFF)
if (ENABLE_SM3_AVX_BMI2)
enable_language(ASM)
list(APPEND src src/sm3_avx_bmi2.s)
endif()
if (WIN32) if (WIN32)
list(APPEND src src/u_time.c) list(APPEND src src/u_time.c)
list(APPEND src src/rand_win.c) list(APPEND src src/rand_win.c)

View File

@@ -152,6 +152,7 @@ static uint32_t K[64] = {
*/ */
}; };
#ifndef ENABLE_SM3_AVX_BMI2
void sm3_compress_blocks(uint32_t digest[8], const uint8_t *data, size_t blocks) void sm3_compress_blocks(uint32_t digest[8], const uint8_t *data, size_t blocks)
{ {
uint32_t A; uint32_t A;
@@ -293,7 +294,7 @@ void sm3_compress_blocks(uint32_t digest[8], const uint8_t *data, size_t blocks)
data += 64; data += 64;
} }
} }
#endif
void sm3_init(SM3_CTX *ctx) void sm3_init(SM3_CTX *ctx)
{ {