Enable complete SSE4 implementation if available
This improves performance by 30% according to library/digest/benchmark
Originally SSE4 implementation was not built with SSE4 flags, so some fallback was used
Note: mandatory check (NEED_CHECK) was skipped
@@ -16,7 +16,10 @@ ENDIF ()
IF (ARCH_I386 OR ARCH_X86_64)
IF (OS_WINDOWS)
- SRCS(multiword_64_64_cl_i386_mmx.cc)
+ SRCS(
+ multiword_64_64_cl_i386_mmx.cc
+ crc32c_sse4.cc
+ )
ELSEIF(OS_ANDROID AND ARCH_I386)
# 32-bit Android has some problems with register allocation, so we fall back to default implementation
ELSE()
@@ -40,11 +43,13 @@ IF (ARCH_I386 OR ARCH_X86_64)
multiword_128_64_gcc_amd64_sse2.cc
multiword_64_64_gcc_amd64_asm.cc
)
+ SRC_CPP_SSE4(
+ crc32c_sse4.cc
+ )
ENDIF()
ENDIF ()
SRCS(
- crc32c_sse4.cc
interface.cc
multiword_64_64_intrinsic_i386_mmx.cc
)
