On March 4, 2015 9:22:24 PM CET, Jan Hubicka <hubi...@ucw.cz> wrote: >> 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?
I honestly don't see us ending up with a host independent LTO byte code. I know we kind of try, but did anybody try using bytecode produced by a cross on a native system? Richard. >Honza