Rather than interoping to zlib when the Crc32 intrinsics are available on Arm and x86/x64
/cc @tannergooding
According to https://github.com/dotnet/runtime/issues/2036, the intrinsics use different polynomials. If I understand right, zlib uses 0x04C11DB7/0xEDB88320 and SSE uses 0x1EDC6F41. Wikipedia has a large table.
Is that right?
Sigh might be; I think you might have to use PCLMULQDQ instead
Tada! Take what you want and feed back any improvements you can make.
Most helpful comment
Tada! Take what you want and feed back any improvements you can make.
https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs