From 65c699a6dff16f4f85fa9239d8c7aecabdfa47f7 Mon Sep 17 00:00:00 2001 From: "Michael R. Crusoe" Date: Sat, 20 Jun 2020 17:34:05 +0200 Subject: [PATCH] use the simde header library for greater compatibility --- .gitmodules | 3 +++ Makefile | 2 +- aligner_sw.h | 3 ++- processor_support.h | 5 ++--- simde | 1 + sse_util.h | 4 +++- 6 files changed, 12 insertions(+), 6 deletions(-) create mode 100644 .gitmodules create mode 160000 simde diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..8ea776a0 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "simde"] + path = simde + url = https://github.com/nemequ/simde-no-tests diff --git a/Makefile b/Makefile index b8399819..0e14a264 100644 --- a/Makefile +++ b/Makefile @@ -55,7 +55,7 @@ ifneq (,$(findstring Darwin,$(shell uname))) MACOS = 1 endif -EXTRA_FLAGS += -DPOPCNT_CAPABILITY -std=c++11 +EXTRA_FLAGS += -std=c++11 INC += -I. -I third_party MM_DEF = diff --git a/aligner_sw.h b/aligner_sw.h index add5c87d..194918ad 100644 --- a/aligner_sw.h +++ b/aligner_sw.h @@ -66,11 +66,12 @@ #define INLINE_CUPS +#define SIMDE_ENABLE_NATIVE_ALIASES +#include #include #include #include #include "threading.h" -#include #include "aligner_sw_common.h" #include "aligner_sw_nuc.h" #include "ds.h" diff --git a/processor_support.h b/processor_support.h index e731e003..5f292bb3 100644 --- a/processor_support.h +++ b/processor_support.h @@ -12,7 +12,7 @@ #if defined(__INTEL_COMPILER) # define USING_INTEL_COMPILER -#elif defined(__GNUC__) +#elif defined(__GNUC__) && defined(__x86_64__) || defined(__i386__) # define USING_GCC_COMPILER # include #elif defined(_MSC_VER) @@ -52,8 +52,7 @@ class ProcessorSupport { #elif defined(USING_GCC_COMPILER) __get_cpuid(0x1, ®s.EAX, ®s.EBX, ®s.ECX, ®s.EDX); #else - std::cerr << "ERROR: please define __cpuid() for this build.\n"; - assert(0); + return false; #endif if( !( (regs.ECX & BIT(20)) && (regs.ECX & BIT(23)) ) ) return false; } diff --git a/simde b/simde new file mode 160000 index 00000000..54c104c7 --- /dev/null +++ b/simde @@ -0,0 +1 @@ +Subproject commit 54c104c715f6e6a820e85bdd6db7e8ca2e59660e diff --git a/sse_util.h b/sse_util.h index b5781f1a..b1155fbc 100644 --- a/sse_util.h +++ b/sse_util.h @@ -20,11 +20,13 @@ #ifndef SSE_UTIL_H_ #define SSE_UTIL_H_ +#define SIMDE_ENABLE_NATIVE_ALIASES +#include + #include "assert_helpers.h" #include "ds.h" #include "limit.h" #include -#include class EList_m128i { public: