_mm_crc32_u64
Classification
Other, Cryptography, CPUID Test: CRC32
Header File
nmmintrin.h
Instruction
CRC32 r64, r64
Synopsis
 _mm_crc32_u64(unsigned __int64 crc, unsigned __int64 v);
Description
Starting with the initial value in "crc", accumulates a CRC32 value for unsigned 64-bit integer "v", and stores the result in "dst".
Operation
tmp1[63:0] := v[0:63] // bit reflection
tmp2[31:0] := crc[0:31] // bit reflection
tmp3[95:0] := tmp1[31:0] << 32
tmp4[95:0] := tmp2[63:0] << 64
tmp5[95:0] := tmp3[95:0] XOR tmp4[95:0]
tmp6[31:0] := MOD2(tmp5[95:0], 0x11EDC6F41) // remainder from polynomial division modulus 2
dst[31:0] := tmp6[0:31] // bit reflection