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 c54847fc8017f99f8cdd8fad44e40890d5090d52
parent 5740e4a37e3ad7ea57ae495a7fad669a1f1293f5
Author: [email protected] <[email protected]>
Date:   Tue,  8 Nov 2022 11:52:26 +0000

Update CI

Diffstat:
MCMakeLists.txt | 16+++++++---------
Mazure-pipelines.yml | 48++++++++++++++++++++++++------------------------
Mcmake/aarch64.cmake | 2+-
Mcmake/arm.cmake | 2+-
Minclude/kfr/simd/impl/basicoperators_generic.hpp | 12++++++++----
Mtests/CMakeLists.txt | 6+++---
6 files changed, 44 insertions(+), 42 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt @@ -59,10 +59,10 @@ endif () # Include autogenerated list of source files include(sources.cmake) +include(CMakeDependentOption) -option(KFR_ENABLE_TESTS "Enable KFR tests" OFF) -option(KFR_ENABLE_EXAMPLES "Enable KFR examples" OFF) -option(KFR_ENABLE_TOOLS "Enable KFR tools" OFF) +option(ENABLE_TESTS "Enable KFR tests" OFF) +cmake_dependent_option(ENABLE_EXAMPLES "Enable KFR examples" ON "ENABLE_TESTS" OFF) if (CLANG) option(KFR_ENABLE_DFT "Enable DFT and related algorithms." ON) option(KFR_ENABLE_DFT_NP "Enable Non-power of 2 DFT" ON) @@ -80,7 +80,7 @@ option(KFR_ENABLE_ASMTEST "Enable writing disassembly" OFF) option(KFR_REGENERATE_TESTS "Regenerate auto tests" OFF) option(KFR_DISABLE_CLANG_EXTENSIONS "Disable Clang vector extensions" OFF) option(KFR_EXTENDED_TESTS "Extended tests (up to hour)" OFF) -option(KFR_SKIP_TESTS "Skip tests (only build)" OFF) +option(KFR_SKIP_TESTS "Build tests but don't run tests" OFF) option(KFR_STD_COMPLEX "Use std::complex instead of custom complex type" OFF) option(KFR_ENABLE_CAPI_BUILD "Enable KFR C API building" OFF) mark_as_advanced(KFR_ENABLE_ASMTEST) @@ -249,15 +249,13 @@ if (KFR_ENABLE_DFT) endif () endif () -if (KFR_ENABLE_EXAMPLES) +if (ENABLE_EXAMPLES) add_subdirectory(examples) + add_subdirectory(tools) endif () -if (KFR_ENABLE_TESTS) +if (ENABLE_TESTS) add_subdirectory(tests) endif () -if (KFR_ENABLE_TOOLS) - add_subdirectory(tools) -endif () add_library(kfr_io ${KFR_IO_SRC}) target_link_libraries(kfr_io kfr) diff --git a/azure-pipelines.yml b/azure-pipelines.yml @@ -16,7 +16,7 @@ jobs: set PATH=%PATH:C:\Program Files\Git\mingw64\bin;=% set PATH=%PATH:C:\Strawberry\c\bin;=% set PATH=C:\sde;%PATH% - ci\run.cmd build-release -DENABLE_CAPI_BUILD=ON -DARCH_TESTS=ON -DENABLE_DFT_MULTIARCH=ON -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang-cl.exe" -DCMAKE_LINKER="C:/Program Files/LLVM/bin/lld-link.exe" -DUSE_SDE=ON -DCPU_ARCH=sse2 -DCMAKE_CXX_FLAGS=-m64 -DCMAKE_BUILD_TYPE=Release -DCMAKE_AR="C:/Program Files/LLVM/bin/llvm-lib.exe" + ci\run.cmd build-release -DKFR_ENABLE_CAPI_BUILD=ON -DKFR_ARCH_TESTS=ON -DKFR_ENABLE_DFT_MULTIARCH=ON -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang-cl.exe" -DCMAKE_LINKER="C:/Program Files/LLVM/bin/lld-link.exe" -DKFR_USE_SDE=ON -DKFR_ARCH=sse2 -DCMAKE_CXX_FLAGS=-m64 -DCMAKE_BUILD_TYPE=Release -DCMAKE_AR="C:/Program Files/LLVM/bin/llvm-lib.exe" - job: Windows_MSVC_x86_AVX512_Clang13_Release timeoutInMinutes: 180 @@ -35,7 +35,7 @@ jobs: set PATH=%PATH:C:\Program Files\Git\mingw64\bin;=% set PATH=%PATH:C:\Strawberry\c\bin;=% set PATH=C:\sde;%PATH% - ci\run.cmd build-release -DENABLE_CAPI_BUILD=ON -DARCH_TESTS=ON -DENABLE_DFT_MULTIARCH=ON -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang-cl.exe" -DCMAKE_LINKER="C:/Program Files/LLVM/bin/lld-link.exe" -DUSE_SDE=ON -DCPU_ARCH=sse2 -DCMAKE_CXX_FLAGS=-m32 -DCMAKE_BUILD_TYPE=Release -DCMAKE_AR="C:/Program Files/LLVM/bin/llvm-lib.exe" + ci\run.cmd build-release -DKFR_ENABLE_CAPI_BUILD=ON -DKFR_ARCH_TESTS=ON -DKFR_ENABLE_DFT_MULTIARCH=ON -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang-cl.exe" -DCMAKE_LINKER="C:/Program Files/LLVM/bin/lld-link.exe" -DKFR_USE_SDE=ON -DKFR_ARCH=sse2 -DCMAKE_CXX_FLAGS=-m32 -DCMAKE_BUILD_TYPE=Release -DCMAKE_AR="C:/Program Files/LLVM/bin/llvm-lib.exe" - job: Linux_x86_64_Clang8 timeoutInMinutes: 180 @@ -49,7 +49,7 @@ jobs: mkdir "$(Agent.TempDirectory)/sde-bin" tar -C "$(Agent.TempDirectory)/sde-bin" -xjf "$(Agent.TempDirectory)/sde.tar.bz2" --strip 1 sudo ln -s $(Agent.TempDirectory)/sde-bin/sde64 /usr/bin/sde - ci/run.sh build-release -DENABLE_CAPI_BUILD=ON -DARCH_TESTS=sse2,sse3,sse41,avx,avx2,avx512 -DCPU_ARCH=avx2 -DUSE_SDE=ON -DCMAKE_CXX_COMPILER=clang++-8 -DCMAKE_BUILD_TYPE=Release + ci/run.sh build-release -DKFR_ENABLE_CAPI_BUILD=ON -DKFR_ARCH_TESTS=sse2,sse3,sse41,avx,avx2,avx512 -DKFR_ARCH=avx2 -DKFR_USE_SDE=ON -DCMAKE_CXX_COMPILER=clang++-8 -DCMAKE_BUILD_TYPE=Release - job: Linux_x86_64_Clang9 timeoutInMinutes: 180 @@ -59,7 +59,7 @@ jobs: - bash: | set -e sudo apt-get update && sudo apt-get install -y ninja-build libmpfr-dev clang-9 - ci/run.sh build-release -DCPU_ARCH=avx2 -DCMAKE_CXX_COMPILER=clang++-9 -DCMAKE_BUILD_TYPE=Release + ci/run.sh build-release -DKFR_ARCH=avx2 -DCMAKE_CXX_COMPILER=clang++-9 -DCMAKE_BUILD_TYPE=Release - job: Linux_x86_64_Clang10 timeoutInMinutes: 180 @@ -69,7 +69,7 @@ jobs: - bash: | set -e sudo apt-get update && sudo apt-get install -y ninja-build libmpfr-dev clang-10 - ci/run.sh build-release -DCPU_ARCH=avx2 -DCMAKE_CXX_COMPILER=clang++-10 -DCMAKE_BUILD_TYPE=Release + ci/run.sh build-release -DKFR_ARCH=avx2 -DCMAKE_CXX_COMPILER=clang++-10 -DCMAKE_BUILD_TYPE=Release - job: Linux_x86_64_Clang11 timeoutInMinutes: 180 @@ -79,7 +79,7 @@ jobs: - bash: | set -e sudo apt-get update && sudo apt-get install -y ninja-build libmpfr-dev clang-11 - ci/run.sh build-release -DCPU_ARCH=avx2 -DCMAKE_CXX_COMPILER=clang++-11 -DCMAKE_BUILD_TYPE=Release + ci/run.sh build-release -DKFR_ARCH=avx2 -DCMAKE_CXX_COMPILER=clang++-11 -DCMAKE_BUILD_TYPE=Release - job: Linux_x86_64_Clang12 timeoutInMinutes: 180 @@ -93,7 +93,7 @@ jobs: mkdir "$(Agent.TempDirectory)/sde-bin" tar -C "$(Agent.TempDirectory)/sde-bin" -xjf "$(Agent.TempDirectory)/sde.tar.bz2" --strip 1 sudo ln -s $(Agent.TempDirectory)/sde-bin/sde64 /usr/bin/sde - ci/run.sh build-release -DENABLE_CAPI_BUILD=ON -DARCH_TESTS=sse2,sse3,sse41,avx,avx2,avx512 -DCPU_ARCH=avx2 -DUSE_SDE=ON -DCMAKE_CXX_COMPILER=clang++-12 -DCMAKE_BUILD_TYPE=Release + ci/run.sh build-release -DKFR_ENABLE_CAPI_BUILD=ON -DKFR_ARCH_TESTS=sse2,sse3,sse41,avx,avx2,avx512 -DKFR_ARCH=avx2 -DKFR_USE_SDE=ON -DCMAKE_CXX_COMPILER=clang++-12 -DCMAKE_BUILD_TYPE=Release - job: Linux_x86_64_Clang13 timeoutInMinutes: 180 @@ -105,7 +105,7 @@ jobs: wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - echo "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-13 main" | sudo tee /etc/apt/sources.list.d/llvm.list sudo apt-get update && sudo apt-get install -y ninja-build libmpfr-dev clang-13 - ci/run.sh build-release -DCPU_ARCH=avx2 -DCMAKE_CXX_COMPILER=clang++-13 -DCMAKE_BUILD_TYPE=Release + ci/run.sh build-release -DKFR_ARCH=avx2 -DCMAKE_CXX_COMPILER=clang++-13 -DCMAKE_BUILD_TYPE=Release - job: Linux_x86_64_GCC7 timeoutInMinutes: 180 @@ -115,7 +115,7 @@ jobs: - bash: | set -e sudo apt-get update && sudo apt-get install -y ninja-build libmpfr-dev gcc-7 g++-7 - ci/run.sh build-release -DCPU_ARCH=avx -DENABLE_DFT=OFF -DCMAKE_CXX_COMPILER=g++-7 -DCMAKE_BUILD_TYPE=Release + ci/run.sh build-release -DKFR_ARCH=avx -DKFR_ENABLE_DFT=OFF -DCMAKE_CXX_COMPILER=g++-7 -DCMAKE_BUILD_TYPE=Release - job: Linux_x86_64_GCC8 timeoutInMinutes: 180 @@ -129,7 +129,7 @@ jobs: mkdir "$(Agent.TempDirectory)/sde-bin" tar -C "$(Agent.TempDirectory)/sde-bin" -xjf "$(Agent.TempDirectory)/sde.tar.bz2" --strip 1 sudo ln -s $(Agent.TempDirectory)/sde-bin/sde64 /usr/bin/sde - ci/run.sh build-release -DARCH_TESTS=sse2,sse3,sse41,avx,avx2 -DUSE_SDE=ON -DCPU_ARCH=avx -DENABLE_DFT=OFF -DCMAKE_CXX_COMPILER=g++-8 -DCMAKE_BUILD_TYPE=Release + ci/run.sh build-release -DKFR_ARCH_TESTS=sse2,sse3,sse41,avx,avx2 -DKFR_USE_SDE=ON -DKFR_ARCH=avx -DKFR_ENABLE_DFT=OFF -DCMAKE_CXX_COMPILER=g++-8 -DCMAKE_BUILD_TYPE=Release - job: Linux_x86_64_GCC9 timeoutInMinutes: 180 @@ -143,7 +143,7 @@ jobs: mkdir "$(Agent.TempDirectory)/sde-bin" tar -C "$(Agent.TempDirectory)/sde-bin" -xjf "$(Agent.TempDirectory)/sde.tar.bz2" --strip 1 sudo ln -s $(Agent.TempDirectory)/sde-bin/sde64 /usr/bin/sde - ci/run.sh build-release -DARCH_TESTS=sse2,sse3,sse41,avx,avx2 -DUSE_SDE=ON -DCPU_ARCH=avx2 -DENABLE_DFT=OFF -DCMAKE_CXX_COMPILER=g++-9 -DCMAKE_BUILD_TYPE=Release + ci/run.sh build-release -DKFR_ARCH_TESTS=sse2,sse3,sse41,avx,avx2 -DKFR_USE_SDE=ON -DKFR_ARCH=avx2 -DKFR_ENABLE_DFT=OFF -DCMAKE_CXX_COMPILER=g++-9 -DCMAKE_BUILD_TYPE=Release - job: Linux_x86_64_GCC10 timeoutInMinutes: 180 @@ -157,7 +157,7 @@ jobs: mkdir "$(Agent.TempDirectory)/sde-bin" tar -C "$(Agent.TempDirectory)/sde-bin" -xjf "$(Agent.TempDirectory)/sde.tar.bz2" --strip 1 sudo ln -s $(Agent.TempDirectory)/sde-bin/sde64 /usr/bin/sde - ci/run.sh build-release -DARCH_TESTS=sse2,sse3,sse41,avx,avx2 -DUSE_SDE=ON -DCPU_ARCH=avx2 -DENABLE_DFT=OFF -DCMAKE_CXX_COMPILER=g++-10 -DCMAKE_BUILD_TYPE=Release + ci/run.sh build-release -DKFR_ARCH_TESTS=sse2,sse3,sse41,avx,avx2 -DKFR_USE_SDE=ON -DKFR_ARCH=avx2 -DKFR_ENABLE_DFT=OFF -DCMAKE_CXX_COMPILER=g++-10 -DCMAKE_BUILD_TYPE=Release - job: Linux_ARM_Clang9_Release timeoutInMinutes: 180 @@ -192,7 +192,7 @@ jobs: set -e /bin/bash -c "sudo xcode-select -s /Applications/Xcode_13.1.app/Contents/Developer" brew install ninja - ci/run.sh build-release -DENABLE_CAPI_BUILD=ON -DARCH_TESTS=sse2,ssse3,sse41,avx -DCPU_ARCH=detect -DENABLE_DFT_MULTIARCH=ON -DCMAKE_BUILD_TYPE=Release + ci/run.sh build-release -DKFR_ENABLE_CAPI_BUILD=ON -DKFR_ARCH_TESTS=sse2,ssse3,sse41,avx -DKFR_ARCH=detect -DKFR_ENABLE_DFT_MULTIARCH=ON -DCMAKE_BUILD_TYPE=Release - job: macOS15_x86_64_Clang_Release timeoutInMinutes: 180 @@ -209,7 +209,7 @@ jobs: set -e /bin/bash -c "sudo xcode-select -s /Applications/Xcode_$(XCODE_VER).app/Contents/Developer" brew install ninja - ci/run.sh build-release -DENABLE_CAPI_BUILD=ON -DARCH_TESTS=sse2,ssse3,sse41,avx -DCPU_ARCH=detect -DENABLE_DFT_MULTIARCH=ON -DCMAKE_BUILD_TYPE=Release + ci/run.sh build-release -DKFR_ENABLE_CAPI_BUILD=ON -DKFR_ARCH_TESTS=sse2,ssse3,sse41,avx -DKFR_ARCH=detect -DKFR_ENABLE_DFT_MULTIARCH=ON -DCMAKE_BUILD_TYPE=Release - job: macOS_x86_64_Clang_Release timeoutInMinutes: 180 @@ -239,7 +239,7 @@ jobs: /bin/bash -c "sudo xcode-select -s /Applications/Xcode_$(XCODE_VER).app/Contents/Developer" brew install ninja - ci/run.sh build-release -DENABLE_CAPI_BUILD=ON -DUSE_SDE=ON -DARCH_TESTS=sse2,ssse3,sse41,avx,avx2,avx512 -DCPU_ARCH=sse2 -DENABLE_DFT_MULTIARCH=ON -DCMAKE_BUILD_TYPE=Release + ci/run.sh build-release -DKFR_ENABLE_CAPI_BUILD=ON -DKFR_USE_SDE=ON -DKFR_ARCH_TESTS=sse2,ssse3,sse41,avx,avx2,avx512 -DKFR_ARCH=sse2 -DKFR_ENABLE_DFT_MULTIARCH=ON -DCMAKE_BUILD_TYPE=Release - job: iOS_ARM_Clang_Release timeoutInMinutes: 180 @@ -250,7 +250,7 @@ jobs: set -e /bin/bash -c "sudo xcode-select -s /Applications/Xcode_11.7.app/Contents/Developer" brew install ninja - ci/run.sh build-release -DCMAKE_TOOLCHAIN_FILE=../cmake/ios.cmake -DCMAKE_BUILD_TYPE=Release -DIOS_PLATFORM=OS -DIOS_ARCH=armv7 -DCMAKE_MAKE_PROGRAM=/usr/local/bin/ninja -DSKIP_TESTS=ON + ci/run.sh build-release -DCMAKE_TOOLCHAIN_FILE=../cmake/ios.cmake -DCMAKE_BUILD_TYPE=Release -DIOS_PLATFORM=OS -DIOS_ARCH=armv7 -DCMAKE_MAKE_PROGRAM=/usr/local/bin/ninja -DKFR_SKIP_TESTS=ON - job: iOS_ARM64_Clang_Release timeoutInMinutes: 180 @@ -261,7 +261,7 @@ jobs: set -e /bin/bash -c "sudo xcode-select -s /Applications/Xcode_11.7.app/Contents/Developer" brew install ninja - ci/run.sh build-release -DCMAKE_TOOLCHAIN_FILE=../cmake/ios.cmake -DCMAKE_BUILD_TYPE=Release -DIOS_PLATFORM=OS64 -DIOS_ARCH=arm64 -DCMAKE_MAKE_PROGRAM=/usr/local/bin/ninja -DSKIP_TESTS=ON + ci/run.sh build-release -DCMAKE_TOOLCHAIN_FILE=../cmake/ios.cmake -DCMAKE_BUILD_TYPE=Release -DIOS_PLATFORM=OS64 -DIOS_ARCH=arm64 -DCMAKE_MAKE_PROGRAM=/usr/local/bin/ninja -DKFR_SKIP_TESTS=ON - job: Android_ARMv7_Clang_Release timeoutInMinutes: 180 @@ -275,7 +275,7 @@ jobs: mkdir "%USERPROFILE%\.android" echo > "%USERPROFILE%\.android\repositories.cfg" call "%ANDROID_HOME%\tools\bin\sdkmanager.bat" "ndk-bundle" < %TMP%\always_yes - ci\run.cmd build-release -DCMAKE_TOOLCHAIN_FILE="%ANDROID_HOME%\ndk-bundle\build\cmake\android.toolchain.cmake" -DANDROID_ABI=armeabi-v7a -DANDROID_ARM_NEON=TRUE -DSKIP_TESTS=ON -DCMAKE_BUILD_TYPE=Release + ci\run.cmd build-release -DCMAKE_TOOLCHAIN_FILE="%ANDROID_HOME%\ndk-bundle\build\cmake\android.toolchain.cmake" -DANDROID_ABI=armeabi-v7a -DANDROID_ARM_NEON=TRUE -DKFR_SKIP_TESTS=ON -DCMAKE_BUILD_TYPE=Release - job: Android_AArch64_Clang_Release timeoutInMinutes: 180 @@ -289,7 +289,7 @@ jobs: mkdir "%USERPROFILE%\.android" echo > "%USERPROFILE%\.android\repositories.cfg" call "%ANDROID_HOME%\tools\bin\sdkmanager.bat" "ndk-bundle" < %TMP%\always_yes - ci\run.cmd build-release -DCMAKE_TOOLCHAIN_FILE="%ANDROID_HOME%\ndk-bundle\build\cmake\android.toolchain.cmake" -DANDROID_ABI=arm64-v8a -DANDROID_ARM_NEON=TRUE -DSKIP_TESTS=ON -DCMAKE_BUILD_TYPE=Release + ci\run.cmd build-release -DCMAKE_TOOLCHAIN_FILE="%ANDROID_HOME%\ndk-bundle\build\cmake\android.toolchain.cmake" -DANDROID_ABI=arm64-v8a -DANDROID_ARM_NEON=TRUE -DKFR_SKIP_TESTS=ON -DCMAKE_BUILD_TYPE=Release - job: Windows_MinGW_x86_Clang13_Release timeoutInMinutes: 180 @@ -304,7 +304,7 @@ jobs: set PATH=C:\ProgramData\Chocolatey\bin;C:\Program Files\CMake\bin;C:\tools\msys64\usr\local\bin;C:\tools\msys64\usr\bin;C:\tools\msys64\mingw32\bin;C:\windows;C:\windows\system32;C:\Windows;C:\Windows\System32\WindowsPowerShell\v1.0 call C:\tools\msys64\msys2_shell.cmd -defterm -mingw32 -no-start -full-path -here -c "pacman -S --noconfirm mingw32/mingw-w64-i686-gcc" call C:\tools\msys64\msys2_shell.cmd -defterm -mingw32 -no-start -full-path -here -c "pacman -S --noconfirm mingw32/mingw-w64-i686-ninja" - call C:\tools\msys64\msys2_shell.cmd -defterm -mingw32 -no-start -full-path -here -c "ci/run.sh build-release -DCMAKE_CXX_COMPILER=""C:/Program Files/LLVM/bin/clang++.exe"" -DCPU_ARCH=avx -DCMAKE_CXX_FLAGS=--target=i686-w64-windows-gnu -DCMAKE_BUILD_TYPE=Release" + call C:\tools\msys64\msys2_shell.cmd -defterm -mingw32 -no-start -full-path -here -c "ci/run.sh build-release -DCMAKE_CXX_COMPILER=""C:/Program Files/LLVM/bin/clang++.exe"" -DKFR_ARCH=avx -DCMAKE_CXX_FLAGS=--target=i686-w64-windows-gnu -DCMAKE_BUILD_TYPE=Release" - job: Windows_MinGW_x86_64_Clang13_Release timeoutInMinutes: 180 @@ -319,7 +319,7 @@ jobs: set PATH=C:\ProgramData\Chocolatey\bin;C:\Program Files\CMake\bin;C:\tools\msys64\usr\local\bin;C:\tools\msys64\usr\bin;C:\tools\msys64\mingw64\bin;C:\windows;C:\windows\system32;C:\Windows;C:\Windows\System32\WindowsPowerShell\v1.0 call C:\tools\msys64\msys2_shell.cmd -defterm -mingw64 -no-start -full-path -here -c "pacman -S --noconfirm mingw64/mingw-w64-x86_64-gcc" call C:\tools\msys64\msys2_shell.cmd -defterm -mingw64 -no-start -full-path -here -c "pacman -S --noconfirm mingw64/mingw-w64-x86_64-ninja" - call C:\tools\msys64\msys2_shell.cmd -defterm -mingw64 -no-start -full-path -here -c "ci/run.sh build-release -DCMAKE_CXX_COMPILER=""C:/Program Files/LLVM/bin/clang++.exe"" -DCPU_ARCH=avx -DCMAKE_CXX_FLAGS=--target=x86_64-w64-windows-gnu -DCMAKE_BUILD_TYPE=Release" + call C:\tools\msys64\msys2_shell.cmd -defterm -mingw64 -no-start -full-path -here -c "ci/run.sh build-release -DCMAKE_CXX_COMPILER=""C:/Program Files/LLVM/bin/clang++.exe"" -DKFR_ARCH=avx -DCMAKE_CXX_FLAGS=--target=x86_64-w64-windows-gnu -DCMAKE_BUILD_TYPE=Release" - job: Windows_MSVC_x86_64_AVX512_MSVC2019_Release timeoutInMinutes: 180 @@ -339,7 +339,7 @@ jobs: set PATH=%PATH:C:\Program Files\LLVM\bin;=% set PATH=%PATH:C:\Strawberry\c\bin;=% set PATH=C:\sde;%PATH% - ci\run.cmd build-release -DARCH_TESTS=ON -DUSE_SDE=ON -DCPU_ARCH=avx512 -DENABLE_DFT=OFF -DCMAKE_BUILD_TYPE=Release + ci\run.cmd build-release -DKFR_ARCH_TESTS=ON -DKFR_USE_SDE=ON -DKFR_ARCH=avx512 -DKFR_ENABLE_DFT=OFF -DCMAKE_BUILD_TYPE=Release # - job: Windows_MSVC_x86_AVX512_MSVC2019_Release # timeoutInMinutes: 180 @@ -359,7 +359,7 @@ jobs: # set PATH=%PATH:C:\Program Files\LLVM\bin;=% # set PATH=%PATH:C:\Strawberry\c\bin;=% # set PATH=C:\sde;%PATH% -# ci\run.cmd build-release -DARCH_TESTS=OFF -DUSE_SDE=ON -DCPU_ARCH=avx512 -DENABLE_DFT=OFF -DCMAKE_BUILD_TYPE=Release +# ci\run.cmd build-release -DKFR_ARCH_TESTS=OFF -DKFR_USE_SDE=ON -DKFR_ARCH=avx512 -DKFR_ENABLE_DFT=OFF -DCMAKE_BUILD_TYPE=Release # - job: Windows_MSVC2022_x86_64_Release # timeoutInMinutes: 180 @@ -375,4 +375,4 @@ jobs: # set PATH=%PATH:C:\Program Files\Git\mingw64\bin;=% # set PATH=%PATH:C:\Program Files\LLVM\bin;=% # set PATH=%PATH:C:\Strawberry\c\bin;=% -# ci\run.cmd build-release -DARCH_TESTS=OFF -DCPU_ARCH=detect -DENABLE_DFT=OFF -DCMAKE_BUILD_TYPE=Release +# ci\run.cmd build-release -DKFR_ARCH_TESTS=OFF -DKFR_ARCH=detect -DKFR_ENABLE_DFT=OFF -DCMAKE_BUILD_TYPE=Release diff --git a/cmake/aarch64.cmake b/cmake/aarch64.cmake @@ -18,7 +18,7 @@ set(TGT_TRIPLET aarch64-linux-gnu) set (ARM_ROOT "/usr/${TGT_TRIPLET}/include") if (NOT GCC_VER) - set (GCC_VER 5.4.0) + set (GCC_VER 7.5.0) endif () set (SYS_PATHS "-isystem ${ARM_ROOT}/c++/${GCC_VER} -isystem ${ARM_ROOT}/c++/${GCC_VER}/backward -isystem ${ARM_ROOT}/c++/${GCC_VER}/${TGT_TRIPLET} -isystem ${ARM_ROOT}") diff --git a/cmake/arm.cmake b/cmake/arm.cmake @@ -17,7 +17,7 @@ set(TGT_TRIPLET arm-linux-gnueabihf) set (ARM_ROOT "/usr/${TGT_TRIPLET}/include") if (NOT GCC_VER) - set (GCC_VER 5.4.0) + set (GCC_VER 7.5.0) endif () set (SYS_PATHS "-isystem ${ARM_ROOT}/c++/${GCC_VER} -isystem ${ARM_ROOT}/c++/${GCC_VER}/backward -isystem ${ARM_ROOT}/c++/${GCC_VER}/${TGT_TRIPLET} -isystem ${ARM_ROOT}") diff --git a/include/kfr/simd/impl/basicoperators_generic.hpp b/include/kfr/simd/impl/basicoperators_generic.hpp @@ -502,19 +502,23 @@ KFR_INTRINSIC __m256i _mm256_allones_si256() { return _mm256_cmpeq_epi8(_mm256_setzero_si256(), _mm256_setzero_si256()); } +KFR_INTRINSIC __m256i _mm256_not_si256(const __m256i& x) +{ + return _mm256_xor_si256(x, _mm256_allones_si256()); +} #else KFR_INTRINSIC __m256i _mm256_allones_si256() { return _mm256_castps_si256(_mm256_cmp_ps(_mm256_setzero_ps(), _mm256_setzero_ps(), _CMP_EQ_UQ)); } +KFR_INTRINSIC __m256i _mm256_not_si256(const __m256i& x) +{ + return _mm256_castps_si256(_mm256_xor_ps(_mm256_castsi256_ps(x), _mm256_allones_ps())); +} #endif KFR_INTRINSIC __m256 _mm256_not_ps(const __m256& x) { return _mm256_xor_ps(x, _mm256_allones_ps()); } KFR_INTRINSIC __m256d _mm256_not_pd(const __m256d& x) { return _mm256_xor_pd(x, _mm256_allones_pd()); } -KFR_INTRINSIC __m256i _mm256_not_si256(const __m256i& x) -{ - return _mm256_xor_si256(x, _mm256_allones_si256()); -} KFR_INTRINSIC __m256i _mm256_highbit_epi8() { return _mm256_set1_epi8(static_cast<char>(0x80)); } KFR_INTRINSIC __m256i _mm256_highbit_epi16() { return _mm256_set1_epi16(static_cast<short>(0x8000)); } diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt @@ -209,7 +209,7 @@ if (KFR_ARCH_TESTS) endif () endif () -if (USE_SDE) +if (KFR_USE_SDE) if ("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") find_program(SDE NAMES "sde64" "sde") else () @@ -248,7 +248,7 @@ if (NOT KFR_SKIP_TESTS) if (KFR_ARCH_TESTS) foreach (A IN LISTS ARCH_LIST) - if (USE_SDE) + if (KFR_USE_SDE) add_test(NAME all_tests_${A} COMMAND ${SDE} ${SDE_ARCH_${A}} -chip_check_exe_only -- ${PROJECT_BINARY_DIR}/bin/all_tests_${A}) @@ -259,7 +259,7 @@ if (NOT KFR_SKIP_TESTS) endif () endforeach () endif () - if (USE_SDE) + if (KFR_USE_SDE) add_test(NAME all_tests COMMAND ${SDE} ${SDE_ARCH_${KFR_ARCH}} -chip_check_exe_only -- ${PROJECT_BINARY_DIR}/bin/all_tests)