From 24b0d29ce73ddecd41ac08d3b2f6090f23fc3bfc Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Wed, 30 Sep 2026 11:40:18 +0000 Subject: [PATCH] -remove support of HVX extension (Hexagon platform). Drop the remaining HVX code path, including HistogramConditional, SIMD_HVX macros, SimdCpuInfoHvx, test hooks, and the performance report column. Remove the Hexagon CMake target, GitHub Actions job, and Visual Studio Hvx project. Document the removal in the 7.2.166 release notes. Co-authored-by: igor.ermolaev --- .github/workflows/cmake.yml | 43 -------- README.md | 13 +-- docs/2026.html | 7 ++ docs/help/class_simd_1_1_cpu_info.html | 6 +- docs/help/functions_h.html | 1 - docs/help/functions_vars_h.html | 1 - docs/help/group__c__types.html | 4 - docs/help/group__info.html | 3 +- docs/help/group__memory.html | 1 - docs/help/index.html | 4 +- docs/index.html | 2 +- prj/cmake/CMakeLists.txt | 2 - prj/cmake/hexagon.cmake | 33 ------ prj/txt/DoxygenOverview.txt | 4 +- prj/vs2022/Hvx.vcxproj | 45 -------- prj/vs2022/Hvx.vcxproj.filters | 87 --------------- prj/vs2022/Simd.sln | 18 ---- prj/vs2022/Simd.vcxproj | 4 - prj/vs2022/Simd.vcxproj.filters | 3 - prj/vs2022/Test.vcxproj | 3 - py/SimdPy/Simd.py | 6 +- src/Simd/SimdAlignment.h | 5 - src/Simd/SimdCompare.h | 37 ------- src/Simd/SimdConfig.h | 2 - src/Simd/SimdConst.h | 16 --- src/Simd/SimdDefs.h | 23 +--- src/Simd/SimdEnable.h | 15 --- src/Simd/SimdHvx.h | 20 ---- src/Simd/SimdHvxCpu.cpp | 18 ---- src/Simd/SimdHvxHistogram.cpp | 144 ------------------------- src/Simd/SimdLib.cpp | 9 -- src/Simd/SimdLib.h | 5 +- src/Simd/SimdLib.hpp | 1 - src/Simd/SimdLoad.h | 22 ---- src/Simd/SimdMemory.h | 15 --- src/Simd/SimdStore.h | 22 ---- src/Test/Test.cpp | 2 +- src/Test/TestCheckCpp.cpp | 1 - src/Test/TestConfig.h | 1 - src/Test/TestHistogram.cpp | 5 - src/Test/TestOptions.h | 5 - src/Test/TestPerformance.cpp | 9 +- 42 files changed, 24 insertions(+), 643 deletions(-) delete mode 100644 prj/cmake/hexagon.cmake delete mode 100644 prj/vs2022/Hvx.vcxproj delete mode 100644 prj/vs2022/Hvx.vcxproj.filters delete mode 100644 src/Simd/SimdHvx.h delete mode 100644 src/Simd/SimdHvxCpu.cpp delete mode 100644 src/Simd/SimdHvxHistogram.cpp diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 0a3761dbd5..e6c434ca90 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -178,49 +178,6 @@ jobs: working-directory: ${{github.workspace}}/build run: python3 ./Test.py "-r=.." - build_and_test_hexagon_cross: - runs-on: ubuntu-latest - - strategy: - matrix: - build_type: [Debug, Release] - - env: - HEXAGON_TOOLCHAIN: ${{github.workspace}}/clang+llvm-22.1.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu - - steps: - - uses: actions/checkout@v6 - - - name: Host properties - run: lscpu - - - name: Install host dependencies - run: sudo apt-get update && sudo apt-get install -y libc++1 libc++abi1 liburing2 libglib2.0-0t64 - - - name: Install Hexagon toolchain - run: | - wget -q https://artifacts.codelinaro.org/artifactory/codelinaro-toolchain-for-hexagon/22.1.0_/clang+llvm-22.1.0-cross-hexagon-unknown-linux-musl.tar.zst - tar --zstd -xf clang+llvm-22.1.0-cross-hexagon-unknown-linux-musl.tar.zst - - - name: Configure CMake - run: > - cmake ./prj/cmake -B ${{github.workspace}}/build - -DCMAKE_BUILD_TYPE=${{matrix.build_type}} - -DSIMD_TOOLCHAIN="${{env.HEXAGON_TOOLCHAIN}}/bin/hexagon-linux-musl-clang" - -DSIMD_TARGET="hexagon" - -DSIMD_SYNET=OFF - - - name: Build - run: cmake --build ${{github.workspace}}/build --config ${{matrix.build_type}} --parallel$(nproc) - - - name: Test - working-directory: ${{github.workspace}}/build - run: > - ${{env.HEXAGON_TOOLCHAIN}}/bin/qemu-hexagon -cpu any - -L ${{env.HEXAGON_TOOLCHAIN}}/target/hexagon-unknown-linux-musl - ./Test "-r=.." -m=a -tt=0 "-ot=log_${{matrix.build_type}}.txt" -ts=5 -mt=1 - -fi=SquareS -fi=ValueSum -fi=y8u -fi=amCo -fi=GetStat -fi=ColSums -fi=RowSums -fi=FillPixel -fi=FillBgra -fi=CorrelationSum -fi=BgrToRgb -fi=BgrToGray -fi=Abs -fi=AddFeat - build_and_test_mingw: runs-on: windows-latest diff --git a/README.md b/README.md index ffe3a1763b..e0e21a0af8 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ neural network. The algorithms are optimized with using of different SIMD CPU extensions. In particular the library supports following CPU extensions: -SSE, AVX, AVX-512 and AMX for x86/x64, NEON, SVE, SVE2 for ARM, HVX for Hexagon. +SSE, AVX, AVX-512 and AMX for x86/x64, NEON, SVE, SVE2 for ARM. The Simd Library has C API and also contains useful C++ classes and functions to facilitate access to C API. The library supports dynamic and static linking, 32-bit and 64-bit Windows and Linux, @@ -59,7 +59,7 @@ Files of CMake build systems are placed in the directory: `simd/prj/cmake/` -The library can be built for x86/x64, ARM(32/64), and Hexagon platforms using the G++ or Clang compilers. +The library can be built for x86/x64 and ARM(32/64) platforms using the G++ or Clang compilers. Using the native compiler (g++) for the current platform is simple: mkdir build @@ -82,13 +82,6 @@ And for ARM (64 bit): cmake ../prj/cmake -DSIMD_TOOLCHAIN="/your_toolchain/usr/bin/aarch64-linux-gnu-g++" -DSIMD_TARGET="aarch64" -DCMAKE_BUILD_TYPE="Release" make -And for Hexagon with HVX (cross-compilation using the Hexagon Clang toolchain): - - mkdir build - cd build - cmake ../prj/cmake -DSIMD_TOOLCHAIN="/your_toolchain/bin/hexagon-linux-musl-clang" -DSIMD_TARGET="hexagon" -DCMAKE_BUILD_TYPE="Release" - make - As result the library and the test application will be built in the current directory. There are addition build parameters: @@ -195,7 +188,7 @@ Also you can use parameters: * `-tr=2` a number of test execution repeats. * `-ts=1` to print statistics of time of tests execution. * `-cc=1` to check c++ API. -* `-de=2` a flags of SIMD extensions which testing are disabled. Base - 1, 2 - SSE4.1/NEON/HVX, 4 - AVX2/SVE2, 8 - AVX-512BW, 16 - AVX-512VNNI, 32 - AMX-BF16. +* `-de=2` a flags of SIMD extensions which testing are disabled. Base - 1, 2 - SSE4.1/NEON, 4 - AVX2/SVE2, 8 - AVX-512BW, 16 - AVX-512VNNI, 32 - AMX-BF16. * `-wu=100` a time to warm up CPU before testing (in milliseconds). * `-pt=1` a boolean flag to pin threads to cpu cores. diff --git a/docs/2026.html b/docs/2026.html index c16a9b6ff0..9c05c24a44 100644 --- a/docs/2026.html +++ b/docs/2026.html @@ -176,12 +176,15 @@
Removing
  • HVX optimization of function GetColSums.
  • HVX optimization of function GetRowSums.
  • HVX optimization of function GetStatistic.
  • +
  • HVX optimization of function HistogramConditional.
  • HVX optimization of function HistogramMasked.
  • HVX optimization of function OperationBinary8u.
  • HVX optimization of function SquareSum.
  • HVX optimization of function ValueSquareSum.
  • HVX optimization of function ValueSquareSums.
  • HVX optimization of function ValueSum.
  • +
  • Enum value SimdCpuInfoHvx.
  • +
  • Stopping of support of HVX extension (Hexagon platform).
  • Python wrapper

    @@ -198,6 +201,7 @@
    Improving
    Removing

    Test framework

    @@ -284,6 +288,9 @@
    Removing

    Documentation

    diff --git a/docs/help/class_simd_1_1_cpu_info.html b/docs/help/class_simd_1_1_cpu_info.html index 9fe5449a89..849d338c52 100644 --- a/docs/help/class_simd_1_1_cpu_info.html +++ b/docs/help/class_simd_1_1_cpu_info.html @@ -116,12 +116,8 @@

    Simd Library Documentation.

    int SVE2 = 14  Enabling of SVE, SVE2 SVE-i8MM, SVE-BF16 CPU extensions (ARM specific).
      - -int HVX = 15 - Enabling of HVX CPU extensions (Hexagon specific).
    -  -int CurrentFrequency = 16 +int CurrentFrequency = 15  Current CPU frequency.
      diff --git a/docs/help/functions_h.html b/docs/help/functions_h.html index 5d37660089..2d98991297 100644 --- a/docs/help/functions_h.html +++ b/docs/help/functions_h.html @@ -55,7 +55,6 @@

    - h -