This Golang package calculates CRC64 checksums using carryless-multiplication accelerated with SIMD instructions for both ARM and x86. It is based on the NVME polynomial as specified in the NVM Express® NVM Command Set Specification.
The code is based on the crc64fast-nvme package in Rust and is released under the Apache 2.0 license.
For more background on the exact technique used, see this Fast CRC Computation for Generic Polynomials Using PCLMULQDQ Instruction paper.
To follow.
All Go versions >= 1.22 are supported.
Contributions are welcome, please send PRs for any enhancements.