Is it necessary to create 64-bit hashes here?  If 32 bits does the job (and the return type of the function is still 32 bits) then it would be nice to avoid any unnecessary ifdef'ing.