Commit graph

28 commits

Author SHA1 Message Date
Andrea Mazzoleni
b070cbb894 Fix inline asm memory operand sizes for array-backed constants
Some checks are pending
Build / build-mac (push) Waiting to run
Build / build-linux (push) Waiting to run
Build / build-arm32 (push) Waiting to run
Build / build-win (push) Waiting to run
Build / build-freebsd (push) Waiting to run
Build / build-musl (push) Waiting to run
CodeQL Advanced / Analyze (c-cpp) (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
2026-09-25 13:33:26 +02:00
Andrea Mazzoleni
3c155e925d Fix AArch64 NEON table loads on big-endian systems 2026-09-25 08:24:50 +02:00
Andrea Mazzoleni
78abc2c7b7 Limit maximum consecutive newlines in uncrustify configuration 2026-09-14 22:33:23 +02:00
Andrea Mazzoleni
8f27c393d6 Standardize types to uint8_t and clean up legacy variables and setup boilerplate 2026-09-02 20:45:06 +02:00
Andrea Mazzoleni
fc9fde000f Harmonize function across simd architectures 2026-09-02 18:40:23 +02:00
Andrea Mazzoleni
ec1daddc8e Eliminate raid_delta_gen and convert int/neon32 REC1/REC2 to single-pass fused recovery 2026-09-02 18:30:59 +02:00
Andrea Mazzoleni
0ce89aa35d Add support for selectable streaming vs cached parity generation 2026-09-02 17:26:02 +02:00
Andrea Mazzoleni
82089165b5 Add dedicated XOR-only fast path for NEON rec1of1 2026-08-31 20:45:38 +02:00
Andrea Mazzoleni
6613eb5776 Optimize NEON nibble mask setup using MOVI and hoist invariant initialization 2026-08-31 10:39:17 +02:00
Andrea Mazzoleni
69a1ed1125 Specialize RAID recovery functions by passing has_p as a constant argument 2026-08-31 10:39:17 +02:00
Andrea Mazzoleni
e0e3618240 Add 64-byte unrolled raid_recX_neon_12 recovery kernel for NEON 2026-08-31 10:39:17 +02:00
Andrea Mazzoleni
35abfd81e1 Use fused 1-pass recovery for rec1of1 and rec2of2 in NEON, AVX512 and GFNI backends 2026-08-26 21:11:46 +02:00
Andrea Mazzoleni
9bd2f68046 Add and standardize top comments across SIMD assembly functions 2026-08-25 12:09:03 +02:00
Andrea Mazzoleni
453fb20d83 Avoid UB in raid_gen memcpy when output aliases input with nd == 1 2026-08-24 21:53:07 +02:00
Andrea Mazzoleni
4d97df38ce Optimize recovery with P by deriving the final missing block via XOR 2026-08-24 21:53:07 +02:00
Andrea Mazzoleni
46ebce4e3c Add specialized P+Q REC2OF2 recovery to all SIMD backends 2026-08-24 17:39:29 +02:00
Andrea Mazzoleni
ae703ce68c Optimize multi-parity recovery with fused syndrome generation 2026-08-24 11:57:04 +02:00
Andrea Mazzoleni
7d434954e8 Precalculate shuffle table pointers outside data loop in Cauchy recX 2026-08-21 12:06:25 +02:00
Andrea Mazzoleni
4d61b726be Unroll NEON rec2 two-disk recovery to 32-byte chunks using 25 vector registers 2026-08-21 12:06:25 +02:00
Andrea Mazzoleni
5b0e1bcd6b Unroll rec1 single-disk recovery to 64-byte chunks in AVX2, SSSE3, and NEON 2026-08-21 12:06:25 +02:00
Andrea Mazzoleni
7f6ef3b4cd Eliminate stack buffers, pre-split delta nibbles and and inner loop in recX 2026-08-21 12:06:25 +02:00
Andrea Mazzoleni
93eadd73f0 Preload multiplication tables and avoid repeated nibble splitting in NEON recovery 2026-08-21 12:06:25 +02:00
Andrea Mazzoleni
b5d507fbe9 Use primitive generator 3 for AES Cauchy mode 2026-08-21 12:06:25 +02:00
Andrea Mazzoleni
47b321d97c Support dynamic runtime selection of RAID AES mode 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
49d5e685c9 Avoid a folding VLA warning in clang 2026-08-18 23:33:55 +02:00
Andrea Mazzoleni
8e2b9c03b5 Use uniform ending on files for parity implementation 2026-08-18 23:33:54 +02:00
Andrea Mazzoleni
e43964523f Refactor and reorganize parity generation functions using inline templates 2026-08-18 23:33:54 +02:00
Andrea Mazzoleni
22495abe9e Add AArch64 NEON parity generation and recovery functions 2026-08-18 23:33:54 +02:00