Skip to content

Commit a03a5d9

Browse files
Fix runtime detection of SVE
It should obviously happen even if we don't compile for SVE. That's the goal of runtime detection :-/ Thanks a lot to @AntoinePrv for spotting this.
1 parent 4d185a6 commit a03a5d9

File tree

1 file changed

+2
-6
lines changed

1 file changed

+2
-6
lines changed

include/xsimd/config/xsimd_cpuid.hpp

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -105,19 +105,15 @@ namespace xsimd
105105
neon64 = 1;
106106
#if defined(__linux__) && (!defined(__ANDROID_API__) || __ANDROID_API__ >= 18)
107107
i8mm_neon64 = bool(getauxval(AT_HWCAP2) & HWCAP2_I8MM);
108+
sve = bool(getauxval(AT_HWCAP) & HWCAP_SVE);
108109
#endif
110+
109111
#elif defined(__ARM_NEON) || defined(_M_ARM)
110112

111113
#if defined(__linux__) && (!defined(__ANDROID_API__) || __ANDROID_API__ >= 18)
112114
neon = bool(getauxval(AT_HWCAP) & HWCAP_NEON);
113115
#endif
114116

115-
#elif defined(__ARM_FEATURE_SVE) && defined(__ARM_FEATURE_SVE_BITS) && __ARM_FEATURE_SVE_BITS > 0
116-
117-
#if defined(__linux__) && (!defined(__ANDROID_API__) || __ANDROID_API__ >= 18)
118-
sve = bool(getauxval(AT_HWCAP) & HWCAP_SVE);
119-
#endif
120-
121117
#elif defined(__riscv_vector) && defined(__riscv_v_fixed_vlen) && __riscv_v_fixed_vlen > 0
122118

123119
#if defined(__linux__) && (!defined(__ANDROID_API__) || __ANDROID_API__ >= 18)

0 commit comments

Comments
 (0)