From bb99b4ead19ec2a840547c508f6023b88c807d4b Mon Sep 17 00:00:00 2001 From: "G.E." Date: Thu, 4 Jul 2024 14:32:00 +0300 Subject: [PATCH] saving whatever this is now, still not working.. --- CMakeLists.txt | 41 +++++++++++++++++++++++++++++++++++++++-- src/util/intrinsics.h | 4 ++++ src/util/simd_types.h | 2 ++ 3 files changed, 45 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 51cb3747..1708a7d3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -130,6 +130,7 @@ include (${CMAKE_MODULE_PATH}/platform.cmake) include (${CMAKE_MODULE_PATH}/osdetection.cmake) if(SIMDE_BACKEND) + message("---> Including simde") include (${CMAKE_MODULE_PATH}/simde.cmake) elseif (ARCH_IA32 OR ARCH_X86_64) include (${CMAKE_MODULE_PATH}/cflags-x86.cmake) @@ -262,6 +263,7 @@ set (hs_exec_common_SRCS # set(SIMDE_BACKEND True) #endif() if (SIMDE_BACKEND) +message("---> Including simde") #include (${CMAKE_MODULE_PATH}/simde.cmake) set (hs_exec_common_SRCS ${hs_exec_common_SRCS} @@ -957,7 +959,25 @@ else () if (BUILD_STATIC_LIBS) add_library(hs_exec_core2 OBJECT ${hs_exec_SRCS}) list(APPEND RUNTIME_LIBS $) - include (${CMAKE_MODULE_PATH}/simde.cmake) + + include_directories(${PROJECT_SOURCE_DIR}/simde) + if (CMAKE_COMPILER_IS_CLANG) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DSIMDE_NO_CHECK_IMMEDIATE_CONSTANT") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DSIMDE_NO_CHECK_IMMEDIATE_CONSTANT") + if (ARCH_PPC64EL) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-deprecated-altivec-src-compat") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-altivec-src-compat") + if (CLANG_MAJOR_VERSION EQUAL 15) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-deprecate-lax-vec-conv-all") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecate-lax-vec-conv-all") + endif () + endif() + endif() + if (SIMDE_NATIVE) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DVS_SIMDE_NATIVE -DSIMDE_ENABLE_OPENMP -fopenmp-simd") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DVS_SIMDE_NATIVE -DSIMDE_ENABLE_OPENMP -fopenmp-simd") + endif() + set_target_properties(hs_exec_core2 PROPERTIES COMPILE_FLAGS "-DVS_SIMDE_BACKEND -march=core2 -msse2" RULE_LAUNCH_COMPILE "${BUILD_WRAPPER} core2 ${CMAKE_MODULE_PATH}/keep.syms.in" @@ -1023,7 +1043,24 @@ else () add_library(hs_exec_shared_core2 OBJECT ${hs_exec_SRCS}) list(APPEND RUNTIME_SHLIBS $) - include (${CMAKE_MODULE_PATH}/simde.cmake) + + include_directories(${PROJECT_SOURCE_DIR}/simde) + if (CMAKE_COMPILER_IS_CLANG) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DSIMDE_NO_CHECK_IMMEDIATE_CONSTANT") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DSIMDE_NO_CHECK_IMMEDIATE_CONSTANT") + if (ARCH_PPC64EL) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-deprecated-altivec-src-compat") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-altivec-src-compat") + if (CLANG_MAJOR_VERSION EQUAL 15) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-deprecate-lax-vec-conv-all") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecate-lax-vec-conv-all") + endif () + endif() + endif() + if (SIMDE_NATIVE) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DVS_SIMDE_NATIVE -DSIMDE_ENABLE_OPENMP -fopenmp-simd") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DVS_SIMDE_NATIVE -DSIMDE_ENABLE_OPENMP -fopenmp-simd") + endif() set_target_properties(hs_exec_shared_core2 PROPERTIES COMPILE_FLAGS "-DVS_SIMDE_BACKEND -march=core2 -msse2" POSITION_INDEPENDENT_CODE TRUE diff --git a/src/util/intrinsics.h b/src/util/intrinsics.h index 775d8263..b1a4c48f 100644 --- a/src/util/intrinsics.h +++ b/src/util/intrinsics.h @@ -71,6 +71,10 @@ #include #if defined(VS_SIMDE_BACKEND) #undef __m128i +#undef _MM_FLUSH_ZERO_MASK +#undef _MM_FLUSH_ZERO_ON +#undef _MM_FLUSH_ZERO_OFF +#undef _MM_ROUND_MASK #endif #elif defined(USE_INTRIN_H) #include diff --git a/src/util/simd_types.h b/src/util/simd_types.h index e393d081..5290680f 100644 --- a/src/util/simd_types.h +++ b/src/util/simd_types.h @@ -36,7 +36,9 @@ #include "ue2common.h" #if defined(VS_SIMDE_BACKEND) +#ifndef VECTORSIZE #define VECTORSIZE 16 +#endif #define SIMDE_ENABLE_NATIVE_ALIASES #if !defined(VS_SIMDE_NATIVE) #define SIMDE_NO_NATIVE