Commit Graph

11 Commits

Author SHA1 Message Date
Hans Kristian Rosbach
ed30965e29 Replace DO1/DO8 macros 2025-02-18 23:59:16 +01:00
Hans Kristian Rosbach
8648ffef49 Clean up crc32_braid.
- Rename N and W to BRAID_N and BRAID_W
- Remove override capabilities for BRAID_N and BRAID_W
- Fix formatting in crc32_braid_tbl.h
- Make makecrct not rely on crc32_braid_p.h
2025-02-18 23:59:16 +01:00
Vladislav Shchapov
ac25a2ea6a Split CPU features checks and CPU-specific function prototypes and reduce include-dependencies.
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2024-02-22 20:11:46 +01:00
Pavel P
3f6c1dda52 Add missing checks for 64bit arm/intel with msvc compiler 2024-02-18 10:11:51 +01:00
Hans Kristian Rosbach
34e18dbfc7 Speed up crc32_[v]pclmulqdq on small strings. 2024-02-02 14:00:18 +01:00
Hans Kristian Rosbach
06895bc1b3 Move crc32 C fallbacks to arch/generic 2024-01-19 15:22:34 +01:00
Cameron Cawley
23e4305932 Use size_t instead of uint64_t for len in all crc32 functions 2023-01-22 00:58:12 +01:00
Nathan Moinvaziri
b047c7247f Prefix shared functions to prevent symbol conflict when linking native api against compat api. 2023-01-09 15:10:11 +01:00
Nathan Moinvaziri
2ca4a77761 Used fixed width uint8_t for crc32 and adler32 function declarations. 2022-06-24 15:12:00 +02:00
Nathan Moinvaziri
8c945465c6 Define W = 8 on powerpc64 for braided crc32 generation. 2022-05-25 12:04:35 +02:00
Nathan Moinvaziri
a6155234a2 Speed up software CRC-32 computation by a factor of 1.5 to 3.
Use the interleaved method of Kadatch and Jenkins in order to make
use of pipelined instructions through multiple ALUs in a single
core. This also speeds up and simplifies the combination of CRCs,
and updates the functions to pre-calculate and use an operator for
CRC combination.

Co-authored-by: Nathan Moinvaziri <nathan@nathanm.com>
2022-05-25 12:04:35 +02:00