From 6fdf3213f483987296f58da219a453f22c08489e Mon Sep 17 00:00:00 2001 From: Joel Falcou Date: Fri, 30 Aug 2024 22:35:39 +0200 Subject: [PATCH] Macro for sub PPC flavors --- include/spy/simd/ppc.hpp | 10 ++++++++++ standalone/spy/spy.hpp | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/include/spy/simd/ppc.hpp b/include/spy/simd/ppc.hpp index 96077d7..82a1c21 100644 --- a/include/spy/simd/ppc.hpp +++ b/include/spy/simd/ppc.hpp @@ -10,12 +10,16 @@ #if !defined(SPY_SIMD_DETECTED) && defined(__VSX__) # define SPY_SIMD_IS_PPC_VSX # if defined(_ARCH_PWR10) +# define SPY_SIMD_IS_PPC_VSX_3_01 # define SPY_SIMD_DETECTED ::spy::detail::simd_version::vsx_3_01_ # elif defined(_ARCH_PWR9) +# define SPY_SIMD_IS_PPC_VSX_3_00 # define SPY_SIMD_DETECTED ::spy::detail::simd_version::vsx_3_00_ # elif defined(_ARCH_PWR8) +# define SPY_SIMD_IS_PPC_VSX_2_07 # define SPY_SIMD_DETECTED ::spy::detail::simd_version::vsx_2_07_ # elif defined(_ARCH_PWR7) +# define SPY_SIMD_IS_PPC_VSX_2_06 # define SPY_SIMD_DETECTED ::spy::detail::simd_version::vsx_2_06_ # endif #endif @@ -23,16 +27,22 @@ #if !defined(SPY_SIMD_DETECTED) && (defined(__ALTIVEC__) || defined(__VEC__)) # define SPY_SIMD_IS_PPC_VMX # if defined(_ARCH_PWR10) +# define SPY_SIMD_IS_PPC_VMX_3_01 # define SPY_SIMD_DETECTED ::spy::detail::simd_version::vmx_3_01_ # elif defined(_ARCH_PWR9) +# define SPY_SIMD_IS_PPC_VMX_3_00 # define SPY_SIMD_DETECTED ::spy::detail::simd_version::vmx_3_00_ # elif defined(_ARCH_PWR8) +# define SPY_SIMD_IS_PPC_VMX_2_07 # define SPY_SIMD_DETECTED ::spy::detail::simd_version::vmx_2_07_ # elif defined(_ARCH_PWR7) +# define SPY_SIMD_IS_PPC_VMX_2_06 # define SPY_SIMD_DETECTED ::spy::detail::simd_version::vmx_2_06_ # elif defined(_ARCH_PWR6) +# define SPY_SIMD_IS_PPC_VMX_2_05 # define SPY_SIMD_DETECTED ::spy::detail::simd_version::vmx_2_05_ # elif defined(_ARCH_PWR5) +# define SPY_SIMD_IS_PPC_VMX_2_03 # define SPY_SIMD_DETECTED ::spy::detail::simd_version::vmx_2_03_ # endif # define SPY_SIMD_DETECTED ::spy::detail::simd_version::vmx_ diff --git a/standalone/spy/spy.hpp b/standalone/spy/spy.hpp index fae7b50..49a90d4 100644 --- a/standalone/spy/spy.hpp +++ b/standalone/spy/spy.hpp @@ -950,28 +950,38 @@ namespace avx512 #if !defined(SPY_SIMD_DETECTED) && defined(__VSX__) # define SPY_SIMD_IS_PPC_VSX # if defined(_ARCH_PWR10) +# define SPY_SIMD_IS_PPC_VSX_3_01 # define SPY_SIMD_DETECTED ::spy::detail::simd_version::vsx_3_01_ # elif defined(_ARCH_PWR9) +# define SPY_SIMD_IS_PPC_VSX_3_00 # define SPY_SIMD_DETECTED ::spy::detail::simd_version::vsx_3_00_ # elif defined(_ARCH_PWR8) +# define SPY_SIMD_IS_PPC_VSX_2_07 # define SPY_SIMD_DETECTED ::spy::detail::simd_version::vsx_2_07_ # elif defined(_ARCH_PWR7) +# define SPY_SIMD_IS_PPC_VSX_2_06 # define SPY_SIMD_DETECTED ::spy::detail::simd_version::vsx_2_06_ # endif #endif #if !defined(SPY_SIMD_DETECTED) && (defined(__ALTIVEC__) || defined(__VEC__)) # define SPY_SIMD_IS_PPC_VMX # if defined(_ARCH_PWR10) +# define SPY_SIMD_IS_PPC_VMX_3_01 # define SPY_SIMD_DETECTED ::spy::detail::simd_version::vmx_3_01_ # elif defined(_ARCH_PWR9) +# define SPY_SIMD_IS_PPC_VMX_3_00 # define SPY_SIMD_DETECTED ::spy::detail::simd_version::vmx_3_00_ # elif defined(_ARCH_PWR8) +# define SPY_SIMD_IS_PPC_VMX_2_07 # define SPY_SIMD_DETECTED ::spy::detail::simd_version::vmx_2_07_ # elif defined(_ARCH_PWR7) +# define SPY_SIMD_IS_PPC_VMX_2_06 # define SPY_SIMD_DETECTED ::spy::detail::simd_version::vmx_2_06_ # elif defined(_ARCH_PWR6) +# define SPY_SIMD_IS_PPC_VMX_2_05 # define SPY_SIMD_DETECTED ::spy::detail::simd_version::vmx_2_05_ # elif defined(_ARCH_PWR5) +# define SPY_SIMD_IS_PPC_VMX_2_03 # define SPY_SIMD_DETECTED ::spy::detail::simd_version::vmx_2_03_ # endif # define SPY_SIMD_DETECTED ::spy::detail::simd_version::vmx_