2 Copyright Charly Chevalier 2015
3 Copyright Joel Falcou 2015
4 Distributed under the Boost Software License, Version 1.0.
5 (See accompanying file LICENSE_1_0.txt or copy at
6 http://www.boost.org/LICENSE_1_0.txt)
9 #ifndef BOOST_PREDEF_HARDWARE_SIMD_PPC_H
10 #define BOOST_PREDEF_HARDWARE_SIMD_PPC_H
12 #include <boost/predef/version_number.h>
13 #include <boost/predef/hardware/simd/ppc/versions.h>
16 [heading `BOOST_HW_SIMD_PPC`]
18 The SIMD extension for PowerPC (*if detected*).
19 Version number depends on the most recent detected extension.
22 [[__predef_symbol__] [__predef_version__]]
24 [[`__VECTOR4DOUBLE__`] [__predef_detection__]]
26 [[`__ALTIVEC__`] [__predef_detection__]]
27 [[`__VEC__`] [__predef_detection__]]
29 [[`__VSX__`] [__predef_detection__]]
33 [[__predef_symbol__] [__predef_version__]]
35 [[`__VECTOR4DOUBLE__`] [BOOST_HW_SIMD_PPC_QPX_VERSION]]
37 [[`__ALTIVEC__`] [BOOST_HW_SIMD_PPC_VMX_VERSION]]
38 [[`__VEC__`] [BOOST_HW_SIMD_PPC_VMX_VERSION]]
40 [[`__VSX__`] [BOOST_HW_SIMD_PPC_VSX_VERSION]]
45 #define BOOST_HW_SIMD_PPC BOOST_VERSION_NUMBER_NOT_AVAILABLE
47 #undef BOOST_HW_SIMD_PPC
48 #if !defined(BOOST_HW_SIMD_PPC) && defined(__VECTOR4DOUBLE__)
49 # define BOOST_HW_SIMD_PPC BOOST_HW_SIMD_PPC_QPX_VERSION
51 #if !defined(BOOST_HW_SIMD_PPC) && defined(__VSX__)
52 # define BOOST_HW_SIMD_PPC BOOST_HW_SIMD_PPC_VSX_VERSION
54 #if !defined(BOOST_HW_SIMD_PPC) && (defined(__ALTIVEC__) || defined(__VEC__))
55 # define BOOST_HW_SIMD_PPC BOOST_HW_SIMD_PPC_VMX_VERSION
58 #if !defined(BOOST_HW_SIMD_PPC)
59 # define BOOST_HW_SIMD_PPC BOOST_VERSION_NUMBER_NOT_AVAILABLE
61 # define BOOST_HW_SIMD_PPC_AVAILABLE
64 #define BOOST_HW_SIMD_PPC_NAME "PPC SIMD"
68 #include <boost/predef/detail/test.h>
69 BOOST_PREDEF_DECLARE_TEST(BOOST_HW_SIMD_PPC, BOOST_HW_SIMD_PPC_NAME)