From aded8f1a5f35ccc2cd59fee54198302b975a680a Mon Sep 17 00:00:00 2001 From: "G.E" Date: Thu, 4 Jul 2024 00:26:30 +0300 Subject: [PATCH] trying this on the vm's --- CMakeLists.txt | 12 ++++++++++-- src/util/intrinsics.h | 7 +++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b1daee70..51cb3747 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -258,7 +258,11 @@ set (hs_exec_common_SRCS src/util/arch/common/cpuid_flags.h src/util/multibit.c ) +#if ((ARCH_IA32 OR ARCH_X86_64) AND (NOT (BUILD_AVX2 OR BUILD_AVX512 OR BUILD_AVX512VBMI))) +# set(SIMDE_BACKEND True) +#endif() if (SIMDE_BACKEND) +#include (${CMAKE_MODULE_PATH}/simde.cmake) set (hs_exec_common_SRCS ${hs_exec_common_SRCS} src/util/arch/simde/cpuid_flags.c) @@ -953,8 +957,9 @@ else () if (BUILD_STATIC_LIBS) add_library(hs_exec_core2 OBJECT ${hs_exec_SRCS}) list(APPEND RUNTIME_LIBS $) + include (${CMAKE_MODULE_PATH}/simde.cmake) set_target_properties(hs_exec_core2 PROPERTIES - COMPILE_FLAGS "-march=core2 -msse4.2" + COMPILE_FLAGS "-DVS_SIMDE_BACKEND -march=core2 -msse2" RULE_LAUNCH_COMPILE "${BUILD_WRAPPER} core2 ${CMAKE_MODULE_PATH}/keep.syms.in" ) @@ -1015,13 +1020,16 @@ else () # build shared libs add_library(hs_compile_shared OBJECT ${hs_compile_SRCS}) set_target_properties(hs_compile_shared PROPERTIES POSITION_INDEPENDENT_CODE TRUE) + add_library(hs_exec_shared_core2 OBJECT ${hs_exec_SRCS}) list(APPEND RUNTIME_SHLIBS $) + include (${CMAKE_MODULE_PATH}/simde.cmake) set_target_properties(hs_exec_shared_core2 PROPERTIES - COMPILE_FLAGS "-march=core2 -msse4.2" + COMPILE_FLAGS "-DVS_SIMDE_BACKEND -march=core2 -msse2" POSITION_INDEPENDENT_CODE TRUE RULE_LAUNCH_COMPILE "${BUILD_WRAPPER} core2 ${CMAKE_MODULE_PATH}/keep.syms.in" ) + add_library(hs_exec_shared_corei7 OBJECT ${hs_exec_SRCS}) list(APPEND RUNTIME_SHLIBS $) set_target_properties(hs_exec_shared_corei7 PROPERTIES diff --git a/src/util/intrinsics.h b/src/util/intrinsics.h index 64f9e9ba..775d8263 100644 --- a/src/util/intrinsics.h +++ b/src/util/intrinsics.h @@ -64,7 +64,14 @@ #endif #if defined(USE_X86INTRIN_H) +#if defined(VS_SIMDE_BACKEND) +// XXX the def in simde conflicts with the one in intrinsics.h +#define __m128i __m128i_intrinsics_h +#endif #include +#if defined(VS_SIMDE_BACKEND) +#undef __m128i +#endif #elif defined(USE_INTRIN_H) #include #elif defined(USE_ARM_NEON_H)