mirror of
https://github.com/boostorg/unordered.git
synced 2025-05-10 07:34:00 +00:00
Feature/SIMD config (#184)
* added BOOST_UNORDERED_[ENABLE|DISABLE]_[SSE2|LITTLE_ENDIAN_NEON] * renamed and refactored * removed #undefs of SIMD usage macros
This commit is contained in:
parent
efc33b18be
commit
c64ed1caa3
@ -39,12 +39,24 @@
|
|||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
#if defined(__SSE2__)||\
|
#if !defined(BOOST_UNORDERED_DISABLE_SSE2)
|
||||||
|
#if defined(BOOST_UNORDERED_ENABLE_SSE2)|| \
|
||||||
|
defined(__SSE2__)|| \
|
||||||
defined(_M_X64)||(defined(_M_IX86_FP)&&_M_IX86_FP>=2)
|
defined(_M_X64)||(defined(_M_IX86_FP)&&_M_IX86_FP>=2)
|
||||||
#define BOOST_UNORDERED_SSE2
|
#define BOOST_UNORDERED_SSE2
|
||||||
#include <emmintrin.h>
|
#endif
|
||||||
#elif defined(__ARM_NEON)&&!defined(__ARM_BIG_ENDIAN)
|
#endif
|
||||||
|
|
||||||
|
#if !defined(BOOST_UNORDERED_DISABLE_NEON)
|
||||||
|
#if defined(BOOST_UNORDERED_ENABLE_NEON)||\
|
||||||
|
(defined(__ARM_NEON)&&!defined(__ARM_BIG_ENDIAN))
|
||||||
#define BOOST_UNORDERED_LITTLE_ENDIAN_NEON
|
#define BOOST_UNORDERED_LITTLE_ENDIAN_NEON
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(BOOST_UNORDERED_SSE2)
|
||||||
|
#include <emmintrin.h>
|
||||||
|
#elif defined(BOOST_UNORDERED_LITTLE_ENDIAN_NEON)
|
||||||
#include <arm_neon.h>
|
#include <arm_neon.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -2198,13 +2210,7 @@ private:
|
|||||||
} /* namespace unordered */
|
} /* namespace unordered */
|
||||||
} /* namespace boost */
|
} /* namespace boost */
|
||||||
|
|
||||||
|
#undef BOOST_UNORDERED_STATIC_ASSERT_HASH_PRED
|
||||||
#undef BOOST_UNORDERED_ASSUME
|
#undef BOOST_UNORDERED_ASSUME
|
||||||
#undef BOOST_UNORDERED_HAS_BUILTIN
|
#undef BOOST_UNORDERED_HAS_BUILTIN
|
||||||
#undef BOOST_UNORDERED_STATIC_ASSERT_HASH_PRED
|
|
||||||
#ifdef BOOST_UNORDERED_LITTLE_ENDIAN_NEON
|
|
||||||
#undef BOOST_UNORDERED_LITTLE_ENDIAN_NEON
|
|
||||||
#endif
|
|
||||||
#ifdef BOOST_UNORDERED_SSE2
|
|
||||||
#undef BOOST_UNORDERED_SSE2
|
|
||||||
#endif
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user