x86intelssecrc32

Accelerate CRC32b using intel processors


I have recently been studying the issue of CRC32 calculation acceleration, which is aimed at the type of CRC32b (polynomial 0x04C11DB7), but I found that the crc32 instructions in Intel's SSE4.2 are all accelerated for CRC32c (polynomial 0x1EDC6F41), so I would like to ask Is there any other way to speed up this operation?

Here is the link of crc32 instructions of Intel. https://www.felixcloutier.com/x86/crc32


Solution

  • Yes. This paper describes in detail how to use the Intel PCLMULQDQ instruction to significantly speed up CRC calculations, regardless of the polynomial.