User-facing updates:
- 🆕 SHA-256 checksums
- 🆕 Detect compilation settings
Implementation details:
- 🆕 Intel Goldmont capabilities level
- 🆕 Arm NEON+SHA capabilities level
- Hardened Rust builds & capability masking
- Faster buffer filling in
sz_hashin NEON backend - Fixed tail handling in
sz_copyin SVE backend
Minor
- Add: Check comp-time capabilities (3347be4)
- Add:
sz_cap_goldmont_kcapability! (f70e927) - Add:
neon+shanew capability! (fcb68a4) - Add: Sha256 to
bench_token(bb077da) - Add:
hmac_sha256APIs (bf1971e) - Add:
Sha256class for Python (6ae7b75) - Add: Initial Sha256 variant for NEON (bd35030)
- Add: SHA256 for Arm (20672dd)
Patch
- Fix: Avoid unaligned SHA loads on ArmV7 (ebf0503)
- Fix: Sign conversion warning (3c3e5fc)
- Make:
before-allfordnfon Fedora &apton Debian (fc74452) - Make: Consume env-vars for Rust backend builds (222fc39)
- Improve: Amortize
bench_unarycosts (d8d19ce) - Fix: Init
uint32x4_ton MSVC (3dce631) - Improve: Bring back SVE2 hash for short inputs (b1c750b)
- Improve: More sorting tests (61e08ce)
- Improve: Simplify SVE memory-ops (35e2236)
- Fix:
sz_copy_svetail issue (2fa818d) - Fix: Avoid
<arm_neon_sve_bridge.h>(e5b4496) - Improve: Different SHA pipeline for AArch64 (c8aafd3)
- Improve: Try better SHA pipelining (313f71f)
- Improve: Faster 2-block SHA256 on NEON (9425341)
- Improve: Deprecate SVE2 hashing (9cb1588)
- Improve: Try using non-temporal SVE loads (4572a63)
- Fix:
svlasta_u64(svpfalse_b())UB (4833e83) - Improve: Westmere-like hash updates in NEON (064355f)
- Improve: Hardening Rust builds (d6a9ba6)
- Fix: Type-casting on Arm (03a0340)