> On Wed, Mar 4, 2015 at 2:20 PM, Andi Kleen <a...@firstfloor.org> wrote: > > Hi Honza, > > > > Regarding modern hash functions, as far as I understand the trend > > is to just stop doing anything fancy and just use the CRC instructions > > in modern CPUs > > I wonder if we can use intrinsics for CRC in place of the > existing iterative_hash_hashval_t (and thus the 'mix' macro)? > Similar to how we optimize libcpp? Seems like > > #define mix(a,b,c) \ > c = _mm_crc32_u32 (b, c) > > would do? And for iterative_hash_host_wide_int use _mm_crc32_u64? > (libcpp seems to use GCC target builtins, not intrinsics though, > see init_vectorized_lexer)
That looks like a good idea. From tree/ICF sreaming we however needs to get host independent at some point. Can we have resonable&compatible generic implementation? Honza