From: Peter Michael Green Date: Thu, 18 Sep 2025 10:51:18 +0000 (+0000) Subject: Manual merge of version 3.1.0-3+rpi1 and 3.2.0-2 to produce 3.2.0-2+rpi1 X-Git-Tag: archive/raspbian/3.2.0-2+rpi1~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=7fac8c4802a9dd7b75233329e733ba8aeec7bf26;p=volk.git Manual merge of version 3.1.0-3+rpi1 and 3.2.0-2 to produce 3.2.0-2+rpi1 --- 7fac8c4802a9dd7b75233329e733ba8aeec7bf26 diff --cc debian/changelog index c16b57c,8014b1d..ffe8de2 --- a/debian/changelog +++ b/debian/changelog @@@ -1,12 -1,109 +1,119 @@@ - volk (3.1.0-3+rpi1) trixie-staging; urgency=medium ++volk (3.2.0-2+rpi1) trixie-staging; urgency=medium + + [changes brought forward from 1.1-1+rpi1 by Peter Michael Green at Sun, 20 Sep 2015 20:30:19 +0000] + * Disable neon. + + [changes introduced in 2.1.0-2+rpi1 by Peter Michael Green] + * Add bulid-depends-indep on texlive-latex-extra. + - -- Raspbian forward porter Sun, 24 Dec 2023 13:11:22 +0000 ++ -- Peter Michael Green Thu, 18 Sep 2025 10:50:19 +0000 ++ + volk (3.2.0-2) unstable; urgency=medium + + * upload to unstable + * Standards-Version 4.7.1 no changes + + -- A. Maitland Bottoms Mon, 24 Feb 2025 20:17:13 -0500 + + volk (3.2.0-1) experimental; urgency=medium + + * New upstream release. + - New and improved kernels + - add RISC-V Vector extension (RVV) kernels + - New AVX512F implementation + - Improved builds + - cmake: Fix 64bit host CPU detection + - cmake: Suppress invalid escape sequence warnings with Python 3.12 + - cmake/pkgconfig: use CMAKE_INSTALL_FULL_* variables + - cmake: Fix VOLK as a submodule build issue + - Adds toolchain file for Raspberry Pi 5 + - New and improved tests + - gtest: Start work on new test infrastructure + - tests: Add a log info print test + - gtest: Make gtest an install dependency + - gtest: Enable GTests in CI workflows + - tests: Beautify test output + - Documentation + - cpu_features: Update hints in README + - Code quality + - Add const to several args + - Usability features + - feature: add env variable kernel override + * update Standards-Version (no changes) + * upload to experimental for library soversion change. + + -- A. Maitland Bottoms Mon, 03 Feb 2025 22:07:56 -0500 + + volk (3.1.2-1) unstable; urgency=medium + + * New upstream release. + - Replace sse2neon with native NEON + - Remove loop unrolling + - Simplify Spiral-generated code + + -- A. Maitland Bottoms Sun, 25 Feb 2024 08:51:33 -0500 + + volk (3.1.1-4) unstable; urgency=medium + + * fix clean rule to keep sse2neon.h in place + + -- A. Maitland Bottoms Tue, 30 Jan 2024 19:00:06 -0500 + + volk (3.1.1-3) unstable; urgency=medium + + * Just patch in sse2neon.h where it should be. + + -- A. Maitland Bottoms Tue, 30 Jan 2024 13:36:17 -0500 + + volk (3.1.1-2) unstable; urgency=medium + + * arm64 build uses sse2neon.h + update debian/watch and debian/rules to provide it + + -- A. Maitland Bottoms Tue, 30 Jan 2024 13:36:08 -0500 + + volk (3.1.1-1) unstable; urgency=medium + + * New upstream release + This is a maintenance release to fix subtle bugs in many areas and to + improve our tests where possible. All in all, our CI is more stable now + and catches more errors. + CI fixes + - Allow for rounding error in float-to-int conversions + - Allow for rounding error in `volk_32fc_s32f_magnitude_16i` + - Allow for rounding error in float-to-int interleave + - Add missing `volk_16_byteswap_u_orc` to puppet + - Fix 64-bit integer testing + - Build and test neonv7 protokernels on armv7 + + kernels + - Remove broken sse32 kernels + - Fix flaky `fm_detect` test + - Fix flaky `mod_range` test + - Remove unnecessary volatiles from `volk_32fc_s32f_magnitude_16i` + - Remove SSE protokernels written in assembly + - Remove inline assembler from `volk_32fc_convert_16ic_neon` + - Use bit shifts in generic and `byte_shuffle` reverse + - Remove disabled SSE4.1 dot product + - Fix `conv_k7_r2` kernel and puppet + - Remove unused argument from renormalize + - Align types in ORC function signatures + - Uncomment AVX2 implementation + - Renormalize in every iteration on AVX2 + - Remove extraneous permutations + - Compute the minimum over both register lanes + - `volk_32fc_s32f_atan2_32f`: Add NaN tests for avx2 and avx2fma code + + fixes + - Express version information in decimal + - Remove `__VOLK_VOLATILE` + - Remove references to simdmath library + - cmake: Switch to GNUInstallDirs + - fprintf: Remove fprintf statements from `volk_malloc` + - release: Prepare release with updated files + - Get the sse2neon.h file to a git submodule to avoid random copies. + + -- A. Maitland Bottoms Tue, 30 Jan 2024 00:13:23 -0500 volk (3.1.0-3) unstable; urgency=medium diff --cc debian/control index b68db69,8d37546..9cd1d41 --- a/debian/control +++ b/debian/control @@@ -9,8 -9,8 +9,8 @@@ Build-Depends: cmake liborc-0.4-dev [!x32], python3-dev, python3-mako -Build-Depends-Indep: doxygen, graphviz +Build-Depends-Indep: doxygen, graphviz, texlive-latex-extra, - Standards-Version: 4.6.2 + Standards-Version: 4.7.1 Rules-Requires-Root: no Homepage: https://libvolk.org Vcs-Browser: https://salsa.debian.org/bottoms/pkg-volk diff --cc debian/patches/series index 42f23cd,b146f2a..22854ae --- a/debian/patches/series +++ b/debian/patches/series @@@ -1,12 -1,3 +1,4 @@@ - 0001-Allow-for-rounding-error-in-float-to-int-conversions.patch - 0002-Allow-for-rounding-error-in-volk_32fc_s32f_magnitude.patch - 0003-Remove-broken-sse_32-kernels.patch - 0004-Fix-flaky-fm_detect-test.patch - 0005-Fix-flaky-mod_range-test.patch - 0006-Allow-for-rounding-error-in-float-to-int-interleave.patch - 0007-Express-version-information-in-decimal.patch optional-static-apps omit-doxygen-build-paths - update-doxygen - doxygen-pdf + # doxygen-pdf +disable-neon diff --cc lib/CMakeLists.txt index b60a2ba,588db44..c42086b --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@@ -212,26 -237,27 +237,28 @@@ check_c_source_compiles if(neon_compile_result) set(CMAKE_REQUIRED_INCLUDES ${PROJECT_SOURCE_DIR}/include) - check_c_source_compiles("#include \n int main(){__VOLK_ASM __VOLK_VOLATILE(\"vrev32.8 q0, q0\");}" - have_neonv7_result ) - check_c_source_compiles("#include \n int main(){__VOLK_ASM __VOLK_VOLATILE(\"sub v1.4s,v1.4s,v1.4s\");}" - have_neonv8_result ) - - if (NOT have_neonv7_result) - OVERRULE_ARCH(neonv7 "Compiler doesn't support neonv7") + check_c_source_compiles( + "#include \n int main(){__VOLK_ASM(\"vrev32.8 q0, q0\");}" + have_neonv7_result) + check_c_source_compiles( + "#include \n int main(){__VOLK_ASM(\"sub v1.4s,v1.4s,v1.4s\");}" + have_neonv8_result) + + if(NOT have_neonv7_result) + overrule_arch(neonv7 "Compiler doesn't support neonv7") endif() - if (NOT have_neonv8_result) - OVERRULE_ARCH(neonv8 "Compiler doesn't support neonv8") + if(NOT have_neonv8_result) + overrule_arch(neonv8 "Compiler doesn't support neonv8") endif() else(neon_compile_result) - OVERRULE_ARCH(neon "Compiler doesn't support NEON") - OVERRULE_ARCH(neonv7 "Compiler doesn't support NEON") - OVERRULE_ARCH(neonv8 "Compiler doesn't support NEON") + overrule_arch(neon "Compiler doesn't support NEON") + overrule_arch(neonv7 "Compiler doesn't support NEON") + overrule_arch(neonv8 "Compiler doesn't support NEON") endif(neon_compile_result) -######################################################################## +OVERRULE_ARCH(neon "We don't want neon on raspbian") + # implement overruling in the ORC case, # since ORC always passes flag detection ######################################################################## @@@ -413,25 -455,24 +456,24 @@@ set(FULL_C_FLAGS "${CMAKE_C_FLAGS}" "${ # if we find one that matches our current system architecture # set up the assembler flags and include the source files foreach(ARCH ${ASM_ARCHS_AVAILABLE}) - string(REGEX MATCH "${ARCH}" ASM_ARCH "${available_archs}") - if( ASM_ARCH STREQUAL "neonv7xxxxxxxxxx" ) - message(STATUS "---- Adding ASM files") # we always use ATT syntax - message(STATUS "-- Detected neon architecture; enabling ASM") - # architecture specific assembler flags are now set in the cmake toolchain file - # then add the files - include_directories(${PROJECT_SOURCE_DIR}/kernels/volk/asm/neon) - file(GLOB asm_files ${PROJECT_SOURCE_DIR}/kernels/volk/asm/neon/*.s) - foreach(asm_file ${asm_files}) - list(APPEND volk_sources ${asm_file}) - message(STATUS "Adding source file: ${asm_file}") - endforeach(asm_file) - endif() - enable_language(ASM) - message(STATUS "c flags: ${FULL_C_FLAGS}") - message(STATUS "asm flags: ${CMAKE_ASM_FLAGS}") + string(REGEX MATCH "${ARCH}" ASM_ARCH "${available_archs}") - if(ASM_ARCH STREQUAL "neonv7") ++ if(ASM_ARCH STREQUAL "neonv7xxxxxxxxxxx") + message(STATUS "---- Adding ASM files") # we always use ATT syntax + message(STATUS "-- Detected neon architecture; enabling ASM") + # architecture specific assembler flags are now set in the cmake toolchain file + # then add the files + include_directories(${PROJECT_SOURCE_DIR}/kernels/volk/asm/neon) + file(GLOB asm_files ${PROJECT_SOURCE_DIR}/kernels/volk/asm/neon/*.s) + foreach(asm_file ${asm_files}) + list(APPEND volk_sources ${asm_file}) + message(STATUS "Adding source file: ${asm_file}") + endforeach(asm_file) + endif() + enable_language(ASM) + message(STATUS "c flags: ${FULL_C_FLAGS}") + message(STATUS "asm flags: ${CMAKE_ASM_FLAGS}") endforeach(ARCH) - ######################################################################## # Handle orc support ########################################################################