From 19dd5caf71710a8caa3eda78b4eb44b8ca2f279f Mon Sep 17 00:00:00 2001 From: Manolis Papadakis Date: Fri, 26 Jan 2024 16:13:22 -0800 Subject: [PATCH] Fix build on ARM --- config.sub | 2 +- src/external/marray/config.sub | 2 +- src/external/marray/include/expression.hpp | 2 ++ src/external/marray/include/vector_avx.hpp | 3 +++ src/external/marray/include/vector_avx512.hpp | 3 +++ src/external/marray/include/vector_sse41.hpp | 3 +++ src/external/tci/config.sub | 2 +- src/util/cpuid.cxx | 2 +- src/util/cpuid.hpp | 4 ++-- 9 files changed, 17 insertions(+), 6 deletions(-) diff --git a/config.sub b/config.sub index 8b612ab89..c752cc1a1 100755 --- a/config.sub +++ b/config.sub @@ -367,7 +367,7 @@ case $basic_machine in | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* | arm64-* \ | avr-* | avr32-* \ | be32-* | be64-* \ | bfin-* | bs2000-* \ diff --git a/src/external/marray/config.sub b/src/external/marray/config.sub index 7ffe37378..dafb01c1e 100755 --- a/src/external/marray/config.sub +++ b/src/external/marray/config.sub @@ -374,7 +374,7 @@ case $basic_machine in | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* | arm64-* \ | avr-* | avr32-* \ | be32-* | be64-* \ | bfin-* | bs2000-* \ diff --git a/src/external/marray/include/expression.hpp b/src/external/marray/include/expression.hpp index 2448c613e..4ff7c628c 100644 --- a/src/external/marray/include/expression.hpp +++ b/src/external/marray/include/expression.hpp @@ -1,7 +1,9 @@ #ifndef _MARRAY_EXPRESSION_HPP_ #define _MARRAY_EXPRESSION_HPP_ +#if defined(__i386__) || defined(__x86_64__) #include +#endif #include "utility.hpp" #include "vector.hpp" diff --git a/src/external/marray/include/vector_avx.hpp b/src/external/marray/include/vector_avx.hpp index a37e9d08c..d3313010f 100644 --- a/src/external/marray/include/vector_avx.hpp +++ b/src/external/marray/include/vector_avx.hpp @@ -1,7 +1,10 @@ #ifndef _MARRAY_VECTOR_AVX_HPP_ #define _MARRAY_VECTOR_AVX_HPP_ +#if defined(__i386__) || defined(__x86_64__) #include +#endif + #include "vector.hpp" namespace MArray diff --git a/src/external/marray/include/vector_avx512.hpp b/src/external/marray/include/vector_avx512.hpp index f493cdd77..987c7362e 100644 --- a/src/external/marray/include/vector_avx512.hpp +++ b/src/external/marray/include/vector_avx512.hpp @@ -1,7 +1,10 @@ #ifndef _MARRAY_VECTOR_AVX512_HPP_ #define _MARRAY_VECTOR_AVX512_HPP_ +#if defined(__i386__) || defined(__x86_64__) #include +#endif + #include "vector.hpp" namespace MArray diff --git a/src/external/marray/include/vector_sse41.hpp b/src/external/marray/include/vector_sse41.hpp index e28b84929..ae5545782 100644 --- a/src/external/marray/include/vector_sse41.hpp +++ b/src/external/marray/include/vector_sse41.hpp @@ -1,7 +1,10 @@ #ifndef _MARRAY_VECTOR_SSE41_HPP_ #define _MARRAY_VECTOR_SSE41_HPP_ +#if defined(__i386__) || defined(__x86_64__) #include +#endif + #include "vector.hpp" namespace MArray diff --git a/src/external/tci/config.sub b/src/external/tci/config.sub index 8b612ab89..c752cc1a1 100755 --- a/src/external/tci/config.sub +++ b/src/external/tci/config.sub @@ -367,7 +367,7 @@ case $basic_machine in | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* | arm64-* \ | avr-* | avr32-* \ | be32-* | be64-* \ | bfin-* | bs2000-* \ diff --git a/src/util/cpuid.cxx b/src/util/cpuid.cxx index 6cb19b66b..6b44a1d94 100644 --- a/src/util/cpuid.cxx +++ b/src/util/cpuid.cxx @@ -246,7 +246,7 @@ int get_cpu_type(int& model, int& part, int& features) auto pos = ptno.find("0x"); TBLIS_ASSERT(pos != std::string::npos); - part = strtoi(ptno, pos, 16); + part = std::stoi(ptno, &pos, 16); return VENDOR_ARM; } diff --git a/src/util/cpuid.hpp b/src/util/cpuid.hpp index 320803d9d..f6be8bcc8 100644 --- a/src/util/cpuid.hpp +++ b/src/util/cpuid.hpp @@ -42,8 +42,8 @@ int get_cpu_type(int& family, int& model, int& features); namespace tblis { -enum {VENDOR_ARM, VENDOR_UNKNOWN} -enum {MODEL_ARMV7, MODEL_ARMV8, MODEL_UNKNOWN} +enum {VENDOR_ARM, VENDOR_UNKNOWN}; +enum {MODEL_ARMV7, MODEL_ARMV8, MODEL_UNKNOWN}; enum {FEATURE_NEON = 0x1}; int get_cpu_type(int& model, int& part, int& features);