liblzma: Create crc_clmul.c.
commit8c0f9376f58c0696d5d6719705164d35542dd891
authorJia Tan <jiat0218@gmail.com>
Sat, 14 Oct 2023 04:17:57 +0000 (14 12:17 +0800)
committerJia Tan <jiat0218@gmail.com>
Wed, 18 Oct 2023 15:54:36 +0000 (18 23:54 +0800)
tree104f3471d2ecd77b25314e67fdef743fcecbe193
parenta3ebc2c516b09616638060806c841bd4bcf7bce3
liblzma: Create crc_clmul.c.

Both crc32_clmul() and crc64_clmul() are now exported from
crc32_clmul.c as lzma_crc32_clmul() and lzma_crc64_clmul(). This
ensures that is_clmul_supported() (now lzma_is_clmul_supported()) is
not duplicated between crc32_fast.c and crc64_fast.c.

Also, it encapsulates the complexity of the CLMUL implementations into a
single file and reduces the complexity of crc32_fast.c and crc64_fast.c.
Before, CLMUL code was present in crc32_fast.c, crc64_fast.c, and
crc_common.h.

During the conversion, various cleanups were applied to code (thanks to
Lasse Collin) including:

- Require using semicolons with MASK_/L/H/LH macros.
- Variable typing and const handling improvements.
- Improvements to comments.
- Fixes to the pragmas used.
- Removed unneeded variables.
- Whitespace improvements.
- Fixed CRC_USE_GENERIC_FOR_SMALL_INPUTS handling.
- Silenced warnings and removed the need for some #pragmas
CMakeLists.txt
configure.ac
src/liblzma/check/Makefile.inc
src/liblzma/check/crc32_fast.c
src/liblzma/check/crc64_fast.c
src/liblzma/check/crc_clmul.c [new file with mode: 0644]
src/liblzma/check/crc_common.h