[med-svn] [Git][med-team/ncbi-blastplus][master] ncbi-blast+ 2.17.0+ds-2: Fix ZCF CRC32C logistics with SIMDE help.

Aaron M. Ucko (@ucko) gitlab at salsa.debian.org
Wed Oct 1 19:49:40 BST 2025



Aaron M. Ucko pushed to branch master at Debian Med / ncbi-blastplus


Commits:
8583d2db by Aaron M. Ucko at 2025-10-01T14:43:26-04:00
ncbi-blast+ 2.17.0+ds-2: Fix ZCF CRC32C logistics with SIMDE help.

* debian/control:
  - Additionally build-depend on libsimde-dev.
  - Require CRC support on ARM per upstream.
* debian/patches/zcf-simde-crc32c (new): Replace Cloudflare deflate.c's
  fallbackless architecture-dependent code with a SIMDE invocation that
  amounts to the same thing on supported architectures and to a portable
  fallback elsewhere.

- - - - -


4 changed files:

- debian/changelog
- debian/control
- debian/patches/series
- + debian/patches/zcf-simde-crc32c


Changes:

=====================================
debian/changelog
=====================================
@@ -1,3 +1,15 @@
+ncbi-blast+ (2.17.0+ds-2) unstable; urgency=medium
+
+  * debian/control:
+    - Additionally build-depend on libsimde-dev.
+    - Require CRC support on ARM per upstream.
+  * debian/patches/zcf-simde-crc32c (new): Replace Cloudflare deflate.c's
+    fallbackless architecture-dependent code with a SIMDE invocation that
+    amounts to the same thing on supported architectures and to a portable
+    fallback elsewhere.
+
+ -- Aaron M. Ucko <ucko at debian.org>  Wed, 01 Oct 2025 14:43:25 -0400
+
 ncbi-blast+ (2.17.0+ds-1) unstable; urgency=medium
 
   * New upstream release.


=====================================
debian/control
=====================================
@@ -20,6 +20,7 @@ Build-Depends-Arch:
  libncbi-vdb-dev [amd64 arm64 x32],
  libnghttp2-dev,
  libpcre2-dev,
+ libsimde-dev,
  libsqlite3-dev,
  libuv1-dev,
  time,
@@ -34,6 +35,7 @@ Package: ncbi-blast+
 Architecture: any
 Multi-Arch: foreign
 Depends:
+ armv8crc-support [any-arm arm64],
  ncbi-data,
  python3,
  sse4.2-support [any-amd64 any-i386 any-x32],


=====================================
debian/patches/series
=====================================
@@ -22,3 +22,4 @@ tune_lmdb_defaults
 2to3
 big_endian_workaround
 # fix_bm_for_gcc15
+zcf-simde-crc32c


=====================================
debian/patches/zcf-simde-crc32c
=====================================
@@ -0,0 +1,32 @@
+--- a/c++/src/util/compress/zlib_cloudflare/deflate.c
++++ b/c++/src/util/compress/zlib_cloudflare/deflate.c
+@@ -129,27 +129,11 @@ static const config configuration_table[
+ /* rank Z_BLOCK between Z_NO_FLUSH and Z_PARTIAL_FLUSH */
+ #define RANK(f) (((f) * 2) - ((f) > 4 ? 9 : 0))
+ 
+-#ifdef __aarch64__
+-
+-#include <arm_neon.h>
+-#include <arm_acle.h>
+-static uint32_t hash_func(deflate_state *s, void* str) {
+-    return __crc32cw(0, *(uint32_t*)str) & s->hash_mask;
+-}
+-
+-#elif defined __x86_64__ || defined _M_AMD64
+-
+-#include <immintrin.h>
++#include <simde/x86/sse4.2.h>
+ static uint32_t hash_func(deflate_state *s, void* str) {
+-    return _mm_crc32_u32(0, *(uint32_t*)str) & s->hash_mask;
++    return simde_mm_crc32_u32(0, *(uint32_t*)str) & s->hash_mask;
+ }
+ 
+-#else
+-
+-#error "Only 64-bit Intel and ARM architectures are supported"
+-
+-#endif
+-
+ /* ===========================================================================
+  * Insert string str in the dictionary and return the previous head
+  * of the hash chain (the most recent string with same hash key).



View it on GitLab: https://salsa.debian.org/med-team/ncbi-blastplus/-/commit/8583d2dbeb911fe85599c7097f49f2270e8689fd

-- 
View it on GitLab: https://salsa.debian.org/med-team/ncbi-blastplus/-/commit/8583d2dbeb911fe85599c7097f49f2270e8689fd
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20251001/99dcfca2/attachment-0001.htm>


More information about the debian-med-commit mailing list