Skip to content

Commit df15c31

Browse files
committed
Fix shift amounts
1 parent 4e00505 commit df15c31

File tree

2 files changed

+9
-15
lines changed

2 files changed

+9
-15
lines changed

include/xsimd/config/xsimd_cpu_features_arm.hpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
#ifndef XSIMD_CPU_FEATURES_ARM_HPP
1313
#define XSIMD_CPU_FEATURES_ARM_HPP
1414

15-
1615
#include "./xsimd_config.hpp"
1716

1817
#if XSIMD_WITH_LINUX_GETAUXVAL
@@ -39,7 +38,7 @@ namespace xsimd
3938
inline bool neon() const noexcept
4039
{
4140
#if XSIMD_TARGET_ARM && !XSIMD_TARGET_ARM64 && XSIMD_WITH_LINUX_GETAUXVAL
42-
return get_hwcap().all_bits_set<linux_hwcap_traits::aux::neon>();
41+
return hwcap().all_bits_set<linux_hwcap::aux::neon>();
4342
#else
4443
return static_cast<bool>(XSIMD_WITH_NEON);
4544
#endif
@@ -53,7 +52,7 @@ namespace xsimd
5352
inline bool sve() const noexcept
5453
{
5554
#if XSIMD_TARGET_ARM64 && XSIMD_WITH_LINUX_GETAUXVAL
56-
return get_hwcap().all_bits_set<linux_hwcap_traits::aux::sve>();
55+
return hwcap().all_bits_set<linux_hwcap::aux::sve>();
5756
#else
5857
return false;
5958
#endif
@@ -62,7 +61,7 @@ namespace xsimd
6261
inline bool i8mm() const noexcept
6362
{
6463
#if XSIMD_TARGET_ARM64 && XSIMD_WITH_LINUX_GETAUXVAL
65-
return get_hwcap2().all_bits_set<linux_hwcap2_traits::aux::i8mm>();
64+
return hwcap2().all_bits_set<linux_hwcap2::aux::i8mm>();
6665
#else
6766
return false;
6867
#endif
@@ -82,7 +81,7 @@ namespace xsimd
8281

8382
mutable xsimd::linux_hwcap m_hwcap {};
8483

85-
inline xsimd::linux_hwcap const& get_hwcap() const noexcept
84+
inline xsimd::linux_hwcap const& hwcap() const noexcept
8685
{
8786
if (!m_status.bit_is_set<status::hwcap_valid>())
8887
{
@@ -94,7 +93,8 @@ namespace xsimd
9493

9594
#if XSIMD_TARGET_ARM64
9695
mutable xsimd::linux_hwcap2 m_hwcap2 {};
97-
inline xsimd::linux_hwcap2 const& get_hwcap2() const noexcept
96+
97+
inline xsimd::linux_hwcap2 const& hwcap2() const noexcept
9898
{
9999
if (!m_status.bit_is_set<status::hwcap2_valid>())
100100
{

include/xsimd/config/xsimd_getauxval.hpp

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,6 @@
1717

1818
#if XSIMD_WITH_LINUX_GETAUXVAL
1919
#include <sys/auxv.h> // getauxval
20-
#if XSIMD_TARGET_ARM
21-
#include <asm/hwcap.h> // HWCAP_XXX
22-
#endif
2320
#endif
2421

2522
namespace xsimd
@@ -78,10 +75,10 @@ namespace xsimd
7875
#if XSIMD_WITH_LINUX_GETAUXVAL
7976
#if XSIMD_TARGET_ARM64
8077
/** Scalable Vector Extension. */
81-
sve = HWCAP_SVE,
78+
sve = 22,
8279
#elif XSIMD_TARGET_ARM
8380
/** Neon vector extension. */
84-
neon = HWCAP_NEON,
81+
neon = 12,
8582
#endif
8683
#endif
8784
};
@@ -109,11 +106,8 @@ namespace xsimd
109106
{
110107
#if XSIMD_WITH_LINUX_GETAUXVAL
111108
#if XSIMD_TARGET_ARM64
112-
#ifndef HWCAP2_I8MM
113-
#define HWCAP2_I8MM (1 << 13)
114-
#endif
115109
/** 8 bits integer matrix multiplication. */
116-
i8mm = HWCAP2_I8MM,
110+
i8mm = 13,
117111
#endif
118112
#endif
119113
};

0 commit comments

Comments
 (0)