我需要计算CRC,以便形成一个INTEL机器上的散列函数,并具有以下两个固有功能上来:32和位固有之间64选择CRC英特尔CPU
_mm_crc32_u32
_mm_crc32_u64
在我的项目,我处理32位变量和我的困境是移位和或运算每两个变量(因此产生一个64位的变量),然后使用64位的CRC或运行之间在两个32-bi的每一个上都有32位CRC t变量。
我无法在任何地方找到这些功能中每一个所用的周期数量,并且从英特尔功能规格中不清楚哪一个更可取。
同样的困境也适用于CRC功能的16位版本:
_mm_crc32_u16
我试图通过之前抽空和CRC校验后它。结果几乎相同。所以我需要更复杂的计算方法。
如果你想基准的选择,这里是一个开始: http://stackoverflow.com/questions/15752770/mm-crc32-u64-poorly-defined/15754706#15754706 _mm_crc32_u64是不可用在32位版本中。 – ScottD 2014-10-13 22:06:55