mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-06-28 16:41:01 +03:00
bump base requirements to SSE4.2
This commit is contained in:
parent
404a0ab0f4
commit
7d600c4fcb
@ -88,7 +88,7 @@ if (FAT_RUNTIME)
|
|||||||
set (CMAKE_REQUIRED_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_C_FLAGS} ${SKYLAKE_FLAG}")
|
set (CMAKE_REQUIRED_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_C_FLAGS} ${SKYLAKE_FLAG}")
|
||||||
endif (BUILD_AVX512VBMI)
|
endif (BUILD_AVX512VBMI)
|
||||||
elseif (BUILD_AVX2)
|
elseif (BUILD_AVX2)
|
||||||
set (CMAKE_REQUIRED_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_C_FLAGS} -march=core-avx2 -mavx")
|
set (CMAKE_REQUIRED_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_C_FLAGS} -march=core-avx2 -mavx2")
|
||||||
elseif ()
|
elseif ()
|
||||||
set (CMAKE_REQUIRED_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_C_FLAGS} -march=core-i7 -mssse3")
|
set (CMAKE_REQUIRED_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_C_FLAGS} -march=core-i7 -mssse3")
|
||||||
endif ()
|
endif ()
|
||||||
@ -98,12 +98,12 @@ else (NOT FAT_RUNTIME)
|
|||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if (ARCH_IA32 OR ARCH_X86_64)
|
if (ARCH_IA32 OR ARCH_X86_64)
|
||||||
# ensure we have the minimum of SSSE3 - call a SSSE3 intrinsic
|
# ensure we have the minimum of SSE4.2 - call a SSE4.2 intrinsic
|
||||||
CHECK_C_SOURCE_COMPILES("#include <${INTRIN_INC_H}>
|
CHECK_C_SOURCE_COMPILES("#include <${INTRIN_INC_H}>
|
||||||
int main() {
|
int main() {
|
||||||
__m128i a = _mm_set1_epi8(1);
|
__m128i a = _mm_set1_epi8(1);
|
||||||
(void)_mm_shuffle_epi8(a, a);
|
(void)_mm_shuffle_epi8(a, a);
|
||||||
}" HAVE_SSSE3)
|
}" HAVE_SSE42)
|
||||||
|
|
||||||
# now look for AVX2
|
# now look for AVX2
|
||||||
CHECK_C_SOURCE_COMPILES("#include <${INTRIN_INC_H}>
|
CHECK_C_SOURCE_COMPILES("#include <${INTRIN_INC_H}>
|
||||||
@ -157,8 +157,8 @@ else ()
|
|||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if (FAT_RUNTIME)
|
if (FAT_RUNTIME)
|
||||||
if ((ARCH_IA32 OR ARCH_X86_64) AND NOT HAVE_SSSE3)
|
if ((ARCH_IA32 OR ARCH_X86_64) AND NOT HAVE_SSE42)
|
||||||
message(FATAL_ERROR "SSSE3 support required to build fat runtime")
|
message(FATAL_ERROR "SSE4.2 support required to build fat runtime")
|
||||||
endif ()
|
endif ()
|
||||||
if ((ARCH_IA32 OR ARCH_X86_64) AND BUILD_AVX2 AND NOT HAVE_AVX2)
|
if ((ARCH_IA32 OR ARCH_X86_64) AND BUILD_AVX2 AND NOT HAVE_AVX2)
|
||||||
message(FATAL_ERROR "AVX2 support required to build fat runtime")
|
message(FATAL_ERROR "AVX2 support required to build fat runtime")
|
||||||
@ -179,8 +179,8 @@ else (NOT FAT_RUNTIME)
|
|||||||
if ((ARCH_IA32 OR ARCH_X86_64) AND NOT HAVE_AVX512VBMI)
|
if ((ARCH_IA32 OR ARCH_X86_64) AND NOT HAVE_AVX512VBMI)
|
||||||
message(STATUS "Building without AVX512VBMI support")
|
message(STATUS "Building without AVX512VBMI support")
|
||||||
endif ()
|
endif ()
|
||||||
if ((ARCH_IA32 OR ARCH_X86_64) AND NOT HAVE_SSSE3)
|
if ((ARCH_IA32 OR ARCH_X86_64) AND NOT HAVE_SSE42)
|
||||||
message(FATAL_ERROR "A minimum of SSSE3 compiler support is required")
|
message(FATAL_ERROR "A minimum of SSE4.2 compiler support is required")
|
||||||
endif ()
|
endif ()
|
||||||
if ((ARCH_ARM32 OR ARCH_AARCH64) AND NOT HAVE_NEON)
|
if ((ARCH_ARM32 OR ARCH_AARCH64) AND NOT HAVE_NEON)
|
||||||
message(FATAL_ERROR "NEON support required for ARM support")
|
message(FATAL_ERROR "NEON support required for ARM support")
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
#ifndef SIMD_TYPES_X86_H
|
#ifndef SIMD_TYPES_X86_H
|
||||||
#define SIMD_TYPES_X86_H
|
#define SIMD_TYPES_X86_H
|
||||||
|
|
||||||
#if !defined(m128) && defined(HAVE_SSE2)
|
#if !defined(m128) && defined(HAVE_SSE42)
|
||||||
typedef __m128i m128;
|
typedef __m128i m128;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user