> 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

Reply via email to