mirror of
https://github.com/bolero-MURAKAMI/Sprout
synced 2025-08-03 12:49:50 +00:00
net.endian: resolution dependence on Boost
This commit is contained in:
parent
74669a5a8a
commit
f2c09dd3af
139 changed files with 4800 additions and 202 deletions
47
sprout/predef/hardware/simd.hpp
Normal file
47
sprout/predef/hardware/simd.hpp
Normal file
|
@ -0,0 +1,47 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_HARDWARE_SIMD_HPP
|
||||
#define SPROUT_PREDEF_HARDWARE_SIMD_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/hardware/simd/x86.hpp>
|
||||
#include <sprout/predef/hardware/simd/x86_amd.hpp>
|
||||
#include <sprout/predef/hardware/simd/arm.hpp>
|
||||
#include <sprout/predef/hardware/simd/ppc.hpp>
|
||||
|
||||
#if defined(SPROUT_HW_SIMD_ARM_AVAILABLE) && defined(SPROUT_HW_SIMD_PPC_AVAILABLE) \
|
||||
|| defined(SPROUT_HW_SIMD_ARM_AVAILABLE) && defined(SPROUT_HW_SIMD_X86_AVAILABLE) \
|
||||
|| defined(SPROUT_HW_SIMD_PPC_AVAILABLE) && defined(SPROUT_HW_SIMD_X86_AVAILABLE)
|
||||
# error "Multiple SIMD architectures detected, this cannot happen!"
|
||||
#endif
|
||||
|
||||
#if defined(SPROUT_HW_SIMD_X86_AVAILABLE)
|
||||
# define SPROUT_HW_SIMD SPROUT_HW_SIMD_X86
|
||||
#endif
|
||||
|
||||
#if defined(SPROUT_HW_SIMD_X86_AMD_AVAILABLE)
|
||||
# define SPROUT_HW_SIMD SPROUT_HW_SIMD_X86_AMD
|
||||
#endif
|
||||
|
||||
#if defined(SPROUT_HW_SIMD_ARM_AVAILABLE)
|
||||
# define SPROUT_HW_SIMD SPROUT_HW_SIMD_ARM
|
||||
#endif
|
||||
|
||||
#if defined(SPROUT_HW_SIMD_PPC_AVAILABLE)
|
||||
# define SPROUT_HW_SIMD SPROUT_HW_SIMD_PPC
|
||||
#endif
|
||||
|
||||
#if defined(SPROUT_HW_SIMD)
|
||||
# define SPROUT_HW_SIMD_AVAILABLE
|
||||
#else
|
||||
# define SPROUT_HW_SIMD 0
|
||||
#endif
|
||||
|
||||
#define SPROUT_HW_SIMD_NAME "Hardware SIMD"
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_HARDWARE_SIMD_HPP
|
29
sprout/predef/hardware/simd/arm.hpp
Normal file
29
sprout/predef/hardware/simd/arm.hpp
Normal file
|
@ -0,0 +1,29 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_HARDWARE_SIMD_ARM_HPP
|
||||
#define SPROUT_PREDEF_HARDWARE_SIMD_ARM_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/hardware/simd/arm/versions.hpp>
|
||||
|
||||
#define SPROUT_HW_SIMD_ARM 0
|
||||
|
||||
#undef SPROUT_HW_SIMD_ARM
|
||||
#if !defined(SPROUT_HW_SIMD_ARM) && (defined(__ARM_NEON__) || defined(__aarch64__) || defined (_M_ARM))
|
||||
# define SPROUT_HW_SIMD_ARM SPROUT_HW_SIMD_ARM_NEON_VERSION
|
||||
#endif
|
||||
|
||||
#if !defined(SPROUT_HW_SIMD_ARM)
|
||||
# define SPROUT_HW_SIMD_ARM 0
|
||||
#else
|
||||
# define SPROUT_HW_SIMD_ARM_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_HW_SIMD_ARM_NAME "ARM SIMD"
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_HARDWARE_SIMD_ARM_HPP
|
16
sprout/predef/hardware/simd/arm/versions.hpp
Normal file
16
sprout/predef/hardware/simd/arm/versions.hpp
Normal file
|
@ -0,0 +1,16 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_HARDWARE_SIMD_ARM_VERSIONS_HPP
|
||||
#define SPROUT_PREDEF_HARDWARE_SIMD_ARM_VERSIONS_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/version_number.hpp>
|
||||
|
||||
#define SPROUT_HW_SIMD_ARM_NEON_VERSION SPROUT_VERSION_NUMBER(1, 0, 0)
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_HARDWARE_SIMD_ARM_VERSIONS_HPP
|
35
sprout/predef/hardware/simd/ppc.hpp
Normal file
35
sprout/predef/hardware/simd/ppc.hpp
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_HARDWARE_SIMD_PPC_HPP
|
||||
#define SPROUT_PREDEF_HARDWARE_SIMD_PPC_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/hardware/simd/ppc/versions.hpp>
|
||||
|
||||
#define SPROUT_HW_SIMD_PPC 0
|
||||
|
||||
#undef SPROUT_HW_SIMD_PPC
|
||||
#if !defined(SPROUT_HW_SIMD_PPC) && defined(__VECTOR4DOUBLE__)
|
||||
# define SPROUT_HW_SIMD_PPC SPROUT_HW_SIMD_PPC_QPX_VERSION
|
||||
#endif
|
||||
#if !defined(SPROUT_HW_SIMD_PPC) && defined(__VSX__)
|
||||
# define SPROUT_HW_SIMD_PPC SPROUT_HW_SIMD_PPC_VSX_VERSION
|
||||
#endif
|
||||
#if !defined(SPROUT_HW_SIMD_PPC) && (defined(__ALTIVEC__) || defined(__VEC__))
|
||||
# define SPROUT_HW_SIMD_PPC SPROUT_HW_SIMD_PPC_VMX_VERSION
|
||||
#endif
|
||||
|
||||
#if !defined(SPROUT_HW_SIMD_PPC)
|
||||
# define SPROUT_HW_SIMD_PPC 0
|
||||
#else
|
||||
# define SPROUT_HW_SIMD_PPC_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_HW_SIMD_PPC_NAME "PPC SIMD"
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_HARDWARE_SIMD_PPC_HPP
|
20
sprout/predef/hardware/simd/ppc/versions.hpp
Normal file
20
sprout/predef/hardware/simd/ppc/versions.hpp
Normal file
|
@ -0,0 +1,20 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_HARDWARE_SIMD_PPC_VERSIONS_HPP
|
||||
#define SPROUT_PREDEF_HARDWARE_SIMD_PPC_VERSIONS_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/version_number.hpp>
|
||||
|
||||
#define SPROUT_HW_SIMD_PPC_VMX_VERSION SPROUT_VERSION_NUMBER(1, 0, 0)
|
||||
|
||||
#define SPROUT_HW_SIMD_PPC_VSX_VERSION SPROUT_VERSION_NUMBER(1, 1, 0)
|
||||
|
||||
#define SPROUT_HW_SIMD_PPC_QPX_VERSION SPROUT_VERSION_NUMBER(2, 0, 0)
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_HARDWARE_SIMD_PPC_VERSIONS_HPP
|
59
sprout/predef/hardware/simd/x86.hpp
Normal file
59
sprout/predef/hardware/simd/x86.hpp
Normal file
|
@ -0,0 +1,59 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_HARDWARE_SIMD_X86_HPP
|
||||
#define SPROUT_PREDEF_HARDWARE_SIMD_X86_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/hardware/simd/x86/versions.hpp>
|
||||
|
||||
#define SPROUT_HW_SIMD_X86 0
|
||||
|
||||
#undef SPROUT_HW_SIMD_X86
|
||||
#if !defined(SPROUT_HW_SIMD_X86) && defined(__MIC__)
|
||||
# define SPROUT_HW_SIMD_X86 SPROUT_HW_SIMD_X86_MIC_VERSION
|
||||
#endif
|
||||
#if !defined(SPROUT_HW_SIMD_X86) && defined(__AVX2__)
|
||||
# define SPROUT_HW_SIMD_X86 SPROUT_HW_SIMD_X86_AVX2_VERSION
|
||||
#endif
|
||||
#if !defined(SPROUT_HW_SIMD_X86) && defined(__AVX__)
|
||||
# define SPROUT_HW_SIMD_X86 SPROUT_HW_SIMD_X86_AVX_VERSION
|
||||
#endif
|
||||
#if !defined(SPROUT_HW_SIMD_X86) && defined(__FMA__)
|
||||
# define SPROUT_HW_SIMD_X86 SPROUT_HW_SIMD_X86_FMA_VERSION
|
||||
#endif
|
||||
#if !defined(SPROUT_HW_SIMD_X86) && defined(__SSE4_2__)
|
||||
# define SPROUT_HW_SIMD_X86 SPROUT_HW_SIMD_X86_SSE4_2_VERSION
|
||||
#endif
|
||||
#if !defined(SPROUT_HW_SIMD_X86) && defined(__SSE4_1__)
|
||||
# define SPROUT_HW_SIMD_X86 SPROUT_HW_SIMD_X86_SSE4_1_VERSION
|
||||
#endif
|
||||
#if !defined(SPROUT_HW_SIMD_X86) && defined(__SSSE3__)
|
||||
# define SPROUT_HW_SIMD_X86 SPROUT_HW_SIMD_X86_SSSE3_VERSION
|
||||
#endif
|
||||
#if !defined(SPROUT_HW_SIMD_X86) && defined(__SSE3__)
|
||||
# define SPROUT_HW_SIMD_X86 SPROUT_HW_SIMD_X86_SSE3_VERSION
|
||||
#endif
|
||||
#if !defined(SPROUT_HW_SIMD_X86) && (defined(__SSE2__) || defined(_M_X64) || _M_IX86_FP >= 2)
|
||||
# define SPROUT_HW_SIMD_X86 SPROUT_HW_SIMD_X86_SSE2_VERSION
|
||||
#endif
|
||||
#if !defined(SPROUT_HW_SIMD_X86) && (defined(__SSE__) || defined(_M_X64) || _M_IX86_FP >= 1)
|
||||
# define SPROUT_HW_SIMD_X86 SPROUT_HW_SIMD_X86_SSE_VERSION
|
||||
#endif
|
||||
#if !defined(SPROUT_HW_SIMD_X86) && defined(__MMX__)
|
||||
# define SPROUT_HW_SIMD_X86 SPROUT_HW_SIMD_X86_MMX_VERSION
|
||||
#endif
|
||||
|
||||
#if !defined(SPROUT_HW_SIMD_X86)
|
||||
# define SPROUT_HW_SIMD_X86 0
|
||||
#else
|
||||
# define SPROUT_HW_SIMD_X86_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_NAME "x86 SIMD"
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_HARDWARE_SIMD_X86_HPP
|
36
sprout/predef/hardware/simd/x86/versions.hpp
Normal file
36
sprout/predef/hardware/simd/x86/versions.hpp
Normal file
|
@ -0,0 +1,36 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_HARDWARE_SIMD_X86_VERSIONS_HPP
|
||||
#define SPROUT_PREDEF_HARDWARE_SIMD_X86_VERSIONS_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/version_number.hpp>
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_MMX_VERSION SPROUT_VERSION_NUMBER(0, 99, 0)
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_SSE_VERSION SPROUT_VERSION_NUMBER(1, 0, 0)
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_SSE2_VERSION SPROUT_VERSION_NUMBER(2, 0, 0)
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_SSE3_VERSION SPROUT_VERSION_NUMBER(3, 0, 0)
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_SSSE3_VERSION SPROUT_VERSION_NUMBER(3, 1, 0)
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_SSE4_1_VERSION SPROUT_VERSION_NUMBER(4, 1, 0)
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_SSE4_2_VERSION SPROUT_VERSION_NUMBER(4, 2, 0)
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_AVX_VERSION SPROUT_VERSION_NUMBER(5, 0, 0)
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_FMA3_VERSION SPROUT_VERSION_NUMBER(5, 2, 0)
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_AVX2_VERSION SPROUT_VERSION_NUMBER(5, 3, 0)
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_MIC_VERSION SPROUT_VERSION_NUMBER(9, 0, 0)
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_HARDWARE_SIMD_X86_VERSIONS_HPP
|
40
sprout/predef/hardware/simd/x86_amd.hpp
Normal file
40
sprout/predef/hardware/simd/x86_amd.hpp
Normal file
|
@ -0,0 +1,40 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_HARDWARE_SIMD_X86_AMD_HPP
|
||||
#define SPROUT_PREDEF_HARDWARE_SIMD_X86_AMD_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/hardware/simd/x86_amd/versions.hpp>
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_AMD 0
|
||||
|
||||
#undef SPROUT_HW_SIMD_X86_AMD
|
||||
#if !defined(SPROUT_HW_SIMD_X86_AMD) && defined(__XOP__)
|
||||
# define SPROUT_HW_SIMD_X86_AMD SPROUT_HW_SIMD_X86_AMD_XOP_VERSION
|
||||
#endif
|
||||
#if !defined(SPROUT_HW_SIMD_X86_AMD) && defined(__FMA4__)
|
||||
# define SPROUT_HW_SIMD_X86_AMD SPROUT_HW_SIMD_X86_AMD_FMA4_VERSION
|
||||
#endif
|
||||
#if !defined(SPROUT_HW_SIMD_X86_AMD) && defined(__SSE4A__)
|
||||
# define SPROUT_HW_SIMD_X86_AMD SPROUT_HW_SIMD_X86_AMD_SSE4A_VERSION
|
||||
#endif
|
||||
|
||||
#if !defined(SPROUT_HW_SIMD_X86_AMD)
|
||||
# define SPROUT_HW_SIMD_X86_AMD 0
|
||||
#else
|
||||
# include <sprout/predef/hardware/simd/x86.h>
|
||||
# if SPROUT_HW_SIMD_X86 > SPROUT_HW_SIMD_X86_AMD
|
||||
# undef SPROUT_HW_SIMD_X86_AMD
|
||||
# define SPROUT_HW_SIMD_X86_AMD SPROUT_HW_SIMD_X86
|
||||
# endif
|
||||
# define SPROUT_HW_SIMD_X86_AMD_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_AMD_NAME "x86 (AMD) SIMD"
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_HARDWARE_SIMD_X86_AMD_HPP
|
20
sprout/predef/hardware/simd/x86_amd/versions.hpp
Normal file
20
sprout/predef/hardware/simd/x86_amd/versions.hpp
Normal file
|
@ -0,0 +1,20 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_HARDWARE_SIMD_X86_AMD_VERSIONS_HPP
|
||||
#define SPROUT_PREDEF_HARDWARE_SIMD_X86_AMD_VERSIONS_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/version_number.hpp>
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_AMD_SSE4A_VERSION SPROUT_VERSION_NUMBER(4, 0, 0)
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_AMD_FMA4_VERSION SPROUT_VERSION_NUMBER(5, 1, 0)
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_AMD_XOP_VERSION SPROUT_VERSION_NUMBER(5, 1, 1)
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_HARDWARE_SIMD_X86_AMD_VERSIONS_HPP
|
Loading…
Add table
Add a link
Reference in a new issue