kfr

Fast, modern C++ DSP framework, FFT, Sample Rate Conversion, FIR/IIR/Biquad Filters (SSE, AVX, AVX-512, ARM NEON)
Log | Files | Refs | README

commit 9c92e1001b800385ce908317ec1b49fb4e168408
parent 51f526fdde45132c83c9c6368a770aed291be3f2
Author: [email protected] <[email protected]>
Date:   Mon, 19 Nov 2018 03:00:19 +0000

Perform arch tests only on AVX-512 machine

Diffstat:
Mazure-pipelines.yml | 5++---
Minclude/kfr/base/select.hpp | 5+++--
Mtests/CMakeLists.txt | 5+----
3 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/azure-pipelines.yml b/azure-pipelines.yml @@ -107,7 +107,7 @@ jobs: mkdir build cd build call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat" - cmake -GNinja -DCMAKE_CXX_COMPILER="C:/LLVM/bin/clang-cl.exe" -DARCH_FLAGS="-mavx512f -mavx512cd -mavx512bw -mavx512dq -mavx512vl" -DCMAKE_CXX_FLAGS=-m64 -DCMAKE_BUILD_TYPE=Release .. + cmake -GNinja -DARCH_TESTS=ON -DCMAKE_CXX_COMPILER="C:/LLVM/bin/clang-cl.exe" -DARCH_FLAGS="-mavx512f -mavx512cd -mavx512bw -mavx512dq -mavx512vl" -DCMAKE_CXX_FLAGS=-m64 -DCMAKE_BUILD_TYPE=Release .. ninja cd tests - ctest -V -\ No newline at end of file + ctest -V diff --git a/include/kfr/base/select.hpp b/include/kfr/base/select.hpp @@ -231,12 +231,13 @@ KFR_SINTRIN f64neon select(const maskfor<f64neon>& m, const f64neon& x, const f6 template <typename T, size_t N, KFR_ENABLE_IF(N < platform<T>::vector_width)> KFR_SINTRIN vec<T, N> select(const mask<T, N>& a, const vec<T, N>& b, const vec<T, N>& c) { - return slice<0, N>(select(expand_simd(a).asmask(), expand_simd(b), expand_simd(c))); + return slice<0, N>(select(expand_simd(a.asvec()).asmask(), expand_simd(b), expand_simd(c))); } template <typename T, size_t N, KFR_ENABLE_IF(N >= platform<T>::vector_width), typename = void> KFR_SINTRIN vec<T, N> select(const mask<T, N>& a, const vec<T, N>& b, const vec<T, N>& c) { - return concat(select(low(a).asmask(), low(b), low(c)), select(high(a).asmask(), high(b), high(c))); + return concat(select(low(a.asvec()).asmask(), low(b), low(c)), + select(high(a.asvec()).asmask(), high(b), high(c))); } #else diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt @@ -83,10 +83,7 @@ endfunction() message(STATUS CMAKE_SYSTEM_PROCESSOR = ${CMAKE_SYSTEM_PROCESSOR}) -set(ARCH_TESTS 0) - -if (CLANG AND CMAKE_SYSTEM_PROCESSOR MATCHES "([aA][mM][dD]64)") - set(ARCH_TESTS 1) +if (ARCH_TESTS) add_x86_test(generic "-march=x86-64 -mno-avx -DCMT_FORCE_GENERIC_CPU") add_x86_test(sse2 "-march=x86-64 -msse2") add_x86_test(sse3 "-march=x86-64 -msse3 -mno-avx")